Aller au contenu

Support Gea


Steven

Messages recommandés

Salut à  tous  :)

 

Besoin d'aide 

 

je cherche à  éteindre une lampe si pas de mouvement détecté depuis 5mn pour l'allumage pas de problème mais pour l’extinction Help me !!

GEA.add( {id["CPT_MOUV_SAM"],nuit}, -1,"",{{"turnOn", id["SPOTS_CUISINE"]},{"Repeat"}})
GEA.add( {id["CPT_MOUV_SAM"],nuit}, 5*60,"",{{"Inverse"},{"turnOff", id["SPOTS_CUISINE"]},{"Repeat"}})

Je viens de modifier je vais faire le test avec INVERSE

 

Résolut !!

Lien vers le commentaire
Partager sur d’autres sites

@Nicolas P :

Je suis OK pour la partie %%globals, ça permet de faire un déclenchement instantanée sur changement de variable au lieu d'attendre 30 secondes effectivement je vais changer mes scripts.

Mon probleme n'est pas complètement là, mais dans le fait que l'action qui est déclenchée je souhaite qu'elle utilise la valeur de la variable globale qui a changée, de manière dynamique

Exemple : je voudrais mettre {"value",<id module>,VARIABLE} dans les actions déclenchées par GEA. On peut bien mettre cette syntaxe dans GEA, mais au lancement de GEA, VARIABLE est remplacé par sa valeur au moment du lancement, et si qqchose d'externe vient changer la variable.

Est ce que la solution ne serait pas du côté de restart-_task ? Pour que la variable soit relue ?

Lien vers le commentaire
Partager sur d’autres sites

Le mot clé #value# n'est exploitable que dans : un label, une variable globale, un email, un message push ... dommage, tu souhaites l'utilisé dans une "Value"

 

GEA ne prennant donc pas en compte ton souhait, le seul moyen reste l'intégration de code LUA.

 

GEA.add({"Global", <variable>, <value>}, -1, "", {{"Function", function() fibaro:call(<ID>, "setValue", fibaro:getGlobalValue(<variable>)) end}})
Lien vers le commentaire
Partager sur d’autres sites

bonjour,

 

@atalata :

 

j'aurais tente ca peut-etre :

--recup de la valeur de consigne_CONFORT pour verif la valeur en trichant consigne jamais à  0, pour voir si cela correspond
GEA.add({"Global!", "consigne_CONFORT", 0}, 30, "consigne confort est : #value#")

--mettre la valeur de consigne confort a la variable consigne_CONFORT
GEA.add({{"Global!", "consigne_CONFORT", 0}, {"Global","etat_ChauffagePrincipal","GEA"}, {"Global","etat_ChauffagePrincipalOverride","GEA"}},1,"valeur VG consigne_CONFORT : #value1#",
{{"setTargetLevel",id["THERMOSTAT_PRINCIPAL"],"#value1#"}, {"Global","etat_ChauffagePrincipal","CONFORT"},{"Repeat"}})

--> erreur ca ne marchera pas avec le setTargetLevel directement hihi

-- si tu veux utiliser ta syntaxe avec le fibaro setGlobalValue
local consigne_CONFORT = {"Function", function() fibaro:setGlobalValue("consigne_CONFORT") end}

GEA.add({{"Global","etat_ChauffagePrincipal","GEA"}, {"Global","etat_ChauffagePrincipalOverride","GEA"}},1,"",
{{"setTargetLevel",id["THERMOSTAT_PRINCIPAL"],consigne_CONFORT}, {"Global","etat_ChauffagePrincipal","CONFORT"},{"Repeat"}})

@Diuck : ta syntaxe devrait fonctionner, ca a marché ? tu as mis résolu mais quel code a fonctionne ?

 

Désolé steven, j'ai pas vu ta réponse ;-)

Modifié par pepite
Lien vers le commentaire
Partager sur d’autres sites

@Steven

merci bcp je vais regarder la piste du "function", ca fait deux fois que tu me le mentionnes pour des solutions à  mes problèmes, ca doit donc être puissant !

mais je ne l'avais pas repéré dans la doc :)

 

mon autre piste de la matinée, c'est au lieu de passer la valeur, c'est de passer une chaine de caractère  "CONFORT", "ECO", "JOURNEE", "NUIT", ..., et de la decoder dans le moteur puisque de toute manière j'avais rajouté le setTargetLevel, et de declencher en automatique sur chgt de valeur de variable.

Lien vers le commentaire
Partager sur d’autres sites

J'ai fait le test suivant pour basculer en mode "auto" sur chgt de variable globale:

 

--[[
%% autostart
%% properties
%% globals
consigconf
--]]
 
et j'ai le script de test :
GEA.add({"Global+","consigconf",0.0},-1,"youpi");
 
Quand je sauvegarde dans le panel des valeurs dans la variable globale consigconf, j'aurais espéré voir le script se déclecnher, mais ce n'est pas le cas; Qu'est ce que je fais de faux ?
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Je souhaiterais savoir si via GEA je peux sur une alerte déjà  en place (ouverture du garage) prendre une capture d'image via une webcam gérée via ma HC2 et envoyer cette photo via email?

Si oui qu'elle serait la ligne de script pour cela?

 

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

C'est OK pour pon problème j'ai trouvé

 

Quand on met à  jour la variable globale directement dans le panel à  travers l'IHM pour les tests, ca ne doit sans doute pas appeler l'API LUA et du coup rien ne se déclenche dans GEA, alors qu'en faisant un fibaro:setglobal dans du code, GEA detecte le changement

