Did Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Bonjour, Je reviens avec mon script sur le renseignement d'une variable "saison" pour déterminer (une fois par jour à 3h30) si nous sommes en heures d'été ou d'hiver que m'avait concocté Krikroff et je souhaiterai y ajouter la commande d'un module FGS-211 pour l'éclairage d'une plaque de rue d'interphone qui s'allumerait, en fin d'après-midi grâce à une variable Jour/Nuit (déjà installée dans le panneau) et qui s'éteindrait vers minuit avec les heures d'été et plutôt 22h avec les heures d'hiver (pour ne pas le laisser allumé toute la nuit). Le matin, il se rallumerait avec ma variable Jour/Nuit et s'éteindrait vers 7h l'été et 9h l'hiver. Le cycle recommencerait en fin d'après-midi et ainsi de suite. --[[ %% autostart %% properties %% globals --]] function check() -- récupération table Date local dt = os.date("*t"); -- création de la chaîne pour affichage local display = dt.hour..":"..dt.min..":"..dt.sec.." Heure d'été -> "..tostring(dt.isdst); -- Sortie de la variable vers la fenêtre debug du HC2 -- false pour hiver, true pour été fibaro:debug(display); -- mise à jour de la variable if (dt.isdst) then fibaro:setGlobal("Saison", "Eté"); else fibaro:setGlobal("Saison","Hiver"); end end local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "autostart") then while true do local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "03:30") )) then check() end fibaro:sleep(60*1000); end else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if (startSource["type"] == "other") then check() end end Je pense qu'il faudrait une autre scène indépendante car celle ci-dessus ne tourne qu'une fois à 3h30. Merci de m'éclairer (sans jeux de mots).
jimbo007be Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 si tu as une solution pour déclencher une scène au coucher du soleil, ça m'intéresse
Fredric Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 en bloc ou en lua? parce que en bloc, c'est super facile.
karottide Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Bonjour, je suis preneur également pour ce genre de scenario en bloc si vous avez des idées, c'est faisable? (PS : je débute et la HC Lite me plait bien mais je ne sais pas s'il est possible de faire ce genre de scénarios)
jimbo007be Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 en bloc ou en LUA, pas d'importance, c'est juste pour allumer un wallplug au coucher du soleil
Shad Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Très simple il faut vous créer deux scènes une avec sunset et l'autre sunrise et vous modifiez une variable globale. Ou vous utilisez le scheduler qui le gère très bien en lua
jimbo007be Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 shad : en fait ce que je voudrais c'est justement une variable qui m'indique si on est en mode jour ou en mode nuit (passage en mode nuit au coucher du soleil) ... en que je ne doive bien entendu pas modifier cette variable moi-meme
Moicphil Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Tu as un exemple ici : http://www.domotique-fibaro.fr/index.php/topic/87-cr%C3%A9er-et-utiliser-une-variable/
karottide Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Merci Moicphil exactement ce qui pourrait m'interesser
Shad Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Perso en bloc sa n'a jamais vraiment bien marché moi ^^. Depuis que je suis passé au scheduler je n'ai plus eu de problème
Moicphil Posté(e) le 5 mars 2014 Signaler Posté(e) le 5 mars 2014 Je l'utilise quotidiennement, pas de pb de mon coté... Faudrait que je jette un Å“il sur le Scheduler...ça me permettra de faire du "ménage" dans mes scènes.
Did Posté(e) le 5 mars 2014 Auteur Signaler Posté(e) le 5 mars 2014 Pour la variable Jour / Nuit, j'ai la même chose que moicphil mais avec15 min. après le coucher du soleil. Donc je reviens sur mon projet où j'ai fait une erreur pour l'extinction du matin: Variable saison sur été Variable saison sur hiver Allumage à 7h Matin: Pas d'allumage le matin Extinction par variable Jour/Nuit sur jour Après-midi: Allumage par variable Jour/Nuit sur nuit Allumage par variable Jour/Nuit sur nuit Extinction à 22h Extinction à minuit
jimbo007be Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 je vais aussi jeter un oeil sur le scheduler, ça a l'air d'être du beau boulot ... j'espère que l'installation n'est pas trop compliquée
Shad Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 C'est très, il y a plein d'exmple dans le fichier. Le seul truc à ne pas oublier, c'est qu'à chaque fois que la HC2 redémarre il faut revalider les alarmes.
Gregory Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Bonjour, @shad, qu'est-ce que tu entends par "revalider les alarmes" ? @Did, pourquoi passer par une variable pour connaitre la saison, tu peux très bien utiliser os.date() pour connaitre le mois et tu stockes dans une table les mois correspondant aux saisons, tu n'as plus qu'à vérifier dans quelle table se trouve le mois courant, ainsi tu as tout dans ta scène (d'ailleurs je cherche a trouver un moyen de partager des tables LUA entre scène, mais par les variable globale ça n'a pas l'air possible, si quelqu'un a une idée ...). Autre option, toujours avec os.dat, tu peux vérifier la valeur de "isdst" pour savoir si on est en heure d'hiver ou d'été (http://www.lua.org/pil/22.1.html)
Shad Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Le scheduler contient deux virtuals devices qui gère des une alarme. Dans ces alarmes tu chois, le ou les jours de réveil et l''heure.
Did Posté(e) le 7 mars 2014 Auteur Signaler Posté(e) le 7 mars 2014 Si cela encombre moins le HC2, pourquoi pas. Ma scène tourne une fois à 3h30 quotidiennement et elle vérifie la valeur de "isdst" mais j'aimerais qu'elle allume un module à différentes heures suivant l'été ou l'hiver.
Did Posté(e) le 11 mars 2014 Auteur Signaler Posté(e) le 11 mars 2014 Personne ne peux m'aiguiller sur la construction de ce script en Lua?
jimbo007be Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 tu devrais vraiment regarder du coté du scheduler ... je l'ai installé hier et je crois qu'il va être difficile de faire plus complet et polyvalent que ça
Shad Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 Je t'ai déjà répondu et tu te compliques la tâche. 1°) Fais toit une scène pour ta saison (par ailleurs évite les accents) 2°) Fais toit une scène pour éteindre ta lampe. 3°) Tu fais gérer et démarrer tout sa par le scheduler. Et tu verras que sa te prendras encore moins de temps et ce sera extrêmement plus simple à mettre en place et à gérer et surtout à débugger.
BenjyNet Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 J'ai une question con, le scheduler serait pas intégré dans la v4 ?
jimbo007be Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 Shad va encore dire que c'est Top Secret ! LOL
BenjyNet Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 N'empêche qu'ils sont cons de ne pas foutre un truc comme ça, ça éviterai les boucles while true àla con.
Messages recommandés