Aller au contenu

Recommended Posts

le mieux avec des usines à  gaz comme ça est de commencer progressivement, avec une condition simple et "charger" petit à  petit. Car pour débugger une ligne gea "complexe" c dur.

Sinon je dirais que Value- me semble "incompatible" avec -1 comme condition principale vu que ce n'est pas "instantané"

 

pour débugger, tu peux remplacer tes conditions par true ou false

Partager ce message


Lien à poster
Partager sur d’autres sites

bonsoir @jacquominot,

 

j'ai très peu d'experience avec gea et lua mais je me demande si tu as bien déclaré "CHAUFFE_BUREAU" : ???

{"turnOn",id["CHAUFFE_BUREAU_JK"]}})

Partager ce message


Lien à poster
Partager sur d’autres sites

bon de mon côté, quand je copie mes lignes GEA de GEA V4.017 à  V5, je dois doubler maxtime...

si je veux deux executions, je dois mettre 4

exemple:

 GEA.add({{"Global+", "HOUSE_CONSO", 150},{"Global", "PresentState", "Away"}}, 60, "La maison Consomme #value# W !",{{"MaxTime", 4},{"VirtualDevice", id["VD_CHECK_CONSO"], "1"},{"Repeat"}})

donne ceci:

 

 
[DEBUG] 00:11:17: GEA Version 5.01 : en exécution...
[DEBUG] 00:11:46: [ HOUSE_CONSO=150 ] sendActions : traitement des actions (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
[DEBUG] 00:11:46: [ HOUSE_CONSO=150 ] sendActions : !ACTION! : VirtualDevice 103,1 (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
[DEBUG] 00:11:46: [ HOUSE_CONSO=150 ] sendActions : !ACTION! : sendPush La maison Consomme 377.6 W ! (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
 
[DEBUG] 00:12:46: [ HOUSE_CONSO=150 ] sendActions : traitement des actions (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
[DEBUG] 00:12:46: [ HOUSE_CONSO=150 ] sendActions : !ACTION! : VirtualDevice 103,1 (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
[DEBUG] 00:12:46: [ HOUSE_CONSO=150 ] sendActions : !ACTION! : sendPush La maison Consomme 363.4 W ! (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
[DEBUG] 00:12:46: [ HOUSE_CONSO=150 ] Done : tache effectuée et suspendue (ID:37) [MaxTime,4] [VirtualDevice,103,1] [Repeat] [if..]
 
soit deux exécutions...
 
ça se vérifie avec d'autres exemples

Partager ce message


Lien à poster
Partager sur d’autres sites

@jacquo, pour les localid le dernier id ne doit pas se terminer par ,

cela vient peut etre de cela

 

Attention le bouton reconfigure pour la multiprise greenwave m'a fait planté la box

Partager ce message


Lien à poster
Partager sur d’autres sites

GEA.add avec un a minuscule.

Envoyé de mon portable grâce àmes petits doigts.

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est la différence entre les pros et les autres...

Sent From my Vic20

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien , il y a meme un gouffre

Partager ce message


Lien à poster
Partager sur d’autres sites

GEA.add avec un a minuscule.

Envoyé de mon portable grâce àmes petits doigts.

Lol, je viens de trouver le problème. Tout content, j'allais le poster et voilà, j'aurais du passer par le forum.

Tout ça pour un A majuscule...

Merci Steven ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Re,

Encore moi .

Ce coup-ci j'ai suivi vos conseils et je fais mes tests avec true et false.

le fonctionnement du If m'intrigue.

Voici deux lignes de codes en sachant que là, il me fait un turnoff et un turnon toutes les 30sec (je passerais à15 min quand cela marchera).

Pour info, j'utilise comme sonde de température, le module Fibaro FGMS-001 qui me remonte actuellement : 21.2°c

  GEA.add({"If",{true,true,{"Value",id["CHAUFFE_BUREAU_JK"],0},{"Value-",id["TEMP_BUREAU_JK"], 21}}}, 30, "", {{"turnOn",id["CHAUFFE_BUREAU_JK"]},{"Repeat"}} )
  GEA.add({"If",{true,true,{"Value",id["CHAUFFE_BUREAU_JK"],1},{"Value+",id["TEMP_BUREAU_JK"], 21}}}, 30, "", {{"turnOff",id["CHAUFFE_BUREAU_JK"]},{"Repeat"}} )

J'ai peut-être mis des choses en trop.

Ce que j'écris me paraît logique pourtant.

Partager ce message


Lien à poster
Partager sur d’autres sites

le if est une option, pas une condition, donc àmettre àla fin.

Essaye de bien comprendre la syntaxe détaillée ici:

http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-d%C3%A9v%C3%A9nements-automatique/?p=12428

Ca a l'air rébarbatif, mais c'est bien fait

Partager ce message


Lien à poster
Partager sur d’autres sites

bonsoir,

 

Alors c'est la premiere fois que j'essaie d'aider qqun, avec le peu de recul sur le lua et sur GEA, je me lance ;-)

 

pour l'imbrication des conditions, j'aurais ecrit comme cela moi, mais sans certitude, à  tester

GEA.add(
   {"Value",id["CHAUFFE_BUREAU_JK"],0}, --condition 1
   {"Value-",id["TEMP_BUREAU_JK"],21}, --condition 2
   30,"message push", -- 30 secs de GEA et message push
    {
    {"turnOn",id["CHAUFFE_BUREAU_JK"]}, -- turnon
    {"Repeat"}  -- va repeter la tache toutes les 30 secs je crois
    }
    )

Ou comme ca peut-etre en creant une variable "condition"

local condition = {"If", {{"Value",id["CHAUFFE_BUREAU_JK"],0}, {"Value-",id["TEMP_BUREAU_JK"],21}}}
GEA.add(id["CHAUFFE_BUREAU_JK"],30,"message push", {{"turnOn",id["CHAUFFE_BUREAU_JK"]}, condition, {"Repeat"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

le if est une option, pas une condition, donc à  mettre à  la fin.

Essaye de bien comprendre la syntaxe détaillée ici:

http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-d%C3%A9v%C3%A9nements-automatique/?p=12428

Ca a l'air rébarbatif, mais c'est bien fait

Merci beaucoup seb,

J’arrêtais pas de le lire dans tous les sens et il a suffit que tu me remettes le lien pour tomber sur la condition multiple.

Je l'avais lu plusieurs fois mais ça a fait tilt ce coup-ci.

J'ai juste tiré le if au début de ma ligne et ça marche nickel.

J'étais si proche ;)

Bonne soirée à  tous et encore merci.

 

Tant que j'y suis, je n'ai pas compris la différence entre Value et Sensor.

Perso, j'utilise des Sensor Fibaro mais il faut que je mette Value donc à  quoi sert ce paramètre.

Partager ce message


Lien à poster
Partager sur d’autres sites

sensor c'est pour un capteur(mesurer) pour mesurer la consommation d'une prise par exemple

Value c'est pour lire ou définir une valeur, pour mettre un dimmer à  80% par exemple

 

Dans ma signature tu as showroom gea, l'apprentissage par l'exemple, c'est mon dada ;-)

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

 

je viens de constater un truc completement délirant.

Voici une action GEA que j'ai voulu mettre en place:

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "#time#: ATTENTION Coupure de courant"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Erreur dans la trace:

[DEBUG] 17:51:39: [ eaton=ONBATT ] Add Global : ajout de la tache pour lancement instantané (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: GEA Version 5.00 : en exécution...
[DEBUG] 17:51:39: [ eaton=ONBATT ] sendActions : traitement des actions (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: [ eaton=ONBATT ] !!! ERREUR !!! : vérification (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]

Apres plein de tests je constate que cette version fonctionne... Seul difference j'ai enlevé le "de" dans la variable:

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "#time#: ATTENTION Coupure courant"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Du coup je reteste cette version :

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "de"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Erreur !!!

[DEBUG] 17:51:39: [ eaton=ONBATT ] Add Global : ajout de la tache pour lancement instantané (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: GEA Version 5.00 : en exécution...
[DEBUG] 17:51:39: [ eaton=ONBATT ] sendActions : traitement des actions (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: [ eaton=ONBATT ] !!! ERREUR !!! : vérification (ID:34) [Global,pushover,de] [VirtualDevice,195,3]

Je ne m'explique pas le problème...

 

Si quelqu'un a 5mins pour faire un test et me confirmer que cela vient bien de qqch chez moi ? merci d'avance !

Partager ce message


Lien à poster
Partager sur d’autres sites

En gros: si comme moi il a une prise USB alors je passe par un soft sous linux qui me permet d'etre notifié (email) et execute un script en perl pour aller mettre a jour une variable globale dans la HC2 

cette mise a jour est trapé par GEA et ensuite une notification pushover et envoyé sur mon tel :)

Partager ce message


Lien à poster
Partager sur d’autres sites

ok merci pour le retour. Pour ma part c'est mon NAS synology qui m'envoie un sms quand il va s'éteindre si l'onduleur est sur batterie.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah c'est pas mal aussi ca ! :)

J'ai fait quelque recherche rapide sur synology mais je n'ai rien trouvé de concluant... en même temps je decouvre tout juste XPEnology depuis hier soir alors j'ai du louper le bon truc ! :)

Par curiosité tu as fait comment ?

 

Et sinon personne pour faire le test sur mon "bug" ? :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

 

je viens de constater un truc completement délirant.

Voici une action GEA que j'ai voulu mettre en place:

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "#time#: ATTENTION Coupure de courant"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Erreur dans la trace:

[DEBUG] 17:51:39: [ eaton=ONBATT ] Add Global : ajout de la tache pour lancement instantané (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: GEA Version 5.00 : en exécution...
[DEBUG] 17:51:39: [ eaton=ONBATT ] sendActions : traitement des actions (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: [ eaton=ONBATT ] !!! ERREUR !!! : vérification (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]

Apres plein de tests je constate que cette version fonctionne... Seul difference j'ai enlevé le "de" dans la variable:

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "#time#: ATTENTION Coupure courant"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Du coup je reteste cette version :

GEA.add({"Global", "eaton", "ONBATT"}, -1, "", {{"Global", "pushover", "de"}, {"VirtualDevice", id["NOTIF_CENTER"], 3}})

Erreur !!!

[DEBUG] 17:51:39: [ eaton=ONBATT ] Add Global : ajout de la tache pour lancement instantané (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: GEA Version 5.00 : en exécution...
[DEBUG] 17:51:39: [ eaton=ONBATT ] sendActions : traitement des actions (ID:34) [Global,pushover,#time#: ATTENTION Coupure de courant] [VirtualDevice,195,3]
[DEBUG] 17:51:39: [ eaton=ONBATT ] !!! ERREUR !!! : vérification (ID:34) [Global,pushover,de] [VirtualDevice,195,3]

Je ne m'explique pas le problème...

 

Si quelqu'un a 5mins pour faire un test et me confirmer que cela vient bien de qqch chez moi ? merci d'avance !

 

C'est probablement à  cause d'une fonction de recherche pour localiser les #time# et autres...

de mon côté j'ai modifié une notification en ajoutant "de" dans une phrase de notification contentnant #time# et c'est passé. "de" seul comme notification, aussi

autre exemple bizarre:

 

Ces conditions de variables globales sont prises en compte:

local estClosed = {"Global!", "Porte_Garage", "Not_Closed"}
local estNot_Closed = {"Global", "Porte_Garage", "Not_Closed"}

mais pas ceci:

local estClosed = {"Global", "Porte_Garage", "Closed"}
local estNot_Closed = {"Global", "Porte_Garage", "Not_Closed"}

mais je n'ai pas d'erreur, juste une non prise en compte.

 

il y a deux solutions, soit tu t'adaptes, soit tu t'attaque au code, pcq Steven il mijotte autre chôse ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien: merci pour ton retour ! :) Dans l'immediat je me suis adapté en modifiant les chaines de caractère. Mais en // je suis en train de monter une seconde instance pour analyser le problème, je verrai qd est ce que j'aurais du temps pour regarder plus en detail car il faut remonter pas mal dans le code et le comprendre même si il semble plutot tres bien fichu :)

 

@Steven: tu as bien raison ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Attention, si tu as deux instances, utilises deux variables globales (gea tasks) différentes ! Dans un des deux fils Steven me réponds avec la ligne a ajouter ( il y a moins de deux semaines)

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

Yes c'est bien ce que j'avais compris en voyant le fonctionnement et le code :) mais merci pour l'info :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Encore moi avec mon usine à  gaz comme vous dites :

si je mets ça, j'ai une notification push

  GEA.add({"Value-",id["TEMP_SALLE_MANGER"], tempChauffeJour}, 30, "1", {{"If",{{"Days", "Weekday"} , VacancesOff , {"Time", "06:15", "08:00"}}},{"turnOn",id["CHAUFFE_SALLE_MANGER"]},{"Repeat"}} )

Si maintenant je mets : 

  GEA.add({"Value-",id["TEMP_SALLE_MANGER"], tempChauffeJour}, 30, "1", {{"If",{{"Days", "Weekday"} , VacancesOff , false}},{"turnOn",id["CHAUFFE_SALLE_MANGER"]},{"Repeat"}} )

Je n'ai plus la notification push.

Le problème c'est qu'il est 20h39... :huh:

Je suis perdu.

 

je précise que VacancesOff est une variable globale qui est à  0 et que tempChauffeJour est à  21 et que ma sonde est à  20.4

 

21h 07, je progresse :

si je supprime le if :

  GEA.add({"Value-",id["TEMP_SALLE_MANGER"], tempChauffeJour}, 30, "1", {{"Days", "Weekday"},VacancesOff,{"Time", "06:15", "08:00"},{"turnOn",id["CHAUFFE_SALLE_MANGER"]},{"Repeat"}} )

je suis bon

 

il me reste à  gérer le fait qu'il envoie ou non l'ordre une seule fois car j'ai mon test 5 qui est lui ok sur les heures mais qui passe toutes les 30secondes et c'est pas terrible.

 

 

21h11 : en rajoutant un if où il faut ça le fait :

  GEA.add({"Value-",id["TEMP_SALLE_MANGER"], tempChauffeJour}, 30, "5", {{"Days", "Weekday"},VacancesOff,{"Time", "17:32", "22:00"},{"If",{{"Value",id["CHAUFFE_SALLE_MANGER"],0}}},{"turnOn",id["CHAUFFE_SALLE_MANGER"]},{"Repeat"}} )

21h33, je craque au bout de 30 sec, il passe dans la boucle :

  GEA.add({"Value+",id["TEMP_SALLE_MANGER"], tempVacances}, 30, "14", {VacancesOn,{"If",{{"Value",id["CHAUFFE_SALLE_MANGER"],1}}},{"turnOff",id["CHAUFFE_SALLE_MANGER"]},{"Repeat"}} )

et il repasse à  l'autre après pourtant je ne suis pas en mode vacances :

local VacancesOn = {"Global", "MODEVACANCES", "1"}
local VacancesOff = {"Global", "MODEVACANCES", "0"}

et elle est bien à  0 dans le panneau variable

Partager ce message


Lien à poster
Partager sur d’autres sites

×