TapHome

OTE-CR Spot Prices

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 10. 2026
OTE-CR Spot Prices

OTE-CR (Operátor trhu s elektřinou) operator je češkog tržišta električne energije i plina. Predložak TapHome preuzima spot cijene s tržišta dan unaprijed (Day-Ahead Market) iz javnog API-ja OTE-CR i prikazuje ih kao uređaje: trenutačnu cijenu, dnevnu statistiku, rang i varijante za vremenski prozor. Cijene se objavljuju u EUR po MWh, a predložak ima ugrađenu varijablu za preračunavanje valute kako bi se vrijednosti prikazivale u CZK.

Predložak očitava API OTE-CR jednom na sat i preuzima do 96 satnih razdoblja cijena (podaci za 4 dana). Autentifikacija nije potrebna jer je krajnja točka API-ja javna.

Konfiguracija

Pri uvozu predloška TapHome se spaja na www.ote-cr.cz preko HTTPS-a (port 443). Nisu potrebni IP adresa ni pristupni podaci jer je krajnja točka fiksna.

Dva neobvezna parametra uvoza određuju uređaje za vremenski prozor:

  • From — početni sat (0–23, zadano: 9) za filtar vremenskog prozora
  • To — završni sat (0–23, zadano: 17) za filtar vremenskog prozora

Zadane vrijednosti (9–17) pokrivaju uobičajeno radno vrijeme. Prilagodite ih željenom prozoru analize.

Nakon uvoza varijabla kurz (prikazana i podesiva preko uređaja Tečaj valute) ima zadanu vrijednost 1, što znači da svi uređaji za cijene prikazuju izvorne vrijednosti u EUR/MWh. Postavite je na trenutačni tečaj EUR/CZK (npr. 25,2) kako bi svi uređaji za cijene davali vrijednosti u CZK. Možete je postaviti ručno u detaljima uređaja ili je povezati s predloškom tečaja ČNB za automatsko dnevno ažuriranje (vidi niže).

Mogućnosti uređaja

Trenutačna cijena

Uređaj Trenutačna cijena čita spot cijenu za trenutačni sat. Predložak određuje aktivno razdoblje prema satu sustava i množi vrijednost u EUR varijablom tečaja kako bi dao cijenu u CZK.

Rang cijena
  • Rang trenutačnog razdoblja — rang cijene trenutačnog sata među svim razdobljima u danu (1 = najjeftinije, 24 = najskuplje)
  • Rang trenutačnog razdoblja u vremenskom prozoru — isti rang, ali ograničen na vremenski prozor koji je odredio korisnik (From–To). Vraća NaN ako je trenutačni sat izvan prozora.
Dnevna statistika cijena
  • Najviša cijena u danu — najviša spot cijena od svih razdoblja, preračunata u CZK
  • Najniža cijena u danu — najniža spot cijena od svih razdoblja, preračunata u CZK
  • Prosječna cijena u danu — aritmetička sredina cijena svih razdoblja, preračunata u CZK
Statistika cijena u vremenskom prozoru

Svaka dnevna statistika ima inačicu za vremenski prozor koja razdoblja filtrira na raspon From–To:

  • Najviša cijena u vremenskom prozoru
  • Najniža cijena u vremenskom prozoru
  • Prosječna cijena u vremenskom prozoru

Svi uređaji za vremenski prozor vraćaju NaN ako je From >= To.

Kretanje po razdobljima
  • Najjeftinije razdoblje u danu — redni broj razdoblja (od 1) najjeftinijeg sata u danu
  • Najjeftinije preostalo razdoblje — najjeftiniji sat od trenutačnog vremena nadalje
  • Broj razdoblja — ukupan broj dostupnih razdoblja cijena (obično 96)
  • Broj razdoblja u vremenskom prozoru — broj razdoblja unutar raspona From–To
Tečaj valute

Uređaj Tečaj valute jedini je uređaj u predlošku za čitanje i upis. U njemu je spremljen tečaj za preračunavanje EUR u CZK koji koriste svi uređaji za cijene. Postavite ga ručno ili ga povežite s predloškom tečaja ČNB za automatsko dnevno ažuriranje.

