Gas en Elektra prijzen exact berekenen

In Home Assistant kun je met een P1 meter die je op je slimme meter aansluit je stroom en gasverbruik uitlezen. Hieraan kun je dan weer een m3 of kWh prijs aan koppelen en zien hoeveel je verbruik kost.
Is dit accuraat hoor ik je denken? Ja, de P1 meter is zeer nauwkeurig en de prijs is dan eenvoudig te berekenen. Echter aan het eind van de maand klopt de prijs niet.
Dat komt omdat belastingen, vastrecht en leveringskosten niet worden meegenomen.
Wil je exact kunnen zien wat je per dag, week, maand of wat dan ook kwijt bent?
Lees dan vooral verder! Ik heb een berekening gemaakt die alles meeneemt om tot de juiste prijzen te komen.

Welke gegevens heb je nodig?

Om de juiste berekening te kunnen maken heb je de volgende gegevens nodig:

Gegevens Elektra:

  • Prijs per kWh Normaal tarief
  • Prijs per kWh Dal tarief
  • Belasting vermindering (per dag)
  • Vastrecht (per jaar)
  • Vaste leveringskosten (per dag)

    Gegevens Gas:
  • Prijs per m3
  • Vaste leveringskosten (per dag)
  • Vastrecht (per jaar)

Wat betreft P1 meter gebruik ik zelf die van Homewizard. De sensoren zijn hier ook in de berekening op afgestemd maar kunnen eenvoudig aan willekeurige P1 meters worden aangepast.

Aan de slag!

Als eerste moeten we een aantal Helpers in Home Assistant aanmaken. Helpers zijn entiteiten die van alles kunnen bevatten zoals een status of waardes en die kunnen helpen bij het realiseren van o.a. berekeningen. Zo gaan we helpers aanmaken voor gas en elektra verbruik per dag, week, maand, kwartaal en jaar. Maar ook helpers voor vastrecht, leveringskosten en belastingvermindering.

Helpers maken we aan in onderstaand scherm:

Home Assistant Helpers aanmaken

We maken nu eerst een numerieke helper aan voor de gasprijs per m3, neem de gegevens over uit onderstaand voorbeeld:

Numerieke Helper aanmaken

Noem deze: Gas – Prijs per m3
Neem de gegevens over zoals hieronder:

En klik vervolgens op Aanmaken.
Klik daarna op de aangemaakte helper en het volgende scherm zal openen:

Vul bij €/m3 jouw tarief per m3 gas in. Druk op enter en sluit het schermpje af.
Je hebt nu de eerste helper aangemaakt!

Maak nu nog meer helpers aan voor de volgende entiteiten met de volgende waardes:

NaamPictogramMin WaardeMax WaardeModusStapgrootteEenheid
Elektra – Belasting Verminderingmdi:currency-eur0100Invoerveld1€/dag
Elektra – Tarief 1 Prijs per kWhmdi:currency-eur0100Invoerveld1€/kWh
Elektra – Tarief 2 Prijs per kWhmdi:currency-eur0100Invoerveld1€/kWh
Elektra – Vaste Leveringskostenmdi:currency-eur0100Invoerveld1€/dag
Elektra – Vastrecht Jaarmdi:currency-eur0100Invoerveld1€/jaar
Gas – Belastingmdi:currency-eur0100Invoerveld1€/m3
Gas – Vaste leveringskostenmdi:currency-eur0100Invoerveld1€/dag
Gas – Vastrechtmdi:currency-eur0100Invoerveld1€/jaar
Tabel: Gas en Elektra prijzen

Oké, nu hebben we de helpers voor de tarieven aangemaakt. Na het maken van de helpers klik je op alle helpers om de tarieven in te vullen zoals we in het eerste voorbeeld al hebben gedaan voor de Prijs per m3.

Helpers voor de hoeveelheden gas en elektra dag/week/maand/kwartaal/jaar

Als je rechtstreeks de P1 meter uitleest dan krijg je daar prima waardes uit alleen “rouleren” deze waardes niet. Als je je verbruik inzichtelijk per dag/week/maand etc wilt maken, dan moeten we helpers aanmaken die de waardes rouleren. Hiervoor gebruiken we geen numerieke helpers maar Nutsmeter helpers.

Maak weer een helper aan en kies voor Nutsmeter.
Als voorbeeld hieronder een afbeelding:

Nutsmeter helper Home Assistant

Hieronder een tabel met alle nutsmeter helpers die aangemaakt moeten worden.
Van belang is dat de Invoer Sensor klopt! In dit artikel zijn de sensoren gebaseerd op de Homewizard P1 meter. Als je een andere gebruikt, wees er dan zeker van dat je de juiste sensoren gebruikt.

