jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 c'est normal, la logique n'était pas bonne : tu allumes le chauffage si la consigne est inférieure à la température ? J'ai ajouté du débug. j'imagine que 17 et 50 correspondent à tes radiateurs ? --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getValue(77, "value") --Température local cons = fibaro:getValue(76, "value") --Consigne de température fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") if tonumber(cons) >= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 Que je suis bête ) Merci bcp Pour réalisé ma petite idée je pensais du coup créer une scène qui choisi entre chauffage ou clim en fonction de la température extérieur. Si il fait plus de 5° alors lancement de la scène chauffage sinon lancement de la scène clim. Comment fait on pour appeler une scène depuis une autre scène? Ma logique sur ce projet est elle correct?
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 Donc ceci fonctionne ? je mettrais tout dans une seule scène. Pour l'instant tu as 2 triggers : if température extérieure >= 5 then la scène actuelle else la scène de clim end modification de la température de la pièce, et la modification de la consigne de température. La scène actuelle est bien la scène de chauffage ? il suffit de rajouter ceci
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 Je sens que je ne suis plus très loin. Jojo toi qui a un zxt 120 peux tu m'aider ànouveau ày voir plus clair. J'arrive àcontrôler le on off mais pas la consigne --[[ %% properties 76 value 77 value %% globals --]] local temp = fibaro:getValue(77, 'value') --Température local cons = fibaro:getValue(76, 'value') --Consigne de température local tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") fibaro:debug("Température ext = " .. tex .. "°C") if tonumber(tex) < 7 then -- Si il fait moins de 7° if tonumber(cons) > tonumber(temp) then -- Chauffage fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") fibaro:call(94, "setMode","0") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end else --Si il fait plus de 7° if tonumber(cons) > tonumber(temp) + 1 then -- Clim fibaro:call(94, "setMode","1") -- Mode Chaud fibaro:call(92, "setValue", cons ) fibaro:call(95, "setMode","1") fibaro:call(17, "turnOff") -- Chauffage Off fibaro:call(50, "turnOff") if tonumber(cons) < tonumber(temp) + 1 then fibaro:call(94, "setMode","2") -- Mode foid fibaro:call(92, "setValue", cons ) fibaro:call(95, "setMode","1") fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") -- Chauffage Off end end end
ntaravel Posté(e) le 21 décembre 2015 Auteur Signaler Posté(e) le 21 décembre 2015 J'ai découvert un sujet auquel tu a participé sur les zxt 120et j'y ai trouvé plein d'info si bien que ca marche. Trop content merci beaucoup Pour ceux que ca peut intéresser: http://www.domotique-fibaro.fr/index.php/topic/1581-remotec-zxt-120-thermostat-ir-pour-climatiseur/page-9 --[[ %% properties 76 value 77 value %% globals --]] local temp = fibaro:getValue(77, 'value') --Température local cons = fibaro:getValue(76, 'value') --Consigne de température local tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") fibaro:debug("Température ext = " .. tex .. "°C") if tonumber(tex) < 7 then -- Si il fait moins de 7° if tonumber(cons) > tonumber(temp) then -- Chauffage fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") fibaro:call(94, "setMode","0") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end else --Si il fait plus de 7° if tonumber(cons) > tonumber(temp) + 1 then -- Clim fibaro:call(94, "setMode","1") -- Mode Chaud fibaro:call(92, "setThermostatSetpoint", "1", cons) fibaro:call(95, "setFanMode","1") fibaro:call(17, "turnOff") -- Chauffage Off fibaro:call(50, "turnOff") if tonumber(cons) < tonumber(temp) + 1 then fibaro:call(94, "setMode","2") -- Mode foid fibaro:call(92, "setThermostatSetpoint", "2", cons) fibaro:call(95, "setFanMode","1") fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") -- Chauffage Off end end end
jojo Posté(e) le 21 décembre 2015 Signaler Posté(e) le 21 décembre 2015 En cherchant, tu finiras par devenir un expert, mais c'est chronophage ...
ntaravel Posté(e) le 4 janvier 2016 Auteur Signaler Posté(e) le 4 janvier 2016 Salut Et bien ca avance doucement mais je bloque un peu sur le début de la scène ou j'ai du faire une erreur quelque part. Quelqu'un peut il ànouveau m'aider. Merci d'avance --[[ %% properties 97 value 98 value %% globals --]] temp = fibaro:getValue(98, 'value') --Température cons = fibaro:getValue(97, 'value') --Consigne de température tex = fibaro:getValue(88, "value") -- Température ext Gd terrasse fibaro:setGlobal("temp", temp ) fibaro:setGlobal("cons", cons ) fibaro:setGlobal("tex", tex ) if fibaro:getGlobalValue("sleepState") == (Dodo) and fibaro:getGlobalValue("ChaudFroid") == (Chaud) then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-1.5)) if fibaro:getGlobalValue("presentState") == (Away) and fibaro:getGlobalValue("ChaudFroid") == (Chaud) then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-2)) if fibaro:getGlobalValue("presentState") == (Holidays) and fibaro:getGlobalValue("ChaudFroid") == (Chaud) then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")-3)) if fibaro:getGlobalValue("presentState") == (Away) and fibaro:getGlobalValue("ChaudFroid") == (Froid) then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")+1)) if fibaro:getGlobalValue("presentState") == (Holidays) and fibaro:getGlobalValue("ChaudFroid") == (Froid) then fibaro:setGlobal("consigne", (fibaro:getGlobal("cons")+2)) else fibaro:setGlobal("consigne", (fibaro:getGlobal("cons"))) end end end end end fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") fibaro:debug("Consigne modifiée = " .. consigne .. "°C") fibaro:debug("Température ext = " .. tex .. "°C") if tonumber(tex) < 12 then fibaro:setGlobal("ChaudFroid" , Chaud) -- Si il fait moins de 12° if tonumber(consigne) > tonumber(temp) then -- Chauffage fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") fibaro:call(94, "setMode","0") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end else --Si il fait plus de 12° if tonumber(consigne)+1 > tonumber(temp) then fibaro:setGlobal("ChaudFroid", Chaud ) -- Clim -- Mode Chaud fibaro:call(92, "setThermostatSetpoint", "1", consigne) fibaro:call(94, "setMode","1") fibaro:call(95, "setFanMode","1") fibaro:call(17, "turnOff") -- Chauffage Off fibaro:call(50, "turnOff") if tonumber(consigne)+1 <= tonumber(temp) then fibaro:setGlobal("ChaudFroid", Froid) -- Mode foid fibaro:call(92, "setThermostatSetpoint", "2", consigne) fibaro:call(94, "setMode","2") fibaro:call(95, "setFanMode","1") fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") -- Chauffage Off end end end [DEBUG] 00:36:36: Température = 21.1°C [DEBUG] 00:36:36: Consigne = 22°C [DEBUG] 00:36:36: line 55: attempt to concatenate global 'consigne' (a nil value)
jojo Posté(e) le 5 janvier 2016 Signaler Posté(e) le 5 janvier 2016 fibaro:debug("Consigne = " .. cons .. "°C") fibaro:debug("Consigne modifiée = " .. consigne .. "°C") tu veux afficher dans fibaro:debug("Consigne modifiée = " .. consigne .. "°C") la valeur d'une variable globale "consigne" que tu as définie plus haut. donc, avant ce debug, tu devrait avoir l'instruction de relecture de cette variable consigne = fibaro:getGlobal("consigne")
ntaravel Posté(e) le 5 janvier 2016 Auteur Signaler Posté(e) le 5 janvier 2016 Merci jojo En effet ca a résolu le problème mais la valeur de "consigne" ne se modifie pas malgré les changements d'état "sleepState"... sais tu pourquoi?
jojo Posté(e) le 7 janvier 2016 Signaler Posté(e) le 7 janvier 2016 la scène n'est activée que q'il y a une modification au valeur des devices 97 & 98. Si tu veux que la scène tourne en cas de modification de la valeur d'une variable, il faut ajouter le nom de la variable dans l'entête, sous %% globals
Messages recommandés