Aller au contenu

Allumage & Extinction Différents Suivant Heures D'hiver Ou D'été


Messages recommandés

Posté(e)

 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).

Posté(e)

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)

Posté(e)

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 ;)

Posté(e)

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 :)

Posté(e)

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 :D

Posté(e)

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.

Posté(e)

  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

 

 

Posté(e)

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.

Posté(e)

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)

Posté(e)

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.

Posté(e)

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.

Posté(e)

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.

×
×
  • Créer...