Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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"]}})
Posté(e)

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
Posté(e)

@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

Posté(e)

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 ;)

Posté(e)

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.

Posté(e)

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"}})

Posté(e)

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.

Posté(e)

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
Posté(e)

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 !

Posté(e)

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 :)

Posté(e)

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" ? :)

Posté(e)

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 ;-)

Posté(e)

@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 ;)

Posté(e)

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

Posté(e)

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

×
×
  • Créer...