TapHome

OTE-CR Spotové ceny

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

OTE-CR (Operátor trhu s elektřinou) je český operátor trhu s elektřinou a plynem. Šablona TapHome stahuje spotové ceny z denního trhu z veřejného API OTE-CR a zpřístupňuje je jako zařízení — aktuální cena, denní statistiky, pořadí a varianty časových oken. Ceny jsou publikovány v EUR za MWh a šablona obsahuje vestavěnou proměnnou pro konverzi měny k zobrazení hodnot v CZK.

Šablona dotazuje API OTE-CR jednou za hodinu a načítá až 96 hodinových cenových období (4 dny dat). Není potřeba žádná autentizace — API endpoint je veřejný.

Konfigurace

Během importu šablony se TapHome připojí k www.ote-cr.cz přes HTTPS (port 443). Není potřeba žádná IP adresa ani přihlašovací údaje — endpoint je pevně daný.

Dva volitelné parametry importu ovládají zařízení s časovým oknem:

  • From — počáteční hodina (0–23, výchozí: 9) pro filtr časového okna
  • To — koncová hodina (0–23, výchozí: 17) pro filtr časového okna

Výchozí hodnoty (9–17) pokrývají standardní pracovní hodiny. Upravte je podle vašeho preferovaného analytického okna.

Po importu je proměnná Směnný kurz měny (kurz) ve výchozím stavu nastavena na 1 — to znamená, že všechna cenová zařízení zobrazují surové hodnoty v EUR/MWh. Nastavte ji na aktuální kurz EUR/CZK (např. 25,2), aby všechna cenová zařízení zobrazovala hodnoty v CZK. Kurz můžete nastavit ručně v detailu zařízení nebo jej propojit se šablonou Kurzy ČNB pro automatické denní aktualizace (viz níže).

Schopnosti zařízení

Aktuální cena

Zařízení Aktuální cena čte spotovou cenu pro aktuální hodinu. Šablona určí aktivní období ze systémových hodin a vynásobí hodnotu v EUR směnným kurzem, aby zobrazila cenu v CZK.

Pořadí cen
  • Pořadí aktuálního období — pořadí ceny aktuální hodiny mezi všemi obdobími dne (1 = nejlevnější, 24 = nejdražší)
  • Pořadí aktuálního období v časovém okně — stejné pořadí, ale omezené na uživatelem definované časové okno (From–To). Vrátí NaN, pokud aktuální hodina leží mimo okno.
Denní cenové statistiky
  • Nejvyšší cena dne — maximální spotová cena ze všech období, převedená na CZK
  • Nejnižší cena dne — minimální spotová cena ze všech období, převedená na CZK
  • Průměrná cena dne — aritmetický průměr ze všech období, převedený na CZK
Cenové statistiky časového okna

Každá denní statistika má odpovídající variantu s časovým oknem, která filtruje období do rozsahu From–To:

  • Nejvyšší cena v časovém okně
  • Nejnižší cena v časovém okně
  • Průměrná cena v časovém okně

Všechna zařízení s časovým oknem vrátí NaN, pokud From >= To.

  • Nejlevnější období dne — číslo období (od 1) nejlevnější hodiny v daném dni
  • Nejlevnější zbývající období — nejlevnější hodina od aktuálního času dále
  • Počet období — celkový počet dostupných cenových období (obvykle 96)
  • Počet období v časovém okně — počet období v rozsahu From–To
Směnný kurz měny

Zařízení Směnný kurz měny je jediné zařízení pro čtení i zápis v šabloně. Uchovává konverzní kurz EUR na CZK, který používají všechna cenová zařízení. Nastavte jej ručně nebo jej propojte se šablonou Kurzy ČNB pro automatické denní aktualizace.

Pokud je směnný kurz nastaven na 1, všechna cenová zařízení zobrazují surové hodnoty v EUR.

Servisní atributy

