TapHome

OKTE Spotové ceny

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 03. 2026

OKTE (Organizátor krátkodobého trhu s elektrinou) je slovenský organizátor trhu s elektrinou. Zverejňuje spotové ceny na dennom trhu (DAM) — hodinovú veľkoobchodnú cenu elektriny v EUR/MWh určenú aukciou predchádzajúceho dňa.

Šablóna TapHome získava tieto ceny z verejného API OKTE (isot.okte.sk) cez HTTP Packet Parser. Poskytuje cenu za aktuálnu hodinu, poradie cien, výpočty min/max/priemeru a analýzu časového okna — všetko sa aktualizuje automaticky každú hodinu. Nie je potrebná žiadna autentifikácia.

Konfigurácia

Šablóna sa pripája na isot.okte.sk cez HTTPS (port 443). Nie je potrebná IP adresa ani prihlasovacie údaje — koncový bod je verejné API.

Počas importu šablóny je možné nastaviť dve voliteľné vlastné premenné:

  • Od — začiatočná hodina vlastného časového okna (0–23, predvolené: 9)
  • Do — koncová hodina vlastného časového okna (0–23, predvolené: 17)

Tieto premenné ovládajú varianty zariadení „v časovom okne". Predvolené hodnoty (9–17) pokrývajú štandardné pracovné hodiny. Ak nie sú potrebné, ponechajte ich na predvolených hodnotách — zariadenia pre celý deň fungujú nezávisle.

Ako to funguje

Modul sa dotazuje API OKTE DAM raz za hodinu (interval 3600 s). Požiadavka API používa dnešný dátum:

1
GET /api/v1/dam/results?deliveryDayFrom={today}&deliveryDayTo={today}

Odpoveď obsahuje pole cenových objektov, každý s číslom period a cenou price v EUR/MWh. V závislosti od dennej doby a harmonogramu publikovania OKTE môže odpoveď obsahovať ceny len za dnešok (24 periód) alebo až za 3 dni (72 periód).

Každý skript zariadenia parsuje toto JSON pole pomocou PARSEJSON(output, "$..price") a aplikuje triediace, filtrovacie alebo agregačné funkcie na odvodenie hodnoty.

Schopnosti zariadení

Šablóna vystavuje 13 senzorových zariadení. Všetky sú len na čítanie — hodnoty odvodzujú z rovnakej odpovede API.

Aktuálna cena a poradie
  • Aktuálna cena — spotová cena za aktuálnu hodinovú periódu v EUR/MWh. Skript určí aktuálny index periódy z NOW() a vráti zodpovedajúcu cenu z poľa.
  • Poradie aktuálnej periódy — poradie ceny aktuálnej hodiny medzi všetkými dostupnými periódami (1 = najlacnejšia). Užitočné pre automatizačné pravidlá ako „zapni tepelné čerpadlo len keď je aktuálna hodina medzi 8 najlacnejšími."
  • Poradie aktuálnej periódy v časovom okne — rovnaké ako vyššie, ale obmedzené na používateľom definované okno Od–Do. Vracia NaN ak je aktuálna hodina mimo okna alebo ak Od >= Do.
Cenové extrémy
  • Najvyššia cena dňa — maximálna spotová cena zo všetkých dostupných periód
  • Najnižšia cena dňa — minimálna spotová cena zo všetkých dostupných periód
  • Najvyššia cena v časovom okne — maximálna cena v rámci okna Od–Do
  • Najnižšia cena v časovom okne — minimálna cena v rámci okna Od–Do
Priemery
  • Priemerná cena dňa — aritmetický priemer všetkých dostupných cien periód
  • Priemerná cena v časovom okne — aritmetický priemer v rámci okna Od–Do
Identifikácia periód
  • Najlacnejšia perióda dňa — 1-založené číslo periódy najlacnejšej hodiny (napr. 3 znamená 02:00–03:00)
  • Najlacnejšia zostávajúca perióda — najlacnejšia hodina od aktuálnej hodiny ďalej. Dynamicky sa aktualizuje počas dňa.
Počty
  • Počet periód — celkový počet cenových periód v odpovedi API (typicky 24 alebo 72)
  • Počet periód v časovom okne — počet periód v rámci okna Od–Do

Atribúty služby

Modul vystavuje až 96 atribútov služby (Perióda 1 až Perióda 96), z ktorých každý zobrazuje spotovú cenu pre danú hodinovú periódu ako reťazec s príponou „EUR". V praxi je vyplnených 24 atribútov pre jeden deň alebo 72 pre tri dni.

