Aller au contenu

Recommended Posts

@PITP2

 

Et en écrivant comme ceci ? en esperant que je ne me sois pas trompe ;-)

j'ai invente pour ton "invitenon" en supposant la valeur d'une variable globale

GEA.add({{"Value-", id["LUMIERE_TV"], 1}, {"Global","Invite","NON"}},15*60,"",{{"turnOff",id["LUMIERE_TV"]}})

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien

Merci pour ta réponse.

La ligne qui pose problème c est celle que j ai mise, la 1447.

Pour portail et portail1, le 1er un sensor, le second un actionneur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Pepite mais je ne pense pas que cela soit du à  cela car dans ton code tu ne testes pas la PRISE_TV et c'est elle qui me pose probleme.

Peut etre un probleme de parenthèse ...

 

@magic, ce que veut dire Sebcbien c'est que pour nous aider il faudrait que tu isoles un peu plus la ligne qui plante dans ton code en utilisant -- 

 

Peux tu publier la declaration des "variables" aussi ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien

Merci pour ta réponse.

La ligne qui pose problème c est celle que j ai mise, la 1447.

Pour portail et portail1, le 1er un sensor, le second un actionneur.

... La ligne 1447 pète très certainement parce que tu as fait une faute de syntaxe...

Le but est d'isoler la ligne gea qui la contient.

Met -- devant les lignes gea une par une et quand l'erreur disparaitra tu saura laquelle c'est

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

Oups pas vu la réponse de PITP2 ;-)

Sent From my Vic20

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est bon j'ai compris la ligne qui pète tout c'est celle là :

-- Si le portail est ouverte plus de 8 mn entre 23:30 - 06:00, on le ferme
	GEA.add( id["portail"], 8*60, "Le portail est ouvert depuis plus de 8 minutes", {{id["portail1"], {"turnOn"}}, {"Time", "23:30", "06:00"}})

 mais je sais pas pourquoi par contre

 

Pour vous aider, ce que je veux faire avec cette ligne : si la capteur du portail "portail" détecte qu'il est ouvert plus de 8 min, alors je demande à  la motorisation du portail "portail1" de fermer le portail, tout ca uniquement si l'ouverture intervient entre 23:30 et 6:00

Partager ce message


Lien à poster
Partager sur d’autres sites

@magic, tu peux essayer cela ?

 GEA.add( id["portail"], 8*60, "Le portail est ouvert depuis plus de 8 minutes", {"turnOn",id["portail1"]} , {"Time", "23:30", "06:00"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2:

 

merci!

 

GEA me dit qu'il manque une { quelque part

Edit : c'est bon, j'ai trouvé où placer l'accolade et ca marche! un grand merci!

Partager ce message


Lien à poster
Partager sur d’autres sites

oups oui ... il en faut un autre juste avant le turnOn

J'espere que ce sera ok apres

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 

@PITP2

 

Et en écrivant comme ceci ? en esperant que je ne me sois pas trompe ;-)

j'ai invente pour ton "invitenon" en supposant la valeur d'une variable globale

GEA.add({{"Value-", id["LUMIERE_TV"], 1}, {"Global","Invite","NON"}},15*60,"",{{"turnOff",id["LUMIERE_TV"]}})

ola la, autant pour moi, j'ai oublie le principal PITP2 :rolleyes:

 

Et comme ca alors ? En conditions multiples ? Non ?

GEA.add({{"Sensor-", id["PRISE_TV"], 50},{"Value-", id["LUMIERE_TV"], 1}, {"Global","Invite","NON"}},15*60,"",{{"turnOff",id["LUMIERE_TV"]}})
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour a tous 

 

 

je n'arrive toujours pas à  enregistrer la valeur de ID10 dans ma globale variable lum

 

et je n'y arrive toujours pas 

 

 

GEA.add(10, 15, "luminosite ", {{"CopyGlobal", "lum", "#valeur#"}})

 

merci 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

 

J'ai vraiment un soucis avec l'utilisation des Tasks, je n'arrive pas à  le faire fonctionner comme je voudrais :(

 

1ere utilisation: mettre en pause mon chauffage quand on ouvre la fenetre et memoriser son mode puis remettre l'ancien mode quand la fenetre se ferme

local fenetreAUTO = GEA.add( {"Global", "Zib_Ouverture_R17", "0"}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 4}, {"MaxTime", 1}, {"NotStarted"}})
GEA.add( {{"Global", "Zib_Ouverture_R17", "1"}, {"Global", "Chauffage", "AUTO"}}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 6}, {"RestartTask", fenetreAUTO}})
local fenetreCONF = GEA.add( {"Global", "Zib_Ouverture_R17", "0"}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 7}, {"MaxTime", 1}, {"NotStarted"}})
GEA.add( {{"Global", "Zib_Ouverture_R17", "1"}, {"Global", "Chauffage", "CONF"}}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 6}, {"RestartTask", fenetreCONF}})
local fenetreECO = GEA.add( {"Global", "Zib_Ouverture_R17", "0"}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 8}, {"MaxTime", 1}, {"NotStarted"}})
GEA.add( {{"Global", "Zib_Ouverture_R17", "1"}, {"Global", "Chauffage", "ECO"}}, -1, "", {{"VirtualDevice", id["VD_CHAUF_SDJ"], 6}, {"RestartTask", fenetreECO}})

