Dynamische energieprijzen inlezen met Home Assistant: zo doe je dat

2 januari 2023

Als echte groene nerd wil je zo goed mogelijk inspelen op dynamische energieprijzen en dat betekent natuurlijk bij voorkeur dat je auto, fiets en huishoudelijke apparaten precies op het juiste moment stroom gebruiken. Home Assistant maakt dat mogelijk! In dit artikel leg ik uit hoe je dynamische energieprijzen in Home Assistant krijgt zodat je er daarna creatieve dingen mee kunt doen!

Introductie & basiskennis

Energie is momenteel duur en dus stappen steeds meer mensen over op dynamische energieprijzen. Goed voor de eigen portemonnee en het is duurzaam. Dan wil je natuurlijk optimaal inspelen op de goedkoopste energieprijzen, door bv. je auto of fiets op het juiste moment en zoveel mogelijk geautomatiseerd te laden of door je wasmachine of droger optimaal te timen.

Dat kan met Home Assistant. Home Assistant is een open source domoticaplatform dat gebruikt kan worden om verschillende slimme apparaten in je huis te integreren en te automatiseren. Voor deze tutorial 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. Maar hoe krijg je dan die dynamische energieprijzen in Home Assistant? Daar neem ik je in dit artikel in mee!

Dynamische energieprijzen inlezen in Home Assistant

Er zijn verschillende integraties beschikbaar om dynamische energieprijzen in Home Assistant te krijgen. Elk van die integraties heeft eigen functionaliteiten, maar het belangrijkste verschil is de prijs die ze rapporteren. In Nederland bieden de volgende energieleveranciers dynamische tarieven aan: All in power, ANWB Energie, EasyEnergy, EnergyZero, Frank Energie, Groenestroom, Mijndomein, NextEnergy, Tibber, ZonderGas en Zonneplan. De prijs die je betaalt is echter nergens hetzelfde, elke leverancier heeft zijn eigen tarief. Als het je vooral om de tendens gaat, kun je in feite met elke integratie overweg.

Met deze integraties krijg je dynamische energieprijzen in Home Assistant:

  • Nord Pool HACS integratie
  • Frank Energie HACS integratie (je hoeft geen klant te zijn om deze te gebruiken)
  • ENTSO-e HASCS integratie
  • Tibber officiële integratie (om deze te gebruiken moet je klant bij Tibber zijn)

Maar welke plugin kies je?

Optie 1: The easy way

Van bovenstaande integraties is alleen Tibber een officiële integratie. Dat is belangrijk omdat je die met een out-of-the-box Home Assistant installatie eenvoudig kunt toevoegen. Het is ook een hele mooie integratie omdat je ook inzicht krijg in bv. de maandelijkse kosten die je als klant gemaakt hebt en, als je een Tibber Pulse hebt, je ook inzicht hebt in het realtime verbruik (per fase). Het grote nadeel: deze integratie werkt alleen voor klanten van Tibber.

Om de dynamische prijzen van Tibber in Home Assistant te krijgen ga je als volgt te werk:

  • Vraag een access token aan bij Tibber
  • Ga in Home Assistant naar Instellingen > Integraties > + Integratie toevoegen en zoek op Tibber.
  • Volg de stappen en installeer de integratie

Na de installatie krijg je er een rits sensoren bij (zie hier voor de volledige lijst). Naast de huidige uurprijs met en zonder belastingen en btw krijg je er onder andere ook sensoren bij voor huidige afname in kWh, de maandelijkse kosten en de maandelijkse afname in kWh.

Mocht je geen klant zijn bij Tibber, ben je veroordeeld tot optie 2.

Optie 2: The road most taken

Voor alle overige opties hebben we integraties nodig die zich bevinden in de Home Assistant Community Store. Vandaar dat de eerste stap het installeren van HACS betreft. 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 van HACS

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 prijzen

We zijn nu klaar om de integratie te installeren. Maar voor welke ga je? De integratie van Frank Energie is eenvoudig in gebruik maar ook in mogelijkheden. De Nord Pool en ENTSO-E integratie maken beide veel data beschikbaar. Niet alleen de huidige prijs maar ook de prijs per uur van de dag. Dat is fijn, want die kan je dan mooi visualiseren in een grafiek. Ik ben een pietje precies en wil graag exact de juiste prijs in Home Assistant zien. Daarom kies ik voor ENTSO-E, een integratie waar ik mijn exacte prijs kan nabootsen. Mocht je een goede tutorial willen zien voor de Nord Pool integratie, kijk dan hier. Ik vertel je hoe ik aan de slag ga met ENTSO-E:

  1. Vraag API toegang aan
    Je hebt een ENTSO-e Restful API key nodig voor deze integratie. Om deze API-sleutel aan te vragen, dien je je aan te melden op het Transparency Platform.
  2. Daarna stuur je een e-mail naar transparency@entsoe.eu met als onderwerp “Restful API access”. Vermeld in de e-mail het e-mailadres dat je tijdens de registratie hebt opgegeven. Meestal krijg je binnen een werkdag een positieve bevestiging.
  3. ENTSO-e integratie downloaden
    Ga in Home Assistent naar HACS > Integraties en zoek op ‘ENTSO-e Transparency Platform’.
  4. Open de integratie, en klik rechtsonderin op Download.
  5. Herstart Home Assistant. Ga hiervoor naar Instellingen > Systeem en klik rechtsboven op Herstarten.
  6. ENTSO-e integratie 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.

