Comportement étrange avec script LUA
Publié : 23 sept. 2015, 14:11
Bonjour,
J'ai écris un petit script LUA qui effectue la chose suivante. Une prise Edimax me retourne la consommation d'un équipement. J'ai créé un interrupteur virtuel qui contient l'état de cet équipement (ON pour en marche et OFF pour arrêt). Via ce script LUA, je positionne l'état de cet interrupteur en fonction de la valeur retournée par ma prise Edimax :
Mon problème est le suivant : le script python lancé par os.execute est exécuté deux fois de suite, avec quelques secondes d'écart. On a l'impression que le changement d'état de l'interrupteur n'est pas fait de manière synchrone, et que le script LUA est de nouveau appelé alors que l'état de l'interr n'est pas encore sur ON.
Quelle est la parade pour ce genre de problème ?
Merci d'avance.
Cordialement.
J'ai écris un petit script LUA qui effectue la chose suivante. Une prise Edimax me retourne la consommation d'un équipement. J'ai créé un interrupteur virtuel qui contient l'état de cet équipement (ON pour en marche et OFF pour arrêt). Via ce script LUA, je positionne l'état de cet interrupteur en fonction de la valeur retournée par ma prise Edimax :
Code : Tout sélectionner
commandArray = {}
valeur = otherdevices_svalues['Edimax']
pos = string.find(valeur, ";")
conso = string.sub(valeur, 1, pos-1)
etat = otherdevices['Interrupteur']
if (tonumber(conso) > 200.0 and etat == 'Off') then
commandArray['Interrupteur'] = "On"
os.execute('python /home/pi/domoticz/scripts/tweet.py')
else
if (tonumber(conso) < 200 and etat == 'On') then
commandArray['Interrupteur'] = "Off"
end
end
return commandArray
Quelle est la parade pour ce genre de problème ?
Merci d'avance.
Cordialement.