TapHome

Nanogreen Spotpreise

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 03. 2026

Nanogreen ist ein tschechischer Anbieter grüner Energie, der Strom zu Spot-Marktpreisen anbietet. Diese Vorlage verbindet TapHome mit der Nanogreen-Kunden-API (moje.nanogreen.cz) über HTTPS und ruft die heutigen stündlichen Spotpreise und zugehörige Indikatoren ab. Es ist keine physische Hardware erforderlich — die Vorlage ist ein reiner Datendienst, der die API alle 5 Minuten abfragt.

Die Vorlage stellt 37 Geräte bereit: 24 stündliche Preissensoren, 6 Günstigste-Stunde-Indikatoren (für Schwachlast-, Spitzenlast- und Ganztagszeitfenster), 6 Binärsensoren zur Echtzeit-Prüfung „Ist dies die N-günstigste Stunde" und einen Live-Marktpreissensor.

Konfiguration

Geben Sie beim Vorlagenimport den Nanogreen-API-Endpunkt (moje.nanogreen.cz) als Host ein. Die Vorlage kommuniziert über HTTPS (Port 443). Es ist kein API-Schlüssel oder Authentifizierung erforderlich — die Preisdaten sind öffentlich zugänglich.

Gerätefähigkeiten

Stundenpreise (24 Sensoren)

Die Vorlage stellt einen Sensor für jede Stunde des Tages bereit (0:00–1:00 bis 23:00–0:00). Jeder Sensor liest den entsprechenden Wert aus dem Array todayHourlyPrices in der API-Antwort. Die Preise sind in CZK/kWh.

Diese Sensoren aktualisieren sich mit jedem Abfragezyklus (5 Minuten). In der Praxis werden die Tagespreise einmal täglich veröffentlicht, sodass die Werte den ganzen Tag über stabil bleiben.

Günstigste-Stunde-Indikatoren (6 Sensoren)

Sechs Sensoren identifizieren die günstigste und zweitgünstigste Stunde in drei Zeitfenstern:

  • Off-Peak Cheapest Hour / Off-Peak 2nd Cheapest Hour — günstigste Stunden außerhalb der Energiespitzenzeit
  • Peak Cheapest Hour / Peak 2nd Cheapest Hour — günstigste Stunden während der Energiespitzenzeit
  • All-Day Cheapest Hour / All-Day 2nd Cheapest Hour — günstigste Stunden über den gesamten Tag

Jeder Sensor gibt einen Stundenindex (0–23) zurück. Beispielsweise bedeutet der Wert 3, dass die Stunde 3:00–4:00 die günstigste in diesem Zeitfenster ist.

Binärsensoren (6 Sensoren)

Sechs binäre (Ein/Aus) Sensoren zeigen an, ob die aktuelle Stunde zu den günstigsten des Tages gehört:

  • Is Cheapest Hour? — wahr, wenn die aktuelle Stunde die günstigste ist
  • Is 2nd Cheapest Hour? — wahr, wenn die aktuelle Stunde die 2. günstigste ist
  • Is 3rd Cheapest Hour? — wahr, wenn die aktuelle Stunde die 3. günstigste ist
  • Is 4th Cheapest Hour? — wahr, wenn die aktuelle Stunde die 4. günstigste ist
  • Is 5th Cheapest Hour? — wahr, wenn die aktuelle Stunde die 5. günstigste ist
  • Is 6th Cheapest Hour? — wahr, wenn die aktuelle Stunde die 6. günstigste ist

Diese Sensoren sind als Reed-Kontakte (PacketParserReedContact) implementiert, die die boolesche API-Antwort in 0/1-Werte umwandeln. Sie sind das primäre Werkzeug für die Automatisierung — verwenden Sie sie als Bedingungen in Smart Rules, um Aktionen während der günstigsten Stunden auszulösen.

Aktueller Marktpreis (1 Sensor)

Der Sensor Current Spot Price liest den aktuellen Strommarktpreis von OTE (tschechischer Strommarktbetreiber), umgerechnet in CZK mittels des CNB-Wechselkurses (Tschechische Nationalbank). Dieser Wert spiegelt den Echtzeit-Großhandelspreis in CZK/kWh wider.

Automatisierungsbeispiele

Geräte während der günstigsten Stunden betreiben