Šablona zpřístupňuje 96 servisních atributů (Období 1 až Období 96), z nichž každý zobrazuje surovou spotovou cenu v EUR pro odpovídající hodinový slot. Pokrývají přibližně 4 dny dat z denního trhu a jsou užitečné pro diagnostiku nebo pro tvorbu vlastních automatizací, které kontrolují konkrétní budoucí období.

Propojení s kurzem ČNB

Pro automatizaci konverze EUR na CZK:

  1. Importujte šablonu Kurzy ČNB do TapHome
  2. V šabloně OTE-CR vytvořte vzorec, který čte kurz EUR/CZK ze zařízení ČNB a zapisuje jej do zařízení Směnný kurz měny
  3. Šablona ČNB aktualizuje kurz denně, takže všechny ceny OTE-CR automaticky odrážejí aktuální směnný kurz

Příklady automatizace

Spotové ceny jsou nejužitečnější v kombinaci s TapHome smart rules:

  • Ohřev vody během nejlevnějších hodin — porovnejte pořadí aktuálního období s prahovou hodnotou (např. pořadí <= 4) a zapněte ohřívač vody pouze během 4 nejlevnějších hodin dne
  • Nabíjení baterií mimo špičku — použijte zařízení Aktuální cena ke spuštění nabíjení baterie, když cena klesne pod nastavitelný limit
  • Přesun zátěže spotřebičů — použijte zařízení Nejlevnější zbývající období k naplánování praček, myček nádobí nebo nabíjení EV na další nejlevnější slot
  • Optimalizace časového okna — omezte automatizaci na konkrétní hodiny (např. 6:00–22:00) pomocí zařízení s časovým oknem, aby byla noční období vyloučena z pořadí

Řešení problémů

Všechny ceny zobrazují nulu nebo NaN
  1. Ověřte, že TapHome CCU má přístup k internetu (šablona se připojuje k www.ote-cr.cz přes HTTPS)
  2. Zkontrolujte zařízení Počet období — pokud zobrazuje 0, odpověď API je prázdná nebo parsování selhalo
  3. Ujistěte se, že zařízení Směnný kurz měny je nastaveno na nenulovou hodnotu — kurz 0 vynásobí všechny ceny na nulu
Zařízení s časovým oknem vracejí NaN
  1. Ověřte, že parametry importu From a To jsou nastaveny správně (From musí být menší než To)
  2. Pokud je aktuální hodina mimo rozsah From–To, zařízení pořadí v okně vrací NaN záměrně
Ceny se zdají zastaralé

Šablona dotazuje API OTE-CR každou hodinu (3600 sekund). Ceny denního trhu jsou publikovány OTE den předem, obvykle kolem 12:45 CET. Pokud ceny nového dne ještě nejsou viditelné, počkejte do doby publikace.

Dostupná zařízení

