--[[ %% autostart %% properties #ID von Bewegungssensor# value %% weather %% events %% globals --]] --[[ Name der Szene: Heat Wohnzimmer Autor: Christian Wilmshöfer Version: 1.0 21.03.2021 Kurzbeschreibung: setzt die Heizung rauf bei Bewegung in Zimmer Versionsführung: 1.0 erste Version abhängig von Anzahl der parallelen Szenen --]] ----- Devices und Geo's ----- local Thermostat = #ID von Thermostat im Raum# local Soll = "22" -- Solltemperatur --- HC2 als fibaro definieren für krüzere Kommandos ----- HC2 = fibaro Instanz = HC2:countScenes() -- farbige Debug und Push Ausgabe function Display (color, message) HC2:debug(string.format('<%s style="color:%s;">%s', "span", color, os.date("%x ", os.time())..message, "span")); HC2:call(HC2:getGlobalValue('AdminID'), 'sendPush', os.date("%x ", os.time())..message); end; function Dornrose () print("Instanz: "..Instanz) -- gibt die Anzahl der parallel laufenden Instanz aus HC2:sleep(60*5*1000) -- wartet 5 Minuten. Dadurch kann parallel innerhalb der Zeit eine weitere Instanz entstehen -- laufen mehr als fünf Instanzen, kann man sicher sein, dass die Bewegung dauerhaft länger andauernd ist. end -- START Szene Heat Arbeiten print(os.date("%x", os.time()).."----- Heat Wohnzimmer -----") local trigger = HC2:getSourceTrigger() local akttarget = HC2:getValue(Thermostat, "targetLevel") if (trigger['type'] == 'property') then if Instanz < 5 then Dornrose() -- warten bis 5 mal Bewegung festgestellt wurde elseif Instanz == 5 then HC2:call(Thermostat, "setThermostatSetpoint", "1", Soll) print("Zieltemperaturr auf "..Soll.."°C eingestellt.") setTimeout(function() HC2:call(Thermostat, "setThermostatSetpoint", "1", akttarget); print("Solltemperatur wieder auf "..akttarget.."°C eingestellt."); end, 1*60*60*1000) -- nach 1h weider zurückstellen else HC2:abort() --- mehr als 5 Instanzen stoppen end -- if Instanz < 5 end -- if trigger == property