Verwenden Sie die Binärsensoren als Bedingungen in einer Smart Rule. Zum Beispiel, um einen Warmwasserboiler nur während der 3 günstigsten Stunden des Tages zu heizen:

  1. Erstellen Sie eine Smart Rule mit der Bedingung: Is Cheapest Hour? = ON ODER Is 2nd Cheapest Hour? = ON ODER Is 3rd Cheapest Hour? = ON
  2. Setzen Sie die Aktion auf Einschalten des Boiler-Relais
  3. Der Boiler läuft nur, wenn der Strom am günstigsten ist
Preisschwellen-Automatisierung

Verwenden Sie den Sensor Current Spot Price mit einer numerischen Bedingung. Zum Beispiel schalten Sie eine Wärmepumpe nur ein, wenn der Spotpreis unter einen Schwellenwert fällt (z. B. 2,00 CZK/kWh).

Fehlerbehebung

Preise zeigen Null oder NaN
  1. Überprüfen Sie, ob die Nanogreen-API erreichbar ist — öffnen Sie https://moje.nanogreen.cz/api/prices/daily im Browser
  2. Prüfen Sie, ob die TapHome CCU Internetzugang hat (die API ist ein Cloud-Dienst, kein lokales Gerät)
  3. Preise für den nächsten Tag werden typischerweise am Nachmittag veröffentlicht — bei zu früher Abfrage sind einige Felder möglicherweise noch nicht verfügbar
Binärsensoren aktualisieren sich nicht

Die Binärsensoren vergleichen die aktuelle Stunde mit der Preisrangfolge des Tages. Sie aktualisieren sich mit jedem Abfragezyklus (5 Minuten). Wenn ein Sensor im falschen Zustand verbleibt, überprüfen Sie, ob die stündlichen Preissensoren gültige Daten für den heutigen Tag enthalten.

Diese Vorlage erfordert eine aktive Internetverbindung an der TapHome CCU. Im Gegensatz zu lokalen Gerätevorlagen (Shelly, Modbus) kommuniziert die Nanogreen-Integration mit einer externen Cloud-API. Stellen Sie sicher, dass Ihre Netzwerk-Firewall ausgehenden HTTPS-Verkehr zu moje.nanogreen.cz erlaubt.

Verfügbare Geräte

Spotpreise Modul
Benutzerdefinierte Variablen

Spotové ceny

Lesen (Modul)
responseJson := "error";
VAR response := SENDHTTPREQUEST("/api/prices/daily");

  VAR content := response.Content;
  
IF response.IsSuccess
    responseJson := response.Content;
ELSE
    VAR contentJson := response.Content;
END
Price 0:00–1:00 Variable Nur lesen

Spot-Strompreis für die Stunde 0:00–1:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 0:00–1:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[0]");
Price 1:00–2:00 Variable Nur lesen

Spot-Strompreis für die Stunde 1:00–2:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 1:00–2:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[1]");
Price 2:00–3:00 Variable Nur lesen

Spot-Strompreis für die Stunde 2:00–3:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 2:00–3:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[2]");
Price 3:00–4:00 Variable Nur lesen

Spot-Strompreis für die Stunde 3:00–4:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 3:00–4:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[3]");
Price 4:00–5:00 Variable Nur lesen

Spot-Strompreis für die Stunde 4:00–5:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 4:00–5:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[4]");
Price 5:00–6:00 Variable Nur lesen

Spot-Strompreis für die Stunde 5:00–6:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 5:00–6:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[5]");
Price 6:00–7:00 Variable Nur lesen

Spot-Strompreis für die Stunde 6:00–7:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 6:00–7:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[6]");
Price 7:00–8:00 Variable Nur lesen

Spot-Strompreis für die Stunde 7:00–8:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 7:00–8:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[7]");
Price 8:00–9:00 Variable Nur lesen

Spot-Strompreis für die Stunde 8:00–9:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 8:00–9:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[8]");
Price 9:00–10:00 Variable Nur lesen

Spot-Strompreis für die Stunde 9:00–10:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 9:00–10:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[9]");
Price 10:00–11:00 Variable Nur lesen

Spot-Strompreis für die Stunde 10:00–11:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 10:00–11:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[10]");
Price 11:00–12:00 Variable Nur lesen

Spot-Strompreis für die Stunde 11:00–12:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 11:00–12:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[11]");
Price 12:00–13:00 Variable Nur lesen

Spot-Strompreis für die Stunde 12:00–13:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 12:00–13:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[12]");
Price 13:00–14:00 Variable Nur lesen

Spot-Strompreis für die Stunde 13:00–14:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 13:00–14:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[13]");
Price 14:00–15:00 Variable Nur lesen

Spot-Strompreis für die Stunde 14:00–15:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 14:00–15:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[14]");
Price 15:00–16:00 Variable Nur lesen

