Page 1 sur 1

script du débutant

Publié : 07 avr. 2019, 21:00
par jeannot
J'ai un interrupteur inversé. J'ai créé un switch virtuel qui doit m'inverser le ON/OFF.
je l'ai fait depuis évents de Domoticz. Je l'ai nommé en respectant script_device_name.lua.
mon script :

Code : Tout sélectionner

commandArray = {}
if (devicechanged['inter_chalet_Virtuel'] == 'On' )
   then 
       commandArray['Eclairage Chalet']='Off' 
       print("chalet sur Off")
    else
       commandArray['Eclairage Chalet']='On' 
        print("chalet sur ON")
    end
return commandArray
Le log correspondant :
2019-04-07 20:48:38.589 Status: LUA: chalet sur ON
2019-04-07 20:48:43.746 (Chalet eclairage) Light/Switch (inter_chalet_Virtuel)
2019-04-07 20:48:43.714 Status: User: Admin initiated a switch command (29/inter_chalet_Virtuel/On)
2019-04-07 20:48:43.746 Status: LUA: chalet sur Off
2019-04-07 20:48:47.574 (Chalet eclairage) Light/Switch (inter_chalet_Virtuel)
2019-04-07 20:48:47.543 Status: User: Admin initiated a switch command (29/inter_chalet_Virtuel/Off)
2019-04-07 20:48:47.574 Status: LUA: chalet sur ON

Je ne trouve pas ce qui ne va pas . merci pour votre aide . pas besoin de preciser que je suis débutant

Re: script du débutant

Publié : 07 avr. 2019, 21:55
par vil1driver
Salut,

Si virtuel ne passe pas à On cela ne signifie pas qu'il est passé à Off

Bonne réflexion ;)

Re: script du débutant

Publié : 07 avr. 2019, 22:32
par jeannot
Le virtuel change d'état visiblement , mais pas le device concerné

Re: script du débutant

Publié : 08 avr. 2019, 14:48
par vil1driver
Autant pour moi, je n'avais pas prêté attention aux logs..

Re: script du débutant

Publié : 08 avr. 2019, 18:39
par lmet
Salut,
jeannot a écrit : 07 avr. 2019, 21:00 je l'ai fait depuis évents de Domoticz. Je l'ai nommé en respectant script_device_name.lua.
Si tu utilises les "Évènements" tu peux le nommer sans l'extension lua et sans device. Le fichier tu peux le nommer "Eclairage Chalet" par exemple. Il faut juste cocher "Device" lors de la création.

Sinon pour le script au lieu de "else" seul je mettrai plutôt :

Code : Tout sélectionner

elseif (devicechanged['inter_chalet_Virtuel'] == 'Off' ) then
	commandArray['Eclairage Chalet']='On' 
        print("chalet sur ON")
end

Re: script du débutant

Publié : 08 avr. 2019, 18:56
par jeannot
merci pour les infos , ça fonctionne . J'étais pas loin mais ça ne suffisait pas.

Re: script du débutant

Publié : 08 avr. 2019, 20:30
par denis_brasseur

Code : Tout sélectionner

if (devicechanged['inter_chalet_Virtuel'] == 'On' ) then 
       --dans cette boucle si changement du device ET passage à la valeur On
else
       --s’exécutera en permanence, même si pas de changement du device, 
       --d'ou la répétition du  Status: LUA: chalet sur Off toute les 10 s
 end