Mon chauffage etait en mode automatique. A l'ouverture de la fenetre, il se met bien à  l'arret (bouton 6 du VD) mais quand je ferme la fenetre, les 3 taches se declenchent...

[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : traitement des actions (ID:66) [VirtualDevice,39,4] [MaxTime,1] [NotStarted]
[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : !ACTION! : VirtualDevice 39,4 (ID:66) [VirtualDevice,39,4] [MaxTime,1] [NotStarted]
[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : traitement des actions (ID:68) [VirtualDevice,39,7] [MaxTime,1] [NotStarted]
[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : !ACTION! : VirtualDevice 39,7 (ID:68) [VirtualDevice,39,7] [MaxTime,1] [NotStarted]
[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : traitement des actions (ID:70) [VirtualDevice,39,8] [MaxTime,1] [NotStarted]
[DEBUG] 21:47:25: [ Zib_Ouverture_R17=0 ] sendActions : !ACTION! : VirtualDevice 39,8 (ID:70) [VirtualDevice,39,8] [MaxTime,1] [NotStarted]

2e utilisation: je veux etre notifiée si mon congélateur ne consomme plus mais aussi si apres il redemarre

GEA.add({"Sensor", id["BUANDERIE_CONGELO"], 0}, 90*60, "Alerte - Congélateur ne consomme plus d electricité depuis #duration# - #date# #time# ", {{"Email",2},{"Global", "Imperihome", "Le congélateur ne consomme plus d'electricité depuis #duration#"}, notification, imperihome, {"Repeat"}})
local consoCongelo = GEA.add({"Sensor+", id["BUANDERIE_CONGELO"], 0}, 60, "Fin d alerte - Congélateur consomme à  nouveau ! - #date# #time#", {{"Email",2}, {"MaxTime", 2},{"Global", "Imperihome", "Le congélateur consomme à  nouveau"}, imperihome, {"NotStarted"}})
GEA.add({"Sensor", id["BUANDERIE_CONGELO"], 0}, 90*60, "", {{"RestartTask", consoCongelo}})

NB: imperihome lance le TTS de imperihome et notification rend mon RGB violet

Quand j'ai testé cet après midi, j'ai recu 5 messages Congélateur consomme à  nouveau !

 

Dernière question, je voudrais si mon congelo ne consomme plus recevoir un message toutes les 1h30. Avec cette commande, j'ai recu un message au bout de 1h30 puis 1 nouveau message toutes les 30s :) Quelqu'un saurait comment le faire ?

GEA.add({"Sensor", id["BUANDERIE_CONGELO"], 0}, 90*60, "Alerte - Congélateur ne consomme plus d electricité depuis #duration# - #date# #time# ", {{"Email",2},{"Global", "Imperihome", "Le congélateur ne consomme plus d'electricité depuis #duration#"}, notification, imperihome, {"Repeat"}})

Merci pour votre aide !

Zozotte

PS: c'est chouette car pas de surprise en V4 avec GEA ! Merci Steven !!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut Zozote, pour le premier cas, je pense que tu as le même "bug" que moi quelques pages avant.

Essaye seulement avec deux au lieu de trois et utilise global! pour inverser la condition, mais n'en garde qu'une (déclare par exemple fenetreConf comme global! de fenetreeECO par exemple)

teste et à  mon avis ça va déclencher seulement une seule

 

Pour ton deuxième "bug" ... je l'ai aussi, je dois déclarer maxtime à  8 par exemple pour avoir 4 notifications... ou moins

 

Pour ton troisième, je pense que c'est pcq la condition n'est plus ré-évaluée, j'ai lu ça ici mais je ne sais plus où

Partager ce message


Lien à poster
Partager sur d’autres sites

Petite astuce pour ceux qui doivent gérer deux scénarios différents.

L'astuce consiste à  stocker l'id du scénario dans les % du dimmer :-)

En effet, un dimmer à  96% ou 99% ne crée pas de différence de luminosité visible (surtout dans mon cas avec des néons.

exemple ci-dessous:

Steven, je pense que ça va t'intéresser aussi, car tu as la même configuration de garage que la mienne  :P

---------------------
-- Gestion de la lumière lorsque l'on rentre la voiture (stockage du scénario dans la valeur du dimmer ->97%
   -- Si demande d'ouverture et porte fermée et lampe éteinte, then push, Allume lampe à  97%
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Ouverture"}, estClosed, {"Value-", id["LAMPE_GARAGE"], 1}}, -1, "Lampe garage on pour 7 min à  97%", {{"Value", id["LAMPE_GARAGE"], 97}})
    -- On clignotte la lampe après 7mn et on l'éteint après 8mn si pas d'action manuelle
    -- Un double click ramène le dimmer à  100% et relance un cycle de 90 min (autre GEA, celui-ci désactivé)
  GEA.add({"Value", id["LAMPE_GARAGE"],97}, 7*60, "Garage 7 min 97% -> 96%",{{"turnOff", id["LAMPE_GARAGE"]},{"Function", function() fibaro:sleep(700) end},{"Value", id["LAMPE_GARAGE"], 96}})
-- Sil la lampe est à  96%, après 8 min on met la lampe à  99% (prète pour prochain allumage) puis on éteint
  GEA.add({"Value", id["LAMPE_GARAGE"],96}, 1*60, "Garage 1 min 96% -> 99% -> 0ff",{{"Value", id["LAMPE_GARAGE"], 99},{"Function", function() fibaro:sleep(500) end},{"turnOff", id["LAMPE_GARAGE"]}})
---------------------
-- Gestion de la lumière lorsque l'on allume la lumière (stockage du scénario dans la valeur du dimmer ->99%)
   -- On clignotte la lampe après 90mn et on l'éteint après 5mn si pas d'action manuelle
    -- Un double click ramène le dimmer à  99% et relance un cycle de 90 min
  GEA.add({"Value", id["LAMPE_GARAGE"],99}, 90*60, "Garage 90 min 99% -> 98%",{{"turnOff", id["LAMPE_GARAGE"]},{"Function", function() fibaro:sleep(700) end},{"Value", id["LAMPE_GARAGE"], 98}})
-- Sil la lampe est à  98%, après 5 min on met la lampe à  99% (prète pour prochain allumage) puis on éteint 
  GEA.add({"Value", id["LAMPE_GARAGE"],98}, 5*60, "Garage 10 min 98% -> 99% -> Off",{{"Value", id["LAMPE_GARAGE"], 99},{"Function", function() fibaro:sleep(300) end},{"turnOff", id["LAMPE_GARAGE"]}})

Partager ce message


Lien à poster
Partager sur d’autres sites

Zozotte, je viens de trouver une parade en copiant le script de gestion de lumière que j'ai posté ci-dessus de mon instance GEA Debug à  mon instance GEA Production...

En effet, ça fonctionne nickel dans une instance gea tout seul, mais pas avec d'autres GEA.add contenant aussi une condition "Global" à  évaluer avec une condition provenant d'une VG... (cas que tu utilises très souvent, et moi de plus en plus)

 

J'ai remarqué que j'avais une autre ligne GEA.add un peu avant,qui a aussi besoin d'évaluer la même condition 

{{"Global", "Porte_Gar_Action", "Demande_Ouverture"}, estClosed, ...

et apparemment, une demande d’évaluation de la même séquence dans une autre ligne GEA ne sera pas prise en compte...

 

Solution donc:

Créer deux scènes:

- GEA Instance 1

- GEA Instance 2

ne pas oublier de mettre deux variable globales différentes ! (à  déclarer dans yourcode() )

-- Variable Globale de l'instance
GEA.globalTasks = "GEA_Tasks_V5_2"

 

et ça marche ...

 

autres exemples:

 

ceci marche:

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Je vous confirme un bug avec les déclenchements instantanés sur une variable "Globale".

 

Mon code ne prend pas en compte les conditions multiples lors d'un déclenchement de ce type ... exemple 

 

Ne fonctionne pas :

GEA.add ( {{"Global", "Zib_Ouverture_R17", "1"}, {"Global", "Chauffage", "AUTO"}} , ...)
fonctionne

GEA.add ({"Global", "Zib_Ouverture_R17", "1"}, ...,  {{"If",{{"Global", "Chauffage", "AUTO"}}}})
 

désolé.

Edit : En fait, cela devrait fonctionner ... je comprends pas :(

Partager ce message


Lien à poster
Partager sur d’autres sites

Mince .... alors là  ça craint  :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour a tous 

 

 

je n'arrive toujours pas à  enregistrer la valeur de ID10 dans ma globale variable lum

 

et je n'y arrive toujours pas 

 

 

GEA.add(10, 15, "luminosite ", {{"CopyGlobal", "lum", "#valeur#"}})

 

merci

GEA.add(10, 15, "luminosite", {{"Global", "lum", "#value#"}})

Et si cela ne marche pas, n'utilise pas GEA pour cela.

Partager ce message


Lien à poster
Partager sur d’autres sites

@PITP2

En fait, je peux comprendre que cela pose problème vu que 2 personnes ont le soucis. Par contre chez moi cela fonctionne très bien MAIS je n'ai pas d’élément qui se déclenche sur une Global et qui en contient une autre. Il faudrait que je provoque un exemple pour pouvoir tester tous cela mais j'ai pas vraiment envie de remettre toute la mécanique de test en fonction juste pour cela :)

Donc techniquement cela devrait fonctionner puisqu'àla lecture (rapide) du code, je ne voit pas le soucis. Par contre, ce même code me semble fragile donc pas àl'abri d'une omission.

Partager ce message


Lien à poster
Partager sur d’autres sites
Tu n'a pas à  être désolé Steven ton code est une tuerie, franchement pour moi l'intérêt de la HC2 est décuplé avec GEA !!!

 

Précision concernant le bug, j'ai remarqué que le "if" mis en début comme condition marchera "une fois" mais si on a besoin de le ré-utiliser dans une deuxième ligne Gea, alors on voit dans le débug que il "saute" la vérification de la condition et retourne un satus Activé à  tout les coups et valide l'action.

 


Partager ce message


Lien à poster
Partager sur d’autres sites

@steven, ce n'était pas un reproche mon commentaire  :)

@sebcbien, tu crois que cela puisse aussi etre à  l'origine de mon probleme vu que j'ai aussi une condition avec un if ? ou cela ne touche que les variables globales ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Allez, c'est fait, j'ai testé ceci :

GEA.add( {{"Global", "GEA_Garage", "ON"}, {"Global", "JourChome", "NON"}}, -1, "Test 2 globale ON, NON")
GEA.add( {{"Global", "GEA_Garage", "OFF"}, {"Global", "JourChome", "NON"}}, -1, "Test 2 globale OFF, NON")
GEA.add( {{"Global", "GEA_Garage", "ON"}, {"Global", "JourChome", "OUI"}}, -1, "Test 2 globale ON, OUI")
GEA.add( {{"Global", "GEA_Garage", "OFF"}, {"Global", "JourChome", "OUI"}}, -1, "Test 2 globale OFF, OUI")
 

Cela fonctionne à  la perfection, il faut donc que je vérifie les IF mais ce n'est pas le soucis de Zozotte. Je vais relire ton post sebcbien.

 

@Zozotte

Enleve le {"NotStarted"} si tu as à  -1 ... cela ne fonctionne pas et n'a pas de sens. Le {"NotStarted"} a été mis pour éviter que GEA lance automatiquement la tâche à  l'enregistrement de la scène. Dans ton cas, seul le déclenchement de la variable globale va démarrer ta tâche.

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien

J'ai de la peine à  tester depuis mon boulot mais je me pose une question bête ... le "_". Pourrais-tu essayer "Close" et "NotClose" au lien de "Close" et "Not_Close" comme valeur de ta globale ? Il y a très peu de chance que le soucis vienne de la car zozotte n'utilise pas de "_" mais si on peux déjà  éliminer un doute, c'est ça de gagner.

 

@PITP2

Je n'avais pas pris ton post comme un reproche ... au contraire :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbien

Je ne vois pas le soucis :)

 

En fait, GEA a raison  .. je m'explique. GEA agit de manière séquentielle en respectant l'ordre des commandes décrites pas l'utilisateur.

 

Reprenons ton code

 

1.  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global", "Porte_Garage", "Not_Closed"}}, -1, "Demande Fermeture Porte Garage GEA à  #time#", {{"turnOn",id["REMOTE_GARAGE"]}})

2.  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture"},{"Global", "Porte_Garage", "Closed"}}, -1, "Demande Fermeture Inutile", {{"Global", "Porte_Gar_Action", "En_Attente"}})

 

Lors du changement de la variable globale "Porte_Gar_Action", GEA va executé :

1. La ligne en verte si Porte_Gar_Action = "Demande_Fermeture" et que "Porte_Garage" = "Not_Closed" et il va activé ta REMOTE_GARAGE

A moins que je me trompe mais il est probable que {"turnOn", id["REMOTE_GARAGE"]} va modifié la valeur de "Porte_Garage" en la mettant sur "Closed"

2. la ligne orange s'éxecute car la ligne du dessus à  indirectement modifier la variable "Porte_Garage" en la mettant su "Closed".

 

Je peux me tromper mais cela me semble cohérent comme raisonnement.

Partager ce message


Lien à poster
Partager sur d’autres sites

×