Kada je tečaj postavljen na 1, svi uređaji za cijene daju izvorne vrijednosti u EUR.

Servisni atributi

Predložak nudi 96 servisnih atributa (od Period 1 do Period 96), a svaki prikazuje izvornu spot cijenu u EUR za odgovarajući sat. Oni pokrivaju podatke tržišta dan unaprijed za otprilike 4 dana i korisni su za dijagnostiku ili za izradu vlastitih automatizacija koje provjeravaju određena buduća razdoblja.

Povezivanje s tečajem ČNB

Za automatsko preračunavanje EUR u CZK:

  1. U TapHome uvezite predložak tečaja ČNB (Kurzy ČNB)
  2. U predlošku OTE-CR izradite formulu koja čita tečaj EUR/CZK s uređaja ČNB i upisuje ga u uređaj Tečaj valute
  3. Predložak ČNB ažurira tečaj svaki dan, pa sve cijene OTE-CR automatski odražavaju trenutačni tečaj

Primjeri automatizacije

Spot cijene najkorisnije su u kombinaciji sa smart rules sustava TapHome:

  • Zagrijavanje vode u najjeftinijim satima — usporedite rang trenutačnog razdoblja s pragom (npr. rang <= 4) i bojler uključite samo u 4 najjeftinija sata u danu
  • Punjenje baterija izvan vršnog razdoblja — uređajem Trenutačna cijena pokrenite punjenje baterija kada cijena padne ispod podesive granice
  • Vremensko pomicanje potrošnje kućanskih aparata — uređajem Najjeftinije preostalo razdoblje rasporedite rad perilice rublja, perilice posuđa ili punjenje električnog vozila u sljedeći najjeftiniji termin
  • Optimizacija u vremenskom prozoru — uređajima za vremenski prozor ograničite automatizaciju na određene sate (npr. 6:00–22:00), tako da noćna razdoblja ne ulaze u rang

Rješavanje problema

Sve cijene prikazuju nulu ili NaN
  1. Provjerite ima li centralna jedinica TapHome pristup internetu (predložak se spaja na www.ote-cr.cz preko HTTPS-a)
  2. Provjerite uređaj Broj razdoblja — ako prikazuje 0, odgovor API-ja je prazan ili raščlamba nije uspjela
  3. Provjerite je li uređaj Tečaj valute postavljen na vrijednost različitu od nule — ako je tečaj 0, sve će cijene nakon množenja iznositi 0
Uređaji za vremenski prozor vraćaju NaN
  1. Provjerite jesu li parametri uvoza From i To ispravno postavljeni (From mora biti manji od To)
  2. Ako je trenutačni sat izvan raspona From–To, uređaj ranga u prozoru namjerno vraća NaN
Cijene se čine zastarjelima

Predložak očitava API OTE-CR svaki sat (3600 sekundi). OTE objavljuje cijene tržišta dan unaprijed dan ranije, obično oko 12:45 CET. Ako cijene za novi dan još nisu vidljive, pričekajte da prođe vrijeme objave.

Dostupni uređaji

OTE-CR Spot Prices Modul
Servisni atributi
Period 1Spot cijena za sat 1 (EUR)
Period 2Spot cijena za sat 2 (EUR)
Period 3Spot cijena za sat 3 (EUR)
Period 4Spot cijena za sat 4 (EUR)
Period 5Spot cijena za sat 5 (EUR)
Period 6Spot cijena za sat 6 (EUR)
Period 7Spot cijena za sat 7 (EUR)
Period 8Spot cijena za sat 8 (EUR)
Period 9Spot cijena za sat 9 (EUR)
Period 10Spot cijena za sat 10 (EUR)
Period 11Spot cijena za sat 11 (EUR)
Period 12Spot cijena za sat 12 (EUR)
Period 13Spot cijena za sat 13 (EUR)
Period 14Spot cijena za sat 14 (EUR)
Period 15Spot cijena za sat 15 (EUR)
Period 16Spot cijena za sat 16 (EUR)
Period 17Spot cijena za sat 17 (EUR)
Period 18Spot cijena za sat 18 (EUR)
Period 19Spot cijena za sat 19 (EUR)
Period 20Spot cijena za sat 20 (EUR)
Period 21Spot cijena za sat 21 (EUR)
Period 22Spot cijena za sat 22 (EUR)
Period 23Spot cijena za sat 23 (EUR)
Period 24Spot cijena za sat 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
Prilagođene varijable
From (numeric) = 9Početni sat (0–23) vremenskog prozora za rang i statistiku cijena u prozoru
To (numeric) = 17Završni sat (0–23) vremenskog prozora za rang i statistiku cijena u prozoru
kurz (numeric) = 1Množitelj za preračunavanje EUR u CZK — sve se cijene množe ovom vrijednošću (postavite trenutačni tečaj, npr. 25,2)