Spot-Strompreis für die Stunde 15:00–16:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 15:00–16:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[15]");
Price 16:00–17:00 Variable Nur lesen

Spot-Strompreis für die Stunde 16:00–17:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 16:00–17:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[16]");
Price 17:00–18:00 Variable Nur lesen

Spot-Strompreis für die Stunde 17:00–18:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 17:00–18:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[17]");
Price 18:00–19:00 Variable Nur lesen

Spot-Strompreis für die Stunde 18:00–19:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 18:00–19:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[18]");
Price 19:00–20:00 Variable Nur lesen

Spot-Strompreis für die Stunde 19:00–20:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 19:00–20:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[19]");
Price 20:00–21:00 Variable Nur lesen

Spot-Strompreis für die Stunde 20:00–21:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 20:00–21:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[20]");
Price 21:00–22:00 Variable Nur lesen

Spot-Strompreis für die Stunde 21:00–22:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 21:00–22:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[21]");
Price 22:00–23:00 Variable Nur lesen

Spot-Strompreis für die Stunde 22:00–23:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 22:00–23:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[22]");
Price 23:00–0:00 Variable Nur lesen

Spot-Strompreis für die Stunde 23:00–0:00 (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Price 23:00–0:00

Lesen
PARSEJSON(responseJson,"$.todayHourlyPrices.[23]");
2. günstigste Stunde außerhalb der Spitzenzeit Variable Nur lesen

Stundenindex (0–23) der zweitgünstigsten Stromstunde außerhalb der Spitzenzeiten

numeric json_path

2. günstigste Stunde außerhalb der Spitzenzeit

Lesen
(PARSEJSON(responseJson, "todayOffpeakSecondCheapestHour"));
2. günstigste Stunde in der Spitzenzeit Variable Nur lesen

Stundenindex (0–23) der zweitgünstigsten Stromstunde während der Spitzenzeiten

numeric json_path

2. günstigste Stunde in der Spitzenzeit

Lesen
(PARSEJSON(responseJson, "todayPeakSecondCheapestHour"));
2. günstigste Stunde des ganzen Tages Variable Nur lesen

Stundenindex (0–23) der zweitgünstigsten Stromstunde über den gesamten Tag

numeric json_path

2. günstigste Stunde des ganzen Tages

Lesen
(PARSEJSON(responseJson, "todayBaseSecondCheapestHour"));
Günstigste Stunde außerhalb der Spitzenzeit Variable Nur lesen

Stundenindex (0–23) der günstigsten Stromstunde außerhalb der Spitzenzeiten

numeric json_path

Günstigste Stunde außerhalb der Spitzenzeit

Lesen
(PARSEJSON(responseJson, "todayOffpeakCheapestHour"));
Günstigste Stunde in der Spitzenzeit Variable Nur lesen

Stundenindex (0–23) der günstigsten Stromstunde während der Spitzenzeiten

numeric json_path

Günstigste Stunde in der Spitzenzeit

Lesen
(PARSEJSON(responseJson, "todayPeakCheapestHour"));
Günstigste Stunde des ganzen Tages Variable Nur lesen

Stundenindex (0–23) der günstigsten Stromstunde über den gesamten Tag

numeric json_path

Günstigste Stunde des ganzen Tages

Lesen
(PARSEJSON(responseJson, "todayBaseCheapestHour"));
Ist 4. günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die 4. günstigste des Tages ist

boolean

Ist 4. günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlyFourthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Ist 2. günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die 2. günstigste des Tages ist

boolean

Ist 2. günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlySecondCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Ist günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die günstigste des Tages ist

boolean

Ist günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlyCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Ist 5. günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die 5. günstigste des Tages ist

boolean

Ist 5. günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlyFifthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Ist 6. günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die 6. günstigste des Tages ist

boolean

Ist 6. günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlySixthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Ist 3. günstigste Stunde? Reed-Kontakt Nur lesen

Binärsensor — ON, wenn die aktuelle Stunde die 3. günstigste des Tages ist

boolean

Ist 3. günstigste Stunde?

Lesen
VAR state := (PARSEJSON(responseJson, "isCurrentlyThirdCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Aktueller Spotpreis Variable Nur lesen

Live-Strommarktpreis von OTE, umgerechnet in CZK über den CNB-Wechselkurs (CZK/kWh)

numeric Einheit: CZK/kWh json_path

Aktueller Spotpreis

Lesen
(PARSEJSON(responseJson, "currentPrice"));
Verbindung: Packet Parser → HTTP