Page 2 sur 2
Re: SI X activé PENDANT Y seconde ALORS >impossible ?
Publié : 18 déc. 2015, 15:12
par patrice
alexbi a écrit :ok merci donc c'est normale
ba dis donc on s'en rend pas conte mais il a du boulot domoticz j’imagine si on fait 20 scripts dans le genre ...
Oui en effet et c'est pour ca que tout script bien élevé doit commencer par un test if (devicechanged['Lumière']) then
si tu debutes tu peux lire des trucs du blog à ce sujet
http://easydomoticz.com/point-scripts-lua/
http://easydomoticz.com/mon-premier-scr ... ondations/
http://easydomoticz.com/mon-premier-scr ... en-oeuvre/
sans oublier l'incontournable wiki officiel
https://www.domoticz.com/wiki/Domoticz_Wiki_Manual
mais il n'y a pas un vraie site ou on peu retrouver l'ensemble des commandes que l'on peux utiliser en LUA car je ne vois que des site avec des exemples !
comme le langage c'est du Lua tu as des tutos Lua qui trainent sur le web
il y a quelques commandes spécifiques Domoticz mais finalement assez peu
par exemple sur la forme du script je trouve rien. SI on met un "if" on doit le finir par un "end" (c'est ce que j'ai compris) mais je vois des exemples avec plusieurs "end" a la fin. Je voulais aussi mettre une condition "if" avant le "t1 = os.time()" pour ne pas faire travailler la machine si ma lumiere de SDB n'est pas allumer ... Mais je n'ai pas réussi... peut être impossible ?
Ben typiquement il est inutile de tester l'heure pour savoir si la lumière de la salle de bain est allumée , il vaut mieux tester si la lumière est allumée tout court non ?
Allez bon courage !
Re: SI X activé PENDANT Y seconde ALORS >impossible ?
Publié : 18 déc. 2015, 15:33
par alexbi
super
merci pour ton retour j'ai fais quelque test et le script fonctionne bien en mettant une condition avant le "time" donc je n'ai plus de calcul de 'difference" sauf quand me lumiere est allumée
cool !
apres j'ai un commandArray = {} qui traine au milieu du script je vais essayer de l'enlever pour voir
Re: SI X activé PENDANT Y seconde ALORS >impossible ?
Publié : 18 déc. 2015, 17:02
par vil1driver
alexbi a écrit :(...) j'ai un commandArray = {} qui traine au milieu du script je vais essayer de l'enlever pour voir
c'est indispensable, si tu l'enlèves tu vas vite t'en rendre compte
d'ailleurs si tu fais ton curieux (ce qui est également indispensable)... tu verras qu'il y en à 1 dans tous les scripts
c'est la commande qui créer les tableau des actions à réaliser par le script
on crée le tableau
on le remplis selon son besoin
Code : Tout sélectionner
commandArray['Switch']='On'
commandArray['Scene:Livingroom']='On'
commandArray['Group:Kitchen']='Inactive'
commandArray['Keyfob']='Group On'
commandArray['DimmableDevice']='Set Level 50'
commandArray['SendNotification']='subject#body#0'
commandArray['SendEmail']='subject#body#your@email.com'
commandArray['OpenURL']='www.yourdomain.com/api/movecamtopreset.cgi'
commandArray['Blinds']='On RANDOM 30'
commandArray['Porch Light']='On FOR 2'
commandArray['Variable:MyVar']='Some value'
commandArray['Variable:MyVar']='Some value AFTER 3'
puis à la fin on lance l'exécution
Re: SI X activé PENDANT Y seconde ALORS >impossible ?
Publié : 18 déc. 2015, 21:15
par alexbi
A ok merci pour tes explications
Donc le commandArray lance la lecture des infos et le return commandarray exécuté tout ce qui est vrai (je me comprends ... Je suis peut-être le seul lol)
Le commandArray ={} dont je parle c'est un deuxième commandArray={} qui est au milieu.
Par contre c'est a moitié vrai ce que tu dis car le t1=os time il est au début est il n'y a rien devant ...