Aller au contenu

Recommended Posts

il y a 8 minutes, Lazer a dit :

Elle est juste mal écrite, tu aurais pu t'en rendre compte en la regardant mieux, ou en regardant les logs de GEA. Je suis certain que la règle se déclenche, mais n'effectue aucune action.

Quelle grosse erreur de newbie. Désolé pour le dérangement :13:

Partager ce message


Lien à poster
Partager sur d’autres sites

salut à tous

 

Je suis sur GEA 7.35   et je pense avons détecté un bug ou pas ..

 

ma variable FER ne passe pas a A après les 190 sec en gos elle ne fonctionne pas avec le Sleep

 

GEA.add( {{"CentralSceneEvent",  id["TELECO_CH_PARENT"], 2, "Pressed3"}, {"(Global)", "FER", "A"}},  -1, "" ,{
    {"turnOn", id["FERS_A_REPASSER"]}, 
    {"Global", "FER", "B"},
    {"Sleep", 180, {"turnOff", id["FERS_A_REPASSER"] }},  --- AUTO OFF du FERS_A_REPASSER
    {"Sleep", 190,  {"Global", "FER", "A"}}
    })


  GEA.add(
    {{"(Global)", "FER", "B"},
    {"CentralSceneEvent",  id["TELECO_CH_PARENT"], 2, "Pressed3"}} , -1, "", {
        
        {"turnOff", id["FERS_A_REPASSER"] },
        {"Sleep", 2, {"Global", "FER", "A"}}
        })

 

 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne suis pas fan de ta façon de gérer le AutoOFF.

Si le Sleep plante, ou GEA plante, ou la HC3 plante, ton fer ne sera jamais éteint.

C'est trop compliqué comme règle.

La preuve ça ne fonctionne pas.

 

Il faut décomposer et revenir aux fondamentaux de GEA ("What To Do If Still Open").

Pour rappel, à l'origine ça servait à avertir quand une porte était restée ouverte depuis un certain temps.... ou encore un appareil allumé depuis un certain temps, ce qui est exactement ton cas.

 

Une règle à déclenchement instantané pour allumer le fer, et une autre pour l'éteindre après 3 minutes :

GEA.add( {{"CentralSceneEvent", id["TELECO_CH_PARENT"], 2, "Pressed3"}, {"(Global)", "FER", "A"}}, -1, "", {{"turnOn", id["FERS_A_REPASSER"]}, {"Global", "FER", "B"}} )
GEA.add( {id["FERS_A_REPASSER"], {"Global", "FER", "B"}}, 3*60, "", {{"turnOff", id["FERS_A_REPASSER"]}, {"Global", "FER", "A"}} ) --- AUTO OFF du FERS_A_REPASSER

J'ai laissé la variable globale mais j'ai l'impression qu'elle est inutile.

Partager ce message


Lien à poster
Partager sur d’autres sites

Le pourquoi que j'utilise les globale les variables, c'est pas ce que je cherche à me mettre dans un mode ou à tout moment je peux éteindre le fer a repasser

 

Et c'est là que tout se complique

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

OK je vois.

Essaye les lignes que je t'ai proposé, c'est plus simple.

Règle d'or de GEA (pardon, règle d'or de la programmation informatique) => quand un code ne fonctionne pas, on le décompose en éléments simples.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

effectivement décomposition 

 

---FER---
GEA.add(true,0 , "", { {"Global", "FER", "A"}   })

GEA.add( {
    {"CentralSceneEvent", id["TELECO_CH_PARENT"], 2, "Pressed3"},
	{"(Global)", "FER", "A"}}, -1, "", {
    {"turnOn", id["FERS_A_REPASSER"]}, {"Global", "FER", "AUTO"}} )


GEA.add( {
	{id["FERS_A_REPASSER"]}, {"Global", "FER", "AUTO"}}, 1*60, "", {{"turnOff", id["FERS_A_REPASSER"]}, {"Global", "FER", "A"}} ) --- AUTO OFF du FERS_A_REPASSER

----off forcée
GEA.add( {
    {"CentralSceneEvent", id["TELECO_CH_PARENT"], 2, "Pressed3"},
	{"(Global)", "FER", "AUTO"}}, -1, "", {{"turnOff", id["FERS_A_REPASSER"]},
    {"Global", "FER", "A"} })

 

Partager ce message


Lien à poster
Partager sur d’autres sites
GEA.add(true,0 , "", { {"Global", "FER", "A"}   })

GEA.add( {
    {"CentralSceneEvent", id["TELECO_CH_PARENT"], 2, "Pressed3"},
	{"(Global)", "FER", "A"}}, -1, "", {
   
    {"turnOn", id["FERS_A_REPASSER"]}, {"Global", "FER", "AUTO"}} )


