Aller au contenu

Support Gea


Steven

Messages recommandés

Une autre question :
Je voudrai déclencher une action si ma variable globale present_state=atHome, mais uniquement si elle était a "away" pendant au moins 30 minutes juste avant...
J'imagine qu'il faut utiliser restarttask mais je ne trouve pas la logique àutiliser.

Sent from my Note4 using Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Salut à  tous,

J'ai cherché partout (mais on va certainement me dire va ici... ;) ) mais comment lancer une scene block via GEA??

Scène bloc ou lua, pas de différences :

{"Scenario", <id>}  

Tout est expliqué ici :

http://www.domotique-fibaro.fr/index.php?/topic/-Gea-:-Gestionnaire-D'événements-Automatique

Sent from my Note4 using Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Une autre question :

Je voudrai déclencher une action si ma variable globale present_state=atHome, mais uniquement si elle était a "away" pendant au moins 30 minutes juste avant...

J'imagine qu'il faut utiliser restarttask mais je ne trouve pas la logique à  utiliser.

Sent from my SM-N910F using Tapatalk

 

Une VG TestAway à  créer qui est mise à  OUI si present_state=away au moins 30mn.

Seconde ligne pour déclencher l'action voulue (et qui remet la VG TestAway à  NON) si present_state=atHome ET TestAway=OUI (j'ai mis en déclenchement immédiat, penser à  mettre la VG present_state en entête) 

GEA.Add ({"Global";"present_state","away"}, 30*60, "", {{"Global","TestAway","OUI"}})
GEA.Add ({{"Global";"present_state","atHome"},{"Global","TestAway","OUI"}},-1, "",{{ACTION},{"Global","TestAway","NON"}})
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Merci Hansolo :-)

à‡a devrait marcher.

Le seul inconvénient c'est qu'il faut créer une vg supplémentaire -_- ... mais je ne vois pas trop non plus comment s'en passer...

Si quelqu'un a une solution sans VG, qu'il n'hésite pas ;-)

Sent from my Note4

Lien vers le commentaire
Partager sur d’autres sites

Salut Messieurs,

 

Il existe "NotStarted", ca doit marcher aussi je pense, comme ceci peut-etre

 

Le "NotStarted" empêche d'exécuter la ligne automatiquement.

local awaytrente = GEA.add({"Global", "present_state", "away"}, 30*60, "Present_State = Away depuis #durationfull#", {{"ACTIONS"}, {"NotStarted"}})

GEA.add(....,30, "", {{"RestartTask", awaytrente}})

Puis dans la ligne qui passe ta variable globale "present-state" à  away tu rajoutes le "RestartTask" de "awaytrente" dans l'exemple.

 

A tester evidemment ;-)

Lien vers le commentaire
Partager sur d’autres sites

Tant qu'on est sur la même instance de GEA (pas de -1), on peux faire des variables dans une scène  ;)

 

je vais pas me lancer sur le sujet car pas le temps de tester mais imaginons :

wasAlwaysOn = false
GEA.Add ({"Global","present_state","away"}, 30*60, "", {{"function",function() wasAlwaysOn = true end}})
GEA.Add ({{"Global","present_state","atHome"},{"function",function() return wasAlwaysOn end}}, 30, "",{{ACTION},{"function",function() wasAlwaysOn=false end}})
Edit : C'est la même chose que ce que propose Hansolo mais sans la variable globale. Par contre, c'est plus du -1 mais 30 secondes pour la 2ème instruction.
Lien vers le commentaire
Partager sur d’autres sites

ok, il a fallut le temps que "le franc tombe ..."

mais alors lorsque Steven dit "on est sur la même instance de GEA (pas de -1)", cela veut dire qu'il ne peut plus y avoir AUCUN -1 dans ce GEA, et qu'il faudrait alors faire un autre pour les immédiates, ou mettre celui-là  dans un GEA unique, qui ne tournerait que toutes les 5 min par exemple)

Lien vers le commentaire
Partager sur d’autres sites

Chaque fois que GEA est déclenché par quelque chose qui se trouve dans le header ( sous %%properties ou %%global ), le système instancie une nouvelle instance de GEA qui va faire son travail puis mourir.

Par contre l'instance qui, elle, tourne toujours "autostart" (toutes les 30 secondes) est unique ne s'arrête jamais (sauf si on redémarre la box ou si on sauve le scénario). Donc on peux l'utiliser pour y mettre plein de truc.
 

GEA.add(..., 30, ...)  --> Instance 1 de GEA
GEA.add(..., 90, ...)  --> Instance 1 de GEA
GEA.add(..., -1, ...)  --> Nouvelle instance de GEA soit instance 2
GEA.add(..., 60, ...)  --> Instance 1 de GEA 
GEA.add(..., -1, ...)  --> Nouvelle instance de GEA soit instance 3

Le seul moyen de communiquer entre ces instances sont les variables globales (ou un module virtuel) ... d'où l'existence de GEA_Tasks dans laquelle je stocke les RestartTask, StopTask, MaxTime, ... car ce sont des instructions qui doivent être disponible depuis n'importe quel instance.

 

Voilà  ... vous savez tous .. bien que ... à  la relecture de mon texte, moi-même je n'y comprends plus rien :-)

 

Si vous avez des questions ... profitez .. je suis là  aujourd'hui :-)

 

Edit : pas pour Hansolo car il a toujours des questions tordues ;-)

 

 

Edit 2 : dans le cas précédent la variable wasAlwaysOn n'est visible que dans l'instance 1

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

bonjour a tous 

 

j'ai un tout petit soucie 

 

je n’arrive pas allumer ma lampe (centre table) si variable Nuit_jour =1

 

merci d'avance

GEA.add({id["DETECTEUR_MOUVE"]},  -1, "", {{"turnOn", id["CENTRE_TABLE"] }, {"Global!", "Nuit_jour", "1"}, {"Time", "20:00", "8:40"}})  
 
Lien vers le commentaire
Partager sur d’autres sites

@971jmd,

 

Ta condition n'est pas au bon endroit, prob de syntaxe :

GEA.add({{id["DETECTEUR_MOUVE"]},{"Global", "Nuit_jour", "1"}}, -1, "", {{"turnOn", id["CENTRE_TABLE"]}, {"Time", "20:00", "8:40"}})

Et la tu as ecrit si ta variable est DIFFERENTE de 1 : Global!

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

 

bonjour a tous 

 

j'ai un tout petit soucie 

 

je n’arrive pas allumer ma lampe (centre table) si variable Nuit_jour =1

 

merci d'avance

GEA.add({id["DETECTEUR_MOUVE"]},  -1, "", {{"turnOn", id["CENTRE_TABLE"] }, {"Global!", "Nuit_jour", "1"}, {"Time", "20:00", "8:40"}})  
 

Ta syntaxe met la valeur 1 dans ta VG Nuit_jour.

Pour l'utiliser en condition:

GEA.add({{id["DETECTEUR_MOUVE"]}, {"Global", "Nuit_jour", "1"}},  -1, "", {{"turnOn", id["CENTRE_TABLE"] }, {"Time", "20:00", "8:40"}})

Je sais l'option Time fait office de condition, mais c'est la syntaxe de GEA...

Lien vers le commentaire
Partager sur d’autres sites

 

Dis Steven, si tu es si occupé c'est pcq tu as repris la direction de fibaro ?
à‡a expliquerait la 4.0.57 qui est stable...

Sent from my Note4

 

Elles est stable parce qu'elle ne fait rien ... bien que "A NOUVEAU", je n'arrive plus détecté si mes RGB sont allumés ou non.

 

? Il y a une direction chez Fibaro ?

 


 

@971jmd, @pepite, @hansolo

Pourquoi vérifier la variable globale "Nuit_jour" si de toute façon il y a "{"Time", "20:00", "8:40"}", c'est un non sens qu'il faudrait commencer par expliquer. Donc tant que l'esprit n'est pas clair, le code ne pourra l'être. De plus la question va à  l'encontre de la proposition. Nuit_jour=1 alors que Global! ... en bref ... @971jmd Que veux-tu faire exactement ? 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...