Warum nicht auch mal Duschen oder Lüften ist ja auch mal angebracht
Die Heizungssteuerung läuft bei mir über das Heating Panel was im großen und ganzen schon richtig gut ist, allerdings erkennt dieses nicht ob ein Fenster auf ist.
Natürlich hat keiner Lust vor dem Duschen sein Smartphone in die Hand zu nehmen und die Temperatur runter zu regeln und anschließend wieder hoch zu regeln.
Die Steuerung soll soviel wie möglich selber machen/erkennen, nur so wird der Wohnkomfort erhöht und dem Haus wird ein bisschen KI eingeflößt
Aufgrund dessen hab ich an dem Bsp. Bad einen kleines Script gebastelt was erkennt ob das Fenster offen ist und anschließend das Thermostat im Bad runter regelt oder nachdem das Fenster geschlossen wurde den gespeicherten Wert ausließt und an das Thermostat schickt.
Somit befindet sich die Steuerung wieder im Bereich des Heating Panels nur mit der Unterbrechung des offenen Fensters.
<code>--[[ %% autostart %% properties 175 value %% globals --]] FensterK = 175; -- ID des Fensterkontakte Thermo = 82; -- ID des HeizkörperThermostat local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "property") then while true do fibaro:debug('Loop läuft'); local tempDeviceState0, ausloesung = fibaro:get(FensterK, "value"); if (( tonumber(fibaro:getValue(FensterK, "value")) > 0 ) and (os.time() - ausloesung) >= 60) then fibaro:debug('Fenster auf, Heizung senken'); local TempWertBadS = fibaro:getValue(Thermo, "value"); fibaro:setGlobal("BadHeizung", TempWertBadS); -- BadHeizung Variable speichern fibaro:sleep(5000); fibaro:call(Thermo, "setTargetLevel", "4"); fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 240*60); -- 4Std 4° fibaro:debug(TempWertBadS.. '° auf 4°' ); break; elseif (( tonumber(fibaro:getValue(FensterK, "value")) == 0 ) and (os.time() - ausloesung) >= 60) then fibaro:debug('Fenster zu, Heizung heben'); local TempWertBadL = fibaro:getGlobal("BadHeizung"); -- BadHeizung Variable lesen fibaro:sleep(5000); fibaro:call(Thermo, "setTargetLevel", TempWertBadL); fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 60*60); -- 1Std fibaro:debug('4° auf ' .. TempWertBadL .. '°'); break; end fibaro:sleep(30000); end end </code>
Es muss lediglich die Variable “BadHeizung” angelegt werden (Steuerung/VariablenSteuerung)
Die ID anpassen und schon sollte das ganze laufen.
Gruß Alex
PS: Hoffen wir das das mit dem Heizen noch dauert bis es soweit ist