NaamInvoer SensorMeter reset Cyclus
gasverbruik_deze_maandP1 Meter Totaal gasverbruikMaandelijks
gasverbruik_deze_weekP1 Meter Totaal gasverbruikWekelijks
gasverbruik_vandaagP1 Meter Totaal gasverbruikDagelijks
gasverbruik_dit_kwartaalP1 Meter Totaal gasverbruikPer Kwartaal
gasverbruik_dit_jaarP1 Meter Totaal gasverbruikJaarlijks
elektraverbruik_vandaag_tarief1P1 Meter Totaal afname tarief 1Dagelijks
elektraverbruik_vandaag_tarief2P1 Meter Totaal afname tarief 2Dagelijks
elektraverbruik_week_tarief1P1 Meter Totaal afname tarief 1Wekelijks
elektraverbruik_week_tarief2P1 Meter Totaal afname tarief 2Wekelijks
elektraverbruik_maand_tarief1P1 Meter Totaal afname tarief 1Maandelijks
elektraverbruik_maand_tarief2P1 Meter Totaal afname tarief 2Maandelijks
elektraverbruik_kwartaal_tarief1P1 Meter Totaal afname tarief 1Per Kwartaal
elektraverbruik_kwartaal_tarief2P1 Meter Totaal afname tarief 2Per Kwartaal
elektraverbruik_jaar_tarief1P1 Meter Totaal afname tarief 1Jaarlijks
elektraverbruik_jaar_tarief2P1 Meter Totaal afname tarief 2Jaarlijks
Tabel: Nutsmeter helpers gas en elektra

Nu hebben we alle helpers aangemaakt!
We hebben de nutsmeter helpers die ons gaan voorzien van het dagelijks, wekelijks etc. verbruik van gas en elektra en de numerieke helpers met de kosten die aan het verbruik zijn gekoppeld.
Nu is het zaak om dit allemaal samen te laten komen zodat het verbruik en kosten berekend gaan worden.
Om dit te bereiken moeten we de berekening toevoegen aan de Home Assistant configuratie.
Dit kunnen we niet via de webinterface maar we moeten hiervoor de Configuration.yaml bewerken.
Hiervoor heb je toegang nodig tot de bestanden in de Config folder van Home Assistant.
Voor nu heb ik enkel een voorbeeld van Home Assistant in een Docker omgeving dus laat ik dat hier zien.
Configuraties zijn altijd hetzelfde ongeacht of het Docker, NUC of Raspberry Pi installatie is. Alleen de manier waarop je de bestanden benaderd is anders.

Configuration.yaml aanpassen

In dit artikel draait het dus om de Docker variant op een Synology.
Log in op de admin omgeving in DSM op de Synology en via Filestation blader je naar de map waar je de Home Assistant configuratie bestanden hebt staan.

Configuration.yaml aanpassen

Klik met de rechtermuisknop op configuration.yaml en kies Openen met tekstverwerker
Je komt dan in onderstaand scherm:

configuration.yaml Home Assistant bewerken

Ga dan naar de laatste regel en plak onderstaande code onderin het configuration.yaml bestand.

  - platform: template
    sensors:
      gasprijs_per_dag:
        friendly_name: "Kosten gasverbruik Vandaag"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gas_prijs_per_m3') | float %}
          {% set c = states('input_number.gas_vaste_leveringskosten') | float %}
          {% set d = states('input_number.gas_vastrecht') | float /365 %}
          {{ ((a * b) + c + d ) | round(2) }}
      gasprijs_per_week:
        friendly_name: "Kosten gasverbruik deze week"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_deze_week') | float %}
          {% set b = states('input_number.gas_prijs_per_m3') | float %}
          {% set c = states('input_number.gas_vaste_leveringskosten') | float *365/52 %}
          {% set d = states('input_number.gas_vastrecht') | float /52 %}
          {{ ((a * b) + c + d ) | round(2) }}
      gasprijs_per_maand:
        friendly_name: "Kosten gasverbruik deze maand"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_deze_maand') | float %}
          {% set b = states('input_number.gas_prijs_per_m3') | float %}
          {% set c = states('input_number.gas_vaste_leveringskosten') | float *365/12 %}
          {% set d = states('input_number.gas_vastrecht') | float /12 %}
          {{ ((a * b) + c + d ) | round(2) }}
      gasprijs_per_kwartaal:
        friendly_name: "Kosten gasverbruik dit kwartaal"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_dit_kwartaal') | float %}
          {% set b = states('input_number.gas_prijs_per_m3') | float %}
          {% set c = states('input_number.gas_vaste_leveringskosten') | float *365/4 %}
          {% set d = states('input_number.gas_vastrecht') | float /4 %}
          {{ ((a * b) + c + d ) | round(2) }}
      gasprijs_per_jaar:
        friendly_name: "Kosten gasverbruik dit jaar"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_dit_jaar') | float %}
          {% set b = states('input_number.gas_prijs_per_m3') | float %}
          {% set c = states('input_number.gas_vaste_leveringskosten') | float *365 %}
          {% set d = states('input_number.gas_vastrecht') | float %}
          {{ ((a * b) + c + d ) | round(2) }}
      stroomprijs_per_dag_t1:
        friendly_name: "Kosten stroomverbruik Vandaag Tarief 1"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_vandaag_tarief1') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /365 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float %}
          {{ ((a * b) + (c / 3) + (d / 3) + (e / 3)) | round(2) }}
      stroomprijs_per_week_t1:
        friendly_name: "Kosten stroomverbruik deze week Tarief 1"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_week_tarief1') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/52 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /52 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/52 %}
          {{ ((a * b) + (c / 3) + (d / 3) + (e / 3)) | round(2) }}
      stroomprijs_per_maand_t1:
        friendly_name: "Kosten stroomverbruik deze maand Tarief 1"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_maand_tarief1') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/12 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /12 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/12 %}
          {{ ((a * b) + (c / 3) + (d / 3) + (e / 3)) | round(2) }}
      stroomprijs_per_kwartaal_t1:
        friendly_name: "Kosten stroomverbruik dit kwartaal Tarief 1"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_kwartaal_tarief1') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/4 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /4 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/4 %}
          {{ ((a * b) + (c / 3) + (d / 3) + (e / 3)) | round(2) }}
      stroomprijs_per_jaar_t1:
        friendly_name: "Kosten stroomverbruik dit jaar Tarief 1"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_jaar_tarief1') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365 %}
          {{ ((a * b) + (c / 3) + (d / 3) + (e / 3)) | round(2) }}
      stroomprijs_per_dag_t2:
        friendly_name: "Kosten stroomverbruik Vandaag Tarief 2"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_vandaag_tarief2') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /365 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float %}
          {{ ((a * b) + (c / 3 * 2) + (d / 3 * 2) + (e / 3 * 2)) | round(2) }}
      stroomprijs_per_week_t2:
        friendly_name: "Kosten stroomverbruik deze week Tarief 2"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_week_tarief2') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/52 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /52 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/52 %}
          {{ ((a * b) + (c / 3 * 2) + (d / 3 * 2) + (e / 3 * 2)) | round(2) }}
      stroomprijs_per_maand_t2:
        friendly_name: "Kosten stroomverbruik deze maand Tarief 2"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_maand_tarief2') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/12 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /12 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/12 %}
          {{ ((a * b) + (c / 3 * 2) + (d / 3 * 2) + (e / 3 * 2)) | round(2) }}
      stroomprijs_per_kwartaal_t2:
        friendly_name: "Kosten stroomverbruik dit kwartaal Tarief 2"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_kwartaal_tarief2') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365/4 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float /4 %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365/4 %}
          {{ ((a * b) + (c / 3 * 2) + (d / 3 * 2) + (e / 3 * 2)) | round(2) }}
      stroomprijs_per_jaar_t2:
        friendly_name: "Kosten stroomverbruik dit jaar Tarief 2"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_jaar_tarief2') | float %}
          {% set b = states('input_number.elektra_tarief_1_prijs_per_kwh') | float %}
          {% set c = states('input_number.elektra_vaste_leveringskosten') | float *365 %}
          {% set d = states('input_number.elektra_vastrecht_jaar') | float %}
          {% set e = states('input_number.elektra_belasting_vermindering') | float *365 %}
          {{ ((a * b) + (c / 3 * 2) + (d / 3 * 2) + (e / 3 * 2)) | round(2) }}
      stroomprijs_per_maand_totaal:
        friendly_name: "Kosten stroomverbruik deze maand totaal"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.stroomprijs_per_maand_t1') | float %}
          {% set b = states('sensor.stroomprijs_per_maand_t2') | float %}
          {{ (( a + b )) | round(2) }}
      stroomverbruik_per_maand_totaal:
        friendly_name: "Stroomverbruik deze maand Totaal"
        unit_of_measurement: "kWh"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.elektraverbruik_maand_tarief1') | float %}
          {% set b = states('sensor.elektraverbruik_maand_tarief2') | float %}
          {{ (a + b) | round(3) }}
      prijs_per_maand_totaal:
        friendly_name: "Kosten stroom en gasverbruik deze maand totaal"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.stroomprijs_per_maand_totaal') | float %}
          {% set b = states('sensor.gasprijs_per_maand') | float %}
          {{ (( a + b )) | round(2) }}

Als je de code erin geplakt hebt, sla je configuration.yaml op.
Ga nu weer terug naar Home Assistant en laat Home Assistant opnieuw starten om de nieuwe entiteiten te activeren.
Zodra Home Assistant weer gestart is kun je de nieuwe entiteiten op je dashboard plaatsen en heb je inzicht in je dagelijks, wekelijks, maandelijks, kwartaal en jaar verbruik!

home assistant gas en elektra berekenen per dag week maand kwartaal jaar

Ik hoop dat dit duidelijk genoeg is!
Mocht je vragen hebben, laat dan een reactie achter of stuur een mail naar info@icttipsandtricks.nl en ik probeer je te helpen.

Deel dit:

1 gedachte over “Gas en Elektra prijzen exact berekenen”

  1. Alles gedaan zoals hierboven beschreven, maar krijg continu foutmeldingen. Invalid config for ’template’ at configuration.yaml, line 107: ‘-stroomprijs_per_jaar_t1′ is an invalid option for ’template, en dit gaat zo door voor elke configuratie.

Laat een reactie achter

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

Scroll naar boven