Native Homey-App · öffentlicher Test
Energieverbrauch in Homey nach Preis und Netz-CO₂ planen
Installiere Energy Price Forecast wie eine normale Homey-App. Sie zeigt aktuelle Werte, erstellt verlässliche Wärmepumpen- und Wochenendpläne und liefert die Ergebnisse als Flow-Karten – ganz ohne HomeyScript.
- für Homey Pro, Homey Pro mini und Homey Self-Hosted Server
- bis 48 Stunden kostenlos, ohne Konto oder API-Key
- optional Private Pro: bis 120 Stunden und früherer Wochenendplan
Was dir die App liefert
Ein virtuelles Prognosegerät verbindet Preis- und Netz-CO₂-Daten mit fertigen Plänen für normale Homey-Flows.
- Wärmepumpe oder Boiler: Wähle die günstigsten N Einzelstunden in jedem festen X-Stunden-Block. So wird der Betrieb nicht immer weiter verschoben.
- E-Auto: Plane das Wochenende und lade nur in den ausgewählten günstigen Stunden.
- Flexible Verbraucher: Nutze das günstigste zusammenhängende Preisfenster oder das grünste CO₂-Fenster.
- Klarer Status: Datenquelle, Prognosehorizont und Aktualität stehen direkt am Gerät.
In vier Schritten installieren
- Öffne die Homey-Testseite.
- Bestätige den Hinweis zum Test-Kanal und installiere die App auf deinem kompatiblen Homey.
- Füge das Gerät Preis- & CO₂-Prognose hinzu und folge dem Einrichtungsdialog.
- Nutze seine Flow-Karten, um zur richtigen Zeit zu schalten, laden, heizen oder benachrichtigen.
Diese Version ist noch nicht von Homey zertifiziert. Sie unterstützt aktuell Homey Pro, Homey Pro mini und Homey Self-Hosted Server. Homey Cloud wird in dieser ersten Testversion nicht unterstützt.
Ohne API-Key plant die App bis zu 48 Stunden voraus – inklusive Wochenendplan von Samstag bis Sonntag. Private Pro erweitert den Horizont auf 120 Stunden und kann das Wochenende schon ab Freitag vorbereiten.
So entsteht die Prognose
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.
Einrichtung, Statuswerte, Planlogik und Flow-Karten stecken in einer geführten Homey-Oberfläche. HomeyScript brauchst du unten nur noch als Expertenlösung für eigene API-Logik.
Die API-Beispiele unten sind weiterhin nützlich, wenn die native App einen gewünschten Wert noch nicht anbietet oder du völlig eigene Berechnungen bauen möchtest.
Die API liefert Werte und Signale für HomeyScript und Flows. Sie überschreibt nicht die dynamischen Preise im nativen Homey-Energy-Bereich.
Erweiterte Alternative: HomeyScript und direkter API-Zugriff
Für die meisten Nutzer ist die native App oben der richtige Einstieg. Für eigene Skripte gibt es weiterhin einen Summary-Pfad, dessen Struktur und Benennung auf HomeyScript und Advanced Flow zugeschnitten sind.
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.Alternative: vollständige Preisreihe für eigene Logik
Wenn du Preise selbst vergleichen, Schwellwerte berechnen oder eigene Zeitfenster auswählen möchtest, statt nur fertige Signale zu verwenden, nutze die Homey-Preisreihe.
https://api.energypriceforecast.eu/api/v1/homey/prices?country=de&hours=48&mode=mixed&resolution=15mmode=mixed verwendet offizielle Day-Ahead-Preise, sobald sie verfügbar sind, und ergänzt nur den verbleibenden Horizont mit Prognosewerten. Echte Viertelstundenpreise bleiben viertelstündlich; Stundenprognosen werden als vier gleiche Viertelstundenslots geliefert.
const API_KEY = '';
const url = 'https://api.energypriceforecast.eu/api/v1/homey/prices?country=de&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('Keine gültigen Preise erhalten');
return Math.min(...prices);
Das Beispiel gibt den niedrigsten Basispreis der nächsten zwölf Stunden als Number zurück. Die Werte sind standardmäßig Marktpreise ohne Steuern und Netzentgelte.
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();
const price = Number(data.flat?.current_price);
if (!Number.isFinite(price)) throw new Error('Keinen aktuellen Preis erhalten');
return price;
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. |
Hilf beim Test der nativen Homey-App
Installiere die Testversion und teile dein Homey-Modell, Land und deinen Automationsfall im Community-Thema. Besonders hilfreich sind Rückmeldungen zu Einrichtung, Planwechseln und Flow-Auslösern.