J'ai déjà un peu codé en Python, mais je souhaiterai m'essayer au LUA pour lire plus facilement la position de mon portail, que j'ai domotisé en Zwave avec un Smart Implant Fibaro (FGBS 222).
Pour contextualiser mon souci, les contacts sec n'étant pas dissociables des sorties sur le FGBS 222, j'ai du configurer mes fin de course en capteur analogiques, qui me renvoient donc 5V si appuyé, 0V sinon (environ...).
J'ai donc dans domoticz :
-> Portail fermé : 'sonde portail fermé' à 5v, 'sonde portail ouvert' à 0v
-> Portail entrouvert : mes deux sondes à 0v
-> Portail ouvert : 'sonde portail fermé' à 0v, 'sonde portail ouvert' à 5v
C'est fonctionnel, mais pas très intuitif !
Je voudrais donc faire un script LUA device qui lit les valeurs de ces deux sondes puis change la position d'un sélecteur pour le mettre sur la position qui correspond (dans un second temps je ferais 3 scripts qui a l'appui sur le bouton du sélecteur lancent la commande appropriée pour actionner le portail... mais dans un second temps seulement !).
J'ai démarré avec le script demo de domoticz, qui se lance bien (je vois le print dans les log) mais qui me donne cette erreur : "25: attempt to compare number with nil"
En fait je ne sais pas trop comment comparer les valeurs des devices avec ma valeur de référence puis comment modifier le sélecteur.
Mon ébauche de code :
Code : Tout sélectionner
print('this will end up in the domoticz log')
commandArray = {}
if (devicechanged['Sonde portail fermé'] > 3 and devicechanged['Sonde portail ouvert'] < 3) then
commandArray['Portail']='Set Level: 0'
end
return commandArray
Si une âme charitable pourrait m'aider à avancer (ou m'indiquer où je pourrais trouver un exemples suffisamment documenté...) ça serait top ! (je n'ai rien trouvé de concluant pour l'instant pour répondre à mes nombreuses interrogations : dois-je mettre le niveau ou le nom dans la valeur du sélecteur ? Quelle syntaxe pour comparer les valeurs de mes sondes ?...)
Un grand merci déjà d'avoir lu jusque là, et déjà un autre merci d'avance pour le coup de main que vous pourrez me filer.
Bonne fin de weekend et à bientôt !!