Dynamische gasprijzen inlezen met Home Assistant: een stappenplan

14 januari 2024

De gasprijs was de afgelopen jaren behoorlijk volatiel. Als je beschikt over een dynamisch energiecontract wil je uiteraard kunnen inspelen op de dynamische gasprijs. Met dynamische gasprijzen in Home Assistant kun speel je in op goedkope of dure gasprijzen, bijvoorbeeld door het aansturen van de slimme thermostaat. In dit artikel leg ik uit hoe je dynamische gasprijzen in Home Assistant beschikbaar maakt, zodat je je gasgebruik kunt aansturen.

Dynamische gasprijzen

Steeds meer mensen over op dynamische energieprijzen. Daarom schreef ik eerder al een stappenplan voor het inlezen van dynamische stroomprijzen in Home Assistant. Veel leveranciers van dynamische stroomprijzen bieden ook dynamische gasprijzen aan. De dynamisch gasprijs verschilt per dag en is gebaseerd is op de inkoopprijzen van energie op de gasbeurs. De prijzen worden om 05:00 UTC bekend gemaakt, oftewel 06:00 Nederlandse tijd.

Waarom zijn dynamische gasprijzen goedkoper?

Dynamische gastarieven liggen gemiddeld significant lager dan vaste gastarieven. Hoe kan dit? Traditionele energiemaatschappijen die werken met een vastgezette prijs (vast of variabel contract), rekenen namelijk altijd een risicomarge bovenop de gasprijzen. Dit om te voorkomen dat ze verlies draaien wanneer de inkoopprijzen langere tijd flink stijgen. Daalt de beursprijs echter, dan maken deze leveranciers extra winst en betaal je als klant voor het risicomarge. Kortom: met dynamische gasprijzen is de prijs die je betaalt onvoorspelbaarder en soms duurder, maar onder aan de streep ben je gemiddeld goedkoper uit.

Dynamische energietarieven bij Tibber!
Word ook lid van Tibber en krijg € 50 shoptegoed in de Tibber Store. Meld je aan.

Dynamische gasprijs verschilt per leverancier

In Nederland bieden de volgende energieleveranciers dynamische gastarieven aan: All-in-power, ANWB, Atoom Energie, Budget Energie, easyEnergy, Eneco, Energie VanOns, EnergyZero, Frank Energie, GroeneStroomLokaal, Innova, Mijndomein Energie, NextEnergy, SamSam, Vandebron, Vrijopnaam, ZonderGas en Zonneplan.

De prijs die je betaalt is echter nergens hetzelfde, elke leverancier heeft zijn eigen tarief. Die tarieven zijn als volgt:

EnergiemaatschappijPrijs opslag in euro/m3
All-in-power0,0750
ANWB0,0489 
Atoom Energie0,0600
Budget Energie0,0620
easyEnergy0,1207
Eneco0,0682
Energie VanOns0,0489
EnergyZero0,0489
Frank Energie0,0661
GroeneStroomLokaal0,0489
Innova0,0554
Mijndomein Energie0,0489
NextEnergy0,1063
SamSam0,0489
Vandebron0,0881
Vrijopnaam0,0660
ZonderGas0,0489
Zonneplan0,0661

Inspelen op dynamische gasprijzen

Als je op je energierekening wilt besparen, dan kun je inspelen op deze dynamische gasprijzen. Bijvoorbeeld door, wanneer de prijzen heel hoog zijn, iets conservatiever te zijn met de verwarming. Dit kun je doen door je gedrag aan te passen, of door slimme aansturing. Bijvoorbeeld door op basis van de dynamische gasprijs je slimme thermostaat aan te sturen. Dat kan met Home Assistant. Home Assistant is een populair domoticaplatform waarmee je verschillende slimme apparaten in je huis kunt integreren en automatiseren. Voor dit stappenplan ga ik er vanuit dat je bekend met met Home Assistant en deze geïnstalleerd hebt. Zo niet, volg dan mijn gids over hoe je Home Assistant installeert. Hier gaan we verder met hoe je dynamische gasprijzen in Home Assistant krijgt. Let’s go.

Dynamische gasprijzen inlezen met Home Assistant

Je hebt Home Assistant draaien en wilt aan de slag met dynamische gasprijzen. Het doel van dit artikel is een sensor maken met de dynamische gasprijs die jij bij jouw energieleverancier betaalt. Welke leverancier je ook hebt. Daarnaast wil ik die gasprijs ook visualiseren met een kolomgrafiek in het dashboard. Om dat te kunnen doen, hebben we allereerst een integratie nodig die de dynamische gastarieven in Home Assistant beschikbaar maakt.

