Ich hatte mich mal dafür interessiert, nicht in Abhängigkeit vom Sturm, sondern in Abhängigkeit von einer Uhrzeit den Öffnungszustand von Türen und Fenstern zu prüfen. Danke an Hans-Ulrich Tag für den Vorschlag, dies mit Variablen zu realisieren. Das schöne an dem Sturmwarnungsscript ist aber, dass es automatisch nach Tür-/Fenstersensoren sucht. Füge ich also neue Tür-/Fenstersensoren hinzu, muss ich keine Scriptanpassung mehr vornehmen. Ich bekomme immer auch sofort angezeigt, welches Fenster/ welche Tür offen steht.
Habe mich jetzt mal selbst an dem Script versucht und habe ein bisschen Bastelarbeit aus diesem Script und einem Script, welches in Abhängigkeit von der Uhrzeit triggert, betrieben. Hat sogar funktioniert . Ist wie gesagt durch „Copy-Paste“ – Technik entstanden, kann daher überflüssige Angaben enthalten.
Es ist im Prinzip einzurichten wie das Sturmwarnungsscript. Die Uhrzeit ist hier auf 22:00 eingestellt, es prüft also abends um 22:00 Uhr, ob noch eine Tür oder ein Fenster offen ist. Wird eine andere Zeit gewünscht, einfach 22:00 gegen eine andere gewünschte Uhrzeit austauschen. Gruß, Norbert
--[[ %% autostart %% properties %% events %% globals --]] local phoneID = {252, 379} — Handy-IDs local maxID = 1000 Debug = function ( color, message ) fibaro:debug(string.format(‚%s‘, „span“, color, message, „span“)) end local sourceTrigger = fibaro:getSourceTrigger(); function tempFunc() local currentDate = os.date(„*t“); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format(„%02d“, currentDate.hour) .. „:“ .. string.format(„%02d“, currentDate.min) == „22:00“) ) ) then Debug(‚white‘, „Prüfe offene Fenster“) for id = 1, maxID do local deviceType = fibaro:getType(id) if (deviceType == ‚com.fibaro.windowSensor‘ or deviceType == ‚com.fibaro.doorSensor‘) then if (tonumber(fibaro:getValue(id, ‚value‘)) == 1) then local name = fibaro:getName(id) local room = fibaro:getRoomNameByDeviceID(id) Debug(‚red‘, „ACHTUNG! “ ..name.. “ im Raum “ ..room.. “ ist offen!“) for k=1, maxID do if phoneID[k] ~= nil then fibaro:call(phoneID[k], ’sendPush‘, ‚ACHTUNG: ‚ ..name.. ‚ im Raum ‚ ..room.. ‚ ist offen!‘) end end end end end end setTimeout(tempFunc, 60*1000) end if (sourceTrigger[„type“] == „autostart“) then tempFunc() else local currentDate = os.date(„*t“); local startSource = fibaro:getSourceTrigger(); if ( startSource[„type“] == „other“ ) then fibaro:call(195, „turnOff“); end end