Tieto atribúty poskytujú kompletný cenový harmonogram viditeľný v detailnom zobrazení modulu TapHome.

Vlastné premenné (Od / Do)

Niekoľko zariadení má varianty „v časovom okne", ktoré filtrujú cenové dáta na podmnožinu hodín. Okno je definované dvoma vlastnými premennými nastavenými počas importu šablóny:

  • Od — začiatočná hodina (vrátane), hodnota 0–23
  • Do — koncová hodina (bez nej), hodnota 0–23

Napríklad nastavenie Od=8 a Do=16 analyzuje ceny len medzi 08:00 a 16:00. To je užitočné keď chcete optimalizovať spotrebu energie počas konkrétnych hodín — napríklad spúšťať spotrebiče len počas najlacnejších hodín pracovného dňa.

Ak Od >= Do, všetky okenné zariadenia vracajú NaN.

Príklady automatizácie

Spúšťanie zariadení počas najlacnejších hodín

Použite zariadenie Poradie aktuálnej periódy v podmienke smart rule. Napríklad na spustenie bazénového čerpadla len počas 6 najlacnejších hodín dňa:

  • Podmienka: Poradie aktuálnej periódy <= 6
  • Akcia: Zapni bazénové čerpadlo
Vyhýbanie sa špičkovým cenám

Použite zariadenie Aktuálna cena s prahovou hodnotou:

  • Podmienka: Aktuálna cena > 150 (EUR/MWh)
  • Akcia: Vypni nepodstatné záťaže
Optimalizácia časového okna

Nastavte Od=22, Do=6 pre definovanie nočného okna, potom použite Najnižšia cena v časovom okne alebo Poradie aktuálnej periódy v časovom okne na naplánovanie nabíjania batérie alebo prevádzky ohrievača vody počas najlacnejších nočných hodín.

Riešenie problémov

Všetky zariadenia zobrazujú nulu alebo žiadne dáta
  1. Skontrolujte internetové pripojenie na TapHome Core — šablóna vyžaduje odchádzajúci HTTPS prístup na isot.okte.sk
  2. Overte, že API odpovedá — otvorte https://isot.okte.sk/api/v1/dam/results?deliveryDayFrom=2026-03-28&deliveryDayTo=2026-03-28 v prehliadači
  3. Ceny DAM pre nasledujúci deň sa typicky zverejňujú po 12:45 CET. Pred zverejnením požiadavky na zajtrajší dátum vracajú prázdne výsledky.
Okenné zariadenia vracajú NaN
  1. Overte, že Od < Do v parametroch importu šablóny
  2. Skontrolujte, že aktuálna hodina spadá do rozsahu Od–Do (pre Poradie aktuálnej periódy v časovom okne)
  3. Pamätajte, že Od a Do používajú 24-hodinový formát (0–23)
Hodnoty cien sa zdajú nesprávne

OKTE zverejňuje ceny v EUR/MWh. Pre prevod na EUR/kWh (domácnostný rozsah) vydeľte 1000. Šablóna zobrazuje surové hodnoty z API bez konverzie.

Dostupné zariadenia

OKTE Spotové ceny Modul
Servisné atribúty
Period 1
Period 2
Period 3
Period 4
Period 5
Period 6
Period 7
Period 8
Period 9
Period 10
Period 11
Period 12
Period 13
Period 14
Period 15
Period 16
Period 17
Period 18
Period 19
Period 20
Period 21
Period 22
Period 23
Period 24
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é premenné
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

okte.sk

Čítanie (modul)
VAR today := tostring(NOW(), "yyyy-MM-dd");;
VAR response := SENDHTTPREQUEST("/api/v1/dam/results?deliveryDayFrom=" + today + "&deliveryDayTo=" + today);
IF response.IsSuccess
    output := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
