Aller au contenu

Créer Variable Avec Temps X Avant Le Couché Du Soleil


Diuck

Messages recommandés

Bonsoir à  tous,

 

Comme dit le titre du sujet que je post, je cherche à  créer une variable pour lancer une scène un certain temps donné avant le couché du soleil.

 

merci d'avance pour vos explication :P

 

Diuck

Lien vers le commentaire
Partager sur d’autres sites

Voici l'exemple d'une scène qui allume une lampe tous les jours 10 minutes avant le coucher du soleil. La partie qui t'intéresse est celle-ci :

 

os.date("%H:%M", os.time()+10*60) == fibaro:getValue(1, "sunsetHour")

--[[
%% autostart
%% properties
%% globals
--]]

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 os.date("%H:%M", os.time()+10*60) == fibaro:getValue(1, "sunsetHour")) )
)
then
	fibaro:call(12, "turnOn");
end

fibaro:sleep(60*1000);
end
end
Lien vers le commentaire
Partager sur d’autres sites

tu as aussi le Scheduler, la commande pour ce que tu veux est:

luaDaySchedule:add("Sunset","52", true , "setSceneEnabled" , {"All"}  ,true, -10)

tu mets le numéro de ta scène àla place de 52 et le temps en minute àla place de -10 (-22 par exemple pour 22 minute avant le couché du soleil)

Lien vers le commentaire
Partager sur d’autres sites

Pour le moment j'ai créer cette scène pour baisser les volets lorsque le soleil donne sur les fenêtres du coté "EST" et les relever 5 heures plus tard quand le soleil est plus haut, donc pour celle ci pas de problème je me suis basé sur l'heure ou le soleil se lève 

mais pour les autres volets coté "OUEST" il me faut créer cette variable pour faire baisser les volets quelques heures avant le couché du soleil donc il me faut ajouter la variable avec un temps décalé à  ma scène.  

post-495-0-42431500-1398545995_thumb.png

Lien vers le commentaire
Partager sur d’autres sites

Ah non, mais il faut que tu installes et configure le Scheduler que tu trouveras ici : http://www.domotique-fibaro.fr/index.php/topic/204-lua-scheduler-for-hc2/

 

Et là , bon courage.... Shad, notre expert, pourra t'aider.

Mais c'est bien loin de la simplicité que tu recherchais avec les blocs graphiques.

Lien vers le commentaire
Partager sur d’autres sites

Bon si tu veux t'en sortir alors que tu ne comprends rien au lua, fait ta scène en mode bloc et choisis de déclencher ta scène 30 minutes APRÈS le coucher du soleil (tu le corrigeras juste après en lua) et passe tout en lua.

Tu recherches la ligne qui équivaut àla ligne 15 du code que je t'ai donné et tu changes le

os.date("%H:%M", os.time()-30*60) == fibaro:getValue(1, "sunsetHour")

par

os.date("%H:%M", os.time()+""""ici le temps en minutes avant le coucher du soleil""""*60) == fibaro:getValue(1, "sunsetHour")

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Diuck, je crois que tu t'y prend mal.

 

Si tu veux créer une variable night avec le scheduler tu as juste à  faire et là  tu auras lever et coucher du soleil.

luaDaySchedule:add("Sunrise","JOUR_NUIT", "JOUR" , "setGlobal", {"All"}, false , 0);
luaDaySchedule:add("Sunset","JOUR_NUIT", "NUIT" , "setGlobal", {"All"}, false , 0);

Par contre pour tes sleeps, mauvaise idée. Si ta box reboot ou mise à  jour tes volets resteront dans la position.

 

Pour ce genre de code, je te conseille vivement d'utiliser le scheduler avec 2 ou 3 scènes.

 

edit: Je crois qu'avec les postes de fredric tout le monde peut ce débrouiller à  l'installer.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Merci shad

 

Je suis avec le HC2 depuis 10 jours alors tous vos Scripts LUA pas simple pour moi :angry:  pour vous je vois que c'est de la rigolade alors un peu de compassions pour les novices :huh:

Lien vers le commentaire
Partager sur d’autres sites

Je pense que la solution de JossAlf de convertir le mode bloc en LUA avec la petite modif est le plus simple dans l'immédiat pour ton besoin de volets.

 

Après, en fonction de tes besoins futurs, de tes connaissances, de ta motivations, tu pourras doucement faire évoluer tout ça vers du LUA, avec le Scheduler.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

@Diuck, je lutte pour un monde meilleur pour les novices   :D

c'est pour cela que j'essai de tout expliquer en détail, et tu n'est pas seul, on ma toujours aidé, surtout papa Shad  ;)  pour ma part.

 

Je suis moi même un novice en Lua et même, j'aime pas ça, mais c'est bien plus puissant et flexible que les bloc, on peut faire tellement de choses que je refait tout mes scène bloc en lua.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Tu as vu que tu peux transformer tes blocs en lua ? Pas besoin de Shad ;) Le code n'est pas très optimisé mais il est fiable !

Fait des essais àblanc. Ça te permettra de commencer àcomprendre des trucs.

Il y a aussi la traduction de Tomthebest sur l'introduction au lua (un super boulot) :

http://www.domotique-fibaro.fr/index.php/topic/921-résumé-des-fonctions-lua-doc-fibaro/

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...