Skip to content

Modules

Les modules sont des extensions du plugin IOT qui permettent de communiquer avec des équipements spécifiques et d'effectuer diverses opérations. Chaque module expose une API Lua utilisable dans vos scripts.

Librairies disponibles par défaut

Ces librairies sont disponibles immédiatement sans aucune configuration :

Librairie Description
json Manipulation de données JSON (encode/decode)
yaml Manipulation de données YAML (encode/decode)
lfs Gestion des fichiers locaux (LuaFileSystem)
base64 Encodage/décodage Base64

Modules chargés par défaut

Ces modules sont chargés automatiquement au démarrage de l'agent et ne nécessitent pas de configuration :

Module Description
alemca Communication avec la plateforme Alemca (publication, lecture de messages, métriques)
config Accès à la configuration de l'agent
filesync Synchronisation de fichiers avec l'API distante
netscan Scan réseau pour découvrir les équipements

Modules nécessitant une configuration YAML

Ces modules doivent être configurés dans le fichier YAML de l'agent avant utilisation :

Catégorie Modules
Communication industrielle modbus (+ SunSpec), mqtt, serial, opcua, opcxmlda
Réseau http, ping, socket, ftp
Matériel gpio, at
Données influxdb, md5
Système addon

Pour chaque module, consultez sa documentation pour les exemples Lua et les détails de configuration.


Fonctions Lua globales

Ces fonctions sont disponibles dans tous les scripts Lua :

Fonction Description
print(string) Affiche un message de débogage (mode Debug)
printDebug(string) Affiche un message de débogage (mode Debug)
printInfo(string) Affiche un message d'information (mode Info)
printError(string) Affiche un message d'erreur (mode Error)
sleep(ms) Met en pause l'exécution pendant ms millisecondes

Variables et fonctions pour les commandes

Ces éléments sont disponibles uniquement dans les scripts exécutés via le système de commandes :

Variables de contexte

Variable Description
entity_ident Identifiant de l'entité
entity_token Token de l'entité
task_ident Identifiant de la tâche
job_ident Identifiant du job
job_script Script du job
job_timestamp Timestamp du job
job_scheduled_time Temps prévu pour le job
job_expire_time Temps d'expiration du job
job_target Cible du job
variable Variables de la commande
constants Constantes de la commande
attributes Attributs de la device

Fonctions de réponse

Fonction Description
job_response(jobIdent, message, [status, taskIdent]) Envoie une réponse au job
job_error(jobIdent, message) Envoie une réponse d'erreur au job

Il existe aussi des librairies standards Lua disponibles par défaut. Voir la documentation Lua pour plus d'informations.