Hallo,
ich habe ein Qubino Smart Meter, wo ich den Verbrauch auslese und mir per eMail zusenden lasse. Das Script hat mir ein super-netter Kollege von mir geschrieben…^^
Die “Startwerte” sind als globale Variable gesetzt und ich addiere den zusätzlichen Verbrauch einfach auf und passe somit den Startwert jeweils neu an.
Das Qubino Modul hat die ID 224.
--[[
%% autostart
%% properties
%% globals
--]]
if (fibaro:countScenes() > 1)
then fibaro:abort()
end
--Schleife--------------------------------------------------------------------------------------------------------
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
local lastday = os.date("*t", os.time{year=currentDate.year, month=(currentDate.month+1), day=0});
--Prüfung auf Uhrzeit-----------------------------------------------------------------------------------
if ((string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "23:58") or (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "23:59"))
then
fibaro:debug("IF-Bedingung-Ausgabe TAG");
fibaro:call(2, 'sendEmail', 'taeglicher Stromverbrauch', 'taeglicher Stromverbrauch Klimaanlage: '..(fibaro:getValue(224, "energy") - (fibaro:getGlobalValue("KWh_Daily")).. ' KWh')..' am '..os.date("%c"))
fibaro:setGlobal("KWh_Daily", (fibaro:getValue(224, "energy")))
if(currentDate.wday==1)
then
fibaro:debug("IF-Bedingung-Ausgabe WOCHE");
fibaro:call(2, 'sendEmail', 'woechentlicher Stromverbrauch', 'woechtlicher Stromverbrauch Klimaanlage: '..(fibaro:getValue(224, "energy") - (fibaro:getGlobalValue("KWh_Weekly")).. ' KWh')..' am '..os.date("%c"))
fibaro:setGlobal("KWh_Weekly", (fibaro:getValue(224, "energy")))
end
if(currentDate.day==lastday.day)
then
fibaro:debug("IF-Bedingung-Ausgabe MONAT");
fibaro:call(2, 'sendEmail', 'monatlicher Stromverbrauch', 'monatlicher Stromverbrauch Klimaanlage: '..(fibaro:getValue(224, "energy") - (fibaro:getGlobalValue("KWh_Monthly")).. ' KWh')..' im Monat '..os.date("%B %Y"))
fibaro:setGlobal("KWh_Monthly", (fibaro:getValue(224, "energy")))
end
if(currentDate.day==31 and currentDate.month==12)
then
fibaro:debug("IF-Bedingung-Ausgabe JAHR");
fibaro:call(2, 'sendEmail', 'jaehrlicher Stromverbrauch', 'jaehrlicher Stromverbrauch Klimaanlage: '..(fibaro:getValue(224, "energy") - (fibaro:getGlobalValue("KWh_Yearly")).. ' KWh')..' im Jahr '..os.date("%Y"))
fibaro:setGlobal("KWh_Yearly", (fibaro:getValue(224, "energy")))
end
fibaro:sleep(61000);
else
fibaro:debug("ELSE-Bedingung-Ausgabe");
--[[
fibaro:call(2, 'sendEmail', 'Test-eMail Szene AC au', 'AC Status: '..(fibaro:getValue(224, "energy") - (fibaro:getGlobalValue("KWh_Daily")).. ' KWh')..' am '..os.date("%c"))
--]]
end
--------------------------------------------------------------------------------------------------------
setTimeout(tempFunc, 60000) --warte 1 Minute
end
tempFunc()
Wenn du die globalen Werte irgendwo hinschreibst, solltest du doch immer weiter aufaddieren können, auch wenn das Modul getauscht wurde.
BR