Aller au contenu

Gea : Gestionnaire D'événements Automatique


Steven

Messages recommandés

Hello Steven !

 

J'ai a nouveau besoin de tes lumières.

J'ai besoin de cumuler de nombreux test afin de valider une action.

 

Ex:

si je suis absent, (GLOBAL)

si madame est absente, (GLOBAL)

si il fait plus de 25°C dehors, (GLOBAL)

si la météo annonce du soleil, (GLOBAL)

si nous sommes avant le zenith du soleil,

 

alors

 

je ferme les volets devant la maison a 85%

 

--> Je m'embrouille gravement avec toutes ces conditions !

Lien vers le commentaire
Partager sur d’autres sites

Alors simplifions en découpant.

local je_suis_absent = {"Global", "Absent", "Oui"}
local madame_absent = {"Global", "Absente", "Oui"}
local temp_exterieur = {"Global+", "TempExt", 25}
local meteo = {"Global", "Prevision", "Soleil"}
local ...

local condition = {"If", {je_suis_absent, madame_absent, temp_exterieur, meteo}}

GEA.add(<nous sommes au zenith>, 30, "", {condition, {"Close", <id_volet>, 85}})
Lien vers le commentaire
Partager sur d’autres sites

Merci steven !

 

Encore quelques petites questions:

 - Pour les ID Volets, je peux en mettre plusieurs ?

 - Pour la condition du zenith, c'est un test sur une heure (l'heure du zenith est stocker en variable global), comment comparer des heures ?

Lien vers le commentaire
Partager sur d’autres sites

Pour les volets tu peux préciser chaque volets àla suite

GEA.add(<nous sommes au zenith>, 30, "", {condition, {"Close", <id_volet1>, 85}, {"Close", <id_volet2>, 65},{"Close", <id_volet3>, 70}})
Par contre pour l'heure du Zenith stockée dans une globale, il n'y a rien pour le gérer, il va falloir passé par du LUA

local je_suis_absent = {"Global", "Absent", "Oui"}
local madame_absent = {"Global", "Absente", "Oui"}
local temp_exterieur = {"Global+", "TempExt", 25}
local meteo = {"Global", "Prevision", "Soleil"}

local condition = {"If", {je_suis_absent, madame_absent, temp_exterieur, meteo}}

-- remplacer Timestamp par le nom de ta variable. Dans mon cas, elle contient 1005 pour 10h05, ce qui nous donne :
local estZenith= {"Function", function() return fibaro:getGlobalValue("Timestamp") == string.format(os.date("%H"), "%2d")..string.format(os.date("%M"), "%2d") end}

GEA.add(estZenith, 30, "", {condition, {"Close", <id_volet1>, 85}, {"Close", <id_volet2>, 65},{"Close", <id_volet3>, 70}})
Le tout pourrait tenir sur une ligne mais on comprendrais vite plus rien du tout :)
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'ai un quelque problème pour faire quelque chose de pourtant simple , envoyer un push en instantané sur la modification de la valeur d'une variable

 

Grosso modo cela donne ceci :

 

 

--[[
%% autostart
%% properties
17 value
19 value
14 value
15 value
16 value
%% globals
occupation
--]]
 
GEA.add({"Global", "occupation", "1"}, -1,"Arrivée de bebert à  #time#",{})
 
Mais y a pas moyen de faire fonctionner ce bout de code !!
 
Quelqu'un pourrait-il me dire ou j'ai fais la boulette
 
Merci par avnce
Lien vers le commentaire
Partager sur d’autres sites

Il y a ,{} qui ne sert àrien et si occupation est bien égal à1 cela devrait fonctionner.

--[[
%% autostart
%% properties
17 value
19 value
14 value
15 value
16 value
%% globals
occupation
--]]
 
GEA.add({"Global", "occupation", "1"}, -1,"Arrivée de bebert à#time#")
Lien vers le commentaire
Partager sur d’autres sites

Non cela ne fonctionne pas quand je fais les manipulations à  partir du panneau de variable

 

En faite, cette variable se met à  jour via l'application Tasker (Android).  En fonction de diverses conditions, la variable change d'état pour indiquer au système si je suis présent ou pas. 

Le changement de valeur de la variable s'effectue correctement mais je n'arrive pas à  avoir de notification push en instantané, par contre si je met un délai cela fonctionne bien.

 

En gros il n'aime pas le -1

 

J'essayerai plus tard avec un scenario

Lien vers le commentaire
Partager sur d’autres sites

La mise à  jour d'une variable globale par les API ne déclenche pas le trigger, tout comme depuis le panneau des variables  :(. C'est malheureusement un problème connu.

 

Tu devrais passer par une scénario qui lui va mettre à  jour ta variable et dans ce cas cela fonctionne. C'est tordu ... mais comme dirait tout le monde ... "peut-être que la v4 ?"  :60:

 

Edit : pour Tasker -> Variable Globale .. tu as utiliser ce tuto ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour 

 

je souhaite avoir votre avis

 

est il possible de réaliser en GEA un inverseur

 

exemple : j'ai une lampe ID10   commander par un interrupteur et un détecteur de mouvement

 

Quand j’allume la lampe avec mon interrupteur je souhaite que le détecteur ne prenne plus le relais et quand je passe en off avec mon inter le détecteur prend le relais

 

a- Avec interrupteur allume jusqu’à  passer en off

b- Avec détecteur allume avec une tempo de 5mm

Lien vers le commentaire
Partager sur d’autres sites

Avec une variable globale c'est assez facile. Je ne peux pas écrire le code depuis mon téléphone mais voici le principe. Imaginons une variable appelée "AUTOMATIQUE".

Si l' interrupteur est activé AUTOMATIQUE passe àNON

Si l'interrupteur est éteinte AUTOMATIQUE passe a OUI.

Le détecteur allume la lampe uniquement si AUTOMATIQUE est àOUI.

On éteint la lampe après 5mn uniquement si AUTOMATIQUE est àOUI.

Et voilà.

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

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...