Taal

Native Homey-app · openbare test

Plan energiegebruik in Homey op prijs en net-CO₂

Installeer Energy Price Forecast als een normale Homey-app. De app toont actuele waarden, maakt betrouwbare warmtepomp- en weekendplannen en levert de resultaten als Flow-kaarten—zonder HomeyScript.

Wat de app je geeft

Een virtueel prognoseapparaat combineert prijs- en net-CO₂-data met kant-en-klare plannen voor normale Homey Flows.

  • Warmtepomp of boiler: kies de goedkoopste N losse uren binnen elk vast X-uursblok. Zo wordt verwarmen niet eindeloos uitgesteld.
  • Elektrische auto: plan het weekend en laad alleen in de geselecteerde goedkope uren.
  • Flexibele verbruikers: gebruik het goedkoopste aaneengesloten prijsvenster of het groenste CO₂-venster.
  • Duidelijke status: bekijk databron, prognosehorizon en actualiteit direct op het apparaat.
Energy Price Forecast voor Homey met een grafiek voor stroomprijs en net-CO2
Stroomprijs en net-CO₂ samen—officiële day-aheadwaarden krijgen voorrang zodra ze beschikbaar zijn.

Installeren in vier stappen

  1. Open de Homey testpagina.
  2. Accepteer de melding voor het testkanaal en installeer de app op je compatibele Homey.
  3. Voeg het apparaat Prijs- & CO₂-prognose toe en volg de begeleide configuratie.
  4. Gebruik de Flow-kaarten om op het juiste moment te schakelen, laden, verwarmen of melden.
Testversie en platformgrenzen

Deze versie is nog niet door Homey gecertificeerd. Momenteel worden Homey Pro, Homey Pro mini en Homey Self-Hosted Server ondersteund. Homey Cloud wordt in deze eerste testversie niet ondersteund.

48 uur gratis, optioneel tot 120 uur

Zonder API-key plant de app tot 48 uur vooruit, inclusief een weekendplan van zaterdag tot zondag. Private Pro verlengt de horizon tot 120 uur en kan het weekend al vanaf vrijdag voorbereiden.

Zo wordt de prognose opgebouwd

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.
De native app is de aanbevolen route

Koppelen, statuswaarden, planlogica en Flow-kaarten zitten in één begeleide Homey-ervaring. HomeyScript is hieronder alleen nog nodig als geavanceerde optie voor eigen API-logica.

HomeyScript blijft beschikbaar voor specialisten

De API-voorbeelden hieronder blijven nuttig als de native app een gewenste waarde nog niet aanbiedt of wanneer je volledig eigen berekeningen wilt bouwen.

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.

Geavanceerd alternatief: HomeyScript en directe API-toegang

Voor de meeste gebruikers is de native app hierboven de juiste start. Voor eigen scripts blijft er een summary-pad waarvan structuur en naamgeving zijn 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.

Help de native Homey-app testen

Installeer de testversie en deel je Homey-model, land en automatiseringsdoel in het communitytopic. Feedback over koppelen, planwissels en Flow-triggers is bijzonder waardevol.