Syntaxe

GEA.add(<condition>, <durée en secondes|-1>, <message à notifier>[, <options>])

Une condition permet de tester l'état d'un module, variable, … pour ensuite envoyé un message et/ou effectuer certaines actions

Condition simple

Une condition simple contrôle l'état d'un seul module, variable, …

GEA.add(<condition>, <durée en secondes|-1>, <message a notifier>[, <options>])

Exemple :

GEA.add(100, 10*60, "Lampe allumée depuis plus de 10mn, on l'éteint", {{"turnOff"}})

Condition multiple

Une condition multiple va contrôler l'état de plusieurs modules, variables, … pour être multiple elle doit entouré plusieurs conditions par des accolades {} et séparé les conditions par une virgule. Toutes les conditions devront être respectée pour que le message et/ou les actions soient effectués.

GEA.add( { <condition_principale>[, <condition2>[, ...]] } , <durée en secondes|-1>, <message à notifier>[, <options>])

Exemple :

GEA.add( { 100, {"Global", "JourNuit", "Nuit"} } }, 10*60, "Lampe allumée depuis plus de 10mn ET la variable global JourNuit indique Nuit alors on éteint la lampe", {{"turnOff"}})

Liste des conditions

<Id module>Identifiant du module
{“Global”, <nom variable>, <valeur>}Si la valeur de la variable globale X est égale à Y
{“Global+”, <nom variable>, <valeur>}Si la valeur de la variable globale X est supérieure à Y
{“Global-”, <nom variable>, <valeur>}Si la valeur de la variable globale X est inférieure à Y
{“Global!”, <nom variable>, <valeur>}Si la valeur de la variable globale X est différente de Y
{“Weather”, <valeur>}Si la météo indique la valeur
{“Sensor+”, <id module>, <valeur max>}Si la valeur du sensor X est supérieure à Y
{“Sensor-”, <id module>, <valeur max>}Si la valeur du sensor X est inférieure à Y
{“Sensor”, <id module>, <valeur max>}Si la valeur du sensor X est égale à Y
{“Sensor!”, <id module>, <valeur max>}Si la valeur du sensor X est différente de Y
{“Value+”, <id module>, <valeur max>}Si la valeur du module X est supérieure à Y
{“Value-”, <id module>, <valeur max>}Si la valeur du module X est inférieure à Y
{“Value”, <id module>, <valeur max>}Si la valeur du module X est égale à Y
{“Value!”, <id module>, <valeur max>}Si la valeur du module X est différente àde Y
{“Slider-”, <id_vd>, <nom slider>, <valeur>}Si la valeur du slider est inférieure à Y
{“Slider+”, <id_vd>, <nom slider>, <valeur>}Si la valeur du slider est supérieure à Y
{“Slider”, <id_vd>, <nom slider>, <valeur>}Si la valeur du slider est égale à X
{“Slider!”, <id_vd>, <nom slider>, <valeur>}Si la valeur du slider est différente de X
{“Label”, <id_vd>, <nom label>, <contenu>}Si la valeur du label est égale à X
{“Label!”, <id_vd>, <nom label>, <contenu>}Si la valeur du label est différente de X
{“Property”, <id_module>, <nom propriété>, <valeur>}Si la valeur de la propriété du module est égale à la valeur indiquée
{“Property!”, <id_module>, <nom propriété>, <valeur>}Si la valeur de la propriété du module est différente de la valeur indiquée
{“Battery”, <id module>, <valeur max>}Si l'état de la pile du module X est inférieure ou égale à Y
{“Batteries”, <valeur max>}Si l'état de la pile des 350 premiers ont une pile inférieure ou égale à X
{“Dead”, <id module>}Si le module X ne répond plus
{“Group”, <numéro du groupe>}Si le groupe X est valable
{“SceneActivation”, <id module>, <id scene>}Si la scene X du module Y est le déclencheur du script
{“Function”, function() return true or false, value end}réservé au développeur
{true}la condition est toujours respectée

La durée est le nombre de secondes pendant lesquels les conditions doivent être valides.

<durée en secondes>        -- Nombre de secondes pendant laquel la/les condition(s) doit/doivent être respectée(s)

Attention : il est possible de mettre une durée à -1 si on souhaite utiliser un déclenchement immédiat. Ceci n'est valable que pour la première des conditions. De plus le module ou la variable globale testée DOIT être repris dans dans les déclencheurs du script.

<message à notifier>                    -- Le message devant être notifier **

Si le message est vide aucune notification ne sera envoyée

Un message peut contenir des variables qui seront remplacées à la volée. Ces variables sont

       #time#          -- heure
       #duration#      -- durée
       #value#         -- dernière valeur
       #date#          -- date
       #seconds#       -- secondes
       #name#          -- nom du périphérique
       #runs#          -- nombre d'exécution
       #rooms#         -- pièce

Exemple “Le consommation #valeur#W relevée à #time#, le #date# sur le périphérique #name# est trop élevée”

Depuis la version 4.20, il est possible de connaitre les valeurs des autres périphériques impliqués.

GEA.add( { condition1, condition2, condition3 }, <durée>, “#value[1]# #value[2]# #value[3]#”). Les variables indexées sont : #value[index]#, #name[index]# et #room[index]#. #name#, #value# et #room# indiquent toujours la condition principale.

Un option est une action que GEA va effectuer si les conditions ont été remplies pendant toute la durée indiquée.

Certaines options ne sont pas des actions mais des paramètres supplémentaires (time, days, …). Ils se trouvent dans les options pour raison historiques. Les options pour lesquelles l'ID n'est pas obligatoire (turnOn, turnOff, …) se réfèrent toujours à l'ID de la condition principale, sinon il faut le préciser.

Il s'agit toujours d'un groupe d'option, ceci même s'il n'y en a qu'une. Un groupe d'option s'écrit donc

{<option>[, <option>[, ...]]}

Liste des options

{“turnOff”[,<id module>]}Eteint le périphérique concenné {“turnOff”} ou {“turnOff”,21}
{“turnOn”[,<id module>]}Allume le périphérique concerné {“turnOn”} ou {“turnOn”,21}
{“Inverse”}On inverse la condition si elle était vrai, le script retourne faux. Ne s'applique qu'à la première condition.
{“Repeat”}On répète les avertissements tant que le périphérique n'a pas changé d'état.
{“Portable”, <id>}Le message associé à ce périphérique sera envoyé à ce portable au lieu de ceux par défaut {“Portable”, 70}
{“Scenario”, <id>}Lance un scénario selon son identifiant {“Scenario”, 2}
{“Value”, <value>}Met la valeur X dans le périphérique - dimmer une lampe. {“Value”, 20}
{“Value”, <id>, <value>}Met la valeur X dans le périphérique <id> - dimmer une lampe. {“Value”, 19, 20}
{“Open”}Ouvre le volet
{“Open”, <value>}Ouvre le volet de X% {“Open”, 20}
{“Open”, <id>, <value>}Ouvre le volet (id) de X% {“Open”, 61, 20}
{“Close”}Ferme le volet
{“Close”, <value>}Ferme le volet de X% {“Close”, 20}
{“Close”, <id>, <value>}Ferme le volet (id) de X% {“Close”, 61, 20}
{“Global”, <variable>, <valeur>}Met la valeur “Oui” dans la variable globale “Maison” {“Global”, “Maison”, “Oui”}
{“Global”, <variable>, “inc%”}Incrémente de 1 automatiquement la variable globale
{“Global”, <variable>, “dec%”}Decrémente de 1 automatiquement la variable globale
{“Time”, <from>, <to>}Ne vérifie l'évenement QUE si nous sommes dans la/les tranches horaires {“Time”, “22:00”, “06:00”}
{“Dates”, <from>, <to>}Ne vérifie l'évenement QUE si nous sommes dans la/les périodes de dates spécifiée {“Dates”, “01/01[/2014]”, “31/01[/2014]”}. ! ne prends pas en compte le changement d'année pour “01/10”, “01/03”; faire alors 2 lignes “01/10”, “31/12” et “01/01”, “01/03”
{“Armed”}Ne vérifie QUE si le module est armé
{“Disarmed”}Ne vérifie QUE si le module est désarmé
{“setArmed”, <id>}arme le module <id>
{“setDisarmed”, <id>}désarme le module <id>
{“RestartTask”, <id_tâche>}Redémarre une tâche selon son <id_tâche>
{“StopTask”, <id_tâche>}Stoppe une tâche selon son <id_tâche>
{“NotStarted”}Empêche la tâche de démarrer automatiquement (voir RestartTask)
{“MaxTime”, <number>}Stoppe une tâche après un certain nombre d'exécution
{“DST”}Ne vérifie l'évenement QUE si nous sommes en mode “Saving time”, soit heure d'été
{“NOTDST”}Ne vérifie l'évenement QUE si nous sommes en mode heure d'hiver
{“VirtualDevice”, <id,_module>, <no_bouton>}Press le bouton du module virtuel {“VirtualDevice”, 2, 1}
{“Label”, <id_module>, <name>, <message>}Attribue le message au label du module virtuel {“Label”, 21, “ui.Label1.value”, “activé”}
{“WakeUp”, <id,_module>}Essai de réveillé le module {“WakeUp”, 54}
{“Email”, <id_user>}Envoi le message par email à l'utilisateur {“Email”, 2}
{“Email”, <id_user>, <sujet>}Envoi le message par email à l'utilisateur {“Email”, 2, “Sujet du message”}
{“Group”, <numero>}Attribue cet événement au groupe {“Group”, 2}
{“Slider”, <id_module>, <id_slider>, <valeur>}Met la valeur dans le slider du module {“Slider”, 19, 1, 21.3}
{“Program”, <id_module>, <no>}Exécute le programme du module RGB {“Program”, 19, 5}
{“RGB”, <id_module>, <col1>, <col2>, <col3>, <col4>}Modifie la couleur RGB du module {“RGB”, 19, 100, 100, 0, 100}
{“Days”, <jours>}Ne vérifie l'évenement que si le jour d'exécution est dans le/les jours indiqués (jours peut prendre les valeurs suivantes “Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, All, Weekday, Weekend”)
{“CurrentIcon”, <id_module>, <no_icon>}Modifie l'icône d'un module virtuel
{“CopyGlobal”, <var_source>, <var_dest>}Copie la valeur de la variable globale <var_source> dans la variable globale <var_dest>
{“Function”, function() end}réservé au développeur
[Dépréciés] A éviter
{“If”, {[{<condition}[,{<condition}[,…]]}}L'événement sera autorisé uniquement si toutes les conditions sont valides

<en cours de réalisation> (réservé GEA 6.00)

Liste des options GEA 6.x

NomconditionactionDescription Priorité
<id module>conditionVérifie l'état d'un module 3
trueconditionS'exécute toujours 1
GlobalconditionactionVérifie/modifie une variable globale 3
ValueconditionactionVérifie/modifie la valeur d'un module 3
Value2conditionactionVérifie/modifie la valeur2 d'un module 3
PropertyconditionactionVérifie/modifie la valeur d'un propriété 3
TurnOnconditionactionVérifie/allume un module 3
TurnOffconditionactionVérifie/éteint un module 3
SwitchactionModifie l'état d'un module (On/Off) 4
ArmedconditionVérifie si un module est armé (maintenu pour compatibilité) 3
DisarmedconditionVérifie si un module est désarmé (maintenu pour compatibilité) 3
SetArmedconditionactionVérifie/arme un module 3
SetDisarmedconditionactionVérifie/désarme un module 3
SensorconditionVérifie la valeur du sensor d'un module 3
VirtualDeviceactionAppuie sur un bouton d'un module virtuel 3
LabelconditionactionVérifie/modifie la valeur d'un libellé pour un VD 3
TimeconditionVérifie l'heure en cours avec celle-ci 2
DaysconditionVérifie le jours en cours avec ceux-ci 1
DatesconditionVérifie la date en cours avec celle-ci 2
DstconditionVérifie si nous sommes en heure d'été 1
NoDstconditionVérifie si nous sommes en heure d'hiver (maintenu pour compatibilité) 1
WeatherconditionVérifie les conditions météos 3
BatteryconditionVérifie l'état des piles d'un module 3
BatteriesconditionVérifie l'état des piles de tous les modules 5
DeadconditionVérifie si un module est notifié comme “Mort” 3
SceneActivationconditionVérifie si un déclenchement est lié à cet identifiant 2
FunctionconditionactionVérifie/actionne selon une fonction utilisateur 1-9
CopyGlobalactionCopie la valeur d'une variable globale dans une autre 4
PortableactionEnvoi cette notification sur un autre portable que celui par défaut 3
EmailactionEnvoi un courriel 3
CurrentIconconditionactionVérifie/modifie l'icone d'un VD 3
ScenarioactionExécute une scénario 2
KillScenarioactionStop un scénario 2
PictureactionEnvoi l'image d'une caméra par courriel 5
OpenconditionactionVérifie/ouvre un volet roulant 3
CloseconditionactionVérifie/ferme un volet roulant 3
StopactionStop l'ouverture/fermeture d'un volet roulant 3
ProgramconditionactionVérifie/démarre le programme d'un ruban LEDs 3
ThermostatLevelconditionactionVérifie/modifie la valeur d'une thermostat 3
ThermostatTimeconditionactionVérifie/modifie la durée d'un thermostat 3
AskactionNotification avec choix d'exécution d'un scénario 2
RepeatactionRépète une tâche GEA sans s’arrêter 1
NoStartactionEmpêche une tâche GEA de démarrer automatiquement 1
InverseactionInverse une condition 1
MaxTimeconditionactionVérifie/modifie le nombre d'exécution maximal d'une tâche GEA 3
RestartTaskconditionactionVérifie/redémarre une tâche GEA 3
StopTaskconditionactionVérifie/arrête une tâche GEA 3
DependconditionS'exécute si une autre tâches vient d'être exécutée 2
SleepactionRetarde l'exécution d'une tâche 5