Fredric Posté(e) le 11 avril 2016 Signaler Posté(e) le 11 avril 2016 Je viens vous parler du mode de gestion que j’ai choisi mon chauffage. Mon habitation est chauffée à l’électricité, j’ai donc installé derrière chaque radiateur un FGS 221 qui commande le fils pilote. Je vais juste vous dire comment je change les températures par zones selon les états de la maison. J’ai créé pour chaque radiateur un VD avec 4 ordres « Confort », « Hors gel », « Eco » et « Arrêt » comme on peut le trouver un peut partout sur ce forum. (Si vous ne trouvez pas, demandez-moi) J’ai ensuite utilisé le VD de @Steven que vous trouverez ICI et je l’ai « un peut » modifié à mes besoins. J’ai créé trois variables, une par zone, les chambres, les pièces de vis et « le reste », j’ai appelé ces variables : RTC_Z1 pour la Zone 1, RTC_Z2 pour la Zone 2 et RTC_Z3 pour la Zone 3 (vous pouvez en créer autant que besoin). En suite, j’ai créé dans le panneau de chauffage, comme indiqué par @Steven dans son tuto, pas un panneau mais 11, selon vos besoin et j'ai relèvé les ID en notant à quel état ils correspondent. Exemple, quand je suis au travail, je veux une certaine gestion des mes chauffages, mais aussi quand je suis présent ou en vacances ou si j’ai des invités etc.… Tous ces états sont dans mes variables que j’utilise déjà comme beaucoup de monde, état de l’alarme, Travail, Vacances, Absent… (Pareil, pour ceux qui partent de zéro, me demander). J’ai créé une scène qui à en déclencheurs ces variables d’état. (Je vous poste ma scène qui à déjà plus d’un an, je suis en cours de modification de toutes mes scènes pour les optimiser, celle-ci y aura droit aussi mais vu qu’elle fonctionne parfaitement, elle attendra). J’ai mis les ID de chaque panneau de chauffage dans ma scène pour les associer aux variables (RTC_Z1 pour la Zone 1, RTC_Z2 pour la Zone 2 etc.…) selon les états. --[[ %% autostart %% properties %% events %% globals Aujourdhui AlarmeGenerale INV --]] local idm = { GENERAL = 442 } local sourceTrigger = fibaro:getSourceTrigger(); function check() local startSource = fibaro:getSourceTrigger(); if (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 0 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Active" ) then --travail fibaro:debug("Travail / Alarme active") fibaro:setGlobal("RTC_Z1", "3"); --ID Chauffage travail ZONE_1 fibaro:setGlobal("RTC_Z2", "876"); --ID Chauffage travail Zone_2 fibaro:setGlobal("RTC_Z3", "3"); --ID Chauffage travail ZONE_1 fibaro:setGlobal("RTC_SB", "8"); --ID Chauffage travail SB fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 1 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Active" ) then --CP fibaro:debug("CP / Alarme active") fibaro:setGlobal("RTC_Z1", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_Z2", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_Z3", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_SB", "8"); --ID Chauffage travail SB fibaro:setGlobal("RTC_Cellier", "7");--ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 2 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Active" ) then --Weekend fibaro:debug("Weekend / Alarme active") fibaro:setGlobal("RTC_Z1", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_Z2", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_Z3", "881"); --ID Chauffage Sortie Present fibaro:setGlobal("RTC_SB", "8"); --ID Chauffage travail SB fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 3 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Active" ) then --ferie fibaro:debug("ferie / Alarme active") fibaro:setGlobal("RTC_Z1", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Z2", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Z3", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_SB", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Cellier", "874"); -- id du panneau de chauffage Alarme generale ABS ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 0 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "non" ) then --travail fibaro:debug("Travail / Alarme Inactive / Pas d'invités") fibaro:setGlobal("RTC_Z1", "882"); -- id du panneau de chauffage travail Present fibaro:setGlobal("RTC_Z2", "871"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Z3", "882"); -- id du panneau de chauffage travail Present fibaro:setGlobal("RTC_SB", "879"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 1 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "non" ) then --CP fibaro:debug("CP / Alarme Inactive / Pas d'invités") fibaro:setGlobal("RTC_Z1", "6"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Z2", "871"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Z3", "6"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_SB", "879"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 2 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "non" ) then --Weekend fibaro:debug("Weekend / Alarme Inactive / Pas d'invités") fibaro:setGlobal("RTC_Z1", "6"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Z2", "871"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Z3", "6"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_SB", "879"); -- id du panneau de chauffage Present fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 3 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) then --ferie fibaro:debug("ferie / Alarme Inactive") fibaro:setGlobal("RTC_Z1", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Z2", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Z3", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_SB", "874"); -- id du panneau de chauffage Alarme generale ABS fibaro:setGlobal("RTC_Cellier", "874"); -- id du panneau de chauffage Alarme generale ABS ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 0 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "oui" ) then --travail fibaro:debug("Travail / Alarme Inactive / Invité present") fibaro:setGlobal("RTC_Z1", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z2", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z3", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_SB", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 1 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "oui" ) then --CP fibaro:debug("CP / Alarme Inactive / Invité present") fibaro:setGlobal("RTC_Z1", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z2", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z3", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_SB", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") elseif (tonumber(fibaro:getGlobalValue("Aujourdhui")) == 2 ) and ((fibaro:getGlobalValue("AlarmeGenerale")) == "Inactive" ) and ((fibaro:getGlobalValue("INV")) == "oui" ) then --Weekend fibaro:debug("Weekend / Alarme Inactive / Invité present") fibaro:setGlobal("RTC_Z1", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z2", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Z3", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_SB", "875"); -- id du panneau de chauffage Ivités fibaro:setGlobal("RTC_Cellier", "7"); --ID Chauffage Cellier ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) ValeurZ2 = ((fibaro:getGlobal('RTC_Z2'))) ValeurZ3 = ((fibaro:getGlobal('RTC_Z3'))) ValeurSB = ((fibaro:getGlobal('RTC_SB'))) Valeur_Cellier = ((fibaro:getGlobal('RTC_Cellier'))) fibaro:sleep(5*1000); fibaro:debug("Zone 1: "..ValeurZ1) fibaro:debug("Zone 2: "..ValeurZ2) fibaro:debug("Zone 3: "..ValeurZ3) fibaro:debug("Salle de Bain: "..ValeurSB) fibaro:debug("Cellier: "..Valeur_Cellier) fibaro:call(idm["GENERAL"], "pressButton", "1") end setTimeout(check, 60*1000) end local startSource = fibaro:getSourceTrigger(); if (startSource["type"] == "other") then check(); end Dans chaque pièces dotés d’un radiateur, j’ai mis un VD de @Steven qui commande le premier VD avec 4 ordre de la pièce. Avec une modification, Au lieu de : Heating.stefa = 1 -- id du panneau de chauffage Je mets : ValeurZ1 = ((fibaro:getGlobal('RTC_Z1'))) Heating.stefa = ValeurZ1 -- id du panneau de chauffage normal Bien sà»r, c’est à vous de mettre la bonne variable selon la pièce, RTC_Z1 si la pièce est en zone 1. L’idée, c’est quand votre maison change d’état, je prends la mise sous alarme pour exemple, La variable « Alarmegeneral » passe de « Inactive » à « Active » alors la variable « RTC_Z1 prend l’ID « 3 », la RTC_Z2 prend l’ID « 876 » etc.. et les chauffages chauffe en fonction des températures qui sont dans le panneau de chauffage correspondant à l’ID. De cette façon, on peut vraiment personnaliser au plus proche de ses besoins. c'est tout bête mes cela fonctionne très bien. deux captures d'écran pour vous donner une idée: Enjoy 1
Fredric Posté(e) le 11 avril 2016 Auteur Signaler Posté(e) le 11 avril 2016 Merci @pepite, je voulais m'appliquer d'avantage mais j'ai était pris par le temps.
Messages recommandés