local AUTOOFFFER = GEA.add( {
    {id["FERS_A_REPASSER"]}, 
    {"Global", "FER", "AUTO"}}, 1*60, "", {
    
    {"turnOff", id["FERS_A_REPASSER"]}, {"Global", "FER", "A"}} ) --- AUTO OFF du FERS_A_REPASSER

----off forcée
GEA.add( {
    {"CentralSceneEvent", id["TELECO_CH_PARENT"], 2, "Pressed3"},
	{"(Global)", "FER", "AUTO"}}, -1, "", {{"turnOff", id["FERS_A_REPASSER"]},
    {"Global", "FER", "A"}, {"StopTask", AUTOOFFFER } })

 

avec un StopTask c'est plus propre 

 

merci pour le recadrage 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben voilà, tu maitrises mieux que moi, je ne sais même pas utiliser le StopTask :13:

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir à tous,

me voila l'"heureux" (avec mille guillemets) possesseur d'une HC3 et comme beaucoup j'essaie d'adapter mes VD en QA.suis 

J'ai donc installer le QA de détection de présence des adresses Mac des portables de la maison. Ca fonctionne bien et j'ai un QA pour chaque portable.

J'aimerais, comme dans GEA pour la HC2, me servir de ces présences comme condition d'une ligne GEA.

Sur HC2, je passais par l'intermédiaire de variables globales et tout roulait bien.

Ma question du jour est : comment récupérer l'état du QA qui passe en On quand l'adresse Mac est détectée ? Il faudrait récupérer l'état On du QA en condition de GEA...

Mais comment faire ? J'ai essayé un peu toutes les possibilités mais rien n'y fait...

Si qqun passe par là , je suis preneur d'une idée..

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faut utiliser des 'true' et 'false' dans la version GEA sur HC3.

Envoyé de mon M2012K11AG en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ta réponse,

j'avais pourtant essayé mais sans succès. Probablement une erreur de syntaxe.

Ca fonctionne comme ça

GEA.add({"Value" , 35, false},.....
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu mets false, ça ne déclenchera la règle que lorsque le module sera au statut false, donc j'ai envie de dire, quand tu es absent, est-ce bien ce que tu cherches ? (note : je ne connais pas le QA de détection de présence que tu utilises)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, c'est bien ce que je cherche. J'ai une ligne GEA avec true pour présent et false pour absent.

Le QA est une adaptation d'un VD qui existait sur HC2. Il cherche les adresses MAC de chaque téléphone sur la table arp.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

OK très bien.

Et donc ça marche au final ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca marche.. Dès qu'il y a un changement d'état. J'ai ma condition remplie qui se déclenche..

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir

 

J'utilise GEA pour l'ouverture/Fermeture de mes volets le matin et le soir. Depuis quelques semaines, systématiquement le lundi à 0h01 environ (1er jour de la semaine du coup) et au redémarrage de ma HC3, la scène d'ouverture de volets se mets en route. Auparavant je n'avais aucun soucis, du coup je sèche...

Voici les lignes inséré dans la config GEA :

-- ==========================================================
    -- Gestion des volets 
    -- ==========================================================

    -- Ouverture volets après lever du soleil mais pas avant 7h45 en semaine 
   GEA.add({{"Days", "WeekDays"},{"Time", "Sunrise>07:45", "07:50"}}, 60, "Ouverture volets", {"StartScene", 36} )

    -- Ouverture volets après lever du soleil mais pas avant 8h45 le weekend
    GEA.add({{"Days", "WeekEnd"},{"Time", "Sunrise>08:40", "08:45"}}, 60, "Ouverture volets", {"StartScene", 36} )

    -- fermeture volets 10 mns après coucher du soleil
    GEA.add({"Time", "sunset","sunset+1"}, 60, "Fermeture des volets", {"StartScene", 35} ) 

Merci de votre aide

PS: @Lazer, désolé pour le post au mauvais endroit tout a l'heure

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu es certain que c'est GEA qui déclenche la scène à 0:01 ?

Parce que les règles semblent OK.
Tu as des logs dans GEA qui te disent ça ?

Tu parles de reboot de la HC3, si ça se trouve c'est juste ta scène qui est en démarrage automatique.... donc pas la faute de GEA.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir Lazer

 

Merci de ta réponse. J'ai verifié, c'est bien GEA qui déclenche la scène. si je stop et relance GEA, j'ai le même résultat...

Au niveau des logs, j'ai ça (apres les lignes de suppression d'option inutile) :