Integratie kiezen

Er zijn verschillende integraties beschikbaar om dynamische energieprijzen in Home Assistant te krijgen. Niet al deze integraties ondersteunt ook dynamische gasprijzen. Daarnaast verschilt de prijs die ze rapporteren. Als het je vooral om de tendens gaat, kun je in feite met elke integratie overweg. Maar als je de exacte prijs wil, dan moet je een plugin hebben die de exacte prijs van jouw energieleverancier toont, of zelf een sensor maken die jouw prijzen matcht.

Met deze integraties krijg je dynamische gasprijzen in Home Assistant:

Maar welke plugin kies je? Dit zijn de overwegingen:

  • Voor de Frank Energie integratie dien je eerst de Home Assistant Community Store in te installeren; voor de easyEnergy en EnergyZero integratie is dat niet nodig.
  • Heb je easyEnergy als energieleverancier? Dan matcht die integratie exact jouw prijzen.
  • Heb je ANWB Energie, Mijndomein Energie, Energie van Ons, EnergyZero, GroeneStroomLokaal, SamSam of ZonderGas als energieleverancier? Dan heeft de EnergyZero exact de juiste prijzen voor jou.
  • De easyEnergy en EnergyZero integratie maken de huidige prijs en die van het volgende uur beschikbaar. De Frank Energie plugin heeft meer sensoren:
    • De huidige gasprijs (marktprijs)
    • De huidige gasprijs (marktprijs + btw)
    • De huidige gasprijs (all-in prijs van Frank Energie)
    • De hoogste gasprijs vandaag (marktprijs)
    • De laagste gasprijs vandaag (marktprijs)
  • Tenslotte heeft de Frank Energie integratie in de attributen van de sensor de prijs per uur van de huidige dag (tot zover bekend) opgenomen.

Voor deze how-to kies ik voor de Frank Energie integratie, omdat deze ook de marktprijs kan tonen. Op basis van deze marktprijs kun je vervolgens de gasprijs opbouwen die jij betaalt bij jouw energieleverancier. Zo kun je, ongeacht welke energieleverancier je hebt, de gasprijs gebruiken die jij betaalt. Omdat in de attributen de prijs per uur staat vermeld, kunnen we op basis hiervan een kolomgrafiek maken die per uur de prijs laat zien.

Installeren van HACS

De Frank Energie integratie bevindt zich in de Home Assistant Community Store (HACS). Daarom is de eerste stap het installeren van HACS. Dit is een soort app store voor integraties die door ontwikkelaars uit de community zijn gemaakt. Deze componenten zijn onofficieel en zijn niet door het team achter Home Assistant gecontroleerd.

Installeren gaat als volgt:

  1. Schakel de geavanceerde modus in voor je gebruikersprofiel. Klik hiervoor links onder op je gebruikersprofiel, en zet ‘Geavanceerde modus’ aan.
  2. Ga in je Home Assistant naar de Add-on winkel (Instellingen > Add-ons > Add-on winkel)
  3. Installeer een van de SSH-add-ons, zoals ‘Terminal & SSH’.
  4. Configureer de gekozen SSH-add-on door de documentatie ervan te volgen.
  5. Start de SSH-add-on en maak de verbinding. Als je de ‘Terminal & SSH’ add-on hebt geïnstalleerd heb je geen SSH client nodig, je kunt hiervoor naar ‘Open web-ui’ gaan.
  6. Voer het HACS-downloadscript uit:
    wget -O - https://get.hacs.xyz | bash -
  7. HACS is nu gedownload. Om het te kunnen installeren moet je eerst de cache van je browser wissen of een harde refresh uitvoeren (shift + F5 voor Windows of Command + Shift + R op MacOS).
  8. Voeg een nieuwe integratie toe onder Instellingen > Integraties > + Integratie toevoegen. Zoek op ‘HACS’ en voeg deze integratie toe.
  9. Vervolgens krijg je een prompt te zien waarin je alle waarschuwingen moet accepteren voordat je door kunt gaan.
  10. Om HACS te kunnen gebruiken moet je een oAuth koppeling met Github opzetten. Je moet hiervoor allereerst een Github account aanmaken als je deze nog niet hebt.
  11. Op het eerstvolgende scherm krijg je een apparaatcode te zien. Kopieer deze en klik op de link https://github.com/login/device om de installatie voort te zetten. Klik nog niet op submit!
  12. Als je niet ingelogd bent bij GitHub in je browser moet je je nu aanmelden of inloggen om door te gaan met de setup. Als je al ingelogd bent kun je dit deel overslaan.
  13. Wanneer die pagina geladen is, plak of typ je de apparaatcode die je eerder hebt gekopieerd.
  14. Voltooi de autorisatie door op ‘Authorize hacs’ te klikken
  15. Nadat je het bevestigingsscherm te zien krijgt kun je deze tab sluiten en teruggaan naar Home Assistant.
  16. Nu kun je wel verdergaan, door op ‘Submit’ klikken. Hiermee is de installatie voltooid!

