Aller au contenu

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


Messages recommandés

Posté(e)

Shad  à  l'occasion tu reprends tous mes blocs et tu le retranscris en LUA

 

Comme ca c'est mieux :P

 

Non, c'est pas comme sa que tu vas apprendre ;)

Fais la base et je t'aiderais à  le finir ou l'améliorer.

 

 

Le principe du Sheduler c'est quoi quel est la fonction

Le scheduler te permet de centraliser tes démarrage de scènes. Donc sa t'évite à  avoir à  éditez toute tes scènes par exemple en cas de changement d'heure.

Et du coup ta scène est également plus simple car tu n'as à  mettre tes conditions et quoi faire dans tel cas.

Posté(e)

Bon ok Shad sans vouloir abuser de ton temps peux tu me guider pour créer cette variable avec le Sheduler que je viens de télécharger STP :)

Posté(e)

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.

 

 

Toi tu aimes vraiment pas lire mes post :D

Posté(e)

Oui c'est bien cette variable que je souhaite créer dans un premier temps mais je ne sais par quoi commencer donne moi la base

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

Cool avec cela je vais pouvoir supprimer deux scènes qui me gèrent le changement de variable :)

Posté(e)

Bonjour à  tous

 

Question Bà‹TE pour certain  !! :rolleyes:

 

Mais comment faite vous pour afficher la totalité du script LUA, car je souhaite faire une copie d'écran pour la poster

Posté(e)

Salut Jossalf

 

Donc j'ai mis en pratique ce que tu m'as posté cela fonctionné mais avec au moins plusieurs heures d'avance je voulais te poster mon script mais je n'arrive pas à  faire une copie d'écran de la totalité tu as une idée STP

 

Merci d'avance

Posté(e)

Quand tu postes un message tu as une barre d'outil juste en dessus de ta fenetre de texte, dans cette barre d'outil tu as des guillemets, cela sert àposter les codes ;)

  • Upvote 1
Posté(e)

OK merci Lolomail 

 

Cela prouve bien que l'orque l'on explique les choses simplement ça va tous seul encore merci

Posté(e)

Oui ne fais pas de copie d'écran mais un copier coller du code.

J'avais un problème avec IE impossible de répondre aux citations ce qui a certainement compliqué les conversations mais maintenant je passe par Google Chrome c'est mieux

 

Je te Post mon Script si toutefois tu peux jeter un Å’il STP

--[[
%% properties
%% globals
JOUR_NUIT
METEO
--]]

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()+540*60) == fibaro:getValue(1, "sunsetHour")) )
and
 ( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR"  and  fibaro:getGlobalValue("METEO") == "DECOUVERT" )
)
then
	fibaro:call(25, "setValue", "50");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5");
	fibaro:sleep(21600000);
	fibaro:call(25, "open");
	fibaro:call(25, "setValue2", "99");
	fibaro:call(20, "open");
	fibaro:call(20, "setValue2", "99");
end

fibaro:sleep(60*1000);
end
else

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
 ( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR"  and  fibaro:getGlobalValue("METEO") == "DECOUVERT" )
or
startSource["type"] == "other"
)
then
	fibaro:call(25, "setValue", "50");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5");
	fibaro:sleep(21600000);
	fibaro:call(25, "open");
	fibaro:call(25, "setValue2", "99");
	fibaro:call(20, "open");
	fibaro:call(20, "setValue2", "99");
end

end

Posté(e)

Dans ton code tu déclenches 9 heures (540 minutes) avant le coucher du soleil.

Tu voudrais combien de temps avant ?

 

Oh oui grosse erreur je veux essayer 1 heure 30 je corrige ça de suite 

Posté(e)

Voila àvoir maintenant

--[[
%% properties
%% globals
JOUR_NUIT
METEO
--]]

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()+90*60) == fibaro:getValue(1, "sunsetHour")) )
and
 ( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR"  and  fibaro:getGlobalValue("METEO") == "DECOUVERT" )
)
then
	fibaro:call(25, "setValue", "50");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5");
	fibaro:sleep(21600000);
	fibaro:call(25, "open");
	fibaro:call(25, "setValue2", "99");
	fibaro:call(20, "open");
	fibaro:call(20, "setValue2", "99");
end

fibaro:sleep(60*1000);
end
else

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
 ( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR"  and  fibaro:getGlobalValue("METEO") == "DECOUVERT" )
or
startSource["type"] == "other"
)
then
	fibaro:call(25, "setValue", "50");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5");
	fibaro:sleep(21600000);
	fibaro:call(25, "open");
	fibaro:call(25, "setValue2", "99");
	fibaro:call(20, "open");
	fibaro:call(20, "setValue2", "99");
end

end

Posté(e)

Je pense que c'est la solution par programmation, mais pour ton dessein, je te conseillerais un capteur de luminosité (voire même un simple thermomètre).

Au fait, tu souhaites limiter l'impact du soleil sur la température de ton habitation, ou sur l'usure des meubles/planchers ?

Posté(e)

Oui le soleil tape fort et je souhaite réduire la luminosités àcertaine heures de la journée effectivement pour les meubles, les rideaux ect...

×
×
  • Créer...