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.