Installeer de integratie voor dynamische gasprijzen

We zijn nu klaar om de integratie te installeren.

  1. Frank Energie repository toevoegen aan HACS
    Ga in Home Assistent naar HACS > Integraties, en klik rechtsboven op de 3 puntjes. Kies uit het dropdown menu ‘Aangepaste repositories.
  2. In het veld ‘Repository’ vul je deze URL in: https://github.com/bajansen/home-assistant-frank_energie. Bij categorie selecteer je ‘Integratie’. Vervolgens klik je op toevoegen.
  3. Frank Energie toevoegen via HACS
    Ga hierna binnen HACS naar Integraties en zoek op ‘Frank Energie’.
  4. Open de integratie, en klik rechtsonderin op Download.
  5. Herstart Home Assistant. Ga hiervoor naar Instellingen > Systeem en klik rechtsboven op Herstarten.
  6. Frank Energie downloaden
    Nadat Home Assistant opnieuw is opgestart, ga je naar Instellingen > Apparaten & diensten en klikt rechtsonder op ‘Integratie toevoegen’. Zoek op ‘Frank Energie’ en installeer deze.

Na het installeren staat Frank Energie tussen de integraties op Instellingen > Apparaten & diensten > Integraties. De integratie telt 17 entiteiten. Klik op de integratie. Nu krijg je alle 17 entiteiten te zien. Relevant zijn:

  • sensor.current_gas_market_price (de huidige gasprijs, inkoopprijs)
  • sensor.current_gas_price_including_tax (de huidige gasprijs, inkoopprijs + btw)
  • sensor.current_gas_price_all_in (de huidige all-in gasprijs van Frank Energie)
  • sensor.highest_gas_price_today (de hoogste all-in gasprijs vandaag)
  • sensor.lowest_gas_price_today (de laagste all-in gasprijs vandaag)

De sensor sensor.current_gas_market_price toont je dus de huidige marktprijs van gas. Als ik op die sensor klik, zie ik de huidige waarde en de waarde ervan gedurende de afgelopen 24 uur. Hier is goed te zien dat de prijs eenmaal in de 24 uur aangepast wordt, namelijk op 5.00 UTC, oftewel 6 uur Nederlandse tijd.

De opbouw van jouw gasprijs

Op basis van die marktprijs gaan we een nieuwe sensor maken die overeenkomt met de prijs die jij bij je energieleverancier betaald. Daarvoor moeten we eerst weten hoe de gasprijs die je als consument betaalt is opgebouwd:

(marktprijs + energiebelasting + opslag van je energieleverancier) * btw

De energiebelasting op gas is in 2024 0,58301 euro per m3 gas (bron). Stel je bent klant bij Zonneplan, dan is de opslag 0,0661 (zie tabel eerder in deze post). Dan is je gasprijs:

(marktprijs + 0,58301 + 0,0661) * 1,21

Op het moment van schrijven is de marktprijs van gas 0,30233. Daarmee is de gasprijs die klanten van Zonneplan nu betalen:

(0,30233 + 0,58301 + 0,0661) * 1,21 = 1,1512424 euro/m3

Zelf een sensor maken

Je hebt inmiddels kunnen vaststellen hoe je jouw dynamische gasprijs opbouwt. Dan kunnen we nu een sensor gaan maken die jouw dynamische gasprijs weerspiegelt. Dit doen we door een ‘Helper’ te maken in Home Assistant. In feite gaan we een sensor maken, die gebaseerd is op een andere sensor. De all-in gasprijs van jouw energieleverancier, gebaseerd op de marktprijs van gas.

We beginnen door te navigeren naar Instellingen > Apparaten & diensten > Helpers en klik rechtsonder op “+ Helper aanmaken”. In het popupvenster kies je voor een Template sensor. Vervolgens kun je het type sensor aangeven, en kies je voor “Template a sensor”.