Dynamische prijzen configureren & de stroomprijs personaliseren

Bij de configuratie van de ENTSO-e integratie zijn twee dingen belangrijk. In het veld ‘Your api key’ geef je de api sleutel in die je van ENTSO-e per e-mail hebt ontvangen.

Standaard toont de integratie de spot-prijs. Als je de prijzen wilt zien die je bij jouw energieleverancier krijgt, dan is het belangrijk dat je ‘I want to set VAT, template and calculation method (next step)’ aanvinkt.

In de volgende stap kun je de prijs aanpassen naar jouw persoonlijke situatie. Dit doen we met de ‘Price Modifyer Template’. Het VAT tariff kun je op 0 zetten, de btw berekenen we in de price modifyer template. De statistieken updaten we met ‘rotation’, dat wil zeggen dat dingen als laagste en hoogste prijs van vandaag updaten per kalenderdag.

In dat veld kun je dus zelf de prijs opbouwen. Op Github vind je price modifyer templates die anderen al hebben gemaakt. Voor Nederlandse energieleveranciers is de opbouw als volgt:
{% set s = {"extra_cost": 0.002,"energie_belasting": 0.12599,"VAT": 1.21} %} {{((current_price + s.extra_cost + s.energie_belasting) * s.VAT) | float}}

Dit is template voor Tibber. De kosten die Tibber extra rekent bovenop de spotprijs is 0,2 cent voor de Garantie van Oorsprong (het certificaat dat de hoeveelheid stroom die haar klanten verbruiken herleidt naar eenzelfde hoeveelheid lokaal geproduceerde groene energie). Daarom staat de extra_costs op 0.002. Voor andere energieleverancier van dynamische energieprijzen zijn dit de extra_costs (excl. btw):

  • All-in-power: 0,02180
  • ANWB Energie: 0.0175
  • easyEnergy: 0.018
  • EnergyZero: 0.0175
  • Frank Energie: 0.012 (0.022 per 1 februari 2023)
  • Groene Stroom Lokaal: 0.0175
  • Mijndomein Energie: 0.0175
  • NextEnergy: 0.0183
  • Tibber: 0.002
  • Zonder Gas: 0.0175
  • Zonneplan: 0.0025

De integratie is nu succesvol geïnstalleerd en geconfigureerd. Je hebt nu de beschikking over de volgende sensoren:

  • Average Day-Ahead Electricity Price Today*
  • Highest Day-Ahead Electricity Price Today
  • Lowest Day-Ahead Electricity Price Today
  • Current Day-Ahead Electricity Price
  • Current Percentage Relative To Highest Electricity Price Of The Day
  • Next Hour Day-Ahead Electricity Price
  • Time Of Highest Energy Price Today
  • Time Of Lowest Energy Price Today

* Deze sensor heeft in haar attributen alle uurprijzen voor vandaag en morgen zitten. Deze kunnen we bv. gebruiken om per uur de prijs te visualiseren in een kolomgrafiek.

Stroomprijs sensoren & grafieken aan je dashboard toevoegen

Het is handig om bovenstaande sensoren toe te voegen aan ons dashboard. Je kunt de kaarten aan je dashboard toevoegen door naar ‘Overzicht’ in het hoofdmenu te gaan. Klik op de drie puntjes rechtsboven en kies ‘Configureer UI’.

Selecteer vervolgens rechtsonder ‘+ Voeg kaart toe’. In dit geval kies ik voor een entiteiten-kaart. Vervolgens kun je deze configureren. In de lijst voeg je de sensoren van de ENTSO-e integratie toe. Het makkelijkst is om te zoeken op ‘electricity’ en vervolgens zie je alle beschikbare sensoren. De gewenste sensoren kun je vervolgens een voor een toevoegen. Optioneel kun je een titel aan de kaart toevoegen.

Ook kun je de sensornamen aanpassen, wat voor de leesbaarheid wel prettig. Ook het icoontje is aan te passen. Hiervoor klik je rechts in de preview van de kaart op een sensornaam. Vervolgens in de popup ga je naar de tab ‘Instellingen’. Hier kun je de naam en het icoon aanpassen. Klik op bijwerken om aan te passen.

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, is het tijd om twee kaarten te configureren voor op je dashboard. Eén voor vandaag en één voor morgen. Dit is mijn configuratie voor de kaart van vandaag:

type: custom:apexcharts-card
graph_span: 24h
span:
  start: day
now:
  show: true
  label: Now
header:
  show: true
  title: Stroomprijs vandaag (€/kWh)
series:
  - entity: sensor.average_electricity_price_today
    stroke_width: 2
    float_precision: 3
    type: column
    opacity: 1
    color: ''
    data_generator: |
      return entity.attributes.prices.map((record, index) => {
        return [record.time, record.price];
      });
yaxis:
  - id: Prijs
    decimals: 2
    min: 0

En dit is de code voor de kaart voor de volgende dag:

