FAQ

Pourquoi le projet GEA
Initialement, ce script servait uniquement a vérifier si une porte était ouverte plus de X minutes. Fort, de constaté la difficulté que les utilisateurs avaient à faire des scénarios complexes (plusieurs conditions, plusieurs actions), je me suis dit qu'en modifiant mon code, il serait éventuellement possible d'offrir une solution plus simple. A ce jour, une ligne de GEA remplace aisément un scénario complexe, et ce, grâce à la communauté de ce forum.

Est-ce possible d'utiliser GEA sans recevoir de notification.
Oui, GEA envoi une notification que si le message contient quelque chose. Mettre “” comme message revient à désactiver la notification.

GEA peut-il exécuter une opération à une heure précises.
Non pour cela, je vous conseil le Scheduler. GEA vérifie les opérations a effectuer toutes les X secondes, il peut donc exécuter des opérations à une heure proche de celle demandé mais pas à une heure précise (+ ou - 30 secondes avec les paramètres par défaut).

Pourquoi si je demande à GEA d'éteindre ma lumière après 45 secondes, il prend un peu plus de temps
GEA vérifie les opérations toutes les X secondes (30 par défaut). Si vous lui demandé de lancer une opération après 45 secondes, il ne pourra pas. Au premier passage (30s), il n'aura rien à faire et va attendre 30 secondes pour se relancer. Au 2ème passage, il verra que votre délai de 45 secondes est échu et va lancer les commandes associées. Mais cela n'arrivera qu'au 2ème passage soit 2×30 secondes (1 minute) au lieu des 45 secondes demandées.

GEA respecte-t-il l'ordonnancement des commandes ?
Absolument, chaque ligne, chaque commande est stockée dans un tableau en respectant votre ordre de saisie et traite ces commandes séquentiellement. Vous pouvez donc mettre à jour une variable globale à la ligne 11 et vérifier cette dernière à la ligne 12.

Qu'en est-il des performances
Il est difficile de vérifier les performances avec un langage aussi permissif que LUA. Les performances seront soumises aux nombres de commandes que vous allez saisir et leurs complexités. Néanmoins, la performance est le coeur de ma préoccupation et j'essaie de l'amélioré dès que possible. A ce jour, GEA vérifie mes 32 commandes (portes, batteries, …) en moins de 3 secondes.

Lorsque j'ouvre ma porte, mes commandes ne s'exécute pas immédiatement.
Afin que GEA puisse agir instantanément deux éléments sont primordiale :

  1. L'ID doit être déclaré dans l'entête du script
  2. la durée doit être fixée à -1.
--[[
%% properties
16 value
%% globals
--]]
...
GEA.add(16, -1, "", {{"turnOn",17}}) -- Allumage de la lumière quand la porte s'ouvre

Voir Les déclenchements

Je souhaite recevoir la notification UNIQUEMENT par Email
GEA envoi les message directement par push dès qu'un message a été indiqué, puis par email si vous lui l'avez demandé. Pour lui demandé d'envoyer uniquement par Email, l'astuce consiste à lui demander d'envoyé le push à un smartphone inexistant.

GEA.add(16, -1, "Ouverture de la porte à #time#, le #date#", {{"Email",2},{"Portable",0}})



Je n'ai pas très bien compris la notion de groupe.
Les groupes sont utilisés pour permettre à GEA d'effectuer une commande UNIQUEMENT si toutes les commandes précédentes du même groupe ont été réalisées.

GEA.add(17, 5*60, "", {{"Group",1},{"Group",2}}) -- Lumière allumée depuis 5 mn.
GEA.add(18, 5*60, "", {{"Group",1}}) -- Porte ouverte depuis 5 mn.
GEA.add({"Group",1}, 5*60, "Porte ouverte et lampe allumé de puis plus de 5mn.")



Je souhaite que la lumière s'allume au levé du soleil mais pas avant 7h30
Depuis la version 3.30 GEA permet l'usage du paramètre Sunrise>07:30 ou Sunrise<07:30.

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



Est-ce possible d'allumer la WMC 1 heure avant ou après le levé du soleil ?
Depuis la version 3.30 GEA permet l'usage du paramètre Sunrise-60 ou Sunrise+60.

GEA.add(18, 60, "Allumage WMC",{{"Time", "Sunrise-60", "23:30"}, {"turnOn"}})



Je souhaite vérifier l'arrivée des enfants après l'école à midi et le soir. Comment faire au plus simple ?
Vous pouvez vérifier l'ouverture de la porte à des plages horaires et jours précis

GEA.add(17, -1, "Porte ouvertes à #date# #time#",{{"Days","Monday,Tuesday,Thursday,Friday"},{"Time","11:30","13:30"}, {"Time","16:30","18:30"}})



GEA peut-il faire parler mon Karotz, Sarah, …
Non, par contre vous pouvez mettre à jour une variable globale puis activer une scéne ou un module virtuel qui lira la variable globale et fera parler votre lapin.

GEA.add(17, -1, "Porte ouvertes à #date# #time#",{{"Global","Karotz", "La porte est ouverte"},{"VirtualDevice",91,"1"}})



Est-ce possible de demander à GEA de fermer mes volets si la température est supérieur à 24° depuis plus de 10 minutes
Oui et cela de manière assez aisée grâce à la communauté.

local thermometre, volet1, volet2 = 8, 22, 23
GEA.add({"Value+", thermometre, 24}, 10*60, "Fermeture des volets, température #value#", {{"Close",volet1},{"Close",volet2}})



GEA comme délesteur, est-ce possible?
Oui, il est possible d'éteindre quelques modules selon la consommation électrique.

local consommation, vmc = 9, 24
GEA.add({"Sensor+", consommation, 600}, 1*60, "Consommation #value# supérieur à 600W depuis 1 minute", {{"turnOff",vmc}})



Est-ce possible de recevoir comme notification le contenu d'une variable globale ?
Oui, c'est possible, quand une condition est correcte, GEA stock sa valeur dans une variable que vous pouvez utiliser pour les notifications. Si la variable global “Message” n'est pas vide (Inverse) alors on envoi une notification contenant la valeur de la variable globale.

GEA.add({"Global", "Message", ""}, 1, "#value#", {{"Inverse"}})



Pourquoi je vous apparaître une ligne tel que celle-ci ?

[DEBUG] 13:18:25: En cours : aucun traitement a effectuer pour l'ID:438

Cela signifie que vous avez ajouter dans l'entête de votre script un module ID 438 qui n'est pas utilisé par GEA

--[[
%% properties
438 value
%% globals
--]]

Il est vivement conseillé d'enlever cette déclaration car à chaque changement de valeur de ce module, une instance de GEA va être créée pour rien.



A compléter