Home Assistant · elpris och CO₂
Elpris- och CO₂-prognos i Home Assistant för SE1 till SE4
Välj mellan en HACS-integration med grafiskt gränssnitt och egna entiteter eller en vanlig REST-sensor i YAML. Båda använder samma prognos-API och ger pris, CO₂ och färdigberäknade tidsfönster för ditt svenska elområde.
- 48 timmar kostnadsfrittIngen registrering eller API-nyckel behövs
- SE1, SE2, SE3 eller SE4Ditt elområde väljs uttryckligen
- Pris och CO₂Billigaste, grönaste och kombinerade tidsfönster
Installera via HACS
- Öppna länken ovan eller lägg till Energy Price Forecast EU som ett anpassat repository i HACS, kategori Integration.
- Installera integrationen och starta om Home Assistant när HACS ber om det.
- Gå till Inställningar → Enheter och tjänster, lägg till integrationen och välj SE1, SE2, SE3 eller SE4.
- Använd entiteterna för pris, CO₂ och tidsfönster i instrumentpaneler och automationer.
Sverige har fyra separata prisområden. Använd se1, se2, se3 eller se4 – inte ett generiskt se.
Utan nyckel är upp till 48 timmar kostnadsfria. Private Pro utökar prisprognosen till upp till 120 timmar för privata automationer.
Jämför prognosen med publicerade priser
Grönt visar publicerade day-ahead-priser, orange den aktuella prognosen och den blå streckade linjen den först sparade prognosen. Den tidigare prognosen finns kvar när de officiella priserna kommer.
- Uppdatera Energy Price Forecast EU till minst 1.12.0 i HACS och starta om Home Assistant. Installera också ApexCharts Card 2.1.0 eller senare via HACS.
- Ersätt alla tre
sensor.CHANGE_MEmed samma prisserie-entitet från Utvecklarverktyg → Tillstånd. Använd entiteten för aktuellt slutkundspris för ditt konfigurerade totalpris. Klistra in YAML under Instrumentpanel → Redigera → Lägg till kort → Manuellt.
Lagringen börjar efter uppdateringen och överlever omstarter. Värden sparas till slutet av den aktuella marknadsdagen; tidigare prognoser kan inte återskapas. captured_at är mottagningstiden i Home Assistant, inte modellens körningstid. Det är varken ett kvalitetsmått med fast framförhållning eller ett obegränsat arkiv.
Anpassa axelns enhet till sensorn, exempelvis SEK/kWh eller EUR/kWh, inte öre/kWh. Ett beräknat totalpris är ingen garanterad elräkning. Utan nyckel är API-horisonten fortfarande högst 48 timmar; använd rätt åtkomst och graph_span: 6d för högst 120 timmar. Kortet gäller HACS-integrationen, inte REST-summary-exemplet nedan, och gör inga extra API-anrop.
YAML att kopiera
type: custom:apexcharts-card
header:
show: true
title: Energy Price Forecast EU
graph_span: 3d
span:
start: day
now:
show: true
label: Nu
yaxis:
- id: price
decimals: 3
apex_config:
title:
text: EUR/kWh
all_series_config:
yaxis_id: price
type: line
curve: stepline
extend_to: false
stroke_width: 2
float_precision: 4
show:
legend_value: false
series:
# Replace ALL three placeholders with the SAME price or retail sensor.
- entity: sensor.CHANGE_ME
name: Officiellt (day-ahead)
color: "#43a047"
data_generator: |
const raw = [...(entity.attributes.raw_today ?? []),
...(entity.attributes.raw_tomorrow ?? [])];
const slots = raw.map(e => ({
start: Date.parse(e.start), end: Date.parse(e.end), value: e.value
})).filter(e => Number.isFinite(e.start) && Number.isFinite(e.end)
&& e.end > e.start && typeof e.value === 'number' && Number.isFinite(e.value))
.sort((a, b) => a.start - b.start);
const points = [];
let previousEnd = null;
for (const slot of slots) {
if (previousEnd !== null && slot.start > previousEnd) {
points.push([previousEnd, null], [slot.start - 1, null]);
}
points.push([slot.start, slot.value], [slot.end - 1, slot.value]);
previousEnd = slot.end;
}
return points;
- entity: sensor.CHANGE_ME
name: Aktuell prognos
color: "#fb8c00"
data_generator: |
const raw = entity.attributes.raw_forecast ?? [];
const slots = raw.map(e => ({
start: Date.parse(e.start), end: Date.parse(e.end), value: e.value
})).filter(e => Number.isFinite(e.start) && Number.isFinite(e.end)
&& e.end > e.start && typeof e.value === 'number' && Number.isFinite(e.value))
.sort((a, b) => a.start - b.start);
const points = [];
let previousEnd = null;
for (const slot of slots) {
if (previousEnd !== null && slot.start > previousEnd) {
points.push([previousEnd, null], [slot.start - 1, null]);
}
points.push([slot.start, slot.value], [slot.end - 1, slot.value]);
previousEnd = slot.end;
}
return points;
- entity: sensor.CHANGE_ME
name: Sparad prognos (först mottagen)
color: "#1e88e5"
stroke_dash: 5
data_generator: |
const raw = entity.attributes.raw_forecast_reference ?? [];
const slots = raw.map(e => ({
start: Date.parse(e.start), end: Date.parse(e.end), value: e.value
})).filter(e => Number.isFinite(e.start) && Number.isFinite(e.end)
&& e.end > e.start && typeof e.value === 'number' && Number.isFinite(e.value))
.sort((a, b) => a.start - b.start);
const points = [];
let previousEnd = null;
for (const slot of slots) {
if (previousEnd !== null && slot.start > previousEnd) {
points.push([previousEnd, null], [slot.start - 1, null]);
}
points.push([slot.start, slot.value], [slot.end - 1, slot.value]);
previousEnd = slot.end;
}
return points;
Alternativ: REST-sensor i YAML
Exemplet använder SE3 och svenska kronor. Byt både country=se3 och sensornamnet om du bor i ett annat elområde.
https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=se3¤cy=SEK&hours=48&window_hours=4rest:
- resource: "https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=se3¤cy=SEK&hours=48&window_hours=4"
scan_interval: 900
sensor:
- name: "EnergyPriceForecast aktuellt pris SE3"
value_template: "{{ value_json.flat.current_price }}"
unit_of_measurement: "SEK/kWh"
- name: "EnergyPriceForecast aktuell CO2 SE3"
value_template: "{{ value_json.flat.current_co2_g_kwh }}"
unit_of_measurement: "gCO2/kWh"
- name: "EnergyPriceForecast billigaste fönster SE3"
value_template: "{{ value_json.flat.cheapest_window_start }}"
- name: "EnergyPriceForecast grönaste fönster SE3"
value_template: "{{ value_json.flat.greenest_window_start }}"
Vad du kan automatisera
Vanliga frågor
Är prognosen samma sak som ett publicerat day-ahead-pris?
Nej. Publicerade marknadspriser används först när de finns. Modellen fyller bara de framtida timmar som ännu inte har ett officiellt pris, och API-svaret anger källan.
Är värdet min fullständiga elkostnad?
Nej. Standardvärdet är marknads-/baspriset. Elnätsavgift, skatt och ditt elhandelsavtal ingår inte automatiskt.
HACS eller REST – vilket ska jag välja?
Välj HACS för enklare installation och färdiga entiteter. Välj REST om du vill styra YAML och mallar helt själv.