To calculate the costs I use this script
Code: Select all
return {
on = {
timer = {
'every 30 minutes'
},
},
execute = function(domoticz, device, timer)
local vandaagKwh = domoticz.devices('P1 Elektra').counterToday
local vandaagM3Gas = domoticz.devices('P1 Gas').counterToday
local StroomKosten = domoticz.devices('Stroomkosten')
local GasKosten = domoticz.devices('Gaskosten')
local Kosten = domoticz.devices('Kosten Stroom+Gas')
-- Eenheidsprijs in Euro's / Kwh - M3
local kwhPrijs = 0.23002
local gasM3Prijs = 0.82373
if (domoticz.time == 'Between 23:00 and 07:00') or (domoticz.day == 'Saturday') or (domoticz.day == 'Sunday') then
kwhPrijs = 0.22252 -- Daltarief
else
kwhPrijs = 0.23002 -- Normaal tarief
end
-- Vaste kosten in Euro's per dag (zoals vastrecht)
local kwhPrijsVast = 0.22931
local gasM3PrijsVast = 0.22931
-- Kosten berekenen
local kwhKosten = tonumber(domoticz.utils.round( (kwhPrijs * vandaagKwh) + kwhPrijsVast,2))
local GasM3Kosten = tonumber(domoticz.utils.round( (gasM3Prijs * vandaagM3Gas) + gasM3PrijsVast,2))
local Kostentotaal = kwhKosten + GasM3Kosten
-- Kosten updaten
StroomKosten.updateCustomSensor(kwhKosten)
GasKosten.updateCustomSensor(GasM3Kosten)
Kosten.updateCustomSensor(Kostentotaal)
end
}
Code: Select all
local ScriptVersion = '1.0.6' -- domoticz > V2020.1 / dzVents >= 2.4.28
return {
on = {
timer = { 'at 12:00', 'at 17:00', 'at 22:00'},
},
logging = {
level = domoticz.LOG_DEBUG, -- set to error when all OK
marker = "Meterstanden naar telegram " .. ScriptVersion },
execute = function(dz)
local subject = (dz.moduleLabel or 'vandaagKwhth'):gsub('#','')
local vandaagKwhth = dz.devices('Teruglevering Hoog').counterToday -- Stroommeter p1 -Teruglevering Hoog -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
local vandaagKwhtl = dz.devices('Teruglevering Laag').counterToday -- Stroommeter p1 -Teruglevering Laag -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
local vandaagKwhvh = dz.devices('Verbruik Hoog').counterToday -- Stroommeter p1 -Verbruik Hoog -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
local vandaagKwhvl = dz.devices('Verbruik Laag').counterToday -- Stroommeter p1 -Verbruik Laag -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
local vandaagKwh = dz.devices('P1 Elektra').counterToday -- Stroommeter device –P1 Elektra is de naam van het apparaat in Domoticz.
local vandaagSolar = dz.devices('Opwekking Stroom').counterToday -- Solar device — Opwekking Stroom is de naam van het apparaat in Domoticz.
local vandaagm3 = dz.devices('P1 Gas').counterToday --— Gas devices -- P1 Gas is de naam van het apparaat in Domoticz.
--energie vanaf zonnepanelen
dz.log("VandaagKwhth",dz.LOG_DEBUG)
dz.log(vandaagKwhth,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
dz.log("vandaagKwhtl",dz.LOG_DEBUG)
dz.log(vandaagKwhtl,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
-- verbruik af enegie centrale
dz.log("vandaagKwhvh",dz.LOG_DEBUG)
dz.log(vandaagKwhvh,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
dz.log("vandaagKwhvl",dz.LOG_DEBUG)
dz.log(vandaagKwhvl,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
--totaal Elektriciteit
dz.log("VandaagKwh",dz.LOG_DEBUG)
dz.log(vandaagKwh,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
dz.log("VandaagSolar",dz.LOG_DEBUG)
dz.log(vandaagSolar,dz.LOG_DEBUG)
dz.log("Kwh",dz.LOG_DEBUG)
-- Gas meter
dz.log("vandaagm3",dz.LOG_DEBUG)
dz.log(vandaagm3,dz.LOG_DEBUG)
dz.log("M3", dz.LOG_DEBUG)
--Verzend informatie. Dit is 1 bericht, met alle informatie.
local subject = 'Mijn energie overzicht.'
local message = 'Terug levering Hoog ' ..vandaagKwhth.. ' kWh' .. '\n' ..
'Terug levering Laag ' ..vandaagKwhtl.. ' kWh' .. '\n' ..
'Totaal Opbrengst Zonnepanelen ' ..vandaagSolar.. ' kWh'.. '\n' ..
'Verbruik Hoog ' ..vandaagKwhvh.. ' kWh'.. '\n' ..
'Verbruik Laag ' ..vandaagKwhvl.. ' kWh'.. '\n' ..
'Totaal Verbruik Elektra vandaag ' ..vandaagKwh.. ' kWh'.. '\n' ..
'Totaal Verbruik Gas vandaag ' ..vandaagm3.. ' M3'
dz.notify(subject, message, dz.PRIORITY_MEDIUM, dz.SOUND_PERSISTENT, nil, dz.NSS_TELEGRAM)
end
}