Hallo zusammen,
ich experimentiere schon eine Ewigkeit mit dieser einfachen Szene rum und komme nicht weiter.
Meine Teichpumpe (skimmer) soll dreimal am Tag für 120 minuten angehen. Das sollte so auch im script funktionieren.
zusätzlich soll der Wattverbrauch gemessen werden. Wenn die pumpe leer läuft sinkt der stromverbrauch und ich möchte, dass die pumpe abgeschaltet wird und ich eine Push Nachricht bekomme. Am besten wäre, wenn das ganze script abgebrochen wird, damit die pumpe nicht beim nächsten termin wieder anspringt.
Das gleiche soll auch passieren wenn der Wattverbrauch steigt.
Kann mir da jemand helfen?
–[[
%% properties
%% autostart
%% globals
–]]
fibaro:debug(‘Erstmalig gestartet’)
local sourceTrigger = fibaro:getSourceTrigger();
local version = ‘1.1’;
fibaro:debug(‘Skimmer (Ver.’ … version … ‘)’);
function varTime()
local morgens = {08, 00};
local mittags = {12, 00};
local abends = {18, 00};
local midnight = {23, 59};
local dauer = 120 – Laufzeit des Skimmers in Minuten
local morgens = os.date("%H:%M", -3600+ morgens[1]6060 + morgens[2]*60);
local mittags = os.date("%H:%M", -3600+ mittags[1]6060 + mittags[2]*60);
local abends = os.date("%H:%M", -3600+ abends[1]6060 + abends[2]*60);
local midnight = os.date("%H:%M", -3600+ midnight[1]6060 + midnight[2]*60);
local ostime = os.date("%H:%M", os.time());
local verbrauch1 = tonumber(fibaro:getValue( 80,“power”)); – Skimmer
local verbrauch2 = tonumber(fibaro:getValue( 1,“power”)); – Filter
local skimmer = {80 }; --Skimmer
local filter = {79}; --Filter
-------------------Push Nachricht----------------------------------------
local phoneID = {114, 104, 14} --christoph
local title = ‘Skimmer läuft leer!’
local message = ‘Soll der skimmer ausgeschaltet werden?’
local category = ‘YES_NO’ – or ‘YES_NO’ or RUN_CANCEL
local sceneID = 0
fibaro:debug(‘Funktion gestartet’)
if fibaro:countScenes() > 1 then
fibaro:debug(“stop scene”);
fibaro:abort();
end
fibaro:debug(‘Funktion gestartet’)
---------------------------morgens-------------------------------------------
--------------------------Skimmer an -----------------------------------------
if ostime == morgens
then
fibaro:call(80, “turnOn”)
fibaro:debug(“Skimmer an”);
fibaro:debug(‘Aktueller Verbrauch: ‘… verbrauch1 …’ Watt.’);
fibaro:sleep(dauer601000) – Minuten Verzögerung
fibaro:call(80, “turnOff”)
fibaro:debug(“Skimmer aus”);
---------------------------------Mittags-------------------------------------------
--------------------------Skimmer an----------------------------------------------
elseif ostime == mittags
then
fibaro:call(80, “turnOn”)
fibaro:debug(“Skimmer an”);
fibaro:debug(‘Aktueller Verbrauch: ‘… verbrauch1 …’ Watt.’);
fibaro:sleep(dauer601000) – Minuten Verzögerung
fibaro:call(80, “turnOff”)
fibaro:debug(“Skimmer aus”);
---------------------------Abends--------------------------------------------
--------------------------Skimmer an -----------------------------------------
elseif ostime == abends
then
fibaro:call(80, “turnOn”)
fibaro:debug(“Skimmer an”);
fibaro:debug(‘Aktueller Verbrauch: ‘… verbrauch1 …’ Watt.’);
fibaro:sleep(dauer601000) – Minuten Verzögerung
fibaro:call(80, “turnOff”)
fibaro:debug(“Skimmer aus”);
---------------------Überlastschutz----------------------------------------
if ostime > morgens and ostime < midnight
or (verbrauch1 > 50)
then
fibaro:debug(‘Aktueller Verbrauch: ‘… verbrauch1 …’ Watt.’);
fibaro:call(80, “turnOff”)
fibaro:debug(“überlast, Skimmer aus”);
end
else
fibaro:debug("No action");
end
setTimeout(varTime, 60*1000)
end
if (sourceTrigger["type"] == "autostart")
then varTime()
end