Taal

Homey · prijs en CO2

Gebruik stroomprijs en CO2 in Homey zonder direct een eigen Homey-app te bouwen

Haal actuele stroomprijzen, CO₂-waarden en goedkope tijdvensters rechtstreeks naar je Homey Flows. Kopieer een kort HomeyScript, laat het volgens een schema draaien en gebruik het resultaat om te laden, verwarmen of schakelen.

Gratis beginnen, optioneel verder vooruit plannen

De HomeyScript-voorbeelden blijven zonder API-key bruikbaar tot 48 uur. Voor Advanced Flows met een langere planning kun je Private Pro met maximaal 120 uur 14 dagen gratis proberen.

Belangrijke logica vroeg uitgelegd

De prijslogica is ook voor Homey niet simpelweg “alleen forecast”. Ze werkt bewust in twee stappen, zodat echte marktdata altijd voorrang houden zodra ze beschikbaar zijn.

Stap 1Zodra officiele day-ahead voor een slot bestaat, krijgt die prijs voorrang.
Stap 2Forecast wordt alleen gebruikt voor de toekomst die nog niet door officiele day-ahead-data is afgedekt.
Belangrijke uitkomstDe summary combineert dus echte day-ahead-prijzen met forecast alleen voor het nog open deel van de horizon.
Waarom dit voor Homey logisch is

Homey draait sterk om Flows en HomeyScript. Voor een eerste uitrol is dat veel pragmatischer dan meteen een volledige Homey-app bouwen, laten reviewen en onderhouden.

Belangrijk voor beginners

Deze pagina gebruikt bewust kleine HomeyScript-kaarten in Advanced Flow. Daardoor test je per kaart precies één waarde, in plaats van alles tegelijk te moeten debuggen.

Geen invoer voor de ingebouwde Homey Energy-prijsgrafiek

De API levert waarden en signalen voor HomeyScript en Flows. Ze overschrijft niet de dynamische prijzen in het native Homey Energy-scherm.

Aanbevolen startpunt: summary

Voor Homey is er een eigen summary-pad. Technisch ligt het dicht bij de andere automation-endpoints, maar de structuur en naamgeving zijn bewust afgestemd op HomeyScript en Advanced Flow.

https://api.energypriceforecast.eu/api/v1/homey/summary?country=nl&hours=48&window_hours=4
Actuele prijsflat.current_price voor laad- of schakellogica.
CO2 liveflat.current_co2_g_kwh voor groenere automatiseringen.
Vensterlogicaflat.is_cheapest_window_now en price.next_full_window.start voor directe Flow-beslissingen.

Alternatief: volledige prijsreeks voor eigen logica

Wil je prijzen zelf vergelijken, drempels berekenen of eigen tijdvensters kiezen in plaats van alleen kant-en-klare signalen te gebruiken? Gebruik dan de Homey-prijsreeks.

https://api.energypriceforecast.eu/api/v1/homey/prices?country=nl&hours=48&mode=mixed&resolution=15m

mode=mixed gebruikt officiële day-ahead-prijzen zodra die beschikbaar zijn en vult alleen de resterende horizon aan met de prognose. Echte kwartierprijzen blijven kwartierprijzen; uurprognoses worden als vier gelijke kwartierslots geleverd.

const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/prices?country=nl&hours=48&mode=mixed&resolution=15m';

