Hallo zusammen, ich möchte gerne eine Regel erstellen die ein Tür Sensor überprüft. Wenn dieser länger als zwei Tage nicht geöffnet wurde möchte ich eine E-Mail erhalten. Ich stehe gerade nur auf dem Schlauch und habe keinen Lösungsansatz. Hat jemand zufällig ein Beispiel/Lösung für mich.
Hi,
mit dem Script (über fibaro:getModificationTime) prüfe ich, ob die Bewässerung (durch eine andere Szene) angegangen ist und wenn nicht, löst diese Szene aus:
--[[
%% autostart
%% properties
%% events
%% globals
--]]
--Szene soll die Tomaten bewässern, wenn die Haupt-Bewässerunsgszene nicht angelafen ist.
--Szene prüft um 20:10 Uhr, ob das Ventil V3 seit min 23 stunden nicht lief,
--dann wird V3 angeschaltet
local V3 = 456 --ID des V3 für die Kästen
local Pumpe = 106
local V3zeit = 1200 -- 20 min
local Wasserzeit = {20, 10} -- HH:MM Bewässerung bei nicht warmen Tagen
local sourceTrigger = fibaro:getSourceTrigger();
if fibaro:countScenes() > 1 then
fibaro:debug("stop scene");
fibaro:abort();
end
--Date = os.date("%d.%m.%Y %H:%M:%S", os.time())
Date = os.date("%d.%m.%Y", os.time())
fibaro:debug("Szene zur Bewässaerung der Tomaten gestartet am "..Date)
function tempFunc()
local currentDate = os.date("*t")
local Date = os.date("%d.%m.%Y", os.time())
local Wasserzeit = os.date("%H:%M", -3600+ Wasserzeit[1]*60*60 + Wasserzeit[2]*60)
local ostime = os.date("%H:%M", os.time())
local sourceTrigger = fibaro:getSourceTrigger()
local lastModifiedV3 = fibaro:getModificationTime(V3, 'value')
--fibaro:debug(os.time() - lastModified.." Sekunden")
--local DeltaMinV3 = tonumber(string.format("%.0f",(os.time() - lastModifiedV3)/60))
local DeltaStdV3 = tonumber(string.format("%.0f",(os.time() - lastModifiedV3)/60/60))
--print(DeltaStdV3.." Stunden")
if (fibaro:getGlobalValue("Gartenpumpe") == "Aus" and
fibaro:getGlobalValue("Warmer_Tag") == "Nein" and
ostime == Wasserzeit and
DeltaStdV3 >= 40 )
then
fibaro:setGlobal("Gartenpumpe", "An")
fibaro:call(V3, "turnOn")
fibaro:call(Pumpe, "turnOn")
fibaro:debug("V3 und Pumpe eingeschaltet, weil seit "..DeltaStdV3.." Stunden keine Bewässerung. - "..Date)
-----wieder AUSschalten
setTimeout(function()
fibaro:call(V3, "turnOff")
fibaro:call(Pumpe, "turnOff");
fibaro:setGlobal("Gartenpumpe", "Aus");
fibaro:debug("V3 und Pumpe ausgeschaltte")
end, (V3zeit)*1000)
elseif ostime == Wasserzeit
then
fibaro:debug("Es ist zwar 20:10, aber letzte Bewässerung vor "..DeltaStdV3.." Stunden.")
end
setTimeout(tempFunc, 58*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
--fibaro:debug("Type Autostart - "..os.date("%d.%m.%Y", os.time()))
end
VG Hoggle