TapHome

Nanogreen Spotové ceny

Packet Parser → HTTP
Přidal
Poslední aktualizace: 03. 2026

Nanogreen je český dodavatel zelené energie, který nabízí elektřinu za spotové tržní ceny. Tato šablona připojuje TapHome k zákaznickému API Nanogreen (moje.nanogreen.cz) přes HTTPS a stahuje dnešní hodinové spotové ceny a související indikátory. Není potřeba žádný fyzický hardware — šablona je čistě datová služba, která dotazuje API každých 5 minut.

Šablona poskytuje 37 zařízení: 24 hodinových cenových senzorů, 6 indikátorů nejlevnější hodiny (pro mimošpičková, špičková a celodenní časová okna), 6 binárních senzorů pro kontrolu „je toto N-tá nejlevnější hodina" v reálném čase a senzor živé tržní ceny.

Konfigurace

Při importu šablony zadejte koncový bod API Nanogreen (moje.nanogreen.cz) jako hostitele. Šablona komunikuje přes HTTPS (port 443). Není potřeba API klíč ani autentizace — cenová data jsou veřejně dostupná.

Schopnosti zařízení

Hodinové ceny (24 senzorů)

Šablona vystavuje jeden senzor pro každou hodinu dne (0:00–1:00 až 23:00–0:00). Každý senzor čte příslušnou hodnotu z pole todayHourlyPrices v odpovědi API. Ceny jsou v CZK/kWh.

Tyto senzory se aktualizují s každým cyklem dotazování (5 minut). V praxi se denní ceny publikují jednou denně, takže hodnoty zůstávají stabilní po celý den.

Indikátory nejlevnější hodiny (6 senzorů)

Šest senzorů identifikuje nejlevnější a druhou nejlevnější hodinu ve třech časových oknech:

  • Off-Peak Cheapest Hour / Off-Peak 2nd Cheapest Hour — nejlevnější hodiny mimo energetickou špičku
  • Peak Cheapest Hour / Peak 2nd Cheapest Hour — nejlevnější hodiny během energetické špičky
  • All-Day Cheapest Hour / All-Day 2nd Cheapest Hour — nejlevnější hodiny za celý den

Každý senzor vrací index hodiny (0–23). Například hodnota 3 znamená, že hodina 3:00–4:00 je nejlevnější v daném okně.

Binární senzory (6 senzorů)

Šest binárních (zapnuto/vypnuto) senzorů indikuje, zda aktuální hodina patří mezi nejlevnější daného dne:

  • Is Cheapest Hour? — pravda, pokud je aktuální hodina nejlevnější
  • Is 2nd Cheapest Hour? — pravda, pokud je aktuální hodina 2. nejlevnější
  • Is 3rd Cheapest Hour? — pravda, pokud je aktuální hodina 3. nejlevnější
  • Is 4th Cheapest Hour? — pravda, pokud je aktuální hodina 4. nejlevnější
  • Is 5th Cheapest Hour? — pravda, pokud je aktuální hodina 5. nejlevnější
  • Is 6th Cheapest Hour? — pravda, pokud je aktuální hodina 6. nejlevnější

Tyto senzory jsou implementovány jako jazýčkové kontakty (PacketParserReedContact), které parsují booleovskou odpověď API na hodnoty 0/1. Jsou hlavním nástrojem pro automatizaci — použijte je jako podmínky ve smart rules pro spouštění akcí během nejlevnějších hodin.

Aktuální tržní cena (1 senzor)

Senzor Current Spot Price čte živou tržní cenu elektřiny z OTE (český operátor trhu s elektřinou), převedenou na CZK pomocí směnného kurzu ČNB (Česká národní banka). Tato hodnota odráží velkoobchodní cenu v reálném čase v CZK/kWh.

Příklady automatizace

Spouštění spotřebičů během nejlevnějších hodin

Použijte binární senzory jako podmínky ve smart rule. Například pro ohřev bojleru pouze během 3 nejlevnějších hodin dne:

  1. Vytvořte smart rule s podmínkou: Is Cheapest Hour? = ON NEBO Is 2nd Cheapest Hour? = ON NEBO Is 3rd Cheapest Hour? = ON
  2. Nastavte akci na zapnutí relé bojleru
  3. Bojler běží pouze tehdy, když je elektřina nejlevnější
Automatizace podle cenového prahu

Použijte senzor Current Spot Price s číselnou podmínkou. Například zapněte tepelné čerpadlo pouze tehdy, když spotová cena klesne pod hranici (např. 2,00 CZK/kWh).

Řešení problémů

Ceny zobrazují nulu nebo NaN
  1. Ověřte, že API Nanogreen je dostupné — otevřete https://moje.nanogreen.cz/api/prices/daily v prohlížeči
  2. Zkontrolujte, že TapHome CCU má přístup k internetu (API je cloudová služba, ne lokální zařízení)
  3. Ceny na následující den se obvykle publikují odpoledne — pokud se dotazují příliš brzy, některá pole nemusí být ještě dostupná
Binární senzory se neaktualizují

Binární senzory porovnávají aktuální hodinu s cenovým pořadím dne. Aktualizují se s každým cyklem dotazování (5 minut). Pokud senzor zůstává v nesprávném stavu, ověřte, že hodinové cenové senzory obsahují platná data pro dnešní den.