Servisné atribúty
Perióda 1
PARSEJSON(output, "$[?(@.period == 1)].price") + " EUR"
Perióda 2
PARSEJSON(output, "$[?(@.period == 2)].price") + " EUR"
Perióda 3
PARSEJSON(output, "$[?(@.period == 3)].price") + " EUR"
Perióda 4
PARSEJSON(output, "$[?(@.period == 4)].price") + " EUR"
Perióda 5
PARSEJSON(output, "$[?(@.period == 5)].price") + " EUR"
Perióda 6
PARSEJSON(output, "$[?(@.period == 6)].price") + " EUR"
Perióda 7
PARSEJSON(output, "$[?(@.period == 7)].price") + " EUR"
Perióda 8
PARSEJSON(output, "$[?(@.period == 8)].price") + " EUR"
Perióda 9
PARSEJSON(output, "$[?(@.period == 9)].price") + " EUR"
Perióda 10
PARSEJSON(output, "$[?(@.period == 10)].price") + " EUR"
Perióda 11
PARSEJSON(output, "$[?(@.period == 11)].price") + " EUR"
Perióda 12
PARSEJSON(output, "$[?(@.period == 12)].price") + " EUR"
Perióda 13
PARSEJSON(output, "$[?(@.period == 13)].price") + " EUR"
Perióda 14
PARSEJSON(output, "$[?(@.period == 14)].price") + " EUR"
Perióda 15
PARSEJSON(output, "$[?(@.period == 15)].price") + " EUR"
Perióda 16
PARSEJSON(output, "$[?(@.period == 16)].price") + " EUR"
Perióda 17
PARSEJSON(output, "$[?(@.period == 17)].price") + " EUR"
Perióda 18
PARSEJSON(output, "$[?(@.period == 18)].price") + " EUR"
Perióda 19
PARSEJSON(output, "$[?(@.period == 19)].price") + " EUR"
Perióda 20
PARSEJSON(output, "$[?(@.period == 20)].price") + " EUR"
Perióda 21
PARSEJSON(output, "$[?(@.period == 21)].price") + " EUR"
Perióda 22
PARSEJSON(output, "$[?(@.period == 22)].price") + " EUR"
Perióda 23
PARSEJSON(output, "$[?(@.period == 23)].price") + " EUR"
Perióda 24
PARSEJSON(output, "$[?(@.period == 24)].price") + " EUR"
Perióda 25
PARSEJSON(output, "$[?(@.period == 25)].price") + " EUR"
Perióda 26
PARSEJSON(output, "$[?(@.period == 26)].price") + " EUR"
Perióda 27
PARSEJSON(output, "$[?(@.period == 27)].price") + " EUR"
Perióda 28
PARSEJSON(output, "$[?(@.period == 28)].price") + " EUR"
Perióda 29
PARSEJSON(output, "$[?(@.period == 29)].price") + " EUR"
Perióda 30
PARSEJSON(output, "$[?(@.period == 30)].price") + " EUR"
Perióda 31
PARSEJSON(output, "$[?(@.period == 31)].price") + " EUR"
Perióda 32
PARSEJSON(output, "$[?(@.period == 32)].price") + " EUR"
Perióda 33
PARSEJSON(output, "$[?(@.period == 33)].price") + " EUR"
Perióda 34
PARSEJSON(output, "$[?(@.period == 34)].price") + " EUR"
Perióda 35
PARSEJSON(output, "$[?(@.period == 35)].price") + " EUR"
Perióda 36
PARSEJSON(output, "$[?(@.period == 36)].price") + " EUR"
Perióda 37
PARSEJSON(output, "$[?(@.period == 37)].price") + " EUR"
Perióda 38
PARSEJSON(output, "$[?(@.period == 38)].price") + " EUR"
Perióda 39
PARSEJSON(output, "$[?(@.period == 39)].price") + " EUR"
Perióda 40
PARSEJSON(output, "$[?(@.period == 40)].price") + " EUR"
Perióda 41
PARSEJSON(output, "$[?(@.period == 41)].price") + " EUR"
Perióda 42
PARSEJSON(output, "$[?(@.period == 42)].price") + " EUR"
Perióda 43
PARSEJSON(output, "$[?(@.period == 43)].price") + " EUR"
Perióda 44
PARSEJSON(output, "$[?(@.period == 44)].price") + " EUR"
Perióda 45
PARSEJSON(output, "$[?(@.period == 45)].price") + " EUR"
Perióda 46
PARSEJSON(output, "$[?(@.period == 46)].price") + " EUR"
Perióda 47
PARSEJSON(output, "$[?(@.period == 47)].price") + " EUR"
Perióda 48
PARSEJSON(output, "$[?(@.period == 48)].price") + " EUR"
Perióda 49
PARSEJSON(output, "$[?(@.period == 49)].price") + " EUR"
Perióda 50
PARSEJSON(output, "$[?(@.period == 50)].price") + " EUR"
Perióda 51
PARSEJSON(output, "$[?(@.period == 51)].price") + " EUR"
Perióda 52
PARSEJSON(output, "$[?(@.period == 52)].price") + " EUR"
Perióda 53
PARSEJSON(output, "$[?(@.period == 53)].price") + " EUR"
Perióda 54
PARSEJSON(output, "$[?(@.period == 54)].price") + " EUR"
Perióda 55
PARSEJSON(output, "$[?(@.period == 55)].price") + " EUR"
Perióda 56
PARSEJSON(output, "$[?(@.period == 56)].price") + " EUR"
Perióda 57
PARSEJSON(output, "$[?(@.period == 57)].price") + " EUR"
Perióda 58
PARSEJSON(output, "$[?(@.period == 58)].price") + " EUR"
Perióda 59
PARSEJSON(output, "$[?(@.period == 59)].price") + " EUR"
Perióda 60
PARSEJSON(output, "$[?(@.period == 60)].price") + " EUR"
Perióda 61
PARSEJSON(output, "$[?(@.period == 61)].price") + " EUR"
Perióda 62
PARSEJSON(output, "$[?(@.period == 62)].price") + " EUR"
Perióda 63
PARSEJSON(output, "$[?(@.period == 63)].price") + " EUR"
Perióda 64
PARSEJSON(output, "$[?(@.period == 64)].price") + " EUR"
Perióda 65
PARSEJSON(output, "$[?(@.period == 65)].price") + " EUR"
Perióda 66
PARSEJSON(output, "$[?(@.period == 66)].price") + " EUR"
Perióda 67
PARSEJSON(output, "$[?(@.period == 67)].price") + " EUR"
Perióda 68
PARSEJSON(output, "$[?(@.period == 68)].price") + " EUR"
Perióda 69
PARSEJSON(output, "$[?(@.period == 69)].price") + " EUR"
Perióda 70
PARSEJSON(output, "$[?(@.period == 70)].price") + " EUR"
Perióda 71
PARSEJSON(output, "$[?(@.period == 71)].price") + " EUR"
Perióda 72
PARSEJSON(output, "$[?(@.period == 72)].price") + " EUR"
Perióda 73
PARSEJSON(output, "$[?(@.period == 73)].price") + " EUR"
Perióda 74
PARSEJSON(output, "$[?(@.period == 74)].price") + " EUR"
Perióda 75
PARSEJSON(output, "$[?(@.period == 75)].price") + " EUR"
Perióda 76
PARSEJSON(output, "$[?(@.period == 76)].price") + " EUR"
Perióda 77
PARSEJSON(output, "$[?(@.period == 77)].price") + " EUR"
Perióda 78
PARSEJSON(output, "$[?(@.period == 78)].price") + " EUR"
Perióda 79
PARSEJSON(output, "$[?(@.period == 79)].price") + " EUR"
Perióda 80
PARSEJSON(output, "$[?(@.period == 80)].price") + " EUR"
Perióda 81
PARSEJSON(output, "$[?(@.period == 81)].price") + " EUR"
Perióda 82
PARSEJSON(output, "$[?(@.period == 82)].price") + " EUR"
Perióda 83
PARSEJSON(output, "$[?(@.period == 83)].price") + " EUR"
Perióda 84
PARSEJSON(output, "$[?(@.period == 84)].price") + " EUR"
Perióda 85
PARSEJSON(output, "$[?(@.period == 85)].price") + " EUR"
Perióda 86
PARSEJSON(output, "$[?(@.period == 86)].price") + " EUR"
Perióda 87
PARSEJSON(output, "$[?(@.period == 87)].price") + " EUR"
Perióda 88
PARSEJSON(output, "$[?(@.period == 88)].price") + " EUR"
Perióda 89
PARSEJSON(output, "$[?(@.period == 89)].price") + " EUR"
Perióda 90
PARSEJSON(output, "$[?(@.period == 90)].price") + " EUR"
Perióda 91
PARSEJSON(output, "$[?(@.period == 91)].price") + " EUR"
Perióda 92
PARSEJSON(output, "$[?(@.period == 92)].price") + " EUR"
Perióda 93
PARSEJSON(output, "$[?(@.period == 93)].price") + " EUR"
Perióda 94
PARSEJSON(output, "$[?(@.period == 94)].price") + " EUR"
Perióda 95
PARSEJSON(output, "$[?(@.period == 95)].price") + " EUR"
Perióda 96
PARSEJSON(output, "$[?(@.period == 96)].price") + " EUR"
Aktuálna cena Premenná Len na čítanie

