[Résolu] Script Lua qui pose soucis

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 <\>.
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

[Résolu] Script Lua qui pose soucis

Message par jacques68 »

Bonjours à tous
Je suis entrain de faire un script LUA tout simple. Quand je passe la porte d'entrée, via un detecteur cela m'allume 2lampes
Voici le script:

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Capteur porte entree'] =='On')  then
 print('security on')
        commandArray['Lampe1']='On'
        commandArray['Lampe2']='On'
      
end

return commandArray
Jusque là aucun soucis cela fonctionne. :D
L'idée finale est de faire une alarme. Donc j'ai créé un switch virtuel nommé Alarme. Via le planning de ce dernier il s'active à partir de 22h00 le soir en passant à l'état On et à 07h00 le matin il repasse sur Off.

J'ai donc modifié le code comme cela:

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Capteur porte entree'] =='On') and (otherdevices['Alarme'] =='On') then
 print('security on')
        commandArray['Lampe1']='On'
        commandArray['Lampe2']='On'

end

return commandArray
Sauf que là, ben...ça fonctionne pas!!! :( :( :oops: :oops:
Dans les logs j'ai juste comme quoi le détecteur passe à On puis à Off et puis rien,...

Là je sèche complètement ce n'est pourtant pas le premier script que je fais, ou je commence à me faire vieux.... :roll: :roll:
Merci de votre aide
Dernière modification par jacques68 le 22 févr. 2022, 20:18, modifié 2 fois.
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Script Lua qui pose soucis

Message par Jeff »

Quand on veut faire plusieurs actions à la suite dans un script, on doit passer les command array de cette façon :

Code : Tout sélectionner

commandArray[# commandArray +1]={['Group:Lampes']='Off AFTER 15'} -- seconds
commandArray[# commandArray +1]={['OpenURL']='192.168.1.110/control?cmd=event,alarmon'}
Edit : pour ton script, le device alarme est bien un interrupteur qui renvoi On et Off ou un autre état !
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: Script Lua qui pose soucis

Message par jacques68 »

Pour répondre le device alarme est bien un interrupteur qui renvoi On ou Off.
Par contre concernant les command array, dans le premier script elles passent très bien, le soucis du second script est qu'à la base il n'est même pas lu puisque le "print" que j'ai mi dedans n'apparait meme pas dans les logs... :|
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Script Lua qui pose soucis

Message par Neutrino »

Pour le commandArray, les 2 se valent et fonctionnent.

Est-ce que le Alarme tout seul fonctionne ?
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: Script Lua qui pose soucis

Message par jacques68 »

Oui il fonctionne
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Script Lua qui pose soucis

Message par Neutrino »

On va rajouter des parenthèses :

Code : Tout sélectionner

if ((devicechanged['Capteur porte entree'] =='On') and (otherdevices['Alarme'] =='On'))then
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script Lua qui pose soucis

Message par Keros »

Tu peux rajouter des print() avant la condition pour connaitre l'état de 'Capteur porte entree' et 'Alarme' ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: Script Lua qui pose soucis

Message par jacques68 »

Bonjour à tous!!
Bon ben voilà j'ai enfin compris pourquoi ça marche pas. J'ai tenté de rajouter des parenthèses sans succès. Idem pour les print, rien...
J'ai alors eu l'idée de jeter un œil dans mes dispositifs inutilisés et j'ai trouvé un second dispositif nommé alarme qui vient de je ne sais ou....... :mrgreen: :mrgreen:
Du coup je l'ai renommé et du cout mon script c'est mis à fonctionner!!! :D :D
Plus qu'à rajouter une temporisation et j'en aurai finit...
Merci pour votre aide!! :P :P
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [Résolu] Script Lua qui pose soucis

Message par Keros »

Normalement, avec les prints, tu aurais dû voir que l'info de débogage ne correspondait pas à celle de ton widget. Là, on se serait certainement demandé si tu n'avais pas un doublon de widget.

C'est résolu, tant mieux :)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre