Aller au contenu

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


Diuck

Messages recommandés

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.

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.

 

 

Toi tu aimes vraiment pas lire mes post :D

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...