Spotová cena za aktuálnu hodinovú periódu v EUR/MWh — dynamicky určená z poľa cien na základe aktuálneho času

numeric Jednotka: EUR json_path

Aktuálna cena

Čítanie
var prices := PARSEJSON(output, "$..price");
VAR date := NOW();
var periodHour := LENGTH(prices) / 24;	
var actualperiod := FLOOR(((date.hour * 60) + date.minute) * periodHour / 60);

GETAT(prices, actualperiod)
Poradie aktuálnej periódy Premenná Len na čítanie

Poradie ceny aktuálnej hodiny medzi všetkými periódami (1 = najlacnejšia hodina dňa)

numeric json_path

Poradie aktuálnej periódy

Čítanie
var prices := PARSEJSON(output, "$..price");
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
Poradie aktuálnej periódy v časovom okne Premenná Len na čítanie

Poradie ceny aktuálnej hodiny v rámci používateľom definovaného časového okna Od–Do — vracia NaN mimo okna

numeric json_path

Poradie aktuálnej periódy v časovom okne

Čítanie
VAR date := NOW();
IF date.hour < From or date.hour > To or From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$..price");
	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
Najvyššia cena dňa Premenná Len na čítanie

Maximálna spotová cena zo všetkých dostupných periód (EUR/MWh)

