Page 1 sur 1

plusieurs LUA et un seul s'exécute

Publié : 19 juil. 2017, 19:05
par jmb93330
Bonjour

je tente de controler le chauffage de 6 pièces. Elles sont en mode confort quand un mouvement est détecté. Quand détecté, je mets une valeur 30 dans une variable par le script "device" et diminue de 1 dans un script "time". sur 6x2 scripts, seul le premier écrit fonctionne, les autres ne sont jamais exécutés malgré détection de mouvement : pourquoi ? avec reboot, le second semble ok mais pas les autres ...

mes scripts :
Snap1.jpg
Snap1.jpg (81.12 Kio) Consulté 3722 fois
la LOG domoticz :
Snap2.jpg
Snap2.jpg (225.38 Kio) Consulté 3722 fois
le code :
Snap3.jpg
Snap3.jpg (24.81 Kio) Consulté 3722 fois
quelqu'un a une idée ? je sèche ...

Re: plusieurs LUA et un seul s'exécute

Publié : 19 juil. 2017, 19:23
par vil1driver
Salut,

Avec ce que tu donnes comme info, je ne sais pas..
Mais juste pour la forme..

Code : Tout sélectionner

tostring(30)
Peut être remplacé par

Code : Tout sélectionner

'30'
Autant faire simple ;)

Re: plusieurs LUA et un seul s'exécute

Publié : 21 juil. 2017, 18:17
par jmb93330
Bonjour,

OK pour le "tostring".

J'ai trouvé : j'utilise pas des capteurs très courants comme des "chacon" mais des trucs 433MHz trouvés sur un grand magasin en ligne.... Du coup dans mon code le test == "ON" ne doit jamais être vrai. En utilisant simplement "devicechanged", tous les scripts s'exécutent ...

Merci quand même

Re: plusieurs LUA et un seul s'exécute

Publié : 21 juil. 2017, 21:12
par vil1driver
dans ce cas print la valeur courante du capteur pour vérif..

Code : Tout sélectionner

print(otherdevices['IR1'])
tu as aussi ce code en provenance du wiki..

Code : Tout sélectionner

commandArray = {}
 
-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do
    print ("Device based event fired on '"..deviceName.."', value '"..tostring(deviceValue).."'")

end
 
return commandArray
https://www.domoticz.com/wiki/Events