OTE-CR Spotové ceny Modul
Servisní atributy
Period 1Spotová cena pro hodinu 1 (EUR)
Period 2Spotová cena pro hodinu 2 (EUR)
Period 3Spotová cena pro hodinu 3 (EUR)
Period 4Spotová cena pro hodinu 4 (EUR)
Period 5Spotová cena pro hodinu 5 (EUR)
Period 6Spotová cena pro hodinu 6 (EUR)
Period 7Spotová cena pro hodinu 7 (EUR)
Period 8Spotová cena pro hodinu 8 (EUR)
Period 9Spotová cena pro hodinu 9 (EUR)
Period 10Spotová cena pro hodinu 10 (EUR)
Period 11Spotová cena pro hodinu 11 (EUR)
Period 12Spotová cena pro hodinu 12 (EUR)
Period 13Spotová cena pro hodinu 13 (EUR)
Period 14Spotová cena pro hodinu 14 (EUR)
Period 15Spotová cena pro hodinu 15 (EUR)
Period 16Spotová cena pro hodinu 16 (EUR)
Period 17Spotová cena pro hodinu 17 (EUR)
Period 18Spotová cena pro hodinu 18 (EUR)
Period 19Spotová cena pro hodinu 19 (EUR)
Period 20Spotová cena pro hodinu 20 (EUR)
Period 21Spotová cena pro hodinu 21 (EUR)
Period 22Spotová cena pro hodinu 22 (EUR)
Period 23Spotová cena pro hodinu 23 (EUR)
Period 24Spotová cena pro hodinu 24 (EUR)
Period 25
Period 26
Period 27
Period 28
Period 29
Period 30
Period 31
Period 32
Period 33
Period 34
Period 35
Period 36
Period 37
Period 38
Period 39
Period 40
Period 41
Period 42
Period 43
Period 44
Period 45
Period 46
Period 47
Period 48
Period 49
Period 50
Period 51
Period 52
Period 53
Period 54
Period 55
Period 56
Period 57
Period 58
Period 59
Period 60
Period 61
Period 62
Period 63
Period 64
Period 65
Period 66
Period 67
Period 68
Period 69
Period 70
Period 71
Period 72
Period 73
Period 74
Period 75
Period 76
Period 77
Period 78
Period 79
Period 80
Period 81
Period 82
Period 83
Period 84
Period 85
Period 86
Period 87
Period 88
Period 89
Period 90
Period 91
Period 92
Period 93
Period 94
Period 95
Period 96
Vlastní proměnné
From (numeric) = 9Start hour (0–23) of the time window for windowed price ranking and statistics
To (numeric) = 17End hour (0–23) of the time window for windowed price ranking and statistics
kurz (numeric) = 1EUR to CZK exchange rate multiplier — all prices are multiplied by this value (set to current rate, e.g. 25.2)

ote-cr

Čtení (modul)
VAR today := tostring(NOW(), "yyyy-MM-dd");
VAR response := SENDHTTPREQUEST("/cs/kratkodobe-trhy/elektrina/denni-trh/chart-data");
IF response.IsSuccess
    output := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Servisní atributy
