Homey · prijs en CO2
Gebruik stroomprijs en CO2 in Homey zonder direct een eigen Homey-app te bouwen
Voor Homey is de logische eerste stap geen volledige App Store-integratie, maar een compacte summary-endpoint plus eenvoudige HomeyScript-kaarten in Advanced Flow. Dat is sneller te testen en veel makkelijker uit te leggen.
- 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
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.
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.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();
return Number(data.flat?.current_price ?? 0);
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. |
Huidige productfase
Voor Homey kiezen we bewust eerst de lichte route via HomeyScript en Advanced Flow. Een echte Homey-app zou later kunnen, maar is als eerste stap veel zwaarder om te testen, reviewen en onderhouden.