Home Assistant · prijs en CO2
Twee gelijkwaardige manieren om prijs- en CO2-data in Home Assistant te krijgen
Er zijn twee volwaardig ondersteunde wegen: een native HACS-integratie met UI-setup, of een gewone REST-sensor die je in YAML plakt. Beide gebruiken dezelfde API en geven actuele waarden, live vensterstatus en de belangrijkste tijdvensters terug.
- HACS-integratie: instellen via een dialoogvenster in Home Assistant, eigen entiteiten, momenteel als custom repository (nog niet in de HACS-standaardlijst)
- REST-sensor: één endpoint voor prijs, CO2 en tijdvensters, geen HACS nodig
- duidelijk onderscheid tussen basisprijs, CO2 en totaalprijs-ondersteuning - identiek bij beide wegen
Welke weg past bij jou?
Beide wegen gebruiken dezelfde summary-endpoint en geven inhoudelijk dezelfde data. Het verschil zit in de installatie en het onderhoud.
Opensource-repository van de HACS-integratie: github.com/BackupBaTTerY/energypriceforecast-home-assistant. Beide wegen kunnen ook naast elkaar draaien, zolang je geen dubbele entity-ID's aanmaakt.
De Home Assistant-opzet blijft zonder API-key bruikbaar tot 48 uur. Wil je grotere verbruikers meerdere dagen vooruit plannen, dan kun je Private Pro met maximaal 120 uur 14 dagen gratis proberen.
Nieuwe integraties moeten vanaf nu https://api.energypriceforecast.eu/api/v1/... gebruiken. Oudere project-URL's werken voor bestaande setups deels nog, maar mogen niet langer als referentie voor nieuwe integraties worden gebruikt.
Zo installeer je de HACS-integratie
Zolang de integratie nog niet in de HACS-standaardlijst staat, voeg je de repository eenmalig handmatig toe.
- Open HACS, klik rechtsboven op de drie puntjes → Custom repositories.
- Vul repository-URL
https://github.com/BackupBaTTerY/energypriceforecast-home-assistantin, kies type Integration, voeg toe. - Zoek naar "Energy Price Forecast EU", download het, herstart daarna Home Assistant.
- Instellingen → Apparaten & diensten → Integratie toevoegen, zoek naar "Energy Price Forecast EU" en kies je markt plus eventuele opties.
De knop hierboven ("HACS-integratie toevoegen") opent stap 1 en 2 automatisch als HACS al is geïnstalleerd.
Prijsgrafiek bouwen met AI (HACS-integratie)
Twee sensoren dragen de attributen raw_today/raw_tomorrow - een lijst met prijs-tijdvakken, bedoeld voor grafieken met de community-kaart apexcharts-card (apart te installeren via HACS): de altijd actieve sensor met naam eindigend op _price_series (day-ahead/spotprijs) en, als je bij het instellen de eindklantprijs hebt ingeschakeld, ook de sensor eindigend op _retail_current_price (op aannames gebaseerde all-in prijs). Beide dragen ook het attribuut raw_forecast: de items voorbij het gepubliceerde day-ahead-venster - de werkelijke ML-/weersvoorspelling. Deze prompt bouwt de bijbehorende Lovelace-kaart voor je.
Kopieerbare prompt tonen
Help me een Home Assistant Lovelace-kaart te bouwen die stroomprijzen van de Energy Price Forecast EU-integratie weergeeft met de apexcharts-card.
De integratie maakt een sensor aan waarvan de entity_id eindigt op "_price_series" (day-ahead/spotprijs, de exacte naam hangt af van de gekozen markt, bijvoorbeeld sensor.energy_price_forecast_eu_nl_prijsreeks) en, als ik de eindklantprijs heb ingeschakeld, een tweede sensor eindigend op "_retail_current_price" (op aannames gebaseerde all-in prijs) met dezelfde attribuutstructuur. De status van elke sensor is de huidige prijs; de attributen raw_today, raw_tomorrow en raw_forecast zijn elk een lijst van objecten in de vorm {"start": ISO8601-tijdstempel, "end": ISO8601-tijdstempel, "value": getal}. raw_today/raw_tomorrow dekken alleen het gepubliceerde day-ahead-venster (bekende prijzen, geen schatting); raw_forecast bevat alleen de items daarna - de werkelijke ML-/weersvoorspelling. De eenheid van de waarde komt overeen met de marktvaluta (bijvoorbeeld EUR/kWh).
Mijn werkelijke entity_id is: Apparaten & diensten > Energy Price Forecast EU, of Ontwikkelaarstools > Status, gefilterd op "price_series" of "retail_current_price">
Vraag me voordat je YAML schrijft:
1. Heb ik HACS en de apexcharts-card al geïnstalleerd? Zo niet, zeg dan dat ik apexcharts-card eerst via HACS moet installeren (categorie: Frontend/Plugin).
2. Wil ik de day-ahead/spotprijs (_price_series) of mijn eindklantprijs (_retail_current_price) weergeven, als ik die heb ingeschakeld?
3. Moet de grafiek alleen vandaag tonen, vandaag en morgen samen, of bekende prijzen plus voorspelling (raw_today + raw_tomorrow + raw_forecast) als twee visueel verschillende reeksen (bijv. doorlopend vs. gestippeld, verschillende kleuren)?
4. Wil ik ook het goedkoopste-uren-venster markeren, als ik die functie heb ingeschakeld? (binary_sensor ...goedkoopste_uren_actief / sensor ...volgend_goedkoopste_uur)
5. Wil ik een staafdiagram per uur of een lijn-/vlakdiagram?
Regels voor je resultaat:
- Gebruik uitsluitend de beschreven attributen raw_today/raw_tomorrow/raw_forecast. Verzin geen andere attributen of een andere datastructuur.
- Gebruik de data_generator van apexcharts-card om de attribuutlijst om te zetten in een grafiekreeks - ga er niet van uit dat de kaart het attribuut rechtstreeks als reeks accepteert.
- Als ik bekende prijzen en voorspelling als aparte reeksen wilde: gebruik twee reeksen op dezelfde entity (een met raw_today+raw_tomorrow samengevoegd, een met raw_forecast), elk met eigen data_generator, en zet bij beide extend_to: false - anders verlengt apexcharts-card de laatste waarde visueel tot de rand van de grafiek, wat hier misleidend zou zijn.
- Zet elke stringwaarde (title, name, tooltip-formaat) die zelf een dubbele punt bevat tussen aanhalingstekens, zoals "Bekend: voorspelling" of "dd.MM. HH:mm" - een niet-gequote dubbele punt in een YAML-waarde breekt het parsen.
- Genereer een volledig, correct ingesprongen YAML-blok voor een handmatige Lovelace-kaart (type: custom:apexcharts-card).
- Vertel me precies waar ik dit moet plakken (Dashboard > Bewerken > Kaart toevoegen > Handmatig).
- Als informatie ontbreekt, vraag het dan - raad niet naar mijn entity_id of markt.
Aanbevolen endpoint
Voor Home Assistant is /api/v1/home-assistant/summary het meest praktisch. De endpoint levert niet alleen ruwe waarden, maar ook al berekende vensters voor goedkoop, groen en gecombineerd gebruik.
https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=nl&hours=48&window_hours=4flat.current_price en flat.cheapest_window_*.flat.current_co2_g_kwh en flat.greenest_window_*.flat.combined_window_* voor de compromiskeuze tussen prijs en CO2.Snelle start voor copy-paste (REST-sensor)
Als je voor de REST-sensor hebt gekozen: dit is bewust eenvoudig. YAML-blok plakken, markt aanpassen, Home Assistant herladen.
- Plaats het YAML-blok hieronder in
configuration.yamlof in een package-bestand dat Home Assistant al inlaadt. - Pas alleen
countryaan. Gebruik voor Denemarken altijddk1ofdk2. - Herlaad of herstart Home Assistant.
- Controleer onder Ontwikkelaarstools of de nieuwe sensoren waarden teruggeven.
flat-velden in plaats van complexe templates, zodat het copy-paste-vriendelijk blijft.country. De rest kan ongewijzigd blijven.REST-sensorvoorbeeld
Dit voorbeeld vraagt Nederland elke 15 minuten op. Voor andere markten hoef je alleen de parameter country te wijzigen.
rest:
- resource: "https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=nl&hours=48&window_hours=4"
scan_interval: 900
sensor:
- name: "StroomprijsVoorspelling actuele prijs"
value_template: "{{ value_json.flat.current_price }}"
unit_of_measurement: "EUR/kWh"
- name: "StroomprijsVoorspelling actuele CO2-intensiteit"
value_template: "{{ value_json.flat.current_co2_g_kwh }}"
unit_of_measurement: "gCO2/kWh"
- name: "StroomprijsVoorspelling goedkoopste venster start"
value_template: "{{ value_json.flat.cheapest_window_start }}"
- name: "StroomprijsVoorspelling groenste venster start"
value_template: "{{ value_json.flat.greenest_window_start }}"
Na het invoegen Home Assistant herladen of herstarten en de sensorwaarden onder Ontwikkelaarstools controleren.
Officiële veldreferentie voor home-assistant/summary
De summary-endpoint is bewust compact. Voor veel automatiseringen volstaat het blok flat. Wie meer controle of eigen dashboards wil, kan daarnaast de blokken price, co2, combined en source gebruiken.
| Veld | Betekenis | Typisch gebruik |
|---|---|---|
flat.current_price | Actuele prijs in EUR/kWh. Voor de lopende slot gebruikt de API automatisch de beste publiek beschikbare bron. | Eenvoudige prijssensor voor automatiseringen. |
flat.current_price_source | Bronlabel van de actuele prijs, bijvoorbeeld day_ahead. | Controleren of de waarde al officieel is of nog voorspeld. |
flat.current_co2_g_kwh | Actuele CO2-intensiteit in gCO2/kWh. | CO2-gestuurde belastingverschuiving. |
flat.cheapest_window_* | Start, einde en gemiddelde waarde van het goedkoopste tijdvenster. | EV-laden, boiler, warmtepomp. |
flat.greenest_window_* | Start, einde en gemiddelde waarde van het groenste tijdvenster. | CO2-geoptimaliseerde planning. |
flat.combined_window_* | Compromisvenster tussen prijs en CO2. | Wanneer beide belangrijk zijn zonder eigen scorelogica. |
price.current | Object met start, end, value, unit en source voor de actuele prijsslot. | Dashboards en preciezere logica. |
price.cheapest_window_next_horizon | Gestructureerd blok voor het goedkoopste venster, inclusief duur en bronverdeling. | Als je start, einde en context samen wilt gebruiken. |
co2.current | Object met actuele CO2-waarde en het bijbehorende tijdvenster. | CO2-weergave zonder parsing uit flat. |
co2.greenest_window_next_horizon | Gestructureerd blok voor het groenste venster. | CO2-geoptimaliseerd laden of verwarmen. |
combined.best_window_next_horizon | Gecombineerd aanbevelingsblok met prijs-, CO2- en scorewaarden. | Eén directe beslissing zonder eigen gewichten. |
source.price | Metadata over de prijsbron, inclusief Firestore-document, day-ahead-provider en aantallen beschikbare waarden. | Debugging, monitoring en kwaliteitscontrole. |
source.co2 | Metadata over de CO2-bron. | Debugging en herleidbaarheid. |
hourly-forecast geschikter.flat.current_price is de publiek bruikbare prijs voor de lopende slot. Die kan uit de officiële day-ahead komen of uit een andere vrijgegeven bron wanneer de marktuitkomst nog niet volledig beschikbaar is.retail-forecast-endpoint is momenteel alleen bedoeld voor geselecteerde markten. Voor andere markten blijft de summary bewust bij markt- of basiswaarden.Wanneer volstaat summary en wanneer heb je hourly-forecast nodig?
summary volstaat voor eenvoudige automatiseringen
Als je alleen de actuele prijs, de actuele CO2-intensiteit of het beste 4-uursvenster nodig hebt, is home-assistant/summary de juiste endpoint. Zo blijft de YAML kort en vermijd je onnodig parsen.
hourly-forecast is beter voor grafieken en complexere templates
Als je zelf grafieken wilt tekenen, eigen scores wilt berekenen of day-ahead apart van modelvoorspelling wilt tonen, gebruik dan hourly-forecast. Daar zijn de uurlijkse reeksen explicieter zichtbaar.
Supportmatrix van de publieke API
Niet elk zichtbaar land is al voor elk publiek endpoint vrijgegeven. Daarom is het beter om expliciet te tonen welke markten per endpoint echt ondersteund worden.
| Markt | hourly-forecast |
home-assistant/summary |
co2-live |
Eindprijsprognose voor consumentenretail-forecast |
|---|---|---|---|---|
| DE | ja | ja | ja | ja |
| NL | ja | ja | ja | ja |
| BE | ja | ja | ja | nee |
| FR | ja | ja | ja | nee |
| CZ | ja | ja | ja | nee |
| AT | ja | ja | ja | ja |
| PL | ja | ja | ja | nee |
| FI | ja | ja | ja | nee |
| SE1 | ja | ja | ja | nee |
| SE2 | ja | ja | ja | nee |
| SE3 | ja | ja | ja | nee |
| SE4 | ja | ja | ja | nee |
| DK1 | ja | ja | ja | ja |
| DK2 | ja | ja | ja | ja |
| NO1 | ja | ja | ja | ja |
| NO2 | ja | ja | ja | ja |
| NO3 | ja | ja | ja | ja |
| NO4 | ja | ja | ja | ja |
| NO5 | ja | ja | ja | ja |
dk1 of dk2. dk valt terug op DK1.retail-forecast wordt hier een geschatte eindklantprijs bedoeld, niet alleen de kale markt- of basisprijs. Publiek beschikbaar is dit momenteel voor DE, NL, DK1, DK2, AT en NO1 t/m NO5.Met AI aanpassen aan jouw installatie
Deze prompt helpt een AI om van de summary-endpoint een Home Assistant-automatisering voor jouw verbruiker, deadline en veiligheidsregels te maken. Dit is een aanvulling op de eenvoudige copy-paste-opzet hierboven.
Geef een AI nooit je echte API-key. Laat JOUW_API_KEY in het resultaat staan en vul de sleutel pas lokaal in Home Assistant in.
Prompt om te kopiëren tonen
Help mij een veilige Home Assistant-automatisering te bouwen met de Energy Price Forecast EU API.
Lees eerst het API-contract:
https://energypriceforecast.eu/openapi/integration-api.json
Gebruik /api/v1/home-assistant/summary en verzin geen velden. De API gebruikt officiële day-aheadprijzen zodra die beschikbaar zijn en prognosewaarden alleen voor de resterende open horizon.
Stel mij vóór de YAML één voor één maximaal deze vragen:
1. Land of prijszone?
2. Welke verbruiker moet worden aangestuurd en welke Home Assistant-entity schakelt hem?
3. Vermogen, benodigde looptijd en uiterste eindtijd?
4. Optimaliseren op prijs, CO2 of beide?
5. Free zonder key en maximaal 48 uur, of Private Pro met maximaal 120 uur?
6. Gebruik ik packages of configuration.yaml?
Regels voor het resultaat:
- Free: hours=48 en geen Authorization-header.
- Private Pro: hours=120 en header Authorization: Bearer JOUW_API_KEY.
- Vraag mij nooit om de echte key in de chat te plakken.
- Verwerk HTTP-fouten en controleer meta.api_key_state en meta.allowed_horizon_hours.
- Leg elke gebruikte API-eigenschap kort uit.
- Geef volledige, correct ingesprongen YAML en noem exact waar die hoort.
- Begin met een veilige testmodus via een melding of input_boolean. Zet het werkelijk schakelen van de verbruiker in een aparte, duidelijk gemarkeerde stap.
- Definieer veilig gedrag bij oude, ontbrekende of onwaarschijnlijke data. Een API-fout mag de verbruiker nooit onverwacht inschakelen.
- Sluit af met een controlelijst: HTTP 200, sensoren gevuld, toegestane horizon correct en testmodus correct geactiveerd.
Vraag door als informatie ontbreekt. Neem entitynamen, tarieven of elektrische grenzen niet stilzwijgend aan.
Machineleesbare basis: OpenAPI-contract voor de integratie-endpoints.
Belangrijke opmerkingen
Is er een officiële Home Assistant-integratie?
Ja, er is een native HACS-integratie beschikbaar (momenteel als custom repository, zie de vergelijking hierboven). Het REST-sensorpad op deze pagina blijft ook volledig ondersteund - stabieler, makkelijker te testen en voor veel setups volledig voldoende.
Zijn de API-prijzen mijn exacte huishoudtarief?
Niet automatisch. hourly-forecast en de Home-Assistant-summary leveren eerst markt- of basisprijzen. Het exacte totaal hangt per land af van netkosten, belastingen, heffingen en leveranciersmarges.
Wat gebeurt er bij een niet-ondersteund land?
De publieke API geeft daarvoor nu bewust een foutmelding in plaats van stil op Duitsland terug te vallen. Dat is expres strenger, zodat automatiseringen geen verkeerde data krijgen.
Wat als er na het plakken geen waarden verschijnen?
De meest voorkomende oorzaken zijn: YAML op de verkeerde plek geplaatst, Home Assistant niet herladen, een niet-ondersteunde country-waarde of een fout in de YAML-inspringing. Ontwikkelaarstools en de Home Assistant-logs laten dat meestal direct zien.
Gerelateerd: evcc met stroomprijs- en CO2-prognose.