Perioda 1
PARSEJSON(output, "$.data.dataLine[1].point[0].y") + " EUR"
Perioda 2
PARSEJSON(output, "$.data.dataLine[1].point[1].y") + " EUR"
Perioda 3
PARSEJSON(output, "$.data.dataLine[1].point[2].y") + " EUR"
Perioda 4
PARSEJSON(output, "$.data.dataLine[1].point[3].y") + " EUR"
Perioda 5
PARSEJSON(output, "$.data.dataLine[1].point[4].y") + " EUR"
Perioda 6
PARSEJSON(output, "$.data.dataLine[1].point[5].y") + " EUR"
Perioda 7
PARSEJSON(output, "$.data.dataLine[1].point[6].y") + " EUR"
Perioda 8
PARSEJSON(output, "$.data.dataLine[1].point[7].y") + " EUR"
Perioda 9
PARSEJSON(output, "$.data.dataLine[1].point[8].y") + " EUR"
Perioda 10
PARSEJSON(output, "$.data.dataLine[1].point[9].y") + " EUR"
Perioda 11
PARSEJSON(output, "$.data.dataLine[1].point[10].y") + " EUR"
Perioda 12
PARSEJSON(output, "$.data.dataLine[1].point[11].y") + " EUR"
Perioda 13
PARSEJSON(output, "$.data.dataLine[1].point[12].y") + " EUR"
Perioda 14
PARSEJSON(output, "$.data.dataLine[1].point[13].y") + " EUR"
Perioda 15
PARSEJSON(output, "$.data.dataLine[1].point[14].y") + " EUR"
Perioda 16
PARSEJSON(output, "$.data.dataLine[1].point[15].y") + " EUR"
Perioda 17
PARSEJSON(output, "$.data.dataLine[1].point[16].y") + " EUR"
Perioda 18
PARSEJSON(output, "$.data.dataLine[1].point[17].y") + " EUR"
Perioda 19
PARSEJSON(output, "$.data.dataLine[1].point[18].y") + " EUR"
Perioda 20
PARSEJSON(output, "$.data.dataLine[1].point[19].y") + " EUR"
Perioda 21
PARSEJSON(output, "$.data.dataLine[1].point[20].y") + " EUR"
Perioda 22
PARSEJSON(output, "$.data.dataLine[1].point[21].y") + " EUR"
Perioda 23
PARSEJSON(output, "$.data.dataLine[1].point[22].y") + " EUR"
Perioda 24
PARSEJSON(output, "$.data.dataLine[1].point[23].y") + " EUR"
Perioda 25
PARSEJSON(output, "$.data.dataLine[1].point[24].y") + " EUR"
Perioda 26
PARSEJSON(output, "$.data.dataLine[1].point[25].y") + " EUR"
Perioda 27
PARSEJSON(output, "$.data.dataLine[1].point[26].y") + " EUR"
Perioda 28
PARSEJSON(output, "$.data.dataLine[1].point[27].y") + " EUR"
Perioda 29
PARSEJSON(output, "$.data.dataLine[1].point[28].y") + " EUR"
Perioda 30
PARSEJSON(output, "$.data.dataLine[1].point[29].y") + " EUR"
Perioda 31
PARSEJSON(output, "$.data.dataLine[1].point[30].y") + " EUR"
Perioda 32
PARSEJSON(output, "$.data.dataLine[1].point[31].y") + " EUR"
Perioda 33
PARSEJSON(output, "$.data.dataLine[1].point[32].y") + " EUR"
Perioda 34
PARSEJSON(output, "$.data.dataLine[1].point[33].y") + " EUR"
Perioda 35
PARSEJSON(output, "$.data.dataLine[1].point[34].y") + " EUR"
Perioda 36
PARSEJSON(output, "$.data.dataLine[1].point[35].y") + " EUR"
Perioda 37
PARSEJSON(output, "$.data.dataLine[1].point[36].y") + " EUR"
Perioda 38
PARSEJSON(output, "$.data.dataLine[1].point[37].y") + " EUR"
Perioda 39
PARSEJSON(output, "$.data.dataLine[1].point[38].y") + " EUR"
Perioda 40
PARSEJSON(output, "$.data.dataLine[1].point[39].y") + " EUR"
Perioda 41
PARSEJSON(output, "$.data.dataLine[1].point[40].y") + " EUR"
Perioda 42
PARSEJSON(output, "$.data.dataLine[1].point[41].y") + " EUR"
Perioda 43
PARSEJSON(output, "$.data.dataLine[1].point[42].y") + " EUR"
Perioda 44
PARSEJSON(output, "$.data.dataLine[1].point[43].y") + " EUR"
Perioda 45
PARSEJSON(output, "$.data.dataLine[1].point[44].y") + " EUR"
Perioda 46
PARSEJSON(output, "$.data.dataLine[1].point[45].y") + " EUR"
Perioda 47
PARSEJSON(output, "$.data.dataLine[1].point[46].y") + " EUR"
Perioda 48
PARSEJSON(output, "$.data.dataLine[1].point[47].y") + " EUR"
Perioda 49
PARSEJSON(output, "$.data.dataLine[1].point[48].y") + " EUR"
Perioda 50
PARSEJSON(output, "$.data.dataLine[1].point[49].y") + " EUR"
Perioda 51
PARSEJSON(output, "$.data.dataLine[1].point[50].y") + " EUR"
Perioda 52
PARSEJSON(output, "$.data.dataLine[1].point[51].y") + " EUR"
Perioda 53
PARSEJSON(output, "$.data.dataLine[1].point[52].y") + " EUR"
Perioda 54
PARSEJSON(output, "$.data.dataLine[1].point[53].y") + " EUR"
Perioda 55
PARSEJSON(output, "$.data.dataLine[1].point[54].y") + " EUR"
Perioda 56
PARSEJSON(output, "$.data.dataLine[1].point[55].y") + " EUR"
Perioda 57
PARSEJSON(output, "$.data.dataLine[1].point[56].y") + " EUR"
Perioda 58
PARSEJSON(output, "$.data.dataLine[1].point[57].y") + " EUR"
Perioda 59
PARSEJSON(output, "$.data.dataLine[1].point[58].y") + " EUR"
Perioda 60
PARSEJSON(output, "$.data.dataLine[1].point[59].y") + " EUR"
Perioda 61
PARSEJSON(output, "$.data.dataLine[1].point[60].y") + " EUR"
Perioda 62
PARSEJSON(output, "$.data.dataLine[1].point[61].y") + " EUR"
Perioda 63
PARSEJSON(output, "$.data.dataLine[1].point[62].y") + " EUR"
Perioda 64
PARSEJSON(output, "$.data.dataLine[1].point[63].y") + " EUR"
Perioda 65
PARSEJSON(output, "$.data.dataLine[1].point[64].y") + " EUR"
Perioda 66
PARSEJSON(output, "$.data.dataLine[1].point[65].y") + " EUR"
Perioda 67
PARSEJSON(output, "$.data.dataLine[1].point[66].y") + " EUR"
Perioda 68
PARSEJSON(output, "$.data.dataLine[1].point[67].y") + " EUR"
Perioda 69
PARSEJSON(output, "$.data.dataLine[1].point[68].y") + " EUR"
Perioda 70
PARSEJSON(output, "$.data.dataLine[1].point[69].y") + " EUR"
Perioda 71
PARSEJSON(output, "$.data.dataLine[1].point[70].y") + " EUR"
Perioda 72
PARSEJSON(output, "$.data.dataLine[1].point[71].y") + " EUR"
Perioda 73
PARSEJSON(output, "$.data.dataLine[1].point[72].y") + " EUR"
Perioda 74
PARSEJSON(output, "$.data.dataLine[1].point[73].y") + " EUR"
Perioda 75
PARSEJSON(output, "$.data.dataLine[1].point[74].y") + " EUR"
Perioda 76
PARSEJSON(output, "$.data.dataLine[1].point[75].y") + " EUR"
Perioda 77
PARSEJSON(output, "$.data.dataLine[1].point[76].y") + " EUR"
Perioda 78
PARSEJSON(output, "$.data.dataLine[1].point[77].y") + " EUR"
Perioda 79
PARSEJSON(output, "$.data.dataLine[1].point[78].y") + " EUR"
Perioda 80
PARSEJSON(output, "$.data.dataLine[1].point[79].y") + " EUR"
Perioda 81
PARSEJSON(output, "$.data.dataLine[1].point[80].y") + " EUR"
Perioda 82
PARSEJSON(output, "$.data.dataLine[1].point[81].y") + " EUR"
Perioda 83
PARSEJSON(output, "$.data.dataLine[1].point[82].y") + " EUR"
Perioda 84
PARSEJSON(output, "$.data.dataLine[1].point[83].y") + " EUR"
Perioda 85
PARSEJSON(output, "$.data.dataLine[1].point[84].y") + " EUR"
Perioda 86
PARSEJSON(output, "$.data.dataLine[1].point[85].y") + " EUR"
Perioda 87
PARSEJSON(output, "$.data.dataLine[1].point[86].y") + " EUR"
Perioda 88
PARSEJSON(output, "$.data.dataLine[1].point[87].y") + " EUR"
Perioda 89
PARSEJSON(output, "$.data.dataLine[1].point[88].y") + " EUR"
Perioda 90
PARSEJSON(output, "$.data.dataLine[1].point[89].y") + " EUR"
Perioda 91
PARSEJSON(output, "$.data.dataLine[1].point[90].y") + " EUR"
Perioda 92
PARSEJSON(output, "$.data.dataLine[1].point[91].y") + " EUR"
Perioda 93
PARSEJSON(output, "$.data.dataLine[1].point[92].y") + " EUR"
Perioda 94
PARSEJSON(output, "$.data.dataLine[1].point[93].y") + " EUR"
Perioda 95
PARSEJSON(output, "$.data.dataLine[1].point[94].y") + " EUR"
Perioda 96
PARSEJSON(output, "$.data.dataLine[1].point[95].y") + " EUR"
Aktuální cena Proměnná Pouze ke čtení

