Aller au contenu

Gea : Gestionnaire D'événements Automatique


Steven

Recommended Posts

Nouvelle version 4.020
 
Compatibilité : 3.590, 4.017 et 4.018

  • [Adaptation]  Mise en phase avec la version du firmware 4.017 et plus.
  • [Nouveauté] Multiple condition pour remplacer les If
  • [Nouveauté]  #value[index]#, #name[index]# et #room[index]# indexé par périphérique.

Explication des nouveautés :
 
Les gestions des "If" est difficile à  comprendre (trop d'accolade) et engendre trop d'erreur, j'ai donc remplacé cela par un mécanisme qui les genère à  la place de l'utilisateur. Les "If" sont toujours maintenu et fonctionnel.
 
La nouveau syntaxe est
 
Scénario : On éteint la lumière après 10mn s'il fait nuit

Avant

GEA.add(100, 10*60, "On éteint après 10mn", {{"turnOff"}, {"If", {{"Global, "JourNuit", "Nuit"}}}})


Maintenant

GEA.add( { 100, {"Global", "JourNuit", "Nuit"} }, 10*60, "On était après 10mn", {{"turnOff"}})

.
.
#value#, #name#, ... Exemple :

GEA.add( { 100, {"Global", "JourNuit", "Nuit"} }, 10*60, "On éteint #name[1]# après 10mn car il fait #value[2]#", {{"turnOff"}})

Autre nouveauté, si le périphérique est éteint, GEA n'enverra pas l'ordre turnOff et inversement.

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

Salut Steven,

 

merci pour ton boulot.

T'es toujours super réactif et à  l'écoute de tout le monde.

 

Par contre j'ai une demande.

Je sais que ce n'est pas possible mais est-ce que tu pourrais quand même faire en sorte que la partie utilisateur soit dans une autre scène.

Je sais très bien que tu peux le faire.

La dernière fois, je t'ai demandé si tu pouvais mettre cette partie en début de GEA, tu m'as dit c'était impossible et tu l'as fait le lendemain!!! :60:

Donc j'ai confiance.

Merci mon pote. ;)  

Lien vers le commentaire
Partager sur d’autres sites

Cette fois-ci ... PAS QUESTION :)

 

La structure fourni par fibaro empêche de faire discuter 2 scènes ensemble. Le seul moyen est l'usage des variables globales mais elles sont trop limitées. Désolé mais tu n'auras donc rien demain :)

Lien vers le commentaire
Partager sur d’autres sites

Nouvelle version installée et cela marche aussi bien qu'avant  :)

Les mises à  jours du script fonctionnent trop bien du premier coup cela n'est plus drôle ! :P

 

Merci Père Noel, par contre ce soir cela ne va pas etre ta fête car Homernoel ne semble pas contente  :15:

 

PS : Merci pour la verif du ON/OFF

Lien vers le commentaire
Partager sur d’autres sites

Voilà  correction effectuée et nouvelle version disponible 4.021.

 

Il y a un gars aui m'a demandé s'il était possible de ne pas envoyer de turnOn sur un module déjà  allumer et un turnOff sur un module éteint ... tu vois de qui je veux parler ? :)

 

Et ben :

 

if (valeur module = 1) alors on peux éteindre ... ça marche bien pour un switch mais pour un dimmer ça marche pas car la valeur est entre 0 et 100. Resultat, cela ne veux plus s'éteindre :)

 

Désolé

Lien vers le commentaire
Partager sur d’autres sites

@Steven, surement un idiot pour demander un truc comme ca ! :15:

 

Vu que je n'ai pas dimmer je n'ai rien vu  :)

 

V4.021 installée.

 

Ton fils ne devrait pas être au lit à  cette heure là  plutôt que de jouer à  GEA ?

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

Messieurs, J'ai une petite question. J'ai fait ce petit script LUA:

-- Prévisions Pluie..
local CLIMAT = fibaro:getValue(3, "WeatherConditionConverted")
if (CLIMAT == "rain" or CLIMAT == "cloudy" or CLIMAT == "strom") 
 then fibaro:setGlobal('PrevisionsPluie', "OUI")
 else fibaro:setGlobal('PrevisionsPluie', "NON") 
end 

Je ne sais pas si c'est possible de faire appel au device N°3 ( Conditions Méteo ) et de modifier le statut de ma variable globale "PrevisionsPluie" directement à  partir de GEA.

L'idée est d'intégrer ce code dans la scène GEA et de réduire le nombre de scènes externes.

 

Y'a il un moyen "classe", genre en une ligne pour faire ceci ?

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci, en réalité la problématique est de pouvoir récupérer une valeur "non numérique" d'un module, comme celui de la météo :)

 

HS: Par ailleurs, un plugin Météo sur la V4 qui récupère des valeurs de différentes sources (Internes HC2/ ou Externes "personnalisables:yahoo/meteoFrance...") sera un must.

=> Krikroff si tu m'entends  :P.   

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

GEA installé chez moi depuis quelques jours et c'est vraiment super tout ce que l'on peut faire avec !!! Je l'utilises plus en déclencheur d'action (instantanné ou avec délais) que en notification d'ailleurs.

Je viens juste de voir la possibilité de basculer les If dans la partie condition apres avoir parcouru les 37 pages... et ca me plait beaucoup pour gérer les modes/parametres de la maison plus facilement.

 

Question: en basculant les If en conditions, ca gère toujours les déclenchements instantannés sur la 1ère condition uniquement avec le "-1" ? pareil sur {Inverse}, qui ne se base que sur la premiere condition ? (ce que je veux ! sinon j'utilise les groupes) 

 

Ce qu'il me manquait: Global! en condition mais c'est fait avec la derniere version, non ? et la possibilité d'utiliser weatherconditionconverted directement dans GEA (en tout cas j'ai pas trouvé comment le faire...) mais je vais me créer une petite scene en boucle qui met a jour une globale avec weatherconditionconverted pour le moment  :15:

 

Merci Steven !

Zozotte

Lien vers le commentaire
Partager sur d’autres sites

Suggestion d'évolution: pouvoir remplacer la valeur d'une globale par une autre globale ! ou alors de pouvoir enregistrer la valeur d'une variable globale dans une variable locale et ensuite pouvoir appliquer cette valeur à  une globale

 

Exemple: quand je pars en vacances, mon chauffage se met en mode Vacances et le mode précédent (cad: automatique selon le panneau de chauffage ou confort ou eco) est enregistré dans la variable history

quand je reviens de vacances, le chauffage bascule du mode Vacances vers le mode enregistré dans History.

Actuellement je le fais en 6 lignes dans GEA mais si on peut remplacer une globale par la valeur d'une autre globale ca en deviendra que 2  :60:

 

Merci !

Lien vers le commentaire
Partager sur d’autres sites

Essaie cela .. juste pour rigole

GEA.add( {"Global!", "Variable1", "XXXXXX"}, 30, "", { {"Global", "Variable2", "#value#"} })

et tiens moi au courant :)

 