[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: ... vérification en cours #1 @60s...
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]:    [stoppé] #1 : Démarrage GEA
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation] #2 : Démarrage box
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation] #3 : Détection nouvelle version
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation] #4 : Détection nouvelle version beta
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation*] #5 : ["Days",["WeekDays"]] ["Time",["Sunrise>07:45","07:50"]] => ["StartScene",[36]]
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]:    [Démarrage] #5 : ["Days",["WeekDays"]] ["Time",["Sunrise>07:45","07:50"]] => ["StartScene",[36]]
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]:         [action] ["StartScene",[36]]
[09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation] #6 : ["Days",["WeekEnd"]] ["Time",["Sunrise>08:40","08:45"]] => ["StartScene",[36]][09.12.2021] [21:36:28] [DEBUG] [QA_GEA_75]: @60s [Validation] #7 : ["Time",["sunset","sunset+1"]] => ["StartScene",[35]][09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: ... vérification en cours #2 @120s...
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: @120s [Validation] #2 : Démarrage box
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: @120s [Validation] #3 : Détection nouvelle version
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: @120s [Validation] #4 : Détection nouvelle version beta
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]:    [stoppé] #5 : ["Days",["WeekDays"]] ["Time",["Sunrise>07:45","07:50"]] => ["StartScene",[36]]
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: @120s [Validation] #6 : ["Days",["WeekEnd"]] ["Time",["Sunrise>08:40","08:45"]] => ["StartScene",[36]]
[09.12.2021] [21:37:26] [DEBUG] [QA_GEA_75]: @120s [Validation] #7 : ["Time",["sunset","sunset+1"]] => ["StartScene",[35]]
[09.12.2021] [21:38:26] [DEBUG] [QA_GEA_75]: ... vérification en cours #3 @180s...

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah oui là c'est étrange, mais du coup j'ai l'impression que c'est un effet de bord des sunrise > ...

 

Je n'ai jamais été à l'aise avec cette syntaxe à vrai dire, mais j'imagine que si le soleil se lève après 7h50, le début et la fin de l'intervalle indiqué sont inversés, du coup problème.

 

Déjà essaye de virer les sunrise et de mettre des horaires statiques pour voir si ça change le comportement.

 

Sinon... ben... sans certitude, mais peut être que cette condition résoudrait le problème, à tester : {"Time", "Sunrise>07:45", Sunrise>"07:50"}

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens de tester cette condition : {"Time", "Sunrise>07:45", Sunrise>"07:50"}, par contre j'ai décalé les " {"Time", "Sunrise>07:45", "Sunrise>07:50"}  car sinon les vérifications ne s’effectuait pas.

1er résultat, la scène ne démarre pas directement et ça c'est cool..... A voir si elle démarre demain matin :2:

 

Je te tiens au courant

 

Merci Lazer et bonne fin de soirée

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir

 

Après avoir fait ma modification, j'ai attendu patiemment le lundi... Tout est rentré dans l'ordre en utilisant la syntaxe suivante

GEA.add({{"Days", "WeekDays"},{"Time", "sunrise>07:45"}}, 60, "Ouverture volets", {"StartScene", 36} )

Pourquoi l'ancienne syntaxe a fonctionné correctement de nombreux mois, puis c'est mis a m'ouvrir les volets le 1er jours de la semaine a 0h01 environ...Mystère !

 

Merci pour ton aide Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

Peut être parce que l'heure de lever de soleil a dépassé 7h45 chez toi à cause de l'hiver. Du coup la règle s'est inversée, comme je le craignais dans ma tentative d'explication il y a quelques jours.

 

En tout cas tant mieux :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

bonsoir

 

Je souhaiterais savoir si cela est possible

 

Aussitôt que le volet descends alors notification

GEA.add({"Function", function() if (tonumber(fibaro:getValue(279, "close")) }, -1 , "le volet se ferme")

 

Après si cela fonctionne, l'idée serait de rajouter une deux condition à la première

 

1- si le volet est en descente

2- attendre 3s avant de prendre sa consommation en W

3- Après les 3s, prendre ça consommation et si le volet dépasse  153 W   alors   STOP le vl ......

 

 

 

 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouh là là mais pourquoi tu écris des choses aussi compliquées ?!

 

Au choix :

GEA.add(279, -1, "le volet se ferme", {"Inverse"})
GEA.add({"Value", 279, false}, -1, "le volet se ferme")

Regarde la doc et les exemples, c'est la base là...

 

 

Pour ta condition avec le délai de 3s je ne te conseille pas de le faire avec GEA, car tu ne peux pas garantir que ton action s'effectuera après 3 secondes... ça sera peut être 4, voire plusieurs secondes plus tard selon les tâches en cours de réalisation par GEA.

Il vaut mieux utiliser une scène dédiée pour des temporisations aussi précises.

 

Je le répète, GEA est conçu pour :

- faire des actions à intervalle régulier (30 secondes.... environ !)

- faire des actions instantanément

 

Les trucs trop complexe => à réaliser en dehors, dans un QA ou une Scène.

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×