Capteur vituel (consigne thermostat) ne se met pas à jour...
Publié : 09 mars 2015, 16:20
Salut,
Je sollicite votre aide, parce que je me bat depuis trop longtemps sur mon soucis, et qu'il ne me reste plus assez de cheveux à m'arracher !
Voilà, comme beaucoup, j'utilise Domoticz pour gérer mon chauffage. J'ai donc une consigne de thermostat (capteur virtuel) que je veux mettre à jour par script LUA. Dis comme ça, c'est plutôt simple... sauf que ça ne marche pas !!
J'ai donc le script suivant, qui lorsque je bascule un interrupteur doit aller mettre à jour ma consigne de thermostat (c'est celui avec l'idx 82). Ne tenez pas compte de la logique d'ajouter 1 à chaque fois, c'est pour mes tests (j'ai essayé avec une valeur fixe également).
Et systématiquement lorsque le script s'exécute, j'ai le message suivant dans les logs :
J'ai essayé de remplacer le commandArray['UpdateDevice'] par un appel JSON et là ça fonctionne... Vous me direz alors, pourquoi je m'embête ? C'est parce que déjà j'aimerais bien comprendre pourquoi ça ne marche pas alors que ça devrait (oui, légère tendance têtu !
). Mais aussi parce qu'au final, j'aurais plusieurs consignes à mettre à jour dans le même script, et je ne sais pas si c'est possible avec JSON vu qu'on ne peut préciser qu'un seul commandArray['OpenURL'] par script...
Si vous avez des idées, ou que vous voyez ce qui ne va pas...
Je sollicite votre aide, parce que je me bat depuis trop longtemps sur mon soucis, et qu'il ne me reste plus assez de cheveux à m'arracher !
Voilà, comme beaucoup, j'utilise Domoticz pour gérer mon chauffage. J'ai donc une consigne de thermostat (capteur virtuel) que je veux mettre à jour par script LUA. Dis comme ça, c'est plutôt simple... sauf que ça ne marche pas !!
J'ai donc le script suivant, qui lorsque je bascule un interrupteur doit aller mettre à jour ma consigne de thermostat (c'est celui avec l'idx 82). Ne tenez pas compte de la logique d'ajouter 1 à chaque fois, c'est pour mes tests (j'ai essayé avec une valeur fixe également).
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Thermostat Enfants Eco'] == 'On') then
nowtemp = tonumber(otherdevices_svalues['TEST2'])
print('Current Temperature: ' .. tostring(nowtemp))
commandArray['UpdateDevice'] = '82|0|'..tostring(nowtemp+1)
print('Saved Temperature: '..nowtemp+1)
end
return commandArray
Code : Tout sélectionner
2015-03-05 10:41:23.757 LUA: Current Temperature: 20.5
2015-03-05 10:41:23.758 LUA: Saved Temperature: 21.5
2015-03-05 10:41:23.763 Sending SetPoint to device....
2015-03-05 10:41:30.490 Hardware Monitor: Fetching data (System sensors)
2015-03-05 10:41:33.757 Error: Warning: lua script /home/pi/domoticz/scripts/lua/script_device_test.lua has been running for more than 10 seconds
2015-03-05 10:41:23.715 (Dummy) Lighting 2 (Thermostat Enfants Eco)
2015-03-05 10:41:33.946 (Dummy) Thermostat (TEST2)
2015-03-05 10:41:34.170 Script event triggered: /home/pi/domoticz/scripts/lua/script_device_test.luaSi vous avez des idées, ou que vous voyez ce qui ne va pas...