Je peux pas tester maintenant, mais vu la logique de mon code cela devrait copier la valeur de la variable1 dans la variable2.

 

 

P.S: Gobal! existe depuis 5 version ;)

Lien vers le commentaire
Partager sur d’autres sites

Ok merci, en réalité la problématique est de pouvoir récupérer une valeur "non numérique" d'un module, comme celui de la météo :)

 

HS: Par ailleurs, un plugin Météo sur la V4 qui récupère des valeurs de différentes sources (Internes HC2/ ou Externes "personnalisables:yahoo/meteoFrance...") sera un must.

=> Krikroff si tu m'entends  :P.   

 

Dans le cas de GEA, la problèmatique n'est pas la valeur non numérique mais de transformer "rain", "storm", "cloudy" en OUI ou NON.

 

Sinon, tu peux utiliser la manière "pas propre" de GEA :

function climat()
   local CLIMAT = fibaro:getValue(3, "WeatherConditionConverted")
   return (CLIMAT == "rain" or CLIMAT == "cloudy" or CLIMAT == "strom")
end

-- Chaque heure, on passe la varibale à  pluie : NON
GEA.add( true , 60*60, "", {{"Global", "PrevisionsPluie", "NON"}} )
-- Puis on vérifie si elle devrait pas être à  OUI
GEA.add( {"Function", function() return climat() end}, 60*60, "", {{"Global", "PrevisionsPluie", "OUI"}} )

Mais franchement ... c'est nul comme code et dans des cas pareil, ton scénario est bien mieux.

 

Je compte rajouter un code du style 

 

GEA.add( {"Meteo", "rain, storm, cloudy"}, 60*60, "", {{"Global", "PrevisionsPluie", "OUI"}} )

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...