Tato šablona vyžaduje aktivní internetové připojení na TapHome CCU. Na rozdíl od lokálních šablon zařízení (Shelly, Modbus) komunikuje integrace Nanogreen s externím cloudovým API. Ujistěte se, že váš síťový firewall povoluje odchozí HTTPS komunikaci na moje.nanogreen.cz.

Dostupná zařízení

Spotové ceny Modul
Vlastní proměnné

Spotové ceny

Čtení (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 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 0:00–1:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 0:00–1:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[0]");
Price 1:00–2:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 1:00–2:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 1:00–2:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[1]");
Price 2:00–3:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 2:00–3:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 2:00–3:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[2]");
Price 3:00–4:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 3:00–4:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 3:00–4:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[3]");
Price 4:00–5:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 4:00–5:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 4:00–5:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[4]");
Price 5:00–6:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 5:00–6:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 5:00–6:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[5]");
Price 6:00–7:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 6:00–7:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 6:00–7:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[6]");
Price 7:00–8:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 7:00–8:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 7:00–8:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[7]");
Price 8:00–9:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 8:00–9:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 8:00–9:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[8]");
Price 9:00–10:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 9:00–10:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 9:00–10:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[9]");
Price 10:00–11:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 10:00–11:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 10:00–11:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[10]");
Price 11:00–12:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 11:00–12:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 11:00–12:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[11]");
Price 12:00–13:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 12:00–13:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 12:00–13:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[12]");
Price 13:00–14:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 13:00–14:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 13:00–14:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[13]");
Price 14:00–15:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 14:00–15:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 14:00–15:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[14]");
Price 15:00–16:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 15:00–16:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 15:00–16:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[15]");
Price 16:00–17:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 16:00–17:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 16:00–17:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[16]");
Price 17:00–18:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 17:00–18:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 17:00–18:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[17]");
Price 18:00–19:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 18:00–19:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 18:00–19:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[18]");
Price 19:00–20:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 19:00–20:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 19:00–20:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[19]");
Price 20:00–21:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 20:00–21:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 20:00–21:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[20]");
Price 21:00–22:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 21:00–22:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 21:00–22:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[21]");
Price 22:00–23:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 22:00–23:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 22:00–23:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[22]");
Price 23:00–0:00 Proměnná Pouze ke čtení

Spotová cena elektřiny za hodinu 23:00–0:00 (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Price 23:00–0:00

Čtení
PARSEJSON(responseJson,"$.todayHourlyPrices.[23]");
2. nejlevnější hodina mimo špičku Proměnná Pouze ke čtení

Index hodiny (0–23) druhé nejlevnější hodiny elektřiny mimo špičku

numeric json_path

2. nejlevnější hodina mimo špičku

Čtení
(PARSEJSON(responseJson, "todayOffpeakSecondCheapestHour"));
2. nejlevnější hodina ve špičce Proměnná Pouze ke čtení

Index hodiny (0–23) druhé nejlevnější hodiny elektřiny během špičky

numeric json_path

2. nejlevnější hodina ve špičce

Čtení
(PARSEJSON(responseJson, "todayPeakSecondCheapestHour"));
2. nejlevnější hodina za celý den Proměnná Pouze ke čtení

Index hodiny (0–23) druhé nejlevnější hodiny elektřiny za celý den

numeric json_path

2. nejlevnější hodina za celý den

Čtení
(PARSEJSON(responseJson, "todayBaseSecondCheapestHour"));
Nejlevnější hodina mimo špičku Proměnná Pouze ke čtení

Index hodiny (0–23) nejlevnější hodiny elektřiny mimo špičku

numeric json_path

Nejlevnější hodina mimo špičku

Čtení
(PARSEJSON(responseJson, "todayOffpeakCheapestHour"));
Nejlevnější hodina ve špičce Proměnná Pouze ke čtení

Index hodiny (0–23) nejlevnější hodiny elektřiny během špičky

numeric json_path

Nejlevnější hodina ve špičce

Čtení
(PARSEJSON(responseJson, "todayPeakCheapestHour"));
Nejlevnější hodina za celý den Proměnná Pouze ke čtení

Index hodiny (0–23) nejlevnější hodiny elektřiny za celý den

numeric json_path

Nejlevnější hodina za celý den

Čtení
(PARSEJSON(responseJson, "todayBaseCheapestHour"));
Je 4. nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina 4. nejlevnější daného dne

boolean

Je 4. nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlyFourthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Je 2. nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina 2. nejlevnější daného dne

boolean

Je 2. nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlySecondCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Je nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina nejlevnější daného dne

boolean

Je nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlyCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Je 5. nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina 5. nejlevnější daného dne

boolean

Je 5. nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlyFifthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Je 6. nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina 6. nejlevnější daného dne

boolean

Je 6. nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlySixthCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Je 3. nejlevnější hodina? Jazýčkový kontakt Pouze ke čtení

Binární senzor — ON, když je aktuální hodina 3. nejlevnější daného dne

boolean

Je 3. nejlevnější hodina?

Čtení
VAR state := (PARSEJSON(responseJson, "isCurrentlyThirdCheapestHour"));
If state = false
  RETURN(0);
ELSEif state = true
  RETURN(1);
else 
  RETURN(NaN);
END
Aktuální spotová cena Proměnná Pouze ke čtení

Živá tržní cena elektřiny z OTE, převedená na CZK přes směnný kurz ČNB (CZK/kWh)

numeric Jednotka: CZK/kWh json_path

Aktuální spotová cena

Čtení
(PARSEJSON(responseJson, "currentPrice"));
Připojení: Packet Parser → HTTP