Homey · Preis und CO2
Strompreis und CO2 in Homey nutzen, ohne eigene Homey-App zu bauen
Für Homey ist der sinnvollste Start kein eigener App-Store-Adapter, sondern ein kompakter Summary-Endpunkt plus einfache HomeyScript-Karten in Advanced Flow. Das ist schneller testbar und deutlich leichter verständlich.
- eigener Homey-Endpunkt mit kompakter Struktur für Flows
- HomeyScript + Advanced Flow statt schwerer App-Entwicklung als erster Schritt
- optional mit Bearer-Token und bis zu 120h in der Testphase
Wichtige Logik früh erklärt
Die Preislogik ist auch bei Homey nicht einfach „nur Forecast“. Sie arbeitet bewusst in zwei Schritten, damit echte Marktdaten immer Vorrang haben, sobald sie vorhanden sind.
Homey selbst setzt stark auf Flows und HomeyScript. Für einen ersten Einstieg ist das deutlich pragmatischer als sofort eine vollständige Homey-App mit Review- und Wartungsaufwand zu bauen.
Diese Seite geht bewusst über einzelne HomeyScript-Karten in Advanced Flow. Das ist leichter zu testen als eine große Sammel-Logik, weil du pro Karte genau einen Wert zurückbekommst.
Empfohlener Einstieg: Summary
Für Homey gibt es einen eigenen Summary-Pfad. Technisch ist er nah an den anderen Automations-Endpunkten, aber in Struktur und Benennung klar auf HomeyScript und Advanced Flow zugeschnitten.
https://api.energypriceforecast.eu/api/v1/homey/summary?country=de&hours=48&window_hours=4flat.current_price für Lade- oder Schaltentscheidungen.flat.current_co2_g_kwh für klimaorientierte Automationen.flat.is_cheapest_window_now und price.next_full_window.start für direkte Flow-Entscheidungen.Was die API genau liefert
Der Homey-Endpunkt liefert eine kompakte Automation-Sicht. Das ist wichtig, weil du in Homey meistens nicht mit einer kompletten Rohpreisreihe starten willst, sondern mit wenigen klaren Werten für Flows.
| Teil | Inhalt | Nutzen |
|---|---|---|
flat | Aktueller Preis, aktuelles CO2, aktive beste Fenster und Restlaufzeiten. | Ideal für einfache HomeyScript-Rückgabewerte. |
price | Aktueller Preis-Slot sowie best_window und next_full_window. | Für Planung und Zukunftslogik. |
co2 | Aktueller CO2-Slot sowie CO2-Fenster. | Für grünere statt billigere Automationen. |
source | Metadaten zu Day-Ahead und Forecast. | Wichtig für Einordnung und Debug. |
meta | API-Key-Status, erlaubter Horizont und Tageszähler. | Hilft bei Limits und Fehlersuche. |
Zeitraum und Auflösung
Die Beispiele nutzen hours=48 und window_hours=4. Das ist ein sinnvoller Einstieg, aber nicht die gesamte Produktgrenze.
hours legst du den angefragten Horizont fest. Öffentlich belastbar kommunizieren wir für die Preisprognose aktuell maximal 120 Stunden.meta.allowed_horizon_hours.So nutzt du es in Advanced Flow
- HomeyScript installieren.
- In Advanced Flow einen Zeit-Trigger anlegen, zum Beispiel alle 15 Minuten.
- Danach eine HomeyScript-Karte mit Rückgabetyp
Number,Yes/NooderTexteinfügen. - Einen der Copy-Paste-Blöcke unten einfügen.
- Das Ergebnis-Tag im nächsten Flow-Schritt weiterverwenden.
Homey bewirbt explizit, dass HomeyScript Website-APIs ansprechen kann. Die folgenden Beispiele nutzen genau das für den Homey-Summary-Endpunkt.
Beispiel 1: aktuellen Preis als Number zurückgeben
Diese Karte eignet sich, wenn du auf Schwellwerte oder Vergleiche aufbauen willst.
const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=de&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);
Beispiel 2: läuft das beste Preisfenster gerade?
Das ist für echte Automationen oft wichtiger als nur der nächste Startzeitpunkt.
const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=de&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;
Beispiel 3: nächsten vollständigen Start als Text zurückgeben
Das ist sinnvoll, wenn du einen Flow für Planung, Anzeigen oder Benachrichtigungen bauen willst.
const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=de&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 || '');
Optional mit API-Key
Wenn du mehr als den freien Horizont testen willst, trägst du den Key direkt im Script ein. Die API erwartet aktuell einen Bearer-Header.
const API_KEY = 'DEIN_API_KEY';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/summary?country=de&hours=120&window_hours=4';
Maßgeblich ist am Ende nicht nur der gewünschte Wert in der URL, sondern das, was der Server in meta.allowed_horizon_hours tatsächlich freigibt.
Typische Use Cases in Homey
is_cheapest_window_now wahr ist oder der aktuelle Preis unter einem Grenzwert liegt.Wichtige Meta-Felder für Debug
| Feld | Bedeutung | Warum relevant |
|---|---|---|
meta.api_key_state | missing, valid, inactive oder ein anderer Fehlerstatus. | Prüfen, ob dein Bearer-Token wirklich greift. |
meta.allowed_horizon_hours | Serverseitig erlaubter Maximalhorizont. | Wichtig für 48h vs. 120h. |
meta.used_horizon_hours | Tatsächlich verwendeter Horizont. | Zeigt, ob ein Request gekürzt wurde. |
meta.used_calls_today | Bisherige API-Aufrufe am Tag. | Hilft bei echter Nutzungsbeobachtung im Test. |
Aktueller Produktstand
Für Homey bauen wir bewusst erst den leichten Einstieg über HomeyScript und Advanced Flow. Eine echte Homey-App wäre technisch möglich, ist aber als erster Schritt deutlich schwerer zu testen, zu reviewen und zu pflegen.