Aller au contenu

Support Gea


Steven

Messages recommandés

Pourtant j'ai fait des recherches sur repeat quelques fois et je n'étais pas tombe dessus. A la réflexion c'est pcq c'est dans un autre post que celui-ci.

C'est aussi ici : http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=23765 soit dans le même topic :) Je comprends pas que tu n'ailles pas repéré cela, dans les 2 ou 3 posts présent dans ce topic, c'est vraiment de la mauvaise volonté de ta  part, je suis déçu... ok,  :98:

 

@ SebDel

Effectivement, en modifiant à  la volé le checkEvery, les durées annoncées ne seraient plus correcte car une durée est le nombre de run * le checkEvery, je ne stock aucune heure car cela n'est pas utile. Par contre, si dans ton cas tu as vraiment besoin de donner un coup de boost tu peux toujours le faire mais une action déclenchée immédiatement ne pourra pas changer le checkEvery des autres actions vu que chaque action immédiate tourne dans leur propre instance de GEA.

 

OK : GEA.add(..., 30, "", {{"Function", function() GEA.checkEvery = 5 end}})

Ne sert à  rien :   GEA.add(..., -1, "", {{"Function", function() GEA.checkEvery = 5 end}})

Lien vers le commentaire
Partager sur d’autres sites

Oui de la mauvaise volonté, je commence à  y croire ;-)

 

concernant ce post:

 

http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/page-41#entry26743

 
Je n'ai pas besoin d'une longue réponse, mais y a t'il moyen de faire entrer des conditions de durée dans un if ?
 
style, vérifier la variable globale "Phone_Seb_Present"  dès qu'elle passe à  "1"  et allumer une prise, mais seulement si la variable "PresentState" = "at_home" mais qu'elle à  été à  "away" pendant au moins 1H
 
Avec les groupes ça semblait possible, mais il semble que ça aie été abandonné ? et je n'y suis pas arrivé non plus...
 
Merci encore pour ton temps ;-)
Lien vers le commentaire
Partager sur d’autres sites

 

style, vérifier la variable globale "Phone_Seb_Present"  dès qu'elle passe à  "1"  et allumer une prise, mais seulement si la variable "PresentState" = "at_home" mais qu'elle à  été à  "away" pendant au moins 1H

 

 

Hummm, cela devrait fonctionner avec un code comme celui-ci :

-- Si soudainement Seb est présent et que la variable est "at_home", on allume la lumière
local sebathome = GEA.add({"Global", "Phone_Seb_Present", "1"}, -1, "", {{"turnOn", <id prise>}, {"If", {{"Global", "PresentState", "at_home"}}}})

-- Si la variable n'est pas "away" on stop la condition ci-dessus"
GEA.add({"Global!", "PresentState", "away"}, 30, "", {{"StopTask", sebathome}})
-- Si la variable est à  "away" depuis 1 heure on active la commande ci-dessus
GEA.add({"Global", "PresentState", "away"}, 1*60*60, "", {{"RestartTask", sebathome}})
Lien vers le commentaire
Partager sur d’autres sites

Voici deux icônes de plus pour GEA.

 

 

Quand on commence à  avoir beaucoup de commandes GEA, le mode debug devient difficile à  lire tellement il y a de lignes qui défilent.J'ai donc créé une instance rien que pour faire mes tests.

post-826-0-37915000-1411848343_thumb.png

Et comme j'ai quelques schedules, dont certains à  1 minute, j'ai également créé une instance GEA pour concentrer mes schedules et ainsi rendre plus concis et lisible mes "vrais" événements.

post-826-0-14598800-1411848360_thumb.png
 

Voici deux icônes pour les "ceusque" que ça intéresserait ;-)

 

ce sont des .png transparents, téléchargez les via les liens ci-dessous

post-826-0-37915000-1411848343_thumb.png

post-826-0-14598800-1411848360_thumb.png

Lien vers le commentaire
Partager sur d’autres sites

Question sur l'utilisation des conditions :

local test_circuit= {"If",{{"Value", 98, 1},{"Value", 100, 1},{"Value", 101, 1},{"Value", 103, 1},{"Value", 104, 1},{"Value", 106, 1},{"Value", 107, 1}}}
GEA.add(110, -1, "Allumage circulateur chauffage au sol", {test_circuit})

En fait je voudrais juste tester qu'un des circuits est en demande. Sachant que chaque des 7 circuits est en fait FGS qui contrôle une vanne HEIMEIER. Est ce bien comme ça qu'on test si un FGS est en route ?

 