type: custom:apexcharts-card
graph_span: 24h
span:
  start: day
  offset: +1d
header:
  show: true
  title: Stroomprijs morgen (€/kWh)
series:
  - entity: sensor.average_electricity_price_today
    stroke_width: 2
    float_precision: 3
    type: column
    opacity: 1
    color: ''
    data_generator: |
      return entity.attributes.prices.map((record, index) => {
        return [record.time, record.price];
      });
yaxis:
  - id: Prijs
    decimals: 2
    min: 0

Check wel even dat de sensornaam, die achter ‘series: entity’ staat, gelijk is aan de sensornaam in jouw Home Assistant configuratie.

Je kunt de kaarten aan je dashboard toevoegen met behulp van de codes. Klik in het Overzicht rechtsonder op ‘+ Voeg kaart toe’ en selecteer helemaal onderaan de pagina ‘Handmatig’. Plak de code in de code editor en selecteer ‘Opslaan’ om de kaart toe te voegen. Je kunt dit voor de andere kaart herhalen.

Het resultaat ziet er als volgt uit

Dat is het! Je hebt nu de dynamische energieprijzen in Home Assistant zitten, en ze worden mooi gevisualiseerd. De volgende stap is het maken van automatiseringen op basis van deze prijzen. Die komen in een volgend artikel aan bod!

[update 2 januari 2023]
De prijsverhoging van Frank Energie toegevoegd.

[update 6 januari 2023]
ANWB heeft de inkoopkosten van 0,0135 verhoogd naar naar 0,0175.

[update 13 januari 2023]
Voor alle bedrijven die EnergyZero gebruiken (EnergyZero, Zonder Gas, GroeneStroomLokaal, Mijndomein) zijn de inkoopkosten verhoogd naar 0,0175.

Laat je reactie achter

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

