Bonjour à tous,
Je me suis aperçu que il n’existe pas beaucoup de tutoriel sur le langage LUA pour HC2 de Fibaro.
Je reçois régulièrement les demande de mes clients pour une configuration un peu plus complexe de scènes pour leurs installation domotique.
J’ai décidé donc de partager le peu de connaissances que je possède
Aujourd’hui je vais vous expliquer comment allumer et éteindre la lumière (binary_light)
on considère que le module possède ID=100
Rappel le code LUA doit TOUJOURS commencer par:
- Code:
1 2 3 4
--[[ %% properties %% globals --]]
--[[ %% properties %% globals --]]
On va utiliser les API de Fibaro suivants:
fibaro:debug = Affiche un commentaire
fibaro:call = Fonction qui envoie une requête pour exécuter une action.
fibaro:getValue = Fonction qui récupère la valeur.
Voilà le code commenté:
- Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
--[[ %% properties %% globals --]]-- État actuel de la variable light local light = fibaro:getValue(100, 'value')-- si égal à 0 (lumière éteint) alors on allume if (light == '0') then fibaro:debug('On Allume!') fibaro:call(100, 'turnOn') else -- dans le cas contraire (lumière allumée) on éteint fibaro:debug('On Éteint') fibaro:call(100, 'turnOff') end
--[[ %% properties %% globals --]]-- État actuel de la variable light local light = fibaro:getValue(100, 'value')-- si égal à 0 (lumière éteint) alors on allume if (light == '0') then fibaro:debug('On Allume!') fibaro:call(100, 'turnOn') else -- dans le cas contraire (lumière allumée) on éteint fibaro:debug('On Éteint') fibaro:call(100, 'turnOff') end
Explication des API utilisées:
– fibaro:debug(text)
Affiche le message ‘text’ dans la console debug associée avec le script.
Paramètre:
text: texte a afficher
Exemple: fibaro:debug(‘Votre texte ici’);
– fibaro:call(deviceID, actionName, …)
Envoie une requête pour exécuter une action.
Paramètre:
deviceID : numéro ID de module
actionName : nom de l’argument a exécuter (ici turnOff ‘mise à 0’ et turnOn ‘mise à 1’)
Exemple: fibaro:call(100, ‘turnOff’); –mise à 0 du module
– fibaro:getValue(deviceID, propertyName)
Fonction qui récupère la valeur.
Paramètre:
deviceID : numéro ID de module
propertyName : nom de propriété
Exemple: local light = fibaro:getValue(100, ‘value’) — récupère l’état de la variable light (soit 0, soit 1)
Si vous avez des question n’hésitez pas a me contacter.
Merci et à bientôt
[…] scène précédente (Leçon 1) avait un inconvénient important – elle devait être déclenchée manuellement. Aujourd’hui je […]