DomoticzDzVentsMijn Smart HomeScripts

Dagelijkse energiekosten weergeven in Domoticz

5 reacties

In een eerder blog heb ik je verteld over de slimme meter uitlezen in Domoticz. 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

 

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.

Tags: Domoticz, DzVents, Mijn Smart Home, Scripts

5 reacties. Reactie plaatsen

  • Leuk! Ook ik ben al een tijdje aan het experimenteren met Domoticz, waarbij inmiddels zo “ambitieus” ben geworden dat ik verder wil dan enkele Blockly schakel scriptjes.
    Jouw script – met de duidelijke uitleg – gekopieerd en werkt in één keer. Omdat ik nieuwsgierig was of het werkte had ik de timer op 2 min. aangepast 😉 Bedankt voor dit mooie script!

    Beantwoorden
    • Hi Thomas,

      Gaaf om te horen dat het script ook voor jou werkt. Je bent vrij om met de instellingen te spelen.

      Let wel op dat een lagere interval zorgt voor meer schrijfopdrachten. Draai je Domoticz op een SD-kaart dan kan dit ten koste gaan van de levensduur.

      Groeten,
      Krijn

      Beantwoorden
  • Hallo Krijn,
    Je hebt eer van je werk. Onder inspiratie van jouw Tread vanmorgen ook mijn Waterkosten zichtbaar gemaakt. Mijn eerste – maar vanuit jouw idee – werkend stukje dzVents experiment;-). Ik moet nog even experimenteren met de kostenfactoren, maar dat komt wel goed. Timer staat hier op 1 min, maar zet ik terug op 15 min. Nogmaals bedankt.
    return {
    on = {
    timer = {
    ‘every 1 minutes’
    },
    },
    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
    }

    Beantwoorden
  • Weer gelukt! Met wat knippen, plakken en toch ook een beetje zelf nadenken 😉 heb ik nu een label in Domoticz dat de kosten voor stroom, gas én ook water weergeeft.
    Mijn “watermeter” is overigens een 8mm inductieve opnemer bovenop de meter die de omwentelingen van het meetschijfje telt en die vervolgens via een esp8266 naar Domoticz stuurt.

    Beantwoorden

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Fill out this field
Fill out this field
Geef een geldig e-mailadres op.

Ook interessant voor jou…

Mijn Smart Home Z Wave Usb Installeren Domoticz
Z-Wave USB stick installeren in Domoticz
Mijn Smart Home Domoticz Installeren
Hoe installeer je Domoticz op een Rasberry Pi? (4 Stappen)

This content will appear inside a popup…

Menu