In dit scherm kunnen we de nieuwe sensor instellen. Geef de sensor een naam naar keuze. Ik noem hem ‘Zonneplan all-in gasprijs’. In het veld ‘Statussjabloon’ kun je de sensor instellen. Hier vul je de volgende YAML-code in, die gebaseerd is op bovenstaande prijsopbouw:

{{ ((states('sensor.current_gas_market_price') | float)  + 0.58301 + 0.0661) * 1.21 }}

Bij de meeteenheid vul ik €/m³ in. De configuratie ziet er als volgt uit. Onderaan het configuratievenster zie je de preview van de sensor. De waarde die daar wordt getoond komt overeen met de all-in gasprijs van Zonneplan. Klik op ‘Verzenden’ om de sensor op te slaan.

Vervolgens is de zojuist aangemaakte sensor in de lijst met helpers te vinden. Klik er op om deze sensor te bekijken. De sensor kan nog verder worden geconfigureerd door rechtsboven op het tandwiel te klikken.

In mijn geval pas ik het icoon aan naar mdi:gas-burner. Daarnaast hoef ik niet tot 7 cijfers achter de komma de prijs te zien. Daarom pas ik de ‘Precisie weergeven’ aan naar 2 cijfers achter de komma. Vervolgens klik ik op bijwerken om de wijzigingen op te slaan.

Deze sensor kun je vervolgens toevoegen aan je dashboard, zodat je altijd de actuele gasprijs kunt zien.

De gasprijs per uur in je dashboard

Om goed inzicht te krijgen in de dynamische prijzen, is het prettig om de prijzen per uur te kunnen visualiseren in een kolomgrafiek. Hiervoor gebruiken we Apex Charts Card, een zeer veelzijdige integratie om datavisualisaties te maken. Je vindt deze frontend integratie in HACS > Frontend, en zoek op de naam. Klik op het resultaat en daarna op ‘Download’.

Nadat de installatie geslaagd is, kunnen we de kaart toevoegen aan ons dashboard.

  1. Ga hiervoor naar Overzicht
  2. Selecteer je dashboard
  3. Klik rechtsboven op het icoon met de drie verticaal gestapelde puntjes. Kies dan ‘Dashboard bewerken’.
  4. Kies rechtsonder ‘+ Kaart toevoegen’
  5. Vervolgens kies je in de lijst met kaarttypen ‘Aangepaste: ApexCharts card’

Je kunt nu de grafiek instellen. Bij een ApexChart dien je de broncode van de grafiek in het codeveld te plakken. Gebruik hiervoor de volgende code.

type: custom:apexcharts-card
graph_span: 24h
span:
  start: day
header:
  show: true
  title: Gasprijs (€/m3)
series:
  - entity: sensor.current_gas_market_price
    stroke_width: 2
    float_precision: 3
    type: column
    opacity: 1
    color: ''
    data_generator: |
      return entity.attributes.prices.map((record, index) => {
        return [record.from, (record.price + 0.58301 + 0.0661)*1.21];
      });
yaxis:
  - id: Prijs
    min: 1
    decimals: 2

In deze code staat dezelfde prijsopbouw die we eerder hebben bepaald. Dat zit in dit stuk van de code:

(record.price + 0.58301 + 0.0661)*1.21]

De opslag van de energieleverancier is de waarde 0.0661. Pas deze aan naar de opslag van jouw energieleverancier, dezelfde waarde als die je voor het maken van de sensor hebt gebruikt, en je grafiek zal de juiste all-in prijs tonen. Het configuratiescherm van de ApexChart ziet er zo uit:

Nu we nog in bewerkingsmodus van het dashboard zitten, voeg ik ook onze zelf gemaakte sensor toe aan het dashboard ‘+ Kaart toevoegen’. Ik klik vervolgens op de tab ‘Per entiteit’ en zoek daar naar onze zojuist gemaakte sensor. Het eindresultaat is hieronder te zien.

Dat is het! Je hebt nu de dynamische gasprijzen in Home Assistant zitten, en ze worden mooi gevisualiseerd. De volgende stap is het maken van automatiseringen op basis van deze prijzen. Ik ben ook benieuwd wat jij met het inlezen van dynamische gasprijzen in Home Assistant gaat doen, laat het vooral weten in de reacties.

Laat je reactie achter

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