45 reacties op “Dynamische energieprijzen inlezen met Home Assistant: zo doe je dat

  1. Patrick jan 3, 2023

    Klopt dit wel helemaal? Ik zit bij ANWB energie
    {% set s = {“extra_cost”: 0.0135,”energie_belasting”: 0.12599,”VAT”: 1.21} %} {{((current_price + s.extra_cost + s.energie_belasting) * s.VAT) | float}}

    Volgens de berekening is de huidige stroomprijs 0.36348 per kwh terwijl mijn tarief nu 0.19 zou moeten zijn inclusief btw.

    • Patrick jan 3, 2023

      Verder overigens een perfect stukje, het werkt voor mij:) bedankt

    • Ha Patrick,

      Ik denk dat je dan niet naar de juiste prijs kijkt. De prijs die vanmiddag 19 cent is/was, was de prijs incl. btw, maar zonder energiebelasting en opslag van ANWB. De prijs bij ANWB Energie zal inderdaad ergens rond de 36 a 37 cent per kWh zijn geweest.

  2. Kan ik twee versies laten zien? een met btw en enerige belasting en een ander kaal tarief?

    • Ik heb er zelf ook wel eens over nagedacht, om bv. de spot-prijs en de all-in prijs naast elkaar of stacked te visualiseren. De integratie van ENTSO-e maakt dat echter niet mogelijk…

      …maar het is wel mogelijk om een integratie 2x toe te voegen. Dus je kunt nogmaals de integratie toevoegen (vermoedelijk werkt het gewoon met dezelfde api-key), en dan met andere price template instellingen.

      Laat je weten of het gelukt is? Ben wel echt benieuwd of dit lukt.

  3. Gerrit jan 3, 2023

    Super handig, dank je! Tip: in het screenshot van je instellingen is je API-key te zien. Dat wil je misschien niet 😉

  4. Gerry jan 5, 2023

    Hoi Danny, hartelijk bedankt hier voor. Weet je toevallig ook of er een mogelijkheid is om een sensor te maken die de dynamische gasprijs laat zien?

    • Hi Gerry.

      Goed dat je het noemt, ik ga dit ook in dit overzicht zetten. Met de Frank Energie plugin die in het artikel wordt genoemd, beschik je wel over een sensor met de dynamische gasprijs. Je krijgt dan sensoren voor:
      – sensor.current_gas_market_price (de gas spotprijs)
      – sensor.current_gas_price_including_tax (de spotprijs + btw)
      – sensor.current_gas_price_all_in (de all-in prijs, d.w.z. spotprijs + energiebelasting + btw)
      – sensor.highest_gas_price_today (hoogste prijs voor gas van de huidige kalenderdag)
      – sensor.lowest_gas_price_today (laagste prijs voor gas van de huidige kalenderdag)

      • Hoi,

        Dank voor de super uitleg alleen zou ik heel graag de gasprijzen van Entsoe willen hebben in Homeassistant.

        Ik zit zelf bij Groene stroomlokaal voor me gas en Tibber voor elektra en zou dolgraag de gasprijzen in Home assistant krijgen.

        Gr,

        Lars

      • En voor ANWB?

  5. Martijn jan 5, 2023

    Hallo,

    Na een dag verdwijnen de prijzen en zie ik helemaal niets meer! De staatjes zijn leeg en ook de entities die de prijs laten zien staan op 0 euro. Enig idee waar dit aan ligt?

    Gr,

    • Martijn jan 5, 2023

      Unable to update entity due to data processing error: None and error: float division by zero

      Dit is de foutmelding binnen HA.

      • Eerst goed om te checken: klopt de data in je sensoren nog? Dus als je naar Instellingen > Apparaten & diensten gaat, staat daar dan de ENTSO-e Transparency integratie? En heeft deze geen foutmelding? En als je op de ‘8 entiteiten’ klikt, zie je dan de sensoren staan? Als je dan de sensor sensor.current_electricity_market_price opent, is deze dan recent geüpdatet?

  6. Jacco jan 6, 2023

    Hi,
    allereerst dank voor deze mooie heldere uitleg!

    Gisteren een contract afgesloten bij ANWB Energie.
    Hierin staan de volgende prijzen:

    Inkoopkosten per kWh = € 0,02118
    Energiebelasting per kWh = € 0,15246
    ODE per kWh = € 0,00000, want ODE is nu onderdeel van energiebelasting.

    In de template hierboven, staat ANWB Energie: 0.0135 (excl. BTW) als extra costs. In mijn geval onjuist zou ik zeggen, want incl BTW is dat 0,016335.
    Voor de energiebelasting geldt in feite hetzelfde. De template rekent met 0.12599 (excl. BTW), maar dat zou incl BTW dan 0,1524479 zijn.
    Het zijn uiteraard kleine verschillen, maar ik wil graag dat deze prijzen en grafieken overeenkomen met hetgeen ik in de ANWB app zie. Dat is dus nu niet het geval.

    Ik heb vooralsnog deze template in gedachten waarbij ik de incl BTW prijzen van het contract gebruik voor inkoopkosten en energiebelasting. Dus daarover hoeft dan niet nog een keer BTW berekend te worden:
    {% set s = {“inkoop_kosten”: 0.02118,”energie_belasting”: 0.1546,”VAT”: 1.21} %} {{((current_price * s.VAT) + s.inkoop_kosten + s.energie_belasting) | float}}

    Maak ik ergens een fout in mijn redenering?

    • Hi Jacco,

      Nee jouw berekening klopt zo helemaal. Je pakt de inkoopkosten en energiebelasting inclusief btw, en telt die op bij de inkoopkosten*btw. Op dit moment is de beursprijs 0,164 per kWh, en dan komt je met

      (0,164*1,21) =+ =0,02118 + 0,15246)

      op 0,372, en dat is nu het tarief bij ANWB.

      Waarom de berekening het artikel bij jou niet lijkt te kloppen is omdat ANWB zo te zien de inkoopkosten heeft verhoogd.
      De inkoopkosten zonder btw zijn nu 0,02118/1,21=0,0175 euro per kWh.
      De energiebelasting klopt wel: 0,15246/1,21=0,12599 euro per kWh.

      Ik ga de inkoopkosten van ANWB Energie aanpassen in het artikel, dank.

  7. Arjan jan 6, 2023

    Hey Danny,

    Mooie visualisatie, ik probeer echter beide grafieken in 1 kaart te laten zien, echter krijg ik dit in apexcharts nog niet voor elkaar.
    ik wilde een line chart voor de offset day gebruiken, dus dat je de lijn van morgen erdoorheen ziet. Jij tips hiervoor?

    • Ha Arjan. Je kunt in feite ook gewoon de graph_span: 24h op graph_span: 48h zetten als je het in 1 grafiek wil.

      Je kunt ook een serie toevoegen met als type: line, zie: https://apexcharts.com/javascript-chart-demos/mixed-charts/line-column-area/.

      Mijn javascript skills zijn alleen te beperkt om de juiste dataselectie bij de juiste serie te selecteren…

      Als het je lukt ben ik wel heel benieuwd naar het resultaat.

    • Bauke jan 21, 2023

      Dit is de, volgens mij, de code voor twee grafieken (line) in 1 kaart, door te spelen met “false” of “true”
      kan de afbeelding aangepast worden. De gafieken kunnen aangepast worden door “type: column” of “type: line” toe te voegen na de entity (zonder de “). De algemene aanduiding voor de grafieken nl ” chart_type: line” moet dan verwijderd worden.
      De waardes zijn soms N/A dit komt volgens mij doordat de sensor de waardes per uur doorgeeft, de waardes voor de volgende dag komen pas na 15.00 of zo beschikbaar, dus geduld.
      Soms is bewaren van de kaart nodig, na veranderingen, om deze te zien.

      type: custom:apexcharts-card
      graph_span: 24h
      span:
      start: day
      all_series_config:
      stroke_width: 2
      header:
      show: true
      title: Stroomprijs (ANWB) €/kwh
      show_states: true
      standard_format: false
      colorize_states: true
      chart_type: line
      series:
      – entity: sensor.energy_overzicht_dagprijzen_average_electricity_price_today
      name: Prijs Nu
      float_precision: 3
      opacity: 1
      data_generator: |
      return entity.attributes.prices_today.map((record, index) => {
      return [new Date(record.time).getTime(), record.price];
      });
      color: ‘#00FFFF’
      show:
      legend_value: false
      in_header: before_now
      – entity: sensor.energy_overzicht_dagprijzen_average_electricity_price_today
      name: Morgen
      float_precision: 3
      opacity: 0.8
      color: ‘#FFFF00’
      data_generator: |
      return entity.attributes.prices_tomorrow.map((record, index) => {
      return [new Date(record.time).getTime()-86400000, record.price];
      });
      show:
      legend_value: false
      in_header: before_now
      apex_config:
      chart:
      height: 220px
      yaxis:
      decimalsInFloat: 2
      min: 0.15
      labels:
      show: true
      xaxis:
      labels:
      show: true

  8. Johan jan 9, 2023

    Nice, heel benieuwd of het ook mogelijk is om te ‘back-testen’ en om te zien wat de kosten voor een maand in het verleden zijn zodra je deze data ontvangt. Dan moet dit wel opgeslagen worden in een database, over een langere periode.

    • Dat zou een hele toffe doorontwikkeling zijn Johan. Technisch moet het kunnen. Al je (sensor)data kun je opslaan zolang jij wilt. Dus zowel de dynamische prijzen als je verbruik heb je dan beschikbaar. Lijkt mij erg tof om beschikbaar te hebben.

      Het enige nadeel is dat als je verbruik uit de P1 Meter komt, in mijn ervaring de connectie nog wel eens kan wegvallen. Op het moment dat er dan wel weer een connectie is, knalt hij in 1x alle verbruiksdata *op dat moment* er in. Alleen dan matcht het moment van verbruik dus niet meer met de juiste prijs.

  9. Dag Danny, thx voor de moeite welke je hierin stopt.
    Helaas krijg ik onderstaande melding tijdens het uitvoeren van het het HACS-downloadscript.

    “No such file or directory”

    • Ik ken die melding alleen van dat je dit vanuit een gebruiker probeert te doen die niet over alle rechten beschikt. Daar zou je eens naar kunnen kijken.

      Daarnaast: hoe draai je Home Assistant? Op een Raspberry Pi, of draait hij ergens ‘bij’ op?

  10. Mijn dank is groot. Het was even puzzelen met de Price Modifier Templates (PMT) maar uiteindelijk is alles gelukt naar aanleiding van deze blog.
    Heb zelf een PMT toegevoegd voor Groene Stroom Lokaal – 2023 (https://github.com/JaccoR/hass-entso-e/discussions/106) (mochten mensen hier iets mee willen)

  11. Danny jan 16, 2023

    Is er ook zoiets voor gasprijzen?

  12. Hoi Danny, super bedankt voor de moeite van het uitzoeken en het uitwerken in blog.
    Stap voor stap gevolgd (op HA + HACS na, die draaide al) en werkt als een zonnetje.

  13. Beste Danny,

    Dank voor deze heldere uitleg! Ik heb de tarieven van ANWB energie simpel toe kunnen voegen aan Home Assistant. Bij mij is echter de “Now” line van de ApexChart niet zo fijn uitgelijnd.
    De tweede helft van het uur staat deze al in het tarief van het volgende uur. Hebben anderen dit ook?

    Groeten,
    Roel

    • Hi Roel, ik herken wat je zegt. Dat is bij mij ook. Ik zie bovendien in de grafiek van ‘morgen’ altijd een kolom van het laatste uur van de vorige dag. Daar zit ergens nog iets wat niet helemaal lekker loopt. Ik zie dat ook bij andere oplossingen waarbij deze Apexcharts addon wordt gebruikt. Ik hoop dit nog te kunnen fixen, als ik een oplossing heb dan laat ik het je/hier weten.

  14. Andre jan 17, 2023

    Geweldige guide, alleen krijg ik de apexcharts-card niet aan de praat op iPad. Pc web interface word hij goed ingeladen. Echter blijft hij op de iPad leeg (geen bars worden ingeladen)

    • Ik heb toevallig voor deze website eenzelfde issue op iPhone. Al zoekende stuit ik vaker op gebruikers die af en toe problemen hebben met mobiele apparaten en dat de grafiek niet getoond wordt. Hier werkt het op iPad wel. Wellicht kom ik bij het debuggen van de apex js chart op deze website iets tegen, maar heb nu helaas geen oplossing..

  15. Gerry jan 18, 2023

    Bj mij mij werkt alles prima. Maar een aantal dagen update de grafiek niet meer. De prijzen updaten wel gewoon. Zijn er mensen die dit herkennen of liever nog, een oplossing voor hebben?

    • Het is mij wel eens gebeurt, maar dat was een moment dat de API geen data gaf. Het zou niet dagenlang mogen gebeuren. Als je bij Addons de Entso-e plugin ziet staan, ziet dat er goed uit of is daar een waarschuwingsicoontje zichtbaar?

      • Gerry jan 21, 2023

        Raar, geen waarschuwingsiconen, wel ge-update prijzen maar geen gevulde grafieken. Van alles geprobeerd maar niets gelukt. Uiteindelijk nieuwe api aangemaakt en integratie opnieuw geïnstalleerd. Namen van de entiteiten gewijzigd en nu werkt het weer.

        Evengoed bedankt, groeten

    • Fransiefrans jan 20, 2023

      Top handleiding. Hier heb ik al een tijdje naar gezocht.

      Wat is nu de handigste manier om een apparaat op de laagste stroomprijs in te schakelen?

      Ik zat zelf te denken: als actuele stroomprijs = laagste stroomprijs vandaag.

  16. Mooi werk Danny!

    Ik ben zelf klant bij Tibber en heb dus optie 1 toegevoegd in Home Assistant. Ik zie echter maar 5 entiteiten dus ik kom er niet helemaal uit hoe ik nu een nette grafiek/tabel kan realiseren zoals je bij optie 2 uitlegt. Heb je een tip wat ik nog moet doen?
    Thanks!

    • Hi JG, de integratie van Tibber is erg fijn en makkelijk, maar je kunt er helaas niet zo’n grafiek mee maken. Dat is waarom ik zelf, ik ben zelf ook klant bij Tibber, optie 2 heb uitgewerkt.

  17. Hallo Danny,
    ik heb jouw handleiding gevolgd echter mijn prijzen vallen vele malen hoger uit dan wat ik bij anwb lees, en ja ik weet dat daar nog geen belastingen bij zitten. maar mijn grafieken gaan ver boven de 80 cent en dat zou toch echt wat minder moeten zijn. Heb jij enig idee waar dat aan kan liggen? het maak ook niet uit of ik de prijzen wijzig, ze blijven hoog. Onder mijn account bij Entso-e Heb ik ook Nederlands aan gegeven en bij de integratie in HA ook. en btw gewoon on 0. Ik snap er echt niks van.
    Dit is wat ik binnen krijg.
    state_class: measurement
    prices_today:
    – time: ‘2023-01-25 00:00:00+01:00’
    price: 0.79824
    – time: ‘2023-01-25 01:00:00+01:00’
    price: 0.80993
    – time: ‘2023-01-25 02:00:00+01:00’
    price: 0.80858
    – time: ‘2023-01-25 03:00:00+01:00’
    price: 0.81069
    – time: ‘2023-01-25 04:00:00+01:00’
    price: 0.81083
    – time: ‘2023-01-25 05:00:00+01:00’
    price: 0.81684
    – time: ‘2023-01-25 06:00:00+01:00’
    price: 0.83016
    – time: ‘2023-01-25 07:00:00+01:00’
    price: 0.88208
    – time: ‘2023-01-25 08:00:00+01:00’
    price: 0.92538
    – time: ‘2023-01-25 09:00:00+01:00’
    price: 0.92533
    – time: ‘2023-01-25 10:00:00+01:00’
    price: 0.90691
    – time: ‘2023-01-25 11:00:00+01:00’
    price: 0.89016
    – time: ‘2023-01-25 12:00:00+01:00’
    price: 0.87877
    – time: ‘2023-01-25 13:00:00+01:00’
    price: 0.86705
    – time: ‘2023-01-25 14:00:00+01:00’
    price: 0.87525
    – time: ‘2023-01-25 15:00:00+01:00’
    price: 0.88477
    – time: ‘2023-01-25 16:00:00+01:00’
    price: 0.88754
    – time: ‘2023-01-25 17:00:00+01:00’
    price: 0.89802
    – time: ‘2023-01-25 18:00:00+01:00’
    price: 0.88887
    – time: ‘2023-01-25 19:00:00+01:00’
    price: 0.8454
    – time: ‘2023-01-25 20:00:00+01:00’
    price: 0.81552
    – time: ‘2023-01-25 21:00:00+01:00’
    price: 0.80717
    – time: ‘2023-01-25 22:00:00+01:00’
    price: 0.80831
    – time: ‘2023-01-25 23:00:00+01:00’
    price: 0.79356
    prices_tomorrow: []
    prices:
    – time: ‘2023-01-24 00:00:00+01:00’
    price: 0.83726
    – time: ‘2023-01-24 01:00:00+01:00’
    price: 0.83023
    – time: ‘2023-01-24 02:00:00+01:00’
    price: 0.80952
    – time: ‘2023-01-24 03:00:00+01:00’
    price: 0.80439
    – time: ‘2023-01-24 04:00:00+01:00’
    price: 0.82082
    – time: ‘2023-01-24 05:00:00+01:00’
    price: 0.82533
    – time: ‘2023-01-24 06:00:00+01:00’
    price: 0.86473
    – time: ‘2023-01-24 07:00:00+01:00’
    price: 0.90345
    – time: ‘2023-01-24 08:00:00+01:00’
    price: 0.96354
    – time: ‘2023-01-24 09:00:00+01:00’
    price: 0.97134
    – time: ‘2023-01-24 10:00:00+01:00’
    price: 0.94533
    – time: ‘2023-01-24 11:00:00+01:00’
    price: 0.93259
    – time: ‘2023-01-24 12:00:00+01:00’
    price: 0.91486
    – time: ‘2023-01-24 13:00:00+01:00’
    price: 0.89749
    – time: ‘2023-01-24 14:00:00+01:00’
    price: 0.91109
    – time: ‘2023-01-24 15:00:00+01:00’
    price: 0.91505
    – time: ‘2023-01-24 16:00:00+01:00’
    price: 0.92471
    – time: ‘2023-01-24 17:00:00+01:00’
    price: 0.96193
    – time: ‘2023-01-24 18:00:00+01:00’
    price: 0.96193
    – time: ‘2023-01-24 19:00:00+01:00’
    price: 0.93432
    – time: ‘2023-01-24 20:00:00+01:00’
    price: 0.8994
    – time: ‘2023-01-24 21:00:00+01:00’
    price: 0.86347
    – time: ‘2023-01-24 22:00:00+01:00’
    price: 0.81537
    – time: ‘2023-01-24 23:00:00+01:00’
    price: 0.81162
    – time: ‘2023-01-25 00:00:00+01:00’
    price: 0.79824
    – time: ‘2023-01-25 01:00:00+01:00’
    price: 0.80993
    – time: ‘2023-01-25 02:00:00+01:00’
    price: 0.80858
    – time: ‘2023-01-25 03:00:00+01:00’
    price: 0.81069
    – time: ‘2023-01-25 04:00:00+01:00’
    price: 0.81083
    – time: ‘2023-01-25 05:00:00+01:00’
    price: 0.81684
    – time: ‘2023-01-25 06:00:00+01:00’
    price: 0.83016
    – time: ‘2023-01-25 07:00:00+01:00’
    price: 0.88208
    – time: ‘2023-01-25 08:00:00+01:00’
    price: 0.92538
    – time: ‘2023-01-25 09:00:00+01:00’
    price: 0.92533
    – time: ‘2023-01-25 10:00:00+01:00’
    price: 0.90691
    – time: ‘2023-01-25 11:00:00+01:00’
    price: 0.89016
    – time: ‘2023-01-25 12:00:00+01:00’
    price: 0.87877
    – time: ‘2023-01-25 13:00:00+01:00’
    price: 0.86705
    – time: ‘2023-01-25 14:00:00+01:00’
    price: 0.87525
    – time: ‘2023-01-25 15:00:00+01:00’
    price: 0.88477
    – time: ‘2023-01-25 16:00:00+01:00’
    price: 0.88754
    – time: ‘2023-01-25 17:00:00+01:00’
    price: 0.89802
    – time: ‘2023-01-25 18:00:00+01:00’
    price: 0.88887
    – time: ‘2023-01-25 19:00:00+01:00’
    price: 0.8454
    – time: ‘2023-01-25 20:00:00+01:00’
    price: 0.81552
    – time: ‘2023-01-25 21:00:00+01:00’
    price: 0.80717
    – time: ‘2023-01-25 22:00:00+01:00’
    price: 0.80831
    – time: ‘2023-01-25 23:00:00+01:00’
    price: 0.79356
    unit_of_measurement: €/kWh
    attribution: Data provided by ENTSO-e Transparency Platform
    device_class: monetary
    icon: mdi:currency-eur
    friendly_name: Average electricity price today (Energieprijzen )

    • Hoi, Danny vandaag is het wel goed gekomen. Waarom het eerst mis ging is me een raadsel. Gelukkig is het nu goed bedankt voor geweldige uitleg.
      Groet Roy

  18. Lennard jan 29, 2023

    Hé Danny,

    Net overgestapt naar ANWB en fan van Home Assistant. Erg mooi en duidelijk stuk. Dank daarvoor. Ik zag in de reacties vaak de vraag voorbij komen of het mogelijk is om 2 grafieken (alleen inkoopsprijs en 1 met alle kosten) in 1 kaart de combineren. Dat heb ik nu draaien en ben er erg blij mee.

    Ik heb 2 keer de ENTSO-e integratie toegevoegd:
    – Dynamische Prijzen (met VAT op 0, Area: Netherlands) met de volgende Template:
    o {% set s = {“extra_cost”: 0.0175,”energie_belasting”: 0.12599,”VAT”: 1.21} %} {{((current_price + s.extra_cost + s.energie_belasting) * s.VAT) | float}}
    – Dynamische Prijzen – Test (met VAT op 0, Area: Netherlands) met de volgende Template:
    o {% set s = {“extra_cost”: 0.0,”energie_belasting”: 0.0,”VAT”: 1.21} %} {{((current_price + s.extra_cost + s.energie_belasting) * s.VAT) | float}}

    Af en toe komen de prijzen nog niet precies overeen met de site van de ANWB maar dat is centen werk.

    Daarna met de ApexCharts-card de volgende 2 grafieken gemaakt:

    1 – Een grafiek waarbij de inkoopprijs van de ANWB als klommen worden getoond (gebruikmakend van de entity: sensor.dynamische_prijzen_test_average_electricity_price_today) en de totale kosten worden getoond als stepline (gebruikmakend van de entity: sensor.dynamische_prijzen_average_electricity_price_today)

    Daarnaast worden in de header de Totale kosten en het Inkooptarief op dit moment getoond. Deze worden opgehaald uit de entiteiten: sensor.dynamische_prijzen_current_electricity_market_price en sensor.dynamische_prijzen_test_current_electricity_market_price

    Hierbij de code voor de eerste grafiek:

    type: custom:apexcharts-card
    graph_span: 24h
    span:
    start: day
    now:
    show: true
    label: ”
    header:
    show: true
    title: Stroomprijs vandaag (€/kWh)
    floating: false
    show_states: true
    colorize_states: true
    series:
    – entity: sensor.dynamische_prijzen_average_electricity_price_today
    name: Totale kosten
    stroke_width: 2
    float_precision: 2
    type: line
    curve: stepline
    show:
    in_header: false
    legend_value: false
    opacity: 1
    color: ”
    data_generator: |
    return entity.attributes.prices.map((record, index) => {
    return [record.time, record.price];
    });
    – entity: sensor.dynamische_prijzen_test_average_electricity_price_today
    name: Inkooptarief
    stroke_width: 1
    float_precision: 2
    type: column
    show:
    in_header: false
    legend_value: false
    data_generator: |
    return entity.attributes.prices.map((record, index) => {
    return [record.time, record.price];
    });
    – entity: sensor.dynamische_prijzen_current_electricity_market_price
    name: Totale kosten
    show:
    in_chart: false
    color: orange
    stroke_width: 1
    float_precision: 2
    type: column
    – entity: sensor.dynamische_prijzen_test_current_electricity_market_price
    name: Inkooptarief
    show:
    in_chart: false
    color: rgb(52, 152, 219)
    stroke_width: 1
    float_precision: 2
    type: column
    yaxis:
    – id: Prijs
    decimals: 2
    min: -0.1

    2 – In de tweede grafiek worden de waardes van morgen getoond. Maakt gebruik van dezelfde entiteiten.

    In de header van deze grafiek toon ik de hoogste en laagste prijs voor de volgende dag (als ze beschikbaar zijn). Deze worden opgehaald uit de entiteiten: sensor.dynamische_prijzen_lowest_energy_price_today en sensor.dynamische_prijzen_highest_energy_price_today.

    De hele grafiek heeft natuurlijk een offset van +1d (zoals je in je instructie beschrijft).

    De code voor deze grafiek:

    type: custom:apexcharts-card
    graph_span: 24h
    span:
    start: day
    offset: +1d
    now:
    show: true
    label: ”
    header:
    show: true
    title: Stroomprijs morgen (€/kWh)
    floating: false
    show_states: true
    colorize_states: true
    series:
    – entity: sensor.dynamische_prijzen_average_electricity_price_today
    name: Totale kosten
    stroke_width: 2
    float_precision: 2
    type: line
    show:
    in_header: false
    legend_value: false
    opacity: 1
    color: ”
    data_generator: |
    return entity.attributes.prices.map((record, index) => {
    return [record.time, record.price];
    });
    – entity: sensor.dynamische_prijzen_test_average_electricity_price_today
    name: Inkooptarief
    stroke_width: 1
    float_precision: 2
    type: column
    show:
    in_header: false
    legend_value: false
    data_generator: |
    return entity.attributes.prices.map((record, index) => {
    return [record.time, record.price];
    });
    – entity: sensor.dynamische_prijzen_lowest_energy_price_today
    name: Laagste prijs
    show:
    in_chart: false
    color: Green
    stroke_width: 1
    float_precision: 2
    type: column
    – entity: sensor.dynamische_prijzen_highest_energy_price_today
    name: Hoogste prijs
    show:
    in_chart: false
    color: Red
    stroke_width: 1
    float_precision: 2
    type: column
    yaxis:
    – id: Prijs
    decimals: 2
    min: -0.1

    Hoop dat jij en de rest van de lezers er iets aan hebben. En nu verder met het daadwerkelijk gebruiken van deze gegevens om slim om te gaan met de energieprijzen. Daar gaat het natuurlijk om!

    Nogmaals dank voor je uitgebreide beschrijving!

    • Lennard jan 29, 2023

      Ik kom net nog achter 1 foutje. De laagste en hoogste prijs voor morgen gaat niet werken zoals beschreven in mijn eerste post.

      Ik heb nu de hoogste en laagste waarde uit de entiteit sensor.dynamische_prijzen_average_electricity_price_today gehaald (en dan voor het attribuut: prices_tomorrow). Daarna sla ik deze (elk uur) op in aparte (zelf gemaakte) sensoren (sensor.dynamische_prijs_laag_morgen en sensor.dynamische_prijs_hoog_morgen). Dit doe ik met Node-Red en via MQTT. Dan voeg ik deze sensoren toe aan de grafiek.

      Enige is dat de entiteiten voor deze hoogste en laagste prijs met een offset van -1d opgenomen moeten worden. Anders is er geen data (het is immers nog niet morgen).

      Het laatste stukje code veranderd dan in:
      – entity: sensor.dynamische_prijs_laag_morgen
      name: Laagste prijs
      show:
      in_chart: false
      color: Green
      offset: ‘-1d’
      stroke_width: 1
      float_precision: 2
      type: column
      – entity: sensor.dynamische_prijs_hoog_morgen
      name: Hoogste prijs
      show:
      in_chart: false
      color: Red
      offset: ‘-1d’
      stroke_width: 1
      float_precision: 2
      type: column

      Ik weet niet zeker wat er gebeurd als de prijzen van ANWB nog niet bekend zijn voor de volgende dag. Het kan zijn dat de hoogste en laagste prijzen de waarden houden van de dag ervoor (totdat er om 15:00 nieuwe prijzen bekend zijn). We gaan het zien.

  19. Danny, super bedankt voor je artikel!!