Aller au contenu

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


Diuck

Messages recommandés

Ha be oui pour pas que ça tourne la nuit il faut conditionner la montée du volet àune période pendant la journée. Tu dois donc mettre une condition basée sur ta variable une variable JourNuit (dis moi que tu en a une si non on est reparti pour 300 posts ...) ;)

Modifie ton code avec un truc comme ça :

Après l'entête avec les crochets tu ajoutes cette condition

if (fibaro:getGlobal("JourNuit") == "Jour"

Ici ton code

End

Allé au boulot ! :)

Pour le fait que ça monte ou descende àchaque changement de météo (couvert découvert)... C'est le but recherché non ?

Lien vers le commentaire
Partager sur d’autres sites

Bon c'est la  M---- !!! 

 

Question aux pro Jojo et les autres

 

Alors dans mon cas c'est le Sheduler qui déclenche la scène ci-dessous dans un créneaux horaire bien détermine  je rrrreeeeee détail 

-- Off volets Est début d'ensoleillement --
luaDaySchedule:add("Sunrise","26", "" , "startScene", {"All"}, false , 60,11,30); -- 1 heure aprés Sunrise relance la scène 11 fois toutes les 30 Minutes --
--[[
%% properties
%% globals
JOUR_NUIT
METEO
--]]
  
local dt = os.date("%H:%M"); 

if (( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR" ) and 
     ( fibaro:getGlobalValue("METEO") == "DECOUVERT" )) then 
 
    fibaro:call(24, "setValue", "75");
     fibaro:call(19, "setValue", "75");
      fibaro:call(22, "sendPush", "Fermeture des volets Est Partiel : Bonne Météo "..tostring(dt))

else --donc si ( couvert pluie brouillard neige ...)

    fibaro:call(24, "open");
	 fibaro:call(19, "open");
      fibaro:call(22, "sendPush", "Ouverture des volets Est Total : Mauvaise Météo "..tostring(dt))

end
fibaro:sleep(60*1000);

Alors Pourquoi la scène qui est censée se déclencher dans le cas présent 1 heure après le levé du soleil  et être relancée 11 fois toutes les 30 mn ce déclenche à  chaque changement de météo même en dehors du temps imparti 

 

Pour info j'ai 2 groupes de volets 1 coté EST et l'autre coté OUEST qui ont la même configuration, hors mis l'heure de déclenchement, mais problème à  chaque changement  de météo les volets réagissent ensemble  :angry:

 

A l'aideeeeee ;)

Lien vers le commentaire
Partager sur d’autres sites

Ha be oui pour pas que ça tourne la nuit il faut conditionner la montée du volet à  une période pendant la journée. Tu dois donc mettre une condition basée sur ta variable une variable JourNuit (dis moi que tu en a une si non on est reparti pour 300 posts ...) ;)

Modifie ton code avec un truc comme ça :

Après l'entête avec les crochets tu ajoutes cette condition

if (fibaro:getGlobal("JourNuit") == "Jour"

Ici ton code

End

Allé au boulot ! :)

Pour le fait que ça monte ou descende à  chaque changement de météo (couvert découvert)... C'est le but recherché non ?

 

Salut Jossalf 

 

j'ai corrigé hier soir car j'ai eu le problème après ta leçon de 300 post  :P

Lien vers le commentaire
Partager sur d’autres sites

Ok comme ça

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


local dt = os.date("%H:%M"); -- information sur la date et l'heure déclanchement scène --

if (( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR" ) and 
     ( fibaro:getGlobalValue("METEO") == "DECOUVERT" )) then
 
	fibaro:call(25, "setValue", "40");
	 fibaro:call(20, "setValue", "50");
      fibaro:call(22, "sendPush", "Fermeture des volets Ouest Partiel : Bonne Météo "..tostring(dt))
 
else --donc si (pluie brouillard neige ...)
 
    fibaro:call(25, "open");
	 fibaro:call(20, "open");
      fibaro:call(22, "sendPush", "Ouverture des volets Ouest Total : Mauvaise Météo "..tostring(dt))

end
fibaro:sleep(60*1000);



 
Lien vers le commentaire
Partager sur d’autres sites

Ha be oui pour pas que ça tourne la nuit il faut conditionner la montée du volet à  une période pendant la journée. Tu dois donc mettre une condition basée sur ta variable une variable JourNuit (dis moi que tu en a une si non on est reparti pour 300 posts ...) ;)

Modifie ton code avec un truc comme ça :

Après l'entête avec les crochets tu ajoutes cette condition

if (fibaro:getGlobal("JourNuit") == "Jour"

Ici ton code

End

Allé au boulot ! :)

Pour le fait que ça monte ou descende à  chaque changement de météo (couvert découvert)... C'est le but recherché non ?

 

 

Oui c'est le but recherché mais pendant un temps imparti pour chaque groupe de volet pas toutes la journée

Lien vers le commentaire
Partager sur d’autres sites

Oula ça fuse j'étais sur un autre truc.

Oui vire METEO dans l'entête.

Et je suis pas certain que tes conditions soient judicieuses :

Toi tu as mis

Si il fait jour et que c'est découvert

Sinon

Fin

J'aurais fait

Si il fait jour

Alors

Si il fait découvert

Blabla

Sinon

Blabla

Fin de si découvert

Fin de si il fait jour

Mais après comme c'est conditionne par le schudeler je sais po

Je passe la main... Suis sur un autre truc.

Colle nous un capteur de luminosité volet qu'on en finisse ;)

Lien vers le commentaire
Partager sur d’autres sites

Bon je passe devant l'ordi alors je t'aide rapido :

Ce qui lançait ta scène sans arrêt c'était METEO et JOUR_NUIT dans l'entête ! 

 

Pour faire suite à  mon post 210 :

Voilà  le code avec les IF modifiés si le schudeler ne gère pas la variable Jour_Nuit (mais dans ton cas il le gère !) :

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

local dt = os.date("%H:%M"); -- information sur la date et l'heure déclanchement scène --
 
if ( fibaro:getGlobalValue("JOUR_NUIT") == "JOUR" ) 
-- on continue le code que si il fait jour
    if  ( fibaro:getGlobalValue("METEO") == "DECOUVERT" ) then
      fibaro:call(25, "setValue", "40");
      fibaro:call(20, "setValue", "50");
      fibaro:call(22, "sendPush", "Fermeture des volets Ouest Partiel : Bonne Météo "..tostring(dt))
 
    else --donc si (pluie brouillard neige ...)
 
      fibaro:call(25, "open");
      fibaro:call(20, "open");
      fibaro:call(22, "sendPush", "Ouverture des volets Ouest Total : Mauvaise Météo "..tostring(dt))
   end

end --fermeture du premier if (si il fait jour)
fibaro:sleep(60*1000);
 
 

Maintenant voici le code que je te conseille (si tu veux que ce soit le schudeler qui lance la scène) et qui me semble être celui d'hier soir (push en plus que tu as ajouté).

Puisque le schudeler gère le lancement de la scène (et gère dejà  le jour_nuit) -> On vire la condition jour_nuit de la scène (condition que tu as ajoutée hier soir) !!!

--[[
%% properties
%% globals
--]]
 
local dt = os.date("%H:%M"); -- information sur la date et l'heure déclanchement scène --

-- on ne gère pas la variable jour_nuit qui l'est pas le schudeler
    if  ( fibaro:getGlobalValue("METEO") == "DECOUVERT" ) then
      fibaro:call(25, "setValue", "40");
      fibaro:call(20, "setValue", "50");
      fibaro:call(22, "sendPush", "Fermeture des volets Ouest Partiel : Bonne Météo "..tostring(dt))
 
    else --donc si (pluie brouillard neige ...)
 
      fibaro:call(25, "open");
      fibaro:call(20, "open");
      fibaro:call(22, "sendPush", "Ouverture des volets Ouest Total : Mauvaise Météo "..tostring(dt))
    end

fibaro:sleep(60*1000);

Ciao  :)

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

Encore et encore un grand merci Jossalf pour le temps que tu m'as consacré  :60:

 

Je tenais quand même à  dire pour toutes les personnes qui lirons ce post,  je sais que je dois en faire Ch-er plus d'un avec mes volets mais il est vrais que lorsque l'on explique le pourquoi du comment c'est bien plus facile à  comprendre il y a trois semaines de cela je ne savais pas ce qu’était LUA et Sheduler  j'en suis arrivé à  modifier toutes mes scènes bloc en LUA et également me servir du Sheduler qui j'avoue n'a pas était simple, je ne cherche pas d'excuse je souhaite simplement à  remettre les choses à  leurs places je suis novice dans ce domaine et toutes les remarques avec les explications seront les bienvenue.

 

Merci de votre compréhension et de votre aide à  tous   ;) 

Lien vers le commentaire
Partager sur d’autres sites

Steven je ne te connais pas mais j'aimerais vraiment en avoir l'occasion :) comme toutes les personnes qui ont pris du temps pour m'aidé ils doivent surement se reconnaître il n'y a qu'à  lire mes post précédents 

 

Un grand merci cela m'encourage pour la suite.  

Lien vers le commentaire
Partager sur d’autres sites

@Diuck, j'ai suivie la par Scheduler mais pas celle des conditions climatique.

