Jaarlijkse energie- en waterkosten in Domoticz

Enige tijd geleden hebben we een artikel geschreven waarin uitgelegd werd hoe je de stroom-, gas- en waterkosten per dag in Domoticz inzichtelijk kunt maken. Uiteraard wil je ook inzicht hebben in de jaarlijkse kosten en, nog belangrijker, hoeveel je aan het einde van de contractperiode bij moet betalen of terugkrijgt van de energieleverancier.

Benodigdheden

Allereerst dien je de dagelijkse stroom-, gas- en wakerkosten in Domoticz inzichtelijk te hebben. Mocht je dat nog niet hebben, volg dan dit artikel. Let op dat je de vaste kosten in het script op 0,00 EUR zet, anders worden ze later dubbel berekend!

User Variables

Om dagelijks de verbruikskosten op te kunnen halen maken we gebruik van user variables. Maak drie user variable aan, allen van het type “Float” en geef ze de namen:

  • Waterkosten_Jaar
  • Gaskosten_Jaar
  • Stroomkosten_Jaar

Je moet ze ook direct een waarde geven: dit waarde is het verbruik x prijs sinds het begin van de huidige contractperiode. Pak even de laatste jaarafrekening erbij, hier staat de eindstand van de vorige contractperiode op. Haal deze stand af van de huidige stand op de meter en je hebt het verbruik sinds het begin van de huidige contractperiode. Ook kun je eventueel op de website of app van je energieleverancier kijken wat je huidig verbruik is. Vermenigvuldig het verbruik met de prijs per eenheid. Let op! Vaste kosten (als netbeheer, energiebelasting, etc.) moet je nu buiten beschouwing laten, dit komt later. In onderstaand voorbeeld heb ik dus 164 m3 gas à 0,8016 EUR = 131,47 EUR verbruikt sinds 1 november 2018.

User variables voor energiekosten

Virtuele sensoren

Maak nu 7 virtuele sensoren van het type “Custom Sensor” aan. De namen mogen eventueel afwijken van onderstaand voorbeeld, aangezien we de IDX-nummers gaan gebruiken.

Virtuele sensoren voor energiekosten

Korte uitleg van de betekenis van de sensoren:

  • Stroomkosten huidig jaar: hier komen de variabele kosten (het aantal kW’s x prijs) sinds het begin van de contractperiode in te staan. Dat hoeft dus niet perse sinds 1 januari te zijn!
  • Gaskosten huidig jaar: hier komen de variabele kosten (het aantal m3 x prijs) sinds het begin van de contractperiode in te staan. Dat hoeft dus niet perse sinds 1 januari te zijn!
  • Waterkosten huidig jaar: hier komen de variabele kosten (het aantal m3 x prijs) sinds het begin van de contractperiode in te staan. Dat hoeft dus niet perse sinds 1 januari te zijn!
  • Afrekening Stroom & Gas: het bedrag te betalen (of te ontvangen indien negatief). Hierin zitten de vaste kosten en voorschotten van de gehele contractperiode en de variabele kosten tot de dag van vandaag. Als ik nu tot het einde van het contract geen stroom of gas meer verbruik dan zou ik 642,57 EUR terug ontvangen. Echter, mijn contract loopt nog tot november, dus zal dit bedrag nog aardig naar beneden gaan.
  • Afrekening Water: het bedrag te betalen (of te ontvangen indien negatief). Hierin zitten de vaste kosten en voorschotten van de gehele contractperiode en de variabele kosten tot de dag van vandaag. Als ik nu tot het einde van het contract geen water meer verbruik dan zou ik 19,21 EUR terug ontvangen. Echter, mijn contract loopt nog tot september, dus zal dit bedrag nog naar beneden gaan.
  • Afr. Stroom & Gas Realtime: het bedrag te betalen (of te ontvangen indien negatief) op dit moment. Hierin zitten de vaste én variabele kosten, voorschot, etc. tot de dag van vandaag. Dit is dus een aardige indicator of je voorschotten en kosten in evenwicht zijn (let er wel op dat in de winter de kosten hoger zijn dan de voorschotten, in de zomer is dat andersom).
  • Afrekening Water Realtime: het bedrag te betalen (of te ontvangen indien negatief) op dit moment. Hierin zitten de vaste én variabele kosten, voorschot, etc. tot de dag van vandaag. Dit is dus een aardige indicator of je voorschotten en kosten in evenwicht zijn.

Aan het einde van de contractperiode zullen sensor “Afrekening Stroom & Gas” en “Afr. Stroom & Gas Realtime” logischer wijze vrijwel gelijk zijn.

Script

Nu alle voorbereiding klaar zijn is het tijd voor het script. Download hier het script en sla het op in de folder /home/pi/domoticz/scripts/lua met de naam script_time_energie_jaar.lua of plak het script in de interne editor van Domoticz als LUA-script van het type Timer.

Op regel 5 t/m 11 vul je de IDX-nummers van je zojuist aangemaakt virtuele device in. Op regel 14 t/m 21 vul je de diverse tarieven van vaste kosten en voorschot in. Let erop dat het bedrag van “Energiebelasting” negatief moet zijn! Op regel 24 t/m 27 vul je de ingangsdatum van het contract in. In het voorbeeld is het stroom/gas-contract op 1 november ingegaan en het watercontract op 1 september. Deze data zijn nodig om de gegevens te resetten, zodra een nieuw contractperiode ingaat. Ook zal je op deze dag een notificatie ontvangen, zodat je eraan herinnerd wordt om eventueel de tarieven aan te passen.

De rest van het script kun je ongewijzigd laten. Het script zal dagelijks om 23.59 uur de user variables en virtuele sensoren bijwerken.

Energie- en waterkosten

Als alles goed gegaan is dan zal je iets als onderstaande zien:

  • Stroomkosten huidig jaar: voor 117,09 EUR aanstroom (kW) verbruikt sinds 1-11-2018.
  • Gas-kosten huidig jaar: voor 131,51 EUR aan gas (m3 ) verbruikt sinds 1-11-2018.
  • Waterkosten huidig jaar: voor 0,01 EUR aan water (m3) verbruikt sinds 1-9-2018 (bedrag klopt natuurlijk niet, was een testje).
  • Afrekening Stroom & Gas: indien ik nu geen stroom en gas meer verbruik, maar wel mijn voorschotten blijf betalen, krijg ik aan het einde van de contractperiode 642,57 EUR terug.
  • Afrekening Water: indien ik nu geen water meer verbruik, maar wel mijn voorschotten blijf betalen, krijg ik aan het einde van de contractperiode 19,21 EUR terug.
  • Afr. Stroom & Gas Realtime: voorschotten vs alle kosten tot de dag van vandaag. Tot nu toe heb ik 202,99 EUR meer aan voorschotten betaald dan mijn totale kosten tot de dag van vandaag zijn.
  • Afrekening Water Realtime: voorschotten vs alle kosten tot de dag van vandaag. Tot nu toe heb ik 12,94 EUR meer aan voorschotten betaald dan mijn totale kosten tot de dag van vandaag zijn.

25 gedachten over “Jaarlijkse energie- en waterkosten in Domoticz

  • 6 mei 2019 om 17:59
    Permalink

    Hallo Joost,
    Een hele mooie serie artikelen (projecten) voor inzicht in energie-verbruik m.b.v. Domoticz. Heb ze allemaal draaiende. Dank daarvoor.

    Ik heb wel een opmerking:
    Ik zie dat verschillende scripts vaak aan het einde van de dag geactiveerd worden (23:58 uur). Op dat moment heeft mijn slimme meter, en die van vele anderen, het gasverbruik gedurende het volledige laatste uur, die dag, nog niet geschreven. Het resultaat is dat een aantal berekeningen zoals verbruik/graaddag niet accuraat zijn.

    met een vriendelijke groet,

    Beantwoorden
    • 6 mei 2019 om 20:04
      Permalink

      Hoi Jan, heeft de slimme meter het gasverbruik van het laatste uur nog niet doorgegeven? Of is het niet (direct) zichtbaar in Domoticz?
      Bij mij worden de gas-kosten (via dit script) iedere 5 minuten bijgewerkt. In dat geval mis je slechts het gasverbruik tussen 23.55 en 0.00 uur, wat bij de meeste huishoudens nihil zal zijn.

      Beantwoorden
      • 6 mei 2019 om 21:19
        Permalink

        Joost, dat is juist. De nieuwe meters geven de gegevens door per 5 minuten. Mijn meter, ouder type maar waarvan er veel zijn geplaatst, doet dat slechts eenmaal per uur. Wellicht iets om rekening mee te houden. Bijvoorbeeld uitlezen om 00:02 uur en iedereen heeft exacte resultaten.

        Beantwoorden
        • 11 mei 2019 om 10:18
          Permalink

          Jan, wellicht iets voor de toekomst, maar ik heb er nu helaas geen tijd voor.

          Beantwoorden
  • 11 mei 2019 om 10:16
    Permalink

    In het script zat een foutje met het berekenen van het aantal dagen sinds de begin datum van het energiecontract, dit is nu aangepast in het script.

    Beantwoorden
  • 25 september 2019 om 22:31
    Permalink

    Top script. ik ben alleen nog even aan het uitzoeken hoe ik de Vermindering energiebelasting er in verwerk.

    Beantwoorden
    • 26 september 2019 om 07:17
      Permalink

      Binnenkort zal er een nieuw script online komen, deze houdt rekening met vermindering energiebelasting en zal ook een schatting geven van jaarlijks verbruik/kosten.

      Beantwoorden
  • 25 december 2019 om 14:55
    Permalink

    Goeden dag
    Is er iemand die mij kan helpen het is misschien iets kleins, ik krijg de volgende fout.

    2019-12-25 14:50:00.218 Error: EventSystem: in Stroom en gas kosten: [string “– Tijd en datum bepalen…”]:89: attempt to perform arithmetic on global ‘StroomkostenJaar’ (a nil value)

    Alvast bedankt voor de hulp

    Groet Rene

    Beantwoorden
  • 26 december 2019 om 13:27
    Permalink

    Heb een probleem met het volgende.

    — Kosten berekenen vanaf begin contractperiode
    local SKJ = StroomkostenJaar + StroomkostenDag
    local GKJ = GaskostenJaar + GaskostenDag
    local WKJ = WaterkostenJaar + WaterkostenDag

    De waarde van ‘StroomkostenJaar’ is en blijft nul.

    Ik vermoed dat ik hier de variabele moet uitlezen maar die heet “Stroomkosten_jaar”zoals in de tekst vermeld wordt.
    Enig idee ?

    Beantwoorden
  • 16 maart 2020 om 21:54
    Permalink

    Mooi script, net als de dagelijkse kosten die ik heb draaien met hoog en laag tarief voor stroom. Wou deze ook gaan doen maar hoe doe ik dat nu in dit script?

    Beantwoorden
    • 17 maart 2020 om 07:30
      Permalink

      Je geeft aan dat je het script ‘dagelijkse kosten’ ook al reeds gebruikt. In dit script wordt rekening gehouden met hoog/laag tarief.
      Het script ‘jaarlijkse kosten’ haalt de dagelijkse kosten (dus reeds incl. hoog/laag verbruik) op en hoef je er dus verder geen rekening meer mee te houden.

      Beantwoorden
  • 7 mei 2020 om 13:05
    Permalink

    Mooi script, maar krijg hem als een lange zin binnen. ik zal het ongetwijfeld niet goed doen.
    kan ik het script ontvangen per mail evt ? dan kan ik hem knippen plakken dmv DZvents

    hartelijk dank

    Beantwoorden
    • 8 mei 2020 om 07:30
      Permalink

      Bestand downloaden en dan openen in Notepad++ en de regels staan allemaal goed 🙂

      Beantwoorden
  • 21 juni 2020 om 08:43
    Permalink

    heb het script er in staan maar helaas krijg ik deze melding

    Error: EventSystem: in stroom lua: [string “– Tijd en datum bepalen…”]:89: attempt to perform arithmetic on a nil value (global ‘StroomkostenJaar’)

    kan er mij iemand mij een oplossing bieden , ik kom er niet uit

    Beantwoorden
  • 21 januari 2021 om 19:32
    Permalink

    Beste Joost, sinds een hele periode heb ik de stroom-, gas- (en waterkosten) per dag in Domoticz inzichtelijk. Ik kwam jouw stukje proza twee weken tegen en dat maakte mij nieuwsgierig. Ik heb toen – op 4 januari – precies gedaan wat je stap voor stap aangaf. Wat mij opviel was dat de kosten die jij hebt ingegeven als zijnde de gemaakte kosten sinds het ingaan van je contract zichtbaar zijn in “Mijn apparaten”. Bij mij staat er in “Mijn apparaten” achter die zeven sensoren blijvend 0 EUR).
    Het aan mijn gegevens – boven de stippellijn – aangepaste .lua script (data, prijzen, ingangsdatum contracten etc.) heb ik met WinSCP naar de betreffende plek in Domoticz gekopieerd.
    Ik krijg echter alle zeven aangemaakte virtuele sensoren in het rood te zien en er verandert sinds de installatie ervan helemaal niets, ze blijven op 0 Euro staan. Ik zou het fijn vinden als jij – of misschien iemand anders die dit leest – me mss aan kan geven wat hier wellicht fout is gegaan?

    Beantwoorden
    • 21 januari 2021 om 20:08
      Permalink

      Hoi Rob, krijg je een foutmelding de logging te zien?

      Beantwoorden
  • 23 januari 2021 om 12:51
    Permalink

    Dag Joost, sorry voor de late reactie, ik verwachtte eigenlijk een berichtje in mijn mailbox als er een reply zou zijn, maar dat is niet gebeurd.

    Ik krijg geen enkele foutmelding. Als ik de virtuele sensoren aanklik dan zijn alle velden (dag, maand, jaar) gewoon leeg. Ik vind (of krijg) ook geen foutmelding in het .lua script. Mocht je een en ander willen zien dan kan ik wellicht per mail screenshots aanleveren, mss werkt dat verhelderend. Maar wellicht heb je daar zelf een ander idee over, graag hoor ik van je.

    Beantwoorden
  • 23 januari 2021 om 13:33
    Permalink

    Dag Joost, ik dacht toch echt dat ik een paar minuten geleden een reactie had geplaatst, maar die zie ik hier ineens niet meer terug, rara pindakaas. Eniwee, nog maar een keer dan.
    Sorry voor mijn late reactie op jouw reply. Ik had een berichtje in mijn mailbox verwacht als er een reply was, maar dat is niet gebeurd.
    Ik krijg geen enkele foutmelding te zien, niet in het .lua script en ook niet in Domoticz als ik die opstart. De dag-, maand- en jaarvelden in de virtuele sensors blijven helemaal leeg, er wordt blijkbaar niets geregistreerd. Als je wil dan kan ik met e-mail wel wat screenshots sturen ter verduidelijking van een en ander. Of misschien heb je zelf nog wel een ander idee, graag hoor ik van je.

    Beantwoorden
    • 3 februari 2021 om 12:14
      Permalink

      Hoi Joost, k had gehoopt dat je me zou kunnen helpen. ik wacht al geruime tijd op een reactie en zou graag willen weten of die nog komt. Zo niet, dan hoef ik dat niet meer dagelijks te controleren en moet ik het jammer genoeg afsluiten zonder oplossing.

      Beantwoorden
        • 15 februari 2021 om 16:31
          Permalink

          Ik heb het geprobeerd, maar bij het aanmaken van de Cronjob ging het niet goed. Ik kreeg eerst met crontab -e de melding “no crontab for pi – using an empty one” en een file (in blauw) dat ik zou kunnen/moeten editen. Met contr/X heb ik die file beëindigd.
          Daarna heb ik de regel */5 * * * * sudo php /home/pi/domoticz/scripts/php/energie.php ingegeven met als resultaat -bash: */5: Bestand of map bestaat niet.
          Vervolgens heb ik alleen sudo php /home/pi/domoticz/scripts/php/energie.php ingegeven met als resultaat “Could not open input file: /home/pi/domoticz/scripts/php/energie.php” terwijl ik toch echt dat .php script op de juiste plaats heb gezet. Ik ben er wel een beetje klaar mee eerlijk gezegd. Wat gaat hier toch allemaal fout 😦

          Beantwoorden
          • 15 februari 2021 om 16:55
            Permalink

            Heb je het PHP script wel de juiste rechten gegeven (755)?

          • 15 februari 2021 om 16:59
            Permalink

            Vraag als ik te veel van je als ik zeg niet te weten hoe dat moet?

  • 5 februari 2021 om 19:02
    Permalink

    In ieder geval dank voor de reply. Ziet er wel heel erg onbekend uit – ik was al blij dat ik het vorige LUA protocol/script zonder “Cronjjob, – wat is dat nu weer? – wist te installeren. Maar goed, ik ga het proberen en laat uiteraard weten hoe dat is gelopen.

    Beantwoorden

Geef een antwoord

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