15 reacties op “Dynamische gasprijzen inlezen met Home Assistant: een stappenplan

  1. Onder punt 4 staat een fout:
    Frank Energie downloaden
    Nadat Home Assistant opnieuw is opgestart, ga je naar Instellingen > Apparaten & diensten en klikt rechtsonder op ‘Integratie toevoegen’. Zoek op ENSTO-e en installeer deze

    ENSO-e moet zijn Frank.

  2. Mathias jan 15, 2024

    De Frank Energie integratie wordt hier niet gevonden. Vreemd want ik heb al HACS en de ENTSO-E energieprijzen integratie werkend dankzij je eerdere artikel. Frank staat er gewoon niet tussen, niet als ik via HACS zoek en ook niet als ik in Settings -> Integrations zoek. Wat gaat er fout?

  3. Arjan jan 25, 2024

    Mooi artikel! Werkend gekregen dmv de EnergyZero integratie en daarna omgebouwd naar de all-in prijs van GroeneStroomLokaal.

    Wat ik alleen niet helemaal snap is dat er een afwijking is tussen de all-in prijs op Enever en wat ik terugkrijg uit de sensor. De sensor geeft aan 1,18 euro afgerond maar op Enever 1,098. Waar kan dit in zitten? Dit is de opbouw: {{ ((states(‘sensor.energyzero_today_gas_current_hour_price’) | float) + 0.58301 + 0.0489) * 1.21 }} De Market price is ook inc. btw maar bijvoorbeeld dat weghalen geeft ook niet het juiste resultaat.

    • Leuk om te horen Arjan.

      Welke van de twee matcht met de prijs die je nu betaalt bij Groene Stroom Lokaal? Zij publiceren hun prijzen niet publiek, dus ik kan het zelf niet checken.

      • Arjan jan 25, 2024

        De onderste code in mijn geval. Alles inc. BTW omdat de EnergyZero plugin ook Inc. is. In jouw voorbeeld is deze ex?

    • Arjan jan 25, 2024

      Aanvulling, misschien toch een BTW dingetje ergens. Nu heb ik deze erin staan en dan komt het meer in de buurt. {{ ((states(‘sensor.energyzero_today_gas_current_hour_price’) | float) + 0.70544 + 0.05911) }}

      Komt misschien omdat de marktprijs al inc. BTW erin staat en dus dubbel gaat? Overige prijzen ook inc. erin gezet en de * 1.21 weggehaald. Of zie ik iets compleets anders over het hoofd?

      • Ha Arjan,

        Ik heb even gekeken naar de documentatie van de EnergyZero integratie, en het klopt dat zij daar de marktprijs INCL btw gebruiken:

        “The prices shown in the entities are raw prices that only include the 21% VAT.” Zie: https://student-techlife.com/2023/01/11/energyzero-market-prices-with-new-integration-in-home-assistant/

        Als je de EnergyZero integratie wilt gebruiken om de juiste prijs voor GroeneStroomLokaal wilt gebruiken dien je een template sensor aan te maken, en die als volgt in te stellen:

        – sensor:
        – name: GroeneStroomLokaal all-in current gas price
        unique_id: allin_gas_current_price
        icon: mdi:cash
        unit_of_measurement: “€/m³”
        state_class: measurement
        state: >
        {% set energy_tax = 0.7065 %}
        {% set purch_costs = 0.0489 %}
        {% set current_price = states(‘sensor.energyzero_today_gas_current_hour_price’) | float | default(None) %}
        {{ (current_price + energy_tax + purch_costs) | round(4) }}

        Succes!

  4. Kwam per toeval je website tegen en ben eigenlijk net begonnen met HA.
    Toevoegen van de energie -en gasprijzen is gelukt. Ik ben zelf ook bij Zonneplan, maar het viel mij op dat met het afronden de prijs van vandaag (31-1-2024) niet overeenkomt met de Zonneplan app. In HA krijg ik 1.14, terwijl de prijs bij Zonneplan op 1,13 staat. Is je dit zelf ook op gevallen en een idee hoe dit op te lossen?

    • Mm nee eigenlijk niet. In mijn berekening rond ik pas op het eind af. We zouden het eigenlijk eens aan Zonneplan zelf moeten vragen..

      • Ik heb je stappenplan gevolgd. Heb je een idee hoe ik het afronden pas aan het eind doe? Ik merk dat dit ook gebeurd bij de elektriciteitsprijzen. Ik rond nu af met gebruik van de user interface manier van afronden.

  5. Thank you!