ote-cr

Čitanje (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
Servisni atributi
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"
Trenutačna cijena Varijabla Samo za čitanje

Spot cijena za trenutačni sat preračunata u CZK pomoću varijable tečaja

numeric Jedinica: CZK json_path

Trenutačna cijena

Čitanje
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)
Rang trenutačnog razdoblja Varijabla Samo za čitanje

Rang trenutačnog sata među svim razdobljima u danu (1 = najjeftinije)

numeric json_path

Rang trenutačnog razdoblja

Čitanje
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
Rang trenutačnog razdoblja u vremenskom prozoru Varijabla Samo za čitanje

Rang trenutačnog sata unutar vremenskog prozora From–To (NaN ako je izvan njega)

numeric json_path

Rang trenutačnog razdoblja u vremenskom prozoru

Čitanje
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
Tečaj valute Varijabla

Tečaj za preračunavanje EUR u CZK — čitanje i upis, koriste ga svi uređaji za cijene

numeric Jedinica: CZK/EUR

Tečaj valute

Čitanje
kurz
Zapis
kurz := Va
Najviša cijena u danu Varijabla Samo za čitanje

Najviša spot cijena od svih razdoblja u danu (CZK)

numeric Jedinica: CZK json_path

Najviša cijena u danu

Čitanje
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERDESC(prices), 0)*kurz
Najviša cijena u vremenskom prozoru Varijabla Samo za čitanje

Najviša spot cijena unutar vremenskog prozora From–To (CZK)

numeric Jedinica: CZK json_path

Najviša cijena u vremenskom prozoru

Čitanje
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
Najniža cijena u danu Varijabla Samo za čitanje

Najniža spot cijena od svih razdoblja u danu (CZK)

numeric Jedinica: CZK json_path

Najniža cijena u danu

Čitanje
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDER(prices), 0)*kurz
Najniža cijena u vremenskom prozoru Varijabla Samo za čitanje

Najniža spot cijena unutar vremenskog prozora From–To (CZK)

numeric Jedinica: CZK json_path

Najniža cijena u vremenskom prozoru

Čitanje
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
Najjeftinije razdoblje u danu Varijabla Samo za čitanje

Redni broj razdoblja (od 1) najjeftinijeg sata u danu

numeric json_path

Najjeftinije razdoblje u danu

Čitanje
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
Najjeftinije preostalo razdoblje Varijabla Samo za čitanje

Redni broj razdoblja najjeftinijeg sata od trenutačnog vremena nadalje

numeric json_path

Najjeftinije preostalo razdoblje

Čitanje
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
Broj razdoblja Varijabla Samo za čitanje

Ukupan broj dostupnih razdoblja cijena (obično 96)

numeric json_path

Broj razdoblja

Čitanje
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
LENGTH(prices);
Broj razdoblja u vremenskom prozoru Varijabla Samo za čitanje

Broj razdoblja unutar vremenskog prozora From–To

numeric json_path

Broj razdoblja u vremenskom prozoru

Čitanje
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
Prosječna cijena u danu Varijabla Samo za čitanje

Prosječna spot cijena svih razdoblja u danu (CZK)

numeric Jedinica: CZK json_path

Prosječna cijena u danu

Čitanje
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
AVG(prices)*kurz
Prosječna cijena u vremenskom prozoru Varijabla Samo za čitanje

Prosječna spot cijena unutar vremenskog prozora From–To (CZK)

numeric Jedinica: CZK json_path

Prosječna cijena u vremenskom prozoru

Čitanje
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
Povezivanje: Packet Parser → HTTP

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu