Aller au contenu

Recommended Posts

Ok je doit confondre avec autre chose je pense.

Partager ce message


Lien à poster
Partager sur d’autres sites

Par contre je n'ai pas saisi le 0... Le -1 pour les déclenchements instantanés, 30 la durée par défaut mais le 0 j'avoue ne pas avoir saisi l'utilisation.

Partager ce message


Lien à poster
Partager sur d’autres sites

Le -1 est vraiment à part, ce sont les déclenchements instantanés (= triggers de scènes comme on les avait sur la HC2)

 

 

Le 0, c'est une durée comme une autre, comme 30, 60, 90, etc...  aucune différence. Et toutes ces règles rentrent alors dans la boucle infinie de vérification des conditions de GEA.

 

 

GEA fonctionne par cycle de 30 secondes (par défaut)

À chaque cycle, GEA vérifie si la condition est valide depuis au moins (supérieur ou égal à) la durée indiquée. Oui parce que l'utilisateur, quand il allume une lumière, il le fait à un moment quelque part entre 2 cycle de GEA. Mais ça GEA ne le sait pas, lui il ne regarde l'état des modules qu'à chaque cycle. Donc quand tu mets 30s, au moment où GEA déclenche la règle, ton module est effectivement allumé à un moment situé quelque part entre 30s et 59s (juste après le cycle précédent)

 

Exemple avec 30s :

GEA.add(123, 30, "Le module 123 est allumé depuis au moins 30 secondes", {ACTIONS})

- Au premier cycle, la condition est valide, mais ça fait moins de 30s, donc GEA ne fait rien

- Au second cycle, la condition est valide, et ça fait plus de 30s, donc GEA réalise les actions

- Au troisième cycle, la condition est toujours valide, mais les actions ont déjà été exécutées au cycle précédent, donc GEA ne fait rien (sauf si on a spécifié {"Repeat"} ).

=> La règle ne sera "réarmée" qu'après que ses conditions soit devenue invalides. Dans le cas présent, il faut éteindre le module 123 puis le ré-allumer pour que GEA reprennent le calcul des 30 secondes.

 

Autre exemple avec 0s :

GEA.add(123, 0, "Le module 123 est allumé depuis au moins 0 secondes", {ACTIONS})

- Au premier cycle, la condition est valide, et ça fait plus de 0s, donc GEA réalise les actions

- Au second cycle, la condition est toujours valide, mais les actions ont déjà été exécutées au cycle précédent, donc GEA ne fait rien (sauf si on a spécifié {"Repeat"} ).

 

Du coup, tu as bien compris que si tu mets une durée de 60s, alors les actions ne seront réalisées qu'au 3ème cycle.

 

 

Le mieux c'est d'expérimenter par toi même, c'est ce que j'ai fait pour comprendre le fonctionnement de GEA quand je l'ai porté sur HC3, car je me suis rendu compte que je l'utilisais depuis des années sur HC2 soit avoir bien compris son fonctionnement (remarque c'est toujours le cas, à part @Steven je ne sais pas si quelqu'un a compris à 100% :15: tellement l'outil est complet et puissant)

 

Donc tu prend un module quelconque (un des QuickApps données en exemples par Fibaro, qui ne font rien, de type Binary Switch), tu mets des durées de 0, ou 30s, la fenêtre de logs à coté, et tu verras immédiatement les conséquences des changement d'état du module.

D'abord il faut réaliser des tests unitaires (avec 1 seule condition), puis petit à petit ajouter plusieurs conditions (il faut que toutes les conditions soient valides pour déclencher la règle.... sauf si on utilise "Or"...)

  • Like 2
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Lazer pour ces précisions. C'est plus clair maintenant.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir

 

j’ essai de cumuler de cumuler deux condition pour le déclenchement d'une scène à une certaine heure le week-end

En entrant le code suivant, rien n apparait dans la liste "debug" (sans:  {Days", "weekEnd"} ça apparait et sa fonctionne

Quelqu'un pourrait-il m aider afin de trouver la syntaxe, je pense pas être loin, mais je coince

 

Merci beaucoup

GEA.add({"Days", "WeekEnd"},{"Time", "Sunrise>08:40", "09:00"}, 30, "Ouverture volets", {"StartScene", 36} )

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand tu mets plusieurs conditions, il faut les entourer avec des { } :

GEA.add({{"Days", "WeekEnd"},{"Time", "08:40", "09:00"}}, 30, "Ouverture volets", {"StartScene", 36} )

Le sunrise ne s'utilise pas avec un >


Envoyé de mon RMX1993 en utilisant Tapatalk

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Euh, si, on peut utiliser Sunrize avec >, pourquoi tu dis ça ?

Je l'utilise dans mon GEA v6 sur HC2

 

Pour moi cette condition devrait être valide :

{"Time", "Sunrise>08:40", "09:00"}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah ben j'en apprends encore tous le jours , désolée.

Envoyé de mon RMX1993 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouais c'est ça la magie de GEA :D

 

Extrait de la doc de syntaxe rédigée par @pepite :

 

 

Je souhaite que la lumière s'allume au levé du soleil mais pas avant 7h30 :

 

Utiliser le paramètre Sunrise>07:30 ou Sunrise<07:30.

GEA.add({"Time", "Sunrise>07:30", "07:35"}, 60, "Allumage lumière", {"TurnOn", 18})

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour

 

la modification a marché à merveille, je mets la ligne valide en dessous au cas où cela puisse aider quelqu’un 

(Activation d une scène qui ouvre mes volets , uniquement le week-end, au levé du soleil mais pas avant 8h40 )

 

merci de votre aide 

GEA.add({{"Days", "WeekEnd"},{"Time", "Sunrise>08:40", "08:45"}}, 30, "Ouverture volets", {"StartScene", 36} )
Modifié par manulemalin

Partager ce message


Lien à poster
Partager sur d’autres sites

Hi all, a maybe basic question is it possible to use ">" or "<" with global variables or is there a better way to solve the problem. I am using some timer e.g. 

 

if it is nighttime and any outdoor lights is on, turn them of after 5 min

if any door i opened or movement during night, turn on lights and reset the counter

 

GEA.add ({"Global""time of day""night"} 30"", {"Global""outdoor night timer""inc+"})
GEA.add({618}, -1"", {"Global""outdoor night timer""0"})
GEA.add({425}, -1"", {"Global""outdoor night timer""0"})
GEA.add({553}, -1"", {"Global""outdoor night timer""0"})
GEA.add({601}, -1"", {"Global""outdoor night timer""0"})

GEA.add ({"Global""outdoor night timer", >10},  -1"", {"Turnoff",  620, 659, 362})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

To compare a Global Variable with any value, you must use "Global+" or "Global-" :

GEA.add({"Global+", "outdoor night timer", 10}, -1, "", {"TurnOff", {620, 659, 362}})

 

Furthermore, take care of your IDs in the TurnOff action, they must be enclosed with {}

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 17 heures, Lazer a dit :

To compare a Global Variable with any value, you must use "Global +" or "Global-" :


        

 

Furthermore, take care of your IDs in the TurnOff action, they must be enclosed with {}

Thank you very much @Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

It's so hard to search for old discussions on GEA but if i remember correctly it is possible to use local variables within GEA but i cant find any clue on how to do it. I am wrong or could anyone tell me how to do this?

Partager ce message


Lien à poster
Partager sur d’autres sites

I think you should look for "VariableCache"

Partager ce message


Lien à poster
Partager sur d’autres sites
The 5/12/2021 at 8:08 PM, Lazer said:

I think you should look for "VariableCache"

Thanks again @lazer found that thanks to you once again!

 

Best regards,

Daniel

Modifié par Forall

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, si j'ai un équipement qui doit être lancé toutes les heures 13:00, 14:00 Etc ..

Quelle est la bonne syntaxe dans GEA ?

 

Je débute en GEA :13:

Modifié par Massalia

Partager ce message


Lien à poster
Partager sur d’autres sites

Normalement GEA n'est pas prévu pour fonctionner comme un scheduleur, mais on peut y arriver quand même.

Tu veux qu'il se déclenche exactement aux heures piles ? Ou bien juste avec un intervalle de 1 heure (exemple ! 13:27, 14:27, etc)

La seconde option est ultra simple, il suffit de mettre une durée de 1h, donc 60*60 secondes

La 1ère est plus pénible, il faut mettre autant de règles avec la Time qu'il y a d'heures dans la journée... du coup 24 : {"Time", "13:00", "13:00"} etc

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, c'est pour faire dire l'heure à mes Lapins, c'est que j'ai fait (12:00,13:00 ...) c'est bon alors.

 

Nouveau possesseur d'une HC3, c'est Génial :2::60:

Merci

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il 22/5/2021 alle 19:40, Massalia ha detto:

Ok, è per dire ai miei conigli l'ora, è quello che ho fatto (12: 00,13: 00 ...) quindi va bene.

 

Nuovo proprietario di una HC3, è fantastico : 2:: 60:

grazie

Now I need of another suggestion to use in GEA code, the command to start the Sonos Playlist "Relax" associated on button with label "Q6: --" (Sonos id.86)

 

Currently I use this action by the scene mode and it works

fibaro.callUI(86, 'onReleased', 'btnSavedQueue6')

 

Can you help me please?

Thanks in advance for yuor support

Screenshot_20210527-134342_Chrome.jpg

Screenshot_20210527-134352_Chrome.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Hi,

I solved using the following command line:

 

"when the button 3 of the remote controller device id.136 is held down, GEA turn on the playlist Q5 by the Sonos id 86"

I hope to help others guys! :-)

 

GEA.add({"CentralSceneEvent", 136, 3, "HeldDown"}, -1, "", {"QuickApp",  86, "playSavedQueue", 5})
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à toutes et tous.

 

Il commence à faire chaud et j'aimerai gérer l'ouverture des volets différement de ce que j'avais fait.

 

Je m'explque :

Si le profile = Home / que c'est un jour travaillé / Que le temps est clair / et que la température ext > 22, alors j'ouvre mes volets à 30%

J'ai commencé à écrire ca. mais ca bloque mon GEA 

GEA.add({{"Profile", "Home"}, {"Weather", "Clear"}, estTravail, {"Value+", id["Temp_Ext"] > 22.0}, {"Time", "08:00", "08:10"}}, 1*60, "", {{"Open",id["Volet_Cuisine"],30}})
Alors me suis dis que j'allais contourner le pb :

Si le profile = Home / que c'est un jour travaillé / que le detecteur de lumunosité > 1500  / et que la température ext > 22, alors j'ouvre mes volets à 30%

GEA.add({{"Profile", "Home"}, {"Value+", id["DetLum_Ext"] > 1500}, estTravail, {"Value+", id["Temp_Ext"] > 22}, {"Time", "08:00", "08:10"}}, 1*60, "", {{"Open",id["Volet_Cuisine"],30}})

 

mais pas mieux.

Une idée de ce que je ne vois pas ?

 

En vous remerciant

Modifié par Manu31
Rajout d'info

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand tu dis que ça bloque GEA, il faut donner les logs, sinon difficile de t'aider.

Cela dit, dans le cas présent, l'erreur saute aux yeux, il ne faut pas mettre de > dans ton option "Value+", mais juste une virgule.

Réfère toi toujours à la doc de syntaxe si tu as un doute.

 

{"Value+", id["Temp_Ext"], 22}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×