plusieurs LUA et un seul s'exécute

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
jmb93330
Messages : 4
Inscription : 16 mai 2017, 18:33

plusieurs LUA et un seul s'exécute

Message 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é 3721 fois
la LOG domoticz :
Snap2.jpg
Snap2.jpg (225.38 Kio) Consulté 3721 fois
le code :
Snap3.jpg
Snap3.jpg (24.81 Kio) Consulté 3721 fois
quelqu'un a une idée ? je sèche ...
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

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

Message 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 ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
jmb93330
Messages : 4
Inscription : 16 mai 2017, 18:33

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

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

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

Message 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
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre