Sinds de start van de oorlog in Oekraïne vorig jaar februari is Europa in een energiecrisis terecht gekomen. De gasprijzen stegen enorm en sindsdien denken veel huizenbezitters bewuster na over het energieverbruik. Hierdoor kwam er een nieuwe energiecontractsvorm, namelijk een Dynamisch Energiecontract. Met een dynamisch energiecontract krijg je dynamische energieprijzen, deze wil ik graag in Home Assistant hebben!

Het is tegenwoordig erg interessant geworden om een dynamisch energiecontract aan te gaan met variabele energieprijzen. Je betaald een variabel tarief per kWh en m3. Voor gas varieert het tarief per dag, voor elektriciteit per uur. Bij een traditioneel contact is er voor gas een vaste prijs per kuub en een hoog en laag tarief voor stroom of, bij een enkele meter één vast tarief.

Met een dynamisch energiecontract kun je veel gerichter energie verbruiken voor een lage prijs. Zo bespaar je snel veel geld, want de dynamische tarieven liggen vaak veel lager dan de vaste prijzen van de traditionele energiecontracten. In combinatie met je smarthome platform kun je verbruik plannen en zo grip hebben op je kosten. De basis hebben veel smarthome eigenaren waarschijnlijk al omdat vele met domoticz de P1 poort uitlezen van hun slimme meter of via de DSMR P1 integratie datzelfde doen met Home Assistant.

Dynamische energieprijzen: even wat rechtzetten
Vaste prijs vs. dynamische prijzen

Dynamisch energiecontract afsluiten

Om van lage energietarieven te kunnen profiteren heb je een dynamisch energie contract nodig. Er zijn verschillende aanbieders, bijvoorbeeld ANWB, Zonneplan, Tibber en Frank.

Vergelijk de aanbieders eerlijk!

Let op bij het vergelijken van de energieaanbieders! ANWB bijvoorbeeld weergeeft de tarieven inclusief BTW, maar zonder overheidsheffingen. Hierdoor komt er nog circa € 0,15 op de prijs per kWh bij!

Ik heb mijn contract afgesloten bij Frank Energie, omdat zij voor mij het beste aanbod hadden. De rest van dit artikel gaat dan ook verder over Frank Energie, maar kan ook op eenzelfde manier voor de andere energie aanbieders worden gebruikt.

Vrienden van Frank

Wil je ook een Dynamisch Energiecontract? Overweeg dan Frank Energie! Via mijn link krijg je €50 korting op je energiefactuur of Frank plaatst 10 bomen via het project Trees for All.

Dynamisch Energiecontract in Home Assistant

Inmiddels is er voor iedere dynamische energie-aanbieder wel een HACS integratie beschikbaar. Hiermee voeg je sensoren en meters toe aan Home Assistant met daarin de informatie over de huidige stroomprijs, gasprijs, verwachting en hoog/laagprijspieken bijvoorbeeld. Bij sommige integraties kun je ook inloggen, waarmee je ook informatie kunt verkrijgen over je vorige en aankomende facturen.

Frank Energie toevoegen aan Home Assistant

We gaan gebruik maken van de HACS integratie Frank Energie. Deze integratie maakt optioneel verbinding met je Frank Energie account om zo de prijzen binnen te halen in Home Assistant. De integratie is niet officieel, maar ontwikkeld door hobbyisten, enthousiastelingen en klanten van Frank, dus ook niet door Home Assistant zelf. Vandaar dat het ook in de HACS store staat. Via HACS kun je allerlei custom components toevoegen aan Home Assistant welke worden onderhouden door hobbyisten.

HACS installeren en repo toevoegen

Eerst installeer je HACS, mocht je dat nog niet gedaan hebben. Als HACS geïnstalleerd is, voeg je de Frank Energie repository toe aan HACS. Klik hiervoor op de 3 puntjes rechtbovenin het HACS scherm, en vervolgens op Aangepaste repositories.

Voeg een aangepaste repository toe aan HACS

Vul in het invoerveld de volgende URL in:

https://github.com/bajansen/home-assistant-frank_energie

Gebruik voor categorie “integratie”.

Voeg een aangepaste repository toe aan HACS

Wanneer je nu terug in het hoofdscherm van HACS bent, kun je zoeken op “Frank”. Dit geeft je de Frank Energie integratie als resultaat.

Frank Energie integratie voor Home Assistant in de HACS store.

Download de integratie en herstart Home Assistant wanneer dat nodig is.

Frank Energie integratie toevoegen

Nadat Home Assistant herstart is kun je via Instellingen -> Integraties klikken op “Integratie toevoegen”. Zoek in dit scherm Frank.

Frank Energie integratie toevoegen aan Home Assistant

Klik op het resultaat en het onderstaande scherm verschijnt:

Kies of je wilt inloggen

Als je wenst inzicht te krijgen in je persoonlijke informatie vanuit Frank Energie in Home Assistant vink je het vinkje aan. Je kunt ook kiezen om geen accountgegevens te gebruiken. Je mist dan straks de volgende sensoren:

  • Actueel maandbedrag
  • Verwacht maandbedrag
  • Verwacht maandbedrag tot vandaag
  • Factuur deze periode
  • Factuur vorige periode
Energiekosten in Home Assistant vanuit de Frank Integratie

De andere prijssensoren die de integratie aanmaakt zijn:

  • Gemiddelde stroomprijs
  • Huidige stroom inkoopvergoeding
  • Huidige stroomprijs all-in
  • Huidige marktprijs stroom incl. BTW
  • Huidige marktprijs gas
  • Huidige gasprijs all-in
  • Huidige marktprijs gas incl. BTW
  • Hoogste prijs stroom vandaag
  • Hoogste prijs gas vandaag
  • Laagste prijs stroom vandaag
  • Laagste prijs gas vandaag

Standaard worden er nog 6 verborgen sensoren aangemaakt voor de inkoopvergoeding en BTW.

Dynamische energieprijzen in Home Assistant vanuit de Frank Integratie
Dynamische energieprijzen in Home Assistant vanuit de Frank Integratie

Dynamische energieprijzen in grafiek

Om een goed overzicht te krijgen van de dynamische energieprijzen in Home Assistant en je energieverbuik te plannen kun je een mooie grafiek plaatsen op één van je dashboards. Ik maak gebruik van Apex Charts. Met onderstaande grafiek krijg je inzicht in de elektriciteitsprijs voor de komende uren. Ik gebruik de All-in sensor zodat je de échte prijs weet die je betaald voor een kWh. Op basis van de grafiek kun je bepalen wanneer je je vaatwasser, wasmachine of droger aanzet. Apex Charts is ook te downloaden uit HACS.

Dynamische energieprijzen in een grafiek in Home Assistant
Dynamische energieprijzen in een grafiek in Home Assistant

Plak onderstaande code in een handmatige kaart op je dashboard. Pas eventueel de entity name aan als je een andere integratie gebruikt.

type: custom:apexcharts-card
graph_span: 20h
span:
  start: hour
  offset: '-3h'
now:
  show: true
  label: Nu
header:
  show: true
  show_states: true
  colorize_states: true
yaxis:
  - decimals: 2
    min: '|-0.10|'
    max: '|+0.10|'
series:
  - entity: sensor.current_electricity_price_all_in
    show:
      in_header: raw
      legend_value: false
    stroke_width: 2
    float_precision: 4
    type: column
    opacity: 0.3
    color: '#03b2cb'
    data_generator: |
      return entity.attributes.prices.map((record, index) => {
        return [record.from, record.price];
      }); 

Inzicht in huidige elektriciteitskosten

De apps van energieleveranciers lopen vaak 2 dagen achter en vertellen je dus niet wat je huidige elektriciteitskosten zijn op dit moment. Ik wilde graag weten wat ik op dit moment zou verdienen aan teruglevering van mijn zonnepanelen of wat de was in de droger doen nou kost in euro’s. Als je je dynamische energieprijzen in home assistant beschikbaar hebt kun je daar simpel achter komen met onderstaande code.

De code voeg je toe aan je configuration.yaml. Pas de sensornamen aan naar je eigen sensoren.

  • sensor.power_consumption = Huidig verbruik uit de P1 meter
  • sensor.power_production = Huidige teruglevering uit de P1 meter
  • sensor.current_electricity_price_all_in = Huidige all-in stroomprijs uit de Frank Energie integratie

Na een herstart krijg er een “Huidige Elektriciteitskosten” sensor bij. De sensor rekent de prijs uit die je betaalt of krijgt tegen het huidige tarief. Wanneer het tarief meer dan €0,17 negatief is (alle overheidsheffingen , BTW en inkoopvergoeding zijn ongeveer €0,17), kan het voorkomen dat je moet betalen om terug te leveren. Tot nu toe is dat op een aantal dagen in 2023 al gebeurd. Handig als je hierover dus een seintje krijgt. Je kunt hiervoor een automation maken om je te waarschuwen om de vaatwasser, droger, wasmachine aan te zetten of auto op te gaan laden om zo je eigen energie te gaan verbruiken in plaats van terug te leveren tegen een negatief tarief. Dat is wel even omdenken soms…

De werkelijke electriciteitskosten van je huis berekenen met dynamische energieprijzen in home assistant
De werkelijke elektriciteitskosten van je huis berekenen met dynamische energieprijzen in Home Assistant
 template:
   - sensor:
        - name: "Huidige Elektriciteitskosten"
          unit_of_measurement: "€"
          unique_id: huidige_elektriciteitskosten
          state: >
            {% set verbruik = states('sensor.power_consumption') | float %}
            {% set prijs = states('sensor.current_electricity_price_all_in') | float %}
            {% set opwek = states('sensor.power_production') | float %}
            {% if opwek > 0 | float %}
              {{ (-(opwek * prijs )) | round(2) }}
            {%- else %}
              {{ (+(verbruik * prijs )) | round(2) }}
            {%- endif %}
          

Werkelijk verbruik

Heb je zonnepanelen en lees je de P1 meter uit? Dan krijg je alleen gesaldeerde waarden uit de meter. In werkelijkheid gaat van je huidige teruglevering natuurlijk eerst je verbruik af. Om inzicht te krijgen in je werkelijke energieverbruik op dit moment heb ik een sensor gemaakt welke op basis van de P1 meter en de omvormer van je zonnepanelen het werkelijke verbruik berekend.

Het werkelijke stroomverbruik van je huis berekenen met dynamische energieprijzen in home assistant
Het werkelijke stroomverbruik van je huis berekenen

De onderstaande code voeg je toe aan je configuration.yaml. Pas de sensornamen aan naar je eigen sensoren.

  • sensor.power_consumption = Huidig verbruik uit de P1 meter
  • sensor.power_production = Huidige teruglevering uit de P1 meter
  • sensor.envoy_current_energy_production = Huidige opwek uit de omvormer van de zonnepanelen
  template: 
      - sensor:
          - name: "Werkelijk verbruik"
            unit_of_measurement: "W"
            state_class: measurement
            unique_id: werkelijk_verbruik
            state: >
              {% set P1_verbruik_huidig = states('sensor.power_consumption') | float *1000 %}
              {% set P1_terugleveren_huidig = states('sensor.power_production') | float *1000 %}
              {% set Enphase_opwek = states('sensor.envoy_current_energy_production') | float %}
              {{ (( P1_verbruik_huidig - P1_terugleveren_huidig + Enphase_opwek  )) | round(0) }}

De sensor is niet perfect want soms komt de waarde onder 0, en dat kan natuurlijk niet. De bronwaarden worden niet op exacte hetzelfde moment geüpdatet, dus komt er soms een vreemde waarde uit de berekening. Maar om een gevoel te krijgen wat je verbruik is gedurende de dag werkt het prima.

Wanneer de vaatwasser aanzetten?

Heb je nog een ‘domme’ vaatwasser zoals ik, dan is het met een dynamisch energie contract handig om te weten wanneer je ‘m het beste aan kunt zetten. Want, of de vaatwasser nou vol of half leeg is, hij draait altijd het volledige vaste programma af. Je kunt dan nog wel kiezen tussen Eco, Normaal, Snel en dergelijke, het verbruik van deze programma’s is per programma altijd gelijk. Dit wetende kun je dus berekenen wanneer het het voordeligste is om de vaatwasser aan te zetten. Ik gebruik hiervoor de Jinja macro Cheapest Energy Hours. Ook deze kun je installeren via HACS.

Cheapest Energy Hours

De Jinja macro berekend op basis van de dynamische energieprijzen in Home Assistant en verbruiksinformatie van je apparaat wat het beste moment is om het apparaat aan te zetten. De macro haalt z’n prijsinformatie op uit de Nordpool integratie. Deze moet je dus ook geïnstalleerd hebben. De Nordpool integratie geeft je dezelfde kWh-prijzen die de energieaanbieders gebruiken, exclusief eventuele opslag.

In dit voorbeeld ga ik berekenen wanneer het beste moment is om mijn vaatwasser in te schakelen. Om het verbruik in kaart te brengen heb ik een Shelly Plug S gebruikt. Je ziet hier een plot van het verbruik van het Eco-programma van mijn vaatwasser.

Het verbruik van de vaatwasser op het eco programma
Het verbruik van de vaatwasser op het eco programma

Het programma is handmatig uitgesteld met een knop op de machine tot circa 01:30. Het programma duurt circa 3 uur en stopt om 04:30. Tijdens de hoge pieken verbruikt het apparaat circa 2100 Watt, daartussen circa 50 Watt. Het totale verbruik van het Eco-programma is 0.85 kWh.

Dit is een plot van het ‘Normaal’ programma op mijn vaatwasser:

Het verbruik van de vaatwasser op het normaal programma
Het verbruik van de vaatwasser op het normaal programma

Het programma start weer rond 1:30 en is rond 04:00 klaar, totaal dus 2.5uur. Het bevat 3 pieken van circa 2100 Watt, met daartussen weer een periode van 50 Watt. Het totale verbruik van het Normaal-programma is 1.22 kWh.

Het verbruik is dus niet stabiel, maar variabel. Daarom is het interessant om te berekenen wanneer je het apparaat aanzet. Het kan namelijk zo zijn dat wanneer je het apparaat aanzet in het goedkoopste uur, en het apparaat verbruikt dan juist relatief minder energie, je duurder uit bent door het hogere verbruik voor een hogere prijs in de uren erna.

Wegingslijst

Om hiermee rekening te houden, werkt de Jinja macro met een wegingslijst. Ik heb de uren opgesplitst in kleinere delen, namelijk een kwartier, zodat het zo zou kunnen zijn dat het apparaat bijvoorbeeld om 01:45 uur moet worden ingeschakeld. De parameter no_weight_points geeft aan hoe vaak er in het uur gesplitst wordt. Het aantal uren wordt berekend op basis van de weging en no_weight_points.

Voor het Eco-Programma heb ik de volgende wegingslijst gemaakt:

{% set weight = [ 1, 105, 2, 2, 2, 2, 2, 2, 2, 105, 2, 1] %}

Voor ieder punt heb ik 20 Watt aangenomen omdat dit makkelijk uitkwam met het werkelijke verbruik. De 105 waarde zijn dus de pieken van 2100W (20×105=2100). Voor het Normaal-Programma ziet de wegingslijst er zo uit:

{% set weight = [ 1, 105, 2, 105, 2, 2, 2, 105, 2, 2] %}

Om 18:00, na het eten wil ik een bericht ontvangen wanneer het gunstig is om de vaatwasser aan te zetten. Is dat nu, vannacht of morgen overdag en wat kost dat dan?

Plak onderstaande code eens in Ontwikkelhulpmiddelen -> Sjablonen en speel wat met de waarden. Wanneer de prijzen voor morgen nog niet bekend zijn krijg je een error. Probeer het dan nog eens wanneer de prijzen bekend zijn, na 13:00 uur.

{% from 'cheapest_energy_hours.jinja' import cheapest_energy_hours %}
{% set weight = [ 1, 105, 2, 2, 2, 2, 2, 2, 2, 105, 2, 1] %}
{% set today = cheapest_energy_hours('sensor.nordpool', time_format='time24', start="18:30", end="06:00", include_tomorrow=true, no_weight_points=4, weight=weight ) %}
{% set price_today = (cheapest_energy_hours('sensor.nordpool', time_format='time24', start="18:30", end="06:00", include_tomorrow=true, no_weight_points=4, weight=weight, mode='weighted_average') | float*3) | round(2) %}
{% set price_today = price_today + (3*(0.0254+0.15)) %}
{% set tomorrow = cheapest_energy_hours('sensor.nordpool', time_format='time24', start="06:00", include_tomorrow=true, include_today=false, no_weight_points=4, weight=weight) %}
{% set price_tomorrow = (cheapest_energy_hours('sensor.nordpool', time_format='time24', start="06:00", include_tomorrow=true, include_today=false, no_weight_points=4, weight=weight, mode='weighted_average') | float*3) | round(2) %}
{% set price_tomorrow = price_tomorrow + (3*(0.0254+0.15)) %}
Vanavond is het gunstig om de vaatwasser aan te zetten vanaf: {{ today }} (€ {{ "{:.2f}".format(price_today) }}) en anders morgen vanaf: {{ tomorrow }} (€ {{ "{:.2f}".format(price_tomorrow) }})

In deze code worden via de Jinja macro de prijzen van de Nordpool integratie opgehaald voor het gespecificeerde verbruik van de wegingslijst. Bij de prijs reken ik nog handmatig de overheidsheffingen (€0.15) en inkoopvergoeding van Frank Energie (€0.0254) per kWh.

Maak een automation aan om de notificatie op je telefoon te ontvangen:

alias: "[notify] Vaatwasser"
description: ""
trigger:
  - platform: time
    at: "18:00:00"
condition: []
action:
  - if:
      - condition: zone
        entity_id: person.wouter
        zone: zone.home
    then:
      - service: notify.mobile_app_galaxy_wouter
        data:
          message: >-
            {% from 'cheapest_energy_hours.jinja' import cheapest_energy_hours
            %}  {% set weight = [ 1, 105, 2, 2, 2, 2, 2, 2, 2, 105, 2, 1] %}  {%
            set today = cheapest_energy_hours('sensor.nordpool',
            time_format='time24', start="18:30", end="06:00",
            include_tomorrow=true, no_weight_points=4, weight=weight ) %} {% set
            price_today = (cheapest_energy_hours('sensor.nordpool',
            time_format='time24', start="18:30", end="06:00",
            include_tomorrow=true, no_weight_points=4, weight=weight,
            mode='weighted_average') | float*3) | round(2) %} {% set price_today
            = price_today + (3*(0.0254+0.15)) %} {% set tomorrow =
            cheapest_energy_hours('sensor.nordpool', time_format='time24',
            start="06:00", include_tomorrow=true, include_today=false,
            no_weight_points=4, weight=weight) %} {% set price_tomorrow =
            (cheapest_energy_hours('sensor.nordpool', time_format='time24',
            start="06:00", include_tomorrow=true, include_today=false,
            no_weight_points=4, weight=weight, mode='weighted_average') |
            float*3) | round(2) %} {% set price_tomorrow = price_tomorrow +
            (3*(0.0254+0.15)) %} Vanavond is het gunstig om de vaatwasser aan te
            zetten vanaf: {{ today }} (€ {{ "{:.2f}".format(price_today) }}) en
            anders morgen vanaf: {{ tomorrow }} (€ {{
            "{:.2f}".format(price_tomorrow+0.17) }})

Voorbeeld van de melding:

Vanavond is het gunstig om de vaatwasser aan te zetten vanaf 02:45 (€ 0.83) en anders morgen vanaf 12:00 (€ 0.76)

Wat zijn jouw energie gerelateerde Home Assistant tips?

Heb je zelf nog handige energie sensoren, notificaties ingesteld of automations gemaakt? Laat het weten in de reacties! Graag hoor ik wat jouw oplossing is voor dynamische energieprijzen in Home Assistant!

Mocht je na het lezen van dit artikel enthousiast geworden zijn over een dynamisch energiecontract, overweeg dan Frank Energie. Als je je aanmeldt via mijn link ontvangen we beide €50 korting op de energiefactuur of Frank plaatst 10 bomen via het project Trees for All.

Wat vond je van deze blogpost?

Klik op een ster om een beoordeling te geven!

Gemiddelde score 5 / 5. Aantal stemmen: 1

Er heeft nog niemand gestemd. Wees de eerste, het kost niets en geen registratie!

Jammer dat de post niet behulpzaam was.

Laten we deze post verbeteren!

Wat zou er beter kunnen?

Door Wouter

3 gedachten over “Dynamische energieprijzen in Home Assistant”
  1. Mooi stuk en in de toekomst zeker handig als misschien wel verplicht dynamische prijzen gaat krijgen.

    Maar voor de mensen met zonnepanelen die alleen naar prijs kijken en niet naar belasting van het stroomnet is het totaal oninteressant om een dynamisch elektra tarief te nemen zolang er gesaldeerd mag worden.

    1. Het wordt zelfs afgeraden om een variabel contract te nemen voor mensen met zonnepanelen die terugleveren. Omdat het saldo negatief kan zijn.

    2. Daar sluit ik me bij aan. In februari ben ik ook overgestapt naar Frank Energy. Ze beloofden van alles. Maar alleen de 1ste 2/3 maanden klopten de verwachtingen. Totdat de zon ging schijnen.
      Ook wij hebben zonnepanelen en lopen per jaar ongeveer gelijk. Iets meer verbruik dan opbrengst, nagenoeg verwaarloosbaar.

      Bij Frank zou ik net als bij iedere andere maatschappij in de zomermaanden ongeveer geld toe krijgen. Dat liep ff anders.
      Wanneer de zon schijnt heb je een probleem, dan moet je bijbetalen. Die prijzen zijn dan ineens niet transparant. Alleen de kosten voor stroom en gas is te zien, niet de negatieve stroomprijs.

      I.p.v maandelijks rond de 0 of negatief te zitten in de zomer, ineens bedragen van rond de €150 bijbetalen. Meer dan in de winter.
      Nu overgestapt op een vast contract voor 3 jaar elders. Daar zie ik ineens dat ik het weer goed doe in de zomerverbruik met kosten (juli € 2,27 en augustus tot nu toe € -12,77) en dat met niet al te geweldig weer.

      Het idee is echt geweldig!!! Maar met Frank Energy zal je hoe dan ook veel moeten bijbetalen (als je veel zonnepanelen hebt).
      Ik adviseer dan ook niemand meer om naar Frank Energy te gaan.

      Maar nogmaals complimenten voor de uitwerking.

Laat weten wat je van dit artikel vindt!

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: