Ein Skript, welches einen bestimmten Verbraucher checkt und nach einer bestimmten Zeit ausschaltet und eine Push-Mitteilung schickt. Bitte die oberen Variablen anpassen. HF.
--[[ %% properties 63 power %% globals --]] -- ANPASSEN local power_socket = 63 -- STROMVERBRAUCHER (BITTE AUCH OBEN VERÄNDERN) local time = 20 -- ZEIT NACHDEM DER COUNTER BEENDET WERDEN SOLL (IN SEKUNDEN) local usage = 12 -- WATT-ZAHL local deviceID = 68 -- deviceID DES HANDYS local pushMessage = "Verbraucher war länger als 10 min an" -- PUSH-MESSAGE -- AB HIER NICHTS MEHR ÄNDERN if (fibaro:countScenes()>1) then fibaro:abort(); fibaro:debug('abort'); end local run = 0 local counter = 0 local currentDate = os.date("*t"); local power = fibaro:getValue(power_socket, "power") if ( tonumber(fibaro:getValue(power_socket, "power")) > usage ) and run == 0 then local start = (os.time()) fibaro:debug("Verbrauch über " ..usage.. "Watt") fibaro:debug("Verbrauch = "..power.." Watt") run = 1 end while run == 1 do if (tonumber(fibaro:getValue(power_socket, "value")) == 1) then counter = counter + 1 end if (tonumber(fibaro:getValue(power_socket, "power")) > usage) and counter > time then fibaro:debug("Verbraucher ist immer noch an. Send Push") fibaro:call(deviceID, "sendPush", pushMessage, "usage"); fibaro:call(power_socket, "turnOff"); counter = 0 run = 0 elseif (tonumber(fibaro:getValue(power_socket, "value")) == 0 and counter < time) then fibaro:debug("Verbraucher wurde innnerhalb der vorgegebenen Zeit abgeschaltet... Abort scene") run = 0 counter = 0 end fibaro:sleep(1*1000) end