cela fonctionne, quand ta variable est sur "couvert", si tu regarde par la fenêtre, c'est vraiment couvert?

Pour le moment il pleut météo chez moi  Yahoo ciel dégagé !!

Lien vers le commentaire
Partager sur d’autres sites

 

[Mode le type qui insiste] Colle un détecteur de luminosité !!!   :P [/Mode le type qui insiste]

 

Bon je prends 2 secondes pour donner mon avis complet sur ton installation :

Tu veux 2 choses :

1/ ouvrir tes volets au lever du soleil et les fermer au coucher du soleil : Tu utilises pour ça le Scheduler -> OK tu charges moins le HC2 en requêtes récurrentes (mais sans c'était aussi plus simple).

 

2/ veux protéger ton parquet, tes meubles, tes rideaux du soleil : Pour ça tu vérifies la météo pour refermer tes volets si le soleil tape sur ta baie vitrée.

 

C'est là  que je ne trouve pas ton protocole correcte ! Yahoo ne pourra jamais être assez fiable.

 

Prenons l'exemple d'une période de 2 heures pendant laquelle yahoo annonce un grand ciel bleu : Tu vas donc te retrouver avec des volets partiellement fermés alors qui il a depuis 1 heures de gros cumulus qui te font de l'ombre chez toi et qu'à  500 mètres le gens crament sous le soleil.

 

C'est pour ça que je te dis de changer ta référence (Yahoo) par des capteurs de luminosité. Tu auras une fiabilité accrue et une domotique "intelligente" alors que là  tu introduis un facteur d'erreur inadmissible pour ce que tu veux en faire et qui sera contre productif pour la sauvegarde de ton intérieur (parquet, rideaux ...). En gros tu fondes tes scènes (ta protection du soleil) sur du "peut-être". Imagine dans le cade d'une alarme !!!

 

Tu me connais Diuck, je ne critique pas ton boulot hein ?!  :P Je te donne le fond de ma pensée pour que tu obtiennes ce que tu cherche à  obtenir : La protection contre le soleil de plomb qui flingue ton intérieur.

 

Je pense que les 220 posts t'ont fait avancer comme jamais. Je sais aussi que l'on a pas toujours les moyens de mettre de l'argent dans des capteurs à  50 balles. Mais là  je pense que tu n'obtiendras que très rarement ce que tu veux... Si ça va marcher ! Tes volets seront baissés à  moitié en plein juillet, un jour de plein ciel bleu... mais là  tu seras peut être en vacances... :)

 

D'ailleurs tu as pensé à  conditionner le déclenchement de l'ouverture/fermeture de tes volets grace à  une variable "Présence_Absence" ?

 

Voilà   B)

 

Bon j'avais dit 2 secondes mais j'ai un peu débordé...  :P

Lien vers le commentaire
Partager sur d’autres sites

@Jossalf, je suis d'accord avec toi tu le fond, mais perso avant d’investir dans les équipements adéquate, j'aime avoir un code fonctionnelle que ensuite je peux améliorer et non acheter tout un tas de truc sans savoir l'implanter.

 

Donc moi ma façon de travailler est en deux temps, je met en place mon système et ensuite je regarde comment l'améliorer car quand tu prévois tout, prfois tu te rend compte qu'il n'y avait pas besoin de ce matos ou encore que tu ne sais pas encore comment l'implanter.

 

Donc je dirais que maintenant que sa fonctionne, il devrait acheter un détecteur de pluie et un pour la luminosité.

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

 

Oui entièrement d'accord avec toi. Mais ce sera 2 capteurs (est ouest) qui pourront aussi servir pour la présence et la température (l'oeil de soron). C'est le seuil de luminosité finement choisi qui gèrera simplement la levée ou l'abaissement des volets dans la journée.

 

Pour le capteur de pluie je pense que c'est inutile. La pluie ne rentre pas en compte dans sa problématique (c'est une donnée introduite pas Yahoo). Diuck veut seulement savoir si le soleil crame son intérieur !

Et il peut pleuvoir et faire soleil en même temps. C'est ce qui se passe depuis 2 jours ici !!!

 

Ma façon de procéder est : cahier des charges / etudes et surtout algorithme / tests (avec modules réels ou non) / investissement si nécessaire (et si j'ai les fonds) / réalisation.

 

La difficulté pour Diuck c'est qu'il ne débute pas que en Lua mais aussi en programmation !

Ca paraît simple quand on est dedans mais il y a toute une logique et une méthodologie à  intégrer avant même de commencer à  programmer ou à  apprendre un langage. D'ailleurs le langage est secondaire, on peut faire la même chose en Lua, php, Java, C, Pascal ...

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

×
×
  • Créer...