Lien vers le commentaire
Partager sur d’autres sites

@kioneoranga : je dirais OUI ;-)

 {"picture", <id_camera>, <id_user>,} -- {"picture", 2, 3} -- Envoi une capture de la caméra 2 à  l'utilisateur 3 // Send a capture of camera 2 to user 3

@atalata

 

Mets ton code entre les balises"<>" stp c'est plus simple à  la lecture.

Tes modifs de variable ne doivent pas etre faites manuellement cela ne declenche pas le script ;-)

Lien vers le commentaire
Partager sur d’autres sites

Oui pepite, j'ai mis le lien parce que mprinfo (Avec l'aide de Steven) écrit que le fait de modifier manuellement via le panneau de variables ne fonctionne pas ce qui peut, pour les gens qui arrivent sur ce sujet, les orientés :)  

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

Je confirme .. le topic sur les déclencheurs n'est pas de moi, j'y ai juste contribué. L'auteur est @mprinfo et le mérite lui revient .. moi, j'ai juste pondu une note dans un coin et mprinfo a eu l'idée d'en faire un tuto pour tout le monde (merci à  lui).

 

Moi .. je mords  :14:

Lien vers le commentaire
Partager sur d’autres sites

Je te présente mes excuses mprinfo, j'ai lu By Steven et j'ai pas cherché plus loin j'implore ton pardon ...  :(

Effectivement les mérites reviennent à  celui qui à  fait le tuto, encore désolé (je me corrige tout de suite).

Lien vers le commentaire
Partager sur d’autres sites

J'ai juste fais un copier coller lol

Merci pour l explication

Il serait bien de faire ce genre de tutos pour alimenter ."home center pour le nuls"

Donc lorsque l'on voit une explication qui pourrait aider les membres du forum. Un petit copier coller une mise en page on site l auteur et le tour et jouer

Envoyé de mon SM-G900F en utilisant Tapatalk

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

J'avais une question pour ma culture personnelle :)

Pourquoi avez vous choisi de mettre des options genre "Time", "Dates", "If", ... dans la partie option et pas dans la partie "condition" lors de la déclaration des actions GEA ?

Lien vers le commentaire
Partager sur d’autres sites

Alors la faut demander à  Steven, c 'etait peut-etre plus simple a coder en options ;-)

En fait, malgré tout cela fonctionne comme des conditions ;-)

 

Les IF en options c'est difficile a la lecture, il est plus lisible d'utiliser les conditions multiples, donc tes "IF" passent en CONDITIONS ;-)

 

J'oubliais : félicitations STEVEN pour l'article qui fait l'éloge de GEA sur le BLOG DOMADOO ;-)  ca c'est bon ;-)

Lien vers le commentaire
Partager sur d’autres sites

@atalata, pepite

 

En fait, la raison est historique, a l'époque, GEA n'était capable que de gérer le mode on/off d'un seul module et d'envoyer un message push, nous avions donc une syntaxe très simple

 

GEA.add ( <id>, <durée>, <message> )

 

Par la suite, des options on été demandée (ouverture automatique, fermeture automatique, ...) :

 

GEA.add ( <id>, <durée>, <message>, <option> )

 

Puis l'heure, le jours, la date, ... plein d'options supplémentaires. A ce moment, il ne s'agissait que d'options supplémentaires.

 

GEA.add ( <id>, <durée>, <message>, {<option>[,...]} )

 

Ensuite, une nouvelle option, le "IF" a fait sont apparition, proposant donc de vérifier non pas l'état d'un seul module mais de plusieurs modules. Cela a donc cassé la notion simple d'ID <-> Options mais cela restait fonctionnel sans pour autant être simple à  mettre en place.

 

Aujourd'hui, la syntaxe a légèrement différé pour devenir (et abolir le IF)

 

GEA.add ( {<condition>[,...]}, <durée>, <message>, {<option>[,...]} )

 

Il est donc vrai que "Time", "Days", "Date", "DST", ... sont des conditions mais ils n'ont pas évolué avec le script. De plus, je suis du genre à  toujours garantir une compatibilité descendante afin de ne pas perturber l'utilisateur. Le code et les habitudes de l'utilisateur sont respectés et maintenu depuis la version 2.x de GEA.

 

Maintenant, je suis sur une réecriture quasi complète du code mais cela prend beaucoup de temps. De plus, les performances de notre HC2 dégringole avec les mises à  jours du firmware, ce qui n'aide pas la réecriture et qui me force à  trouver d'autres astuces. Je pense que la stabilisation des performances iront de paire avec une nouvelle version de GEA  :)

 

Voilà  ... j'ai fini mon roman  ;)

 

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

MErci pour l'explication Steven, super interessant..Oui j'aime bien aussi l'idee de la compatibilité descendante.

 

J'avais vu le début de réecriture que tu avais proposée : le TOP : Wait and See ;-)

 

:13: :13: :13:

Lien vers le commentaire
Partager sur d’autres sites

merci steven pour les explications.

 

une question pour mon GEA

j'ai une SIRENE ZW080 qui est vu comme un switch ON/OFF par la HC2.

j'ai mis un conso de 3W si état ON dans les paramètres. Etat OFF c'est 0W

 

est ce que si je fais ca, ca va fonctionner ?

GEA.add({"Value+", id["SIRENE"], 1}, 30*60, "Sirene OFF",{{"turnOff",id["SIRENE"]}})

sirene doit se couper apres 30mn

je ne sais pas comment dire, si sirene est ON alors ..

 

pas facile de faire des tests avec une sirene :-)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...