Home Assistant · pris og CO2
To lige gode måder at få pris- og CO2-data ind i Home Assistant
Der er to fuldt understøttede veje: en native HACS-integration med UI-opsætning, eller en almindelig REST-sensor i YAML. Begge bruger samme API og returnerer aktuelle værdier, live vinduesstatus og de bedste tidsvinduer.
- HACS-integration: opsætning via en dialog i Home Assistant, egne entiteter, aktuelt som brugerdefineret repository (endnu ikke i HACS' standardliste)
- REST-sensor: ét endpoint til pris, CO2 og nyttige tidsvinduer, ingen HACS nødvendig
- tydelig adskillelse mellem basispris, CO2 og totalpris-støtte - identisk på begge veje
Hvilken vej passer til dig?
Open source-repository for HACS-integrationen: github.com/BackupBaTTerY/energypriceforecast-home-assistant. I HACS under "Brugerdefinerede repositories" (kategori Integration), installer derefter "Energy Price Forecast EU" og sæt den op via Indstillinger → Enheder & tjenester. Foretrækker du at styre alt via YAML, så brug REST-sensoren længere nede på siden i stedet - begge returnerer samme data.
API'en kan allerede bruges direkte i Home Assistant, scripts og andre automatiseringer - via HACS-integrationen eller direkte som REST-sensor.
Nye integrationer bør nu bruge https://api.energypriceforecast.eu/api/v1/.... Nogle ældre projekt-URL'er virker stadig for eksisterende setups, men de bør ikke længere bruges som reference til nye integrationer.
Anbefalet endpoint
Til Home Assistant er /api/v1/home-assistant/summary den enkleste indgang. Endpointet returnerer ikke kun rå værdier, men også beregnede vinduer for billigst, grønnest og et pris/CO2-kompromis.
https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=dk1&hours=48&window_hours=4flat.current_price og flat.cheapest_window_*.flat.current_co2_g_kwh og flat.greenest_window_*.flat.combined_window_* for kompromiset mellem pris og CO2.Hurtig start til copy-paste
Ja, siden er bevidst lavet, så en almindelig Home Assistant-konfiguration er nok. Den enkleste vej er: indsæt YAML-blokken, juster markedet, genindlæs Home Assistant.
- Indsæt YAML-blokken nedenfor i
configuration.yamleller i en package-fil, som Home Assistant allerede indlæser. - Ret kun
country. For Danmark skal du altid brugedk1ellerdk2. - Genindlæs eller genstart Home Assistant.
- Tjek under udviklerværktøjer, at de nye sensorer returnerer værdier.
flat-felter i stedet for komplekse templates, så det forbliver copy-paste-venligt.country. Resten kan stå uændret.REST-sensor eksempel
Eksemplet nedenfor henter DK1 hver 15. minut. For DK2 ændres kun værdien i country.
rest:
- resource: "https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=dk1&hours=48&window_hours=4"
scan_interval: 900
sensor:
- name: "ElprisPrognose aktuel pris"
value_template: "{{ value_json.flat.current_price }}"
unit_of_measurement: "DKK/kWh"
- name: "ElprisPrognose aktuel CO2-intensitet"
value_template: "{{ value_json.flat.current_co2_g_kwh }}"
unit_of_measurement: "gCO2/kWh"
- name: "ElprisPrognose billigste vindue start"
value_template: "{{ value_json.flat.cheapest_window_start }}"
- name: "ElprisPrognose grønneste vindue start"
value_template: "{{ value_json.flat.greenest_window_start }}"
Når blokken er indsat, skal Home Assistant genindlæses eller genstartes, og sensorerne bør kontrolleres under udviklerværktøjer.
Officiel feltreference for home-assistant/summary
Summary-endpointet er bevidst kompakt. Til mange automatiseringer er blokken flat nok. Hvis du vil have mere kontrol eller bygge egne dashboards, kan du også bruge de mere strukturerede blokke price, co2, combined og source.
| Felt | Betydning | Typisk brug |
|---|---|---|
flat.current_price | Aktuel pris. For Danmark kan den returneres i DKK eller EUR afhængigt af endpoint og opsætning. | Enkel prissensor til automatiseringer. |
flat.current_price_source | Kildelabel for den aktuelle pris, fx day_ahead. | Se om værdien allerede er officiel eller stadig prognosebaseret. |
flat.current_co2_g_kwh | Aktuel CO2-intensitet i gCO2/kWh. | CO2-styret lastflytning. |
flat.cheapest_window_* | Start, slut og gennemsnit for det billigste tidsvindue. | Elbil, varmtvandsbeholder, varmepumpe. |
flat.greenest_window_* | Start, slut og gennemsnit for det grønneste tidsvindue. | CO2-optimeret planlægning. |
flat.combined_window_* | Kompromisvindue mellem pris og CO2. | Når begge hensyn er vigtige uden egen vægtning. |
price.current | Objekt med start, end, value, unit og source for den aktuelle prisslot. | Dashboards og mere præcis logik. |
price.cheapest_window_next_horizon | Struktureret blok for det billigste vindue inklusive varighed og kildefordeling. | Når start, slut og kontekst skal bruges samlet. |
co2.current | Objekt med aktuel CO2-værdi og tilhørende tidsvindue. | CO2-visning uden parsing af flat. |
co2.greenest_window_next_horizon | Struktureret blok for det grønneste vindue. | CO2-optimeret opladning eller opvarmning. |
combined.best_window_next_horizon | Kombineret anbefalingsblok med pris, CO2 og score. | En enkelt "best now"-beslutning uden egen score. |
source.price | Metadata om priskilden, inklusive Firestore-dokument, day-ahead-provider og antal tilgængelige værdier. | Debug, overvågning og kvalitetskontrol. |
source.co2 | Metadata om CO2-kilden. | Debug og sporbarhed. |
hourly-forecast bedre egnet.flat.current_price er den offentligt brugbare pris for det aktuelle slot. Den kan komme fra den officielle day-ahead-auktion eller fra en anden frigivet kilde, hvis hele markedsresultatet endnu ikke er tilgængeligt.retail-forecast-endpoint er i øjeblikket kun beregnet til udvalgte markeder. For andre markeder holder summary bevidst fast i markeds- eller basisværdier.Hvornår er summary nok, og hvornår skal du bruge hourly-forecast?
summary er nok til simple automatiseringer
Hvis du kun har brug for den aktuelle pris, den aktuelle CO2-intensitet eller det bedste 4-timers vindue, er home-assistant/summary det rigtige endpoint. Det holder YAML kort og undgår unødig parsing.
hourly-forecast er bedre til grafer og mere komplekse templates
Hvis du vil lave egne grafer, beregne egne scorer eller holde day-ahead og modelprognose adskilt, så brug hourly-forecast. Her er timeserierne mere eksplicit tilgængelige.
Supportmatrix for den offentlige API
Ikke alle synlige markeder er endnu frigivet i alle offentlige endpoints. Derfor viser matrisen nedenfor eksplicit, hvor hvert endpoint reelt er understøttet.
| Marked | hourly-forecast |
home-assistant/summary |
co2-live |
Slutkundepris-prognoseretail-forecast |
|---|---|---|---|---|
| DE | ja | ja | ja | ja |
| NL | ja | ja | ja | ja |
| BE | ja | ja | ja | nej |
| FR | ja | ja | ja | nej |
| CZ | ja | ja | ja | nej |
| AT | ja | ja | ja | ja |
| PL | ja | ja | ja | nej |
| FI | ja | ja | ja | nej |
| SE1 | ja | ja | ja | nej |
| SE2 | ja | ja | ja | nej |
| SE3 | ja | ja | ja | nej |
| SE4 | ja | ja | ja | nej |
| 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 eller dk2. dk falder tilbage til DK1.retail-forecast en estimeret slutkundepris og ikke kun den rene markeds- eller basispris. Endpointet er offentligt åbent i øjeblikket for DE, NL, DK1, DK2, AT og NO1 til NO5.Vigtige bemærkninger
Findes der en officiel Home Assistant-integration?
Ja, en native HACS-integration er tilgængelig (aktuelt som brugerdefineret repository, se sammenligningen ovenfor). REST-vejen på denne side er stadig fuldt understøttet - mere stabil, lettere at teste og fuldt tilstrækkelig i mange opsætninger.
Er API-priserne min præcise husholdningspris?
Ikke automatisk. hourly-forecast og Home Assistant-summary giver først markeds- eller basispriser. Den nøjagtige totalpris afhænger af land, nettariffer, afgifter, skatter og leverandørtillæg.
Hvad sker der for et ikke-understøttet land?
Den offentlige API returnerer nu bevidst en fejl i stedet for stille at falde tilbage til Tyskland. Det er med vilje mere stramt, så automatiseringer ikke får forkerte data.
Hvad hvis der ikke vises værdier efter indsættelse af YAML?
De mest almindelige årsager er: YAML er sat ind det forkerte sted, Home Assistant er ikke genindlæst, country-værdien er ikke understøttet, eller YAML-indrykningen er forkert. Udviklerværktøjer og Home Assistant-loggen viser det normalt hurtigt.