Spotová cena aktuální hodiny převedená na CZK pomocí proměnné směnného kurzu

numeric Jednotka: CZK json_path

Aktuální cena

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
VAR date := NOW();
var periodHour := LENGTH(prices) / 24;	
var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);

ROUND(GETAT(prices, actualperiod)*kurz)
Pořadí aktuálního období Proměnná Pouze ke čtení

Pořadí aktuální hodiny mezi všemi denními obdobími (1 = nejlevnější)

numeric json_path

Pořadí aktuálního období

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
var byPrice := ORDERINDEX(prices);
VAR date := NOW();
var periodHour := LENGTH(prices) / 24;	
var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);

INDEXOF(byPrice, actualperiod) + 1
Pořadí aktuálního období v časovém okně Proměnná Pouze ke čtení

Pořadí aktuální hodiny v rámci časového okna From–To (NaN pokud je mimo)

numeric json_path

Pořadí aktuálního období v časovém okně

Čtení
VAR date := NOW();
IF date.hour < From or date.hour > To or From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
	var periodHour := LENGTH(prices) / 24;
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);
	var byPrice := ORDERINDEX(windowPrices);
	
	var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);

	RETURN(INDEXOF(byPrice, actualperiod - From * periodHour) +1);
END
Směnný kurz měny Proměnná

