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.
- eigen Homey-endpoint met compacte structuur voor flows
- HomeyScript + Advanced Flow in plaats van zware app-ontwikkeling als eerste stap
- optioneel met Bearer-token en tot 120 uur in de testfase
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.
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.
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.
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=4flat.current_price voor laad- of schakellogica.flat.current_co2_g_kwh voor groenere automatiseringen.flat.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=15mmode=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 |
|---|---|---|
flat | Actuele prijs, actuele CO2, actieve beste vensters en resterende minuten. | Ideaal voor simpele HomeyScript-returnwaarden. |
price | Actueel prijsslot plus best_window en next_full_window. | Voor planning en toekomstlogica. |
co2 | Actueel CO2-slot plus CO2-vensters. | Voor groener in plaats van alleen goedkoper sturen. |
source | Metadata over day-ahead en forecast. | Belangrijk voor interpretatie en debug. |
meta | API-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.
hours bepaal je de gevraagde horizon. Publiek communiceren we voor de prijsprognose nu maximaal 120 uur.meta.allowed_horizon_hours.Zo gebruik je dit in Advanced Flow
- Installeer HomeyScript.
- Maak in Advanced Flow een tijdtrigger, bijvoorbeeld elke 15 minuten.
- Voeg daarna een HomeyScript-kaart toe met returntype
Number,Yes/NoofText. - Plak een van de copy-paste-blokken hieronder.
- 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
is_cheapest_window_now waar is of de actuele prijs onder een grens zakt.Belangrijke meta-velden voor debug
| Veld | Betekenis | Waarom relevant |
|---|---|---|
meta.api_key_state | missing, valid, inactive of een andere foutstatus. | Controleren of je Bearer-token echt wordt gebruikt. |
meta.allowed_horizon_hours | Server-side toegestane maximale horizon. | Belangrijk voor 48 uur versus 120 uur. |
meta.used_horizon_hours | Feitelijk gebruikte horizon. | Laat zien of een request is afgekapt. |
meta.used_calls_today | API-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.