numeric Jednotka: EUR json_path

Najvyššia cena dňa

Čítanie
var prices := PARSEJSON(output, "$..price");
GETAT(ORDERDESC(prices), 0)
Najvyššia cena v časovom okne Premenná Len na čítanie

Maximálna spotová cena v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json_path

Najvyššia cena v časovom okne

Čítanie
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$..price");
	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));
END
Najnižšia cena dňa Premenná Len na čítanie

Minimálna spotová cena zo všetkých dostupných periód (EUR/MWh)

numeric Jednotka: EUR json_path

Najnižšia cena dňa

Čítanie
var prices := PARSEJSON(output, "$..price");
GETAT(ORDER(prices), 0)
Najnižšia cena v časovom okne Premenná Len na čítanie

Minimálna spotová cena v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json_path

Najnižšia cena v časovom okne

Čítanie
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$..price");
	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));
END
Najlacnejšia perióda dňa Premenná Len na čítanie

1-založené číslo periódy najlacnejšej hodiny dňa (napr. 3 = 02:00–03:00)

numeric json_path

Najlacnejšia perióda dňa

Čítanie
var prices := PARSEJSON(output, "$..price");
GETAT(ORDERINDEX(prices), 0) +1
Najlacnejšia zostávajúca perióda Premenná Len na čítanie

1-založené číslo periódy najlacnejšej hodiny od aktuálnej hodiny ďalej

numeric json_path

Najlacnejšia zostávajúca perióda

Čítanie
var prices := PARSEJSON(output, "$..price");
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 periód Premenná Len na čítanie

Celkový počet hodinových cenových periód dostupných v odpovedi API (typicky 24 alebo 72)

numeric json_path

Počet periód

Čítanie
var prices := PARSEJSON(output, "$..price");
LENGTH(prices);
Počet periód v časovom okne Premenná Len na čítanie

Počet hodinových cenových periód v rámci používateľom definovaného časového okna Od–Do

numeric json_path

Počet periód v časovom okne

Čítanie
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$..price");
	var periodHour := LENGTH(prices) / 24;
	var windowPrices := COPY(prices, From * periodHour, (To - From) * periodHour);

	RETURN(LENGTH(windowPrices));
END
Priemerná cena dňa Premenná Len na čítanie

Aritmetický priemer všetkých dostupných cien periód (EUR/MWh)

numeric Jednotka: EUR json_path

Priemerná cena dňa

Čítanie
var prices := PARSEJSON(output, "$..price");
AVG(prices)
Priemerná cena v časovom okne Premenná Len na čítanie

Aritmetický priemer spotových cien v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json_path

Priemerná cena v časovom okne

Čítanie
VAR date := NOW();
IF From >= To
	RETURN(NaN);
ELSE
	var prices := PARSEJSON(output, "$..price");
	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));
END
Pripojenie: Packet Parser → HTTP