Aller au contenu

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


Diuck

Messages recommandés

Bonjour à  tous  :13:

 

Bon ! maintenant il pleut depuis 45 mn et mes volets auraient dà» remontés depuis mais toujours rien  :angry:

 

Je joint la scène et la commande du scheduler pour avoir un avis sur le problème

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

if (( fibaro:getGlobalValue("METEO") == "DECOUVERT" )) then
	
	fibaro:call(25, "setValue", "40");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5"); end

if (( fibaro:getGlobalValue("METEO") == "COUVERT" )) then

    fibaro:call(25, "setValue", "40");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5"); end
	
if (( fibaro:getGlobalValue("METEO") == "PLUIE" )) then

    fibaro:call(25, "open");
	fibaro:call(20, "open");
	fibaro:call(22, "sendDefinedPushNotification", "6");

	
end
fibaro:sleep(60*1000);



-- Off volets Ouest début d'ensoleillement --
luaDaySchedule:add("Sunset","29", "" , "startScene", {"All"}, false , -390,24,15); -- 6 heures 1/2 avant Sunset relance la scène 24 fois toutes les 15 Minutes --
Lien vers le commentaire
Partager sur d’autres sites

La Variable Météo également

--[[
%% properties
3 WeatherConditionConverted
%% globals
--]]
 
if (( fibaro:getValue(3, "WeatherConditionConverted") == "clear" ) then    -- DECOUVERT --
  fibaro:setGlobal("METEO", "DECOUVERT");

elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "cloudy" ) then -- NUAGEUX --
  fibaro:setGlobal("METEO", "COUVERT");

elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "fog" ) then   -- BROUILLARD --
  fibaro:setGlobal("METEO", "BROUILLARD");

elseif ( ( fibaro:getValue(3, "WeatherConditionConverted") == "rain" ) then  -- PLUIE --
  fibaro:setGlobal("METEO", "PLUIE");

elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "snow" ) then    -- NEIGE --
  fibaro:setGlobal("METEO", "NEIGE");

elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "storm" ) then   -- ORAGE --
  fibaro:setGlobal("METEO", "ORAGE");

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

Attends, dans le code

elseif ( ( fibaro:getValue(3, "WeatherConditionConverted") == "rain" ) then -- PLUIE --

On voit que tu changes la valeur de ta variable METEO en PLUIE

Vas dans le panneau variable et dis moi si METEO est sur PLUIE ou autre chose.

MAJ

Oups j'avais pas vu ta copie.

Ben METEO est sur brouillard !?

Modifié par JossAlf
Lien vers le commentaire
Partager sur d’autres sites

D'après ce que je vois dans le code du message 181 :

Si le temps est découvert -> tu baisses
si le temps est couvert -> tu baisses

Si il pleut -> tu lèves les volets

Mais tu ne dis pas ce que tu dois faire si il y a du brouillard...

Lien vers le commentaire
Partager sur d’autres sites

Voilàcomment je modifierais ton code :

--[[
%% properties
%% globals
METEO
--]]
 
if (( fibaro:getGlobalValue("METEO") == "DECOUVERT" )) then
 
	fibaro:call(25, "setValue", "40");
	fibaro:call(20, "setValue", "50");
	fibaro:call(22, "sendDefinedPushNotification", "5");

else --donc si c'est couvert (pluie brouillard neige ...)
 
    fibaro:call(25, "open");
	fibaro:call(20, "open");
-- je sais pas ce que tu mets dans cette notification mais elle sera envoyée maintenant qd pluie brouillard neige
	fibaro:call(22, "sendDefinedPushNotification", "6");

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

Voici le code qui met àjour la variable METEO dans le quel j'ai ajouté un push envoyé àchaque changement d'état de la météo :

Ca te permettra de voir la véracité de la prévision météo et de la vraie vie chez toi et le temps de latence entre une pluie annoncée et une pluie réelle.

-[[
%% properties
3 WeatherConditionConverted
%% globals
--]]
 
-- Récupération de l'heure pour horodater le push
local dt = os.date("%H:%M");

if ( fibaro:getValue(3, "WeatherConditionConverted") == "clear" ) then    -- DECOUVERT --
  fibaro:setGlobal("METEO", "DECOUVERT");
-- envoi du push vers ton iphone (id 22)
fibaro:call(22, "sendPush", "Temps découvert : Plein soleil "..tostring(dt))
 
elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "cloudy" ) then -- NUAGEUX --
  fibaro:setGlobal("METEO", "COUVERT");
fibaro:call(22, "sendPush", "Temps couvert : Nuageux "..tostring(dt))
 
elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "fog" ) then   -- BROUILLARD --
  fibaro:setGlobal("METEO", "BROUILLARD");
fibaro:call(22, "sendPush", "Temps couvert : Brouillard "..tostring(dt))
 
elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "rain" ) then  -- PLUIE --
  fibaro:setGlobal("METEO", "PLUIE");
fibaro:call(22, "sendPush", "Temps couvert : Pluie "..tostring(dt))
 
elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "snow" ) then    -- NEIGE --
  fibaro:setGlobal("METEO", "NEIGE");
fibaro:call(22, "sendPush", "Temps couvert : Neige "..tostring(dt))
 
elseif ( fibaro:getValue(3, "WeatherConditionConverted") == "storm" ) then   -- ORAGE --
  fibaro:setGlobal("METEO", "ORAGE");
fibaro:call(22, "sendPush", "Temps couvert : Orage "..tostring(dt))
 
end
fibaro:sleep(60*1000);
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

En même temps s'il reste sur des variables prédéfinis ou il manque les 3/4 sa marchera jamais.

Enfin je dis sa, je dis rien hein ^^.

Donc dégage tes variables prédéfinie et une variable banal.

Lien vers le commentaire
Partager sur d’autres sites

Le coup des message push, c'est pour prouver que la fiabilité ne permettra pas de gérer finement les volets. Je reste sur ma position de départ : Capteur de luminosité voir températute pour géré vraiment finement.

 

On en est arrivé à  testé temps découvert ou non.

 

Mais ca t'aura fait un put... d'exercice ;)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...