Dagelijkse energiekosten weergeven in Domoticz

In dit artikel

In een eerder blog heb ik je verteld over de slimme meter uitlezen. Omdat ik mij heb voorgenomen te gaan besparen waar ik kan, leek het mij verstandig om de dagelijkse kosten van mijn stroom- en gasverbruik in kaart te brengen. Na wat zoekwerk ben ik tot de volgende manier gekomen. Deze uitleg is wat ingewikkelder omdat we gaan werken met dzVents scripts. dzVents is een taal van Domoticz gebaseerd op LUA. Hiermee kan je zeer eenvoudig en snel scripts schrijven voor jouw automatisering. In andere artikels leg ik je nog meer scripts uit, maar voor nu houden we het bij de slimme meter.

Wat heb je nodig:

  • Domoticz
  • Gekoppelde slimme meter
  • 3 Custom Sensoren
  • dzEvents script

Als je mijn vorige blog gevolgd hebt, dan heb je je slimme meter aan Domoticz gekoppeld. Dit is natuurlijk belangrijk omdat we anders geen data hebben om mee te werken. Als het goed is zie je 4 sensoren in je Apparaten overzicht:

Domoticz Energiekosten Apparaten

Stap 1 – Een Dummy toevoegen aan Domoticz

Om de kosten weer te geven gaan we eerst een Dummy aanmaken. Ga naar Instellingen->Hardware.

Domoticz Energiekosten Dummy

Kies een duidelijke naam, ik heb gekozen voor Dummy (lekker origineel)

Selecteer bij Type: Dummy (Does nothing, use for virtual switches only).

Laat Gegevens Timeout op “Niet actief” staan.

Klik op Toevoegen.

Je hebt nu een Dummy gemaakt. Niets spannends, want er gebeurt nog niets. Nu kunnen we Virtuele Sensoren aanmaken. Dit worden de sensoren die onze kosten gaan weergeven.

Stap 2 – Maak virtuele sensoren in Domoticz

Klik op maak virtuele sensoren.

Domoticz Energiekosten Custom Sensor

Geef je sensor een naam: Stroomkosten.

Kies bij Type voor Custom Sensor.

En vul bij Aslabel EUR in. (Ik kies hier voor EUR omdat het label achter de waarde wordt weergegeven.)

Doe dit vervolgens nog 2x voor de namen:

  • Gaskosten
  • Kosten Stroom+Gas

Als je dit gedaan hebt dan zie je bij Instellingen->Apparaten 3 nieuwe sensoren staan.

Stap 3 – dzVents script toevoegen in Domoticz

Alle sensoren zijn nu aangemaakt. Tijd voor het ingewikkelde deel. We gaan het dzVents script installeren en activeren.

Dit kan op 2 manieren:

  • Via Domoticz -> Gebeurtenissen in de browser
  • Of handmatig op de Raspberry Pi

Om het makkelijk te houden raad ik je aan om het via de browser te doen. Later leg ik je uit hoe je dzVents via Raspberry Pi kunt programmeren en geef ik je meer tips over het aanroepen van scripts.

Voor nu blijven we in de browser en gaan we naar Instellingen->Meer instellingen->Gebeurtenissen.

Klik op + en selecteer dzVents->Timer.

Domoticz Energiekosten Dzvents

Je hebt nu een script file aangemaakt, waarin we het script gaan plaatsen die de berekening voor jouw kosten maakt en dit vervolgens koppelt aan de virtuele sensoren die we eerder gemaakt hebben.

Kopieer onderstaand script:

return {
      on = { 
        timer = {
           'every 15 minutes'            
        },
    }, 
    execute = function(domoticz, device, timer)

        local vandaagKwh      = domoticz.devices('Stroom').counterToday 
        local vandaagM3Gas    = domoticz.devices('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.22875
        local gasM3Prijs = 0.74681
         if (domoticz.time == 'Between 23:00 and 07:00') or (domoticz.day == 'Saturday') or (domoticz.day == 'Sunday') then
            kwhPrijs = 0.21330 -- Daltarief
        else
            kwhPrijs = 0.22875 -- Normaal tarief
        end 
       
        -- Vaste kosten in Euro's per dag (zoals vastrecht) 
        local kwhPrijsVast = 0.1435
        local gasM3PrijsVast = 0.1435
        
        -- 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
} 

En plaats deze in de editor.

Ik zal kort uitleggen wat het script inhoud. Ben je nog niet bekend met dzVents dan raad ik je aan om de wiki goed te lezen. Voor mij is het ook vrij nieuw, maar met deze handleiding ben ik zelf al een heel eind gekomen. Geloof je het allemaal wel, skip dan door naar de volgende stap.

on = { timer = { 'every 15 minutes' },

Het script draait elke 15 minuten.

local vandaagKwh = domoticz.devices('Stroom').counterToday -- Stroommeter device 
local vandaagM3Gas = domoticz.devices('Gas').counterToday -- Gasmeter device 

local StroomKosten = domoticz.devices('Stroomkosten') -- Stroomkosten device 
local GasKosten = domoticz.devices('Gaskosten') -- Gaskosten device 
local Kosten = domoticz.devices('Kosten Stroom+Gas')

Hier worden de sensoren opgeroepen en in een variabele gestopt zodat we deze makkelijk kunnen gebruiken verderop in het script. De namen moeten overeenkomen met de namen van je sensoren.

Het volgende deel is belangrijk want hierin worden je energiekosten vanuit de leverancier ingevuld. Zoek jouw tarieven op (deze staan in je contract van je energieleverancier) en vul ze in.

-- Eenheidsprijs in Euro's / Kwh - M3 

local kwhPrijs = 0.22875 
local gasM3Prijs = 0.74681 

if (domoticz.time == 'Between 23:00 and 07:00') or (domoticz.day == 'Saturday') or (domoticz.day == 'Sunday') then 
   kwhPrijs = 0.21330 -- Daltarief 
else 
   kwhPrijs = 0.22875 -- Normaal tarief 
end 

-- Vaste kosten in Euro's per dag (zoals vastrecht) 
local kwhPrijsVast = 0.1435 
local gasM3PrijsVast = 0.1435

In het laatste deel wordt de berekening gemaakt en worden de waardes aan de juiste sensoren toegekend.


Klik nu op Opslaan.

En als het goed is zie je nu bij Overig de sensoren met de waardes. Let op: Dit kan even duren omdat het script natuurlijk elke 15 minuten draait.

Domoticz Energiekosten

Update 06-03-2020: Lees je waterkosten per maand uit via Domoticz

Met dank aan Thomas is het ook mogelijk om je waterkosten uit te lezen. Maak 2 nieuwe virtuele sensoren aan (zie hierboven voor de uitleg).

Voeg onderstaande code als los dzVents script toe of combineer hem met het script hierboven.

return {
on = {
timer = {
'every 30 days'
},
},
execute = function(domoticz, device, timer)

local vandaagLiters = domoticz.devices(‘Water’).counterToday

local WaterKosten = domoticz.devices(‘Waterkosten’)

— Eenheidsprijs in Euro’s / Liters
local LitersPrijs = 0.09

— Vaste kosten in Euro’s per dag (zoals vastrecht)
local LitersPrijsVast = 0.20

— Kosten berekenen
local LitersKosten = tonumber(domoticz.utils.round( (LitersPrijs * vandaagLiters) + LitersPrijsVast,2))

— Kosten updaten
WaterKosten.updateCustomSensor(LitersKosten)

end
}

Let op: Om je waterverbruik te monitoren heb je een watermeter nodig die op jouw watermeter past. Deze zijn te koop voor circa € 90,-. Deze dien je zelf met een uitbreidingsboard op je Raspberry Pi te solderen.

Wil je nog meer besparen? Lees de 5 tips om te besparen met een slim huis.

Vond je dit artikel waardevol? Dan zou ik het zeer waarderen als je een reactie achterlaat. Je mag natuurlijk ook vragen stellen, ik help je waar ik kan.