Bonjour,
Je vous expose mon projet (la réponse sera sans doute bcp plus courte !!!).
J'ai des radiateurs > 2000w à piloter, je dispose de FGS221 donc des relais 1.5KW.
Pas suffisant donc pour commander en "direct", je dois donc passer par fil pilote + diode.
Jusqu'ici tout allait bien.
Mon souci : j'ai un thermostat SRT321 associé a ces modules, le hic, because fil pilote, les ordres sont inversés :
un OFF correspond au mode confort
le ON au HORS GEL.
Donc je me retrouvai avec un thermostat qui marchait a l'envers : Eteind le chauffage quand ca caille et l'allume quand il fait chaud...
J'ai trouvé une solution qui me semble élégante mais j'aimerai la mettre en place via GEA plutot que du LUA a rallonge (je vais avoir une dizaine de radiateurs sur ce principe !).
J'ai débranché la sortie2 de mon FGS221 => Conséquence exit les 4 ordres fil pilote, je n'en ai plus que 2 (Confort et Arret) mais ca me va bien, pas besoin du HG et ECO.
Je me sers de cette seconde sortie "bidon" en l'associant avec mon thermostat qui va lui envoyer des ON / OFF fonction de la temperature demandée.
Bien sur envoyer du ON / OFF a un truc branché à rien du tout ca sert pas a grand chose !!
J'ai donc créé une scene qui envoie l'ordre inverse de la sortie "bidon" à la sortie fil pilote :
- Si sortie bidon = "ON" => Envoie "OFF" au fil pilote => Passage au mode confort
- Si sortie bidon = "OFF" => Envoie "ON" au fil pilote => On eteint le chauffage
LA commande des radiateurs marche tres bien depuis l'interface... je clique sur ON de mon switch "Bidon" et le switch fil filote passe bien a Off.
Victoire ? Pas tout à fait....
Mon ami le thermostat, de par son accociation directe au switch, envoie la commande ON ou OFF aux DEUX relais.
Je connais pas bien l'ordre de traitement mais entre scene/association mais du coup dans ce cas ma scene ne foncitonnait pas.
J'ai du rajouter un sleep de 1 sec avant d'envoyer l'ordre d'inversion.
J'arrive finalement a un code qui marche tout le temps mais que j'aimerai simplifier en GEA.
En lua ca donne ça :
if ( ( tonumber(fibaro:getValue(180, "value")) > 0 ) )
then
fibaro:sleep(1000);
fibaro:call(182, "turnOff");
else
fibaro:sleep(1000);
fibaro:call(182, "turnOn");
end
En GEA ca donnerait quoi ?
J'ai essayé ca... sans succes :
GEA.add({id["CHAUFFAGE_SALLE_EAU"],{"Value+",id["CHAUFFAGE_SALLE_EAU"],0}},1,"",{{"TurnOff",id["FIL_PILOTE_SALLE_EAU"]}})
GEA.add({id["CHAUFFAGE_SALLE_EAU"],{"Value",id["CHAUFFAGE_SALLE_EAU"],0}},1,"",{{"TurnOn",id["FIL_PILOTE_SALLE_EAU"]}})
Merci d'avance !!!
+
Olivier