const response = await fetch(url, {
  headers: API_KEY.trim() ? { Authorization: `Bearer ${API_KEY.trim()}` } : {},
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);

const data = await response.json();
const next12Hours = data.entries.slice(0, 48);
const prices = next12Hours.map(slot => Number(slot.value)).filter(Number.isFinite);
if (prices.length === 0) throw new Error('Geen geldige prijzen ontvangen');
return Math.min(...prices);

Dit voorbeeld geeft de laagste basisprijs van de komende twaalf uur terug als Number. De waarden zijn standaard marktprijzen zonder belastingen en netkosten.

Wat de API precies teruggeeft

De Homey-endpoint levert een compacte automation-weergave. Dat is belangrijk, omdat je in Homey meestal niet wilt starten met een complete ruwe tijdreeks, maar met een paar heldere waarden voor Flows.

Deel Inhoud Nut
flatActuele prijs, actuele CO2, actieve beste vensters en resterende minuten.Ideaal voor simpele HomeyScript-returnwaarden.
priceActueel prijsslot plus best_window en next_full_window.Voor planning en toekomstlogica.
co2Actueel CO2-slot plus CO2-vensters.Voor groener in plaats van alleen goedkoper sturen.
sourceMetadata over day-ahead en forecast.Belangrijk voor interpretatie en debug.
metaAPI-key-status, toegestane horizon en dagtellers.Nuttig voor limieten en foutopsporing.

Periode en resolutie

De voorbeelden gebruiken hours=48 en window_hours=4. Dat is een goed startpunt, maar niet de volledige productgrens.

PeriodeMet hours bepaal je de gevraagde horizon. Publiek communiceren we voor de prijsprognose nu maximaal 120 uur.
Feitelijk toegestaanZonder API-key zijn nu 48 uur vrij. Met key kan meer toegestaan zijn. Doorslaggevend is altijd meta.allowed_horizon_hours.
ResolutieDay-ahead kan in kwartieren komen, terwijl forecast en CO2 meestal per uur blijven. De summary vat dat compact samen voor automatiseringen.

Zo gebruik je dit in Advanced Flow

  1. Installeer HomeyScript.
  2. Maak in Advanced Flow een tijdtrigger, bijvoorbeeld elke 15 minuten.
  3. Voeg daarna een HomeyScript-kaart toe met returntype Number, Yes/No of Text.
  4. Plak een van de copy-paste-blokken hieronder.
  5. Gebruik de result-tag in de volgende Flow-stap.

Homey beschrijft HomeyScript expliciet als manier om website-API’s te benaderen. De onderstaande voorbeelden gebruiken precies dat met de Homey-summary-endpoint.

Voorbeeld 1: actuele prijs als Number teruggeven

Handig als je op drempelwaarden of vergelijkingen wilt sturen.

const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=nl&hours=48&window_hours=4';

const response = await fetch(url, {
  headers: API_KEY.trim()
    ? { Authorization: `Bearer ${API_KEY.trim()}` }
    : {},
});

if (!response.ok) {
  throw new Error(`HTTP ${response.status}`);
}

const data = await response.json();
const price = Number(data.flat?.current_price);
if (!Number.isFinite(price)) throw new Error('Geen actuele prijs ontvangen');
return price;

Voorbeeld 2: loopt het beste prijsvenster nu?

Voor echte automatiseringen is dat vaak belangrijker dan alleen weten wanneer het volgende venster start.

const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=nl&hours=48&window_hours=4';

const response = await fetch(url, {
  headers: API_KEY.trim()
    ? { Authorization: `Bearer ${API_KEY.trim()}` }
    : {},
});

if (!response.ok) {
  throw new Error(`HTTP ${response.status}`);
}

const data = await response.json();
return data.flat?.is_cheapest_window_now === true;

Voorbeeld 3: volgende volledige start als Text teruggeven

Praktisch voor planning, dashboards of meldingen.

const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=nl&hours=48&window_hours=4';

const response = await fetch(url, {
  headers: API_KEY.trim()
    ? { Authorization: `Bearer ${API_KEY.trim()}` }
    : {},
});

if (!response.ok) {
  throw new Error(`HTTP ${response.status}`);
}

const data = await response.json();
return String(data.price?.next_full_window?.start || '');

Optioneel met API-key

Als je meer dan de vrije horizon wilt testen, zet je de key direct in het script. De API verwacht op dit moment een Bearer-header.

const API_KEY = 'JOUW_API_KEY';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=nl&hours=120&window_hours=4';

Doorslaggevend is uiteindelijk niet alleen wat je in de URL vraagt, maar wat de server in meta.allowed_horizon_hours echt toestaat.

Typische Homey-use-cases

EV ladenAlleen laden als is_cheapest_window_now waar is of de actuele prijs onder een grens zakt.
Warmtepomp of boilerGoedkope vensters gebruiken voor voorverwarmen of bufferen, in plaats van alleen vaste tijden.
MeldingenDe volgende goede start als tekst teruggeven en gebruiken in push- of spraakmeldingen.

Belangrijke meta-velden voor debug

Veld Betekenis Waarom relevant
meta.api_key_statemissing, valid, inactive of een andere foutstatus.Controleren of je Bearer-token echt wordt gebruikt.
meta.allowed_horizon_hoursServer-side toegestane maximale horizon.Belangrijk voor 48 uur versus 120 uur.
meta.used_horizon_hoursFeitelijk gebruikte horizon.Laat zien of een request is afgekapt.
meta.used_calls_todayAPI-calls die vandaag al zijn gebruikt.Nuttig om echt testgebruik te volgen.

Test mee met de Homey-community

De Homey-integratie wordt nu getest in echte Advanced Flow-opstellingen. Deel je Homey-model, land en automatisering in het communitytopic als je haar uitprobeert.