Konverzní kurz EUR na CZK — čtení/zápis, používaný všemi cenovými zařízeními

numeric Jednotka: CZK/EUR

Směnný kurz měny

Čtení
kurz
Zápis
kurz := Va
Nejvyšší cena dne Proměnná Pouze ke čtení

Maximální spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json_path

Nejvyšší cena dne

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERDESC(prices), 0)*kurz
Nejvyšší cena v časovém okně Proměnná Pouze ke čtení

Maximální spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json_path

Nejvyšší cena v časovém okně

Čtení
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
	var periodHour := LENGTH(prices) / 24;	
	var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);
	var byPrice := ORDERDESC(windowPrices);

	RETURN(GETAT(byPrice, 0)*kurz);
END
Nejnižší cena dne Proměnná Pouze ke čtení

Minimální spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json_path

Nejnižší cena dne

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDER(prices), 0)*kurz
Nejnižší cena v časovém okně Proměnná Pouze ke čtení

Minimální spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json_path

Nejnižší cena v časovém okně

Čtení
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
	var periodHour := LENGTH(prices) / 24;	
	#var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);
	var byPrice := ORDER(windowPrices);

	RETURN(GETAT(byPrice, 0)*kurz);
END
Nejlevnější období dne Proměnná Pouze ke čtení

Číslo období (od 1) nejlevnější hodiny v daném dni

numeric json_path

Nejlevnější období dne

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
Nejlevnější zbývající období Proměnná Pouze ke čtení

Číslo období nejlevnější hodiny od aktuálního času dále

numeric json_path

Nejlevnější zbývající období

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
VAR date := NOW();
var periodHour := LENGTH(prices) / 24;	
var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);
var remainingPrices := COPY(prices, actualperiod, LENGTH(prices) - actualperiod);
var byPrice := ORDERINDEX(remainingPrices);

GETAT(byPrice, 0) + actualperiod +1
Počet období Proměnná Pouze ke čtení

Celkový počet dostupných cenových období (obvykle 96)

numeric json_path

Počet období

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
LENGTH(prices);
Počet období v časovém okně Proměnná Pouze ke čtení

Počet období v rámci časového okna From–To

numeric json_path

Počet období v časovém okně

Čtení
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
	var periodHour := LENGTH(prices) / 24;
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);

	RETURN(LENGTH(windowPrices));
END
Průměrná cena dne Proměnná Pouze ke čtení

Průměrná spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json_path

Průměrná cena dne

Čtení
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
AVG(prices)*kurz
Průměrná cena v časovém okně Proměnná Pouze ke čtení

Průměrná spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json_path

Průměrná cena v časovém okně

Čtení
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
	var periodHour := LENGTH(prices) / 24;	
	#var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);

	RETURN(AVG(windowPrices)*kurz);
END
Připojení: Packet Parser → HTTP