Autre question, est il possible de savoir si une tête Danfoss est ouverte ?

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux savoir si un des circuits est ouvert, tu dois créer 7 lignes différentes. Le code que tu indique ne sera valable que lorsque les 7 seront allumé en même temps.

Pour le Danfoss, je ne sait pas, d'ailleurs je cherche le code pour envoyé une consigne de température sur un thermostat.

Lien vers le commentaire
Partager sur d’autres sites

Justement Steven, je sais làc'est un "et" qui est fait. Et je cherchai un moyen de faire un "ou" dans GEA. Une idée ?

Ou alors je fais 7 tests dans 7 lignes et je garde cela pour couper le circulateur, car làc'est bien un "et" que je veux.

Lien vers le commentaire
Partager sur d’autres sites

Bon j'ai testé ça :

	--Gestion circulateur chauffage au sol
  	local test_circuit_bureau= {"If",{{"Value", 98, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_bureau})
  	local test_circuit_salle_eau= {"If",{{"Value", 100, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_salle_eau})
	local test_circuit_couloir= {"If",{{"Value", 101, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_couloir})
	local test_circuit_SDB= {"If",{{"Value", 103, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_SDB})
	local test_circuit_dressing= {"If",{{"Value", 104, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_dressing})
	local test_circuit_chambre_ami= {"If",{{"Value", 106, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_chambre_ami})
	local test_circuit_salon_cuisine= {"If",{{"Value", 107, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_salon_cuisine})
	local couper_circuit= {"If",{{"Value", 98, 0},{"Value", 100, 0},{"Value", 101, 0},{"Value", 103, 0},{"Value", 104, 0},{"Value", 106, 0},{"Value", 107, 0}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {{couper_circuit},{"turnOff"}})
	

Mais là  cela plante carrément... Erreur ligne 1187 sur :

msg = msg .. entry[GEA.keys["PARAMS"]][i][j] .. ","

Pourtant quand je ne mets que les premiers tests, pas de plantage.

 

Et l'erreur vient quand je rajoute :

local couper_circuit= {"If",{{"Value", 98, 0},{"Value", 100, 0},{"Value", 101, 0},{"Value", 103, 0},{"Value", 104, 0},{"Value", 106, 0},{"Value", 107, 0}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {{couper_circuit},{"turnOff"}})
	

Et du coup si le retire, GEA se lance, mais cela ne fait rien. Ma syntaxe est ok ?

Lien vers le commentaire
Partager sur d’autres sites

Bon erreur de plantage trouvé, mes accolades étaient mal placées. Par contre le circulateur ne veut pas se lancer... :

	--Gestion circulateur chauffage au sol
  	local test_circuit_bureau= {"If",{{"Value", 98, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_bureau,{"turnOn"}})
  	local test_circuit_salle_eau= {"If",{{"Value", 100, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_salle_eau,{"turnOn"}})
	local test_circuit_couloir= {"If",{{"Value", 101, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_couloir,{"turnOn"}})
	local test_circuit_SDB= {"If",{{"Value", 103, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_SDB,{"turnOn"}})
	local test_circuit_dressing= {"If",{{"Value", 104, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_dressing,{"turnOn"}})
	local test_circuit_chambre_ami= {"If",{{"Value", 106, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_chambre_ami,{"turnOn"}})
	local test_circuit_salon_cuisine= {"If",{{"Value", 107, 1}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {test_circuit_salon_cuisine,{"turnOn"}})
  	local couper_circuit= {"If",{{"Value", 98, 0},{"Value", 100, 0},{"Value", 101, 0},{"Value", 103, 0},{"Value", 104, 0},{"Value", 106, 0},{"Value", 107, 0}}}
	GEA.add(id["CIRCULATEUR_CF_SOL"], 1*60, "Allumage circulateur chauffage au sol", {couper_circuit,{"turnOff"}})

Pourtant cette fois cela m'àl'air ok...

Lien vers le commentaire
Partager sur d’autres sites

Hansolo :

-Une idée du bug que j'ai juste au dessus de ton poste ? Cela ne veut pas lancer le circulateur...

-Pour la partie Danfoss ok, aucune remonté. Par contre il y a peut être un moyen de détecter que le panneau de chauffage est en demande ?

Lien vers le commentaire
Partager sur d’autres sites

Essaye:

GEA.add(true, 1*60, "Allumage circulateur chauffage au sol", {test_circuit_salon_cuisine,{"turnOn",id["CIRCULATEUR_CF_SOL"]}})

à‡a ne me parait pas logique d'utiliser le fait que le circulateur soit en route depuis 1 m comme déclencheur (le

 id["CIRCULATEUR_CF_SOL"], 1*60 

) pour allumer ce même déclencheur

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...