Sprog

Home Assistant · pris og CO2

Home Assistant behøver ingen særlig integration her

En almindelig REST-sensor er nok til at hente pris, CO2 og de bedste tidsvinduer. Summary-endpointet returnerer de vigtigste felter direkte som JSON.

Vigtigt

API'en kan allerede bruges direkte i Home Assistant, scripts og andre automatiseringer. Det, der manglede, var primært en klar vejledning, ikke en ekstra teknisk integration.

API-flytning

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=4
Prisflat.current_price og flat.cheapest_window_*.
CO2flat.current_co2_g_kwh og flat.greenest_window_*.
Kombineretflat.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.

  1. Indsæt YAML-blokken nedenfor i configuration.yaml eller i en package-fil, som Home Assistant allerede indlæser.
  2. Ret kun country. For Danmark skal du altid bruge dk1 eller dk2.
  3. Genindlæs eller genstart Home Assistant.
  4. Tjek under udviklerværktøjer, at de nye sensorer returnerer værdier.
Egnet til begyndereEksemplet bruger bevidst enkle flat-felter i stedet for komplekse templates, så det forbliver copy-paste-venligt.
Det du skal ændreNormalt kun country. Resten kan stå uændret.
Det du bør se bagefterMindst én sensor for aktuel pris og én sensor for billigste tidsvindue.

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_priceAktuel pris. For Danmark kan den returneres i DKK eller EUR afhængigt af endpoint og opsætning.Enkel prissensor til automatiseringer.
flat.current_price_sourceKildelabel for den aktuelle pris, fx day_ahead.Se om værdien allerede er officiel eller stadig prognosebaseret.
flat.current_co2_g_kwhAktuel 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.currentObjekt med start, end, value, unit og source for den aktuelle prisslot.Dashboards og mere præcis logik.
price.cheapest_window_next_horizonStruktureret blok for det billigste vindue inklusive varighed og kildefordeling.Når start, slut og kontekst skal bruges samlet.
co2.currentObjekt med aktuel CO2-værdi og tilhørende tidsvindue.CO2-visning uden parsing af flat.
co2.greenest_window_next_horizonStruktureret blok for det grønneste vindue.CO2-optimeret opladning eller opvarmning.
combined.best_window_next_horizonKombineret anbefalingsblok med pris, CO2 og score.En enkelt "best now"-beslutning uden egen score.
source.priceMetadata om priskilden, inklusive Firestore-dokument, day-ahead-provider og antal tilgængelige værdier.Debug, overvågning og kvalitetskontrol.
source.co2Metadata om CO2-kilden.Debug og sporbarhed.
Vigtigt om prisfelterSummary-endpointet returnerer ikke hele den rå tidsserie for alle prisvarianter. Til Home Assistant returnerer det især den aktuelle tilstand og allerede beregnede vinduer. Til fulde timeserier er hourly-forecast bedre egnet.
Aktuel betyder ikke historisk afregnetflat.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.
Totalpris kun for udvalgte markederDet offentlige 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-prognose
retail-forecast
DEjajajaja
NLjajajaja
BEjajajanej
FRjajajanej
CZjajanejnej
DK1jajajaja
DK2jajajaja
DanmarkBrug altid dk1 eller dk2. dk falder tilbage til DK1.
TjekkietCZ er offentligt kun pris-baseret lige nu: summary ja, men uden offentligt CO2-endpoint og uden totalpris.
SlutkundeprisHer betyder retail-forecast en estimeret slutkundepris og ikke kun den rene markeds- eller basispris. Endpointet er offentligt åbent i øjeblikket kun for DE, NL, DK1 og DK2.

Vigtige bemærkninger

Er dette en officiel Home Assistant-integration?

Nej. Det er bevidst en enkel REST-løsning. Den er 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.