florient476 Posté(e) le 27 novembre 2017 Signaler Posté(e) le 27 novembre 2017 Bonjours je souhaiterais faire un scénario pour rentrer chez moi, que la tv s'allume la porte de garage s'ouvre. Et c'est là mon problème la lumière du salon et d'autres pièces ne s'allume que si il fait nuit pas quand il fait jour. Le tout dans un seul senario. Help s'il vous plaît
jojo Posté(e) le 28 novembre 2017 Signaler Posté(e) le 28 novembre 2017 Il y a probablement une autre scène qui n'autorise l'allumage des lampes que s'il fait sombre.Pour. 's. : il faudrait que tu en dises un peu plus sur les équipements concernés. Envoyé de mon Nexus 5 en utilisant Tapatalk
OJC Posté(e) le 28 novembre 2017 Signaler Posté(e) le 28 novembre 2017 @florient476 Pour ça, il faut mettre l'instruction d'allumage de tes lampes dans une boucle conditionnelles if ... then. Pour la condition proprement dite, comme dit @jojo, il faudrait plus d'infos sur ton matériel. Il y a une propriété sunset intégrée dans la box, qui correspond au coucher du soleil (même si, en pratique, il fait encore pas mal jour dehors à mon goût). Sinon, avec un détecteur de luminosité, c'est dans doute l'idéal (par exemple celui d'un FGMS-001 si tu en as un).
florient476 Posté(e) le 28 novembre 2017 Auteur Signaler Posté(e) le 28 novembre 2017 Merci de vos réponses peut on le faire en mode blocs ou faut il absolument être en lua. Les équipements : -7 modules dimmer fibaro -module virtuel freebox tv -module on off fibaro (pour là porte de garage. Je n'arrive pas à trouvé if then en mode bloc (je ne connais rien à la programmation en lua)
pepite Posté(e) le 28 novembre 2017 Signaler Posté(e) le 28 novembre 2017 Bonjour, En bloc tu peux tout faire, mais quand j'ai commencé j'etais comme toi, j'ai eu du mal à appréhender le mode bloc ;-) Sinon sans utiliser le LUA à proprement parlé et sans les blocs non plus, cherche GEA, tu pourras faire des scenarios complexes sans rien connaitre à la programmation (comme le mode bloc d'ailleurs..) 1
OJC Posté(e) le 28 novembre 2017 Signaler Posté(e) le 28 novembre 2017 (modifié) @florient476 Peux pas t'aider sur le mode bloc, j'y ai rien compris... Mais si je peux me permettre un conseil, les outils de base en matière de codage sont un crayon et une feuille de papier Comment par construire ton scénario en langage naturel : quand je rentre : ouvrir le garage allumer la TV si le soleil est couché alors allumer lumière 1 allumer lumière 2 allumer lumière 3 allumer lumière 4 allumer lumière 5 allumer lumière 6 allumer lumière 7 fin de si Et ensuite tu traduis ça en code : --on suppose que la scène est lancée manuellement, vu ton matos je vois pas comment faire autrement --Ouvrir la porte du garage fibaro:call(id de ton module FGS, "turnOn") --Allumer la TV fibaro:call(id de ton VD FreeTV, "pressButton", n° du bouton d'allumage) --si il fait nuit alors --D'abord il nous faut l'heure du coucher du soleil, ce que la box fournit local sunsetHour = fibaro:getValue(1,"sunsetHour") --ensuite, l'heure actuelle local now = os.date("%H:%M", os.time()) --ensuite, on compare if (now >= sunsetHour) then --le soleil est couché, on allume fibaro:call(id de la lampe 1, "turnOn") fibaro:call(id de la lampe 2, "turnOn") fibaro:call(id de la lampe 3, "turnOn") fibaro:call(id de la lampe 4, "turnOn") fibaro:call(id de la lampe 5, "turnOn") fibaro:call(id de la lampe 6, "turnOn") fibaro:call(id de la lampe 7, "turnOn") end Logiquement, pour les commandes fibaro:call, il suffit que tu ailles dans la barre verticale à droite de l'écran quand tu édites une scène en mode Lua : à chaque module, tu as un menu qui se déroules dans lequel tu peux choisir la commande et cela l'insère dans ton code à l'endroit où se trouve ton curseur. Modifié le 28 novembre 2017 par OJC 3
florient476 Posté(e) le 29 novembre 2017 Auteur Signaler Posté(e) le 29 novembre 2017 Un grand merci une question en faite je voulais une temporisation de 2 seconde pour appuyer sur le bouton OK de la télécommande Freebox . je me suis servi du mode bloc pour le faire ensuite j'ai converti en lua grâce a la fonction je la HC2 et j'ai eu ça: fibaro:call(112, "pressButton", "1"); setTimeout(function() fibaro:call(112, "pressButton", "16"); end, 2000) Pourquoi 2000 je suppose que c'est pour la tempo mais pourquoi 2000 ??????
pepite Posté(e) le 29 novembre 2017 Signaler Posté(e) le 29 novembre 2017 Bonjour, Bien joue d'avoir converti en LUA. 2000 pour 2000 millisecondes, l'unité imposée par le setTimeout. Pour lire en secondes l'usage fait que 2000 serait plutôt écrit comme ceci : 2*1000, ce qui permet de lire 2 secondes setTimeout(function() fibaro:call(112, "pressButton", "16"); end, 2*1000) 1
Messages recommandés