TapHome

OTE-CR Spot Prices

Packet Parser → HTTP
Trimis de
Ultima actualizare: 10. 2026
OTE-CR Spot Prices

OTE-CR (Operátor trhu s elektřinou) este operatorul pieței de energie electrică și gaze naturale din Cehia. Șablonul TapHome preia prețurile spot de pe piața pentru ziua următoare (Day-Ahead Market) din API-ul public OTE-CR și le pune la dispoziție ca dispozitive — prețul curent, statistici zilnice, clasamentul și variante pentru un interval de timp. Prețurile se publică în EUR pe MWh, iar șablonul include o variabilă încorporată pentru conversia valutară, pentru afișarea valorilor în CZK.

Șablonul interoghează API-ul OTE-CR o dată pe oră și preia prețurile pentru până la 96 de perioade orare (datele pentru 4 zile). Nu este necesară autentificarea — endpointul API este public.

Configurare

La importul șablonului, TapHome se conectează la www.ote-cr.cz prin HTTPS (portul 443). Nu sunt necesare adresa IP sau date de autentificare — endpointul este fix.

Doi parametri opționali de import controlează dispozitivele pentru intervalul de timp:

  • From — ora de început (0–23, implicit: 9) pentru filtrul intervalului de timp
  • To — ora de sfârșit (0–23, implicit: 17) pentru filtrul intervalului de timp

Valorile implicite (9–17) acoperă programul de lucru obișnuit. Ajustați-le după intervalul pe care doriți să îl analizați.

După import, variabila kurz (afișată și editabilă prin dispozitivul Curs de schimb valutar) are implicit valoarea 1 — adică toate dispozitivele de preț afișează valorile brute în EUR/MWh. Setați-o la cursul EUR/CZK curent (de ex. 25,2), astfel încât toate dispozitivele de preț să afișeze valorile în CZK. O puteți seta manual în detaliile dispozitivului sau o puteți lega de șablonul Cursuri de schimb CNB CZK pentru actualizarea automată zilnică (consultați mai jos).

Funcțiile dispozitivului

Prețul curent

Dispozitivul Preț curent citește prețul spot pentru ora curentă. Șablonul determină perioada activă după ceasul sistemului și înmulțește valoarea în EUR cu variabila cursului de schimb, pentru a returna prețul în CZK.

Clasamentul prețurilor
  • Poziția perioadei curente — poziția prețului orei curente între toate perioadele zilei (1 = cea mai ieftină, 24 = cea mai scumpă)
  • Poziția perioadei curente în intervalul de timp — același clasament, dar limitat la intervalul de timp definit de utilizator (From–To). Returnează NaN dacă ora curentă este în afara intervalului.
Statistici zilnice ale prețurilor
  • Cel mai mare preț al zilei — prețul spot maxim din toate perioadele, convertit în CZK
  • Cel mai mic preț al zilei — prețul spot minim din toate perioadele, convertit în CZK
  • Prețul mediu al zilei — media aritmetică a prețurilor tuturor perioadelor, convertită în CZK
Statistici ale prețurilor în intervalul de timp

Fiecare statistică zilnică are un echivalent pentru intervalul de timp, care selectează doar perioadele din intervalul From–To:

  • Cel mai mare preț în intervalul de timp
  • Cel mai mic preț în intervalul de timp
  • Prețul mediu în intervalul de timp

Toate dispozitivele pentru intervalul de timp returnează NaN dacă From >= To.

  • Cea mai ieftină perioadă a zilei — numărul perioadei care corespunde celei mai ieftine ore din zi (numerotarea începe de la 1)
  • Cea mai ieftină perioadă rămasă — cea mai ieftină oră începând de la momentul curent
  • Număr de perioade — numărul total de perioade de preț disponibile (de obicei 96)
  • Număr de perioade în intervalul de timp — numărul de perioade din intervalul From–To
Curs de schimb valutar

Dispozitivul Curs de schimb valutar este singurul dispozitiv cu citire/scriere din șablon. Stochează cursul de conversie EUR în CZK folosit de toate dispozitivele de preț. Setați-l manual sau legați-l de șablonul Cursuri de schimb CNB CZK pentru actualizarea automată zilnică.

Când cursul de schimb este setat la 1, toate dispozitivele de preț afișează valorile brute în EUR.

Atribute de service

Șablonul pune la dispoziție 96 de atribute de service (de la Perioada 1 până la Perioada 96), fiecare afișând prețul spot brut în EUR pentru intervalul orar corespunzător. Acestea acoperă aproximativ 4 zile de date de pe piața pentru ziua următoare și sunt utile pentru diagnosticare sau pentru crearea de automatizări personalizate care verifică anumite perioade viitoare.

Legarea cu cursul de schimb CNB

Pentru automatizarea conversiei din EUR în CZK:

  1. Importați în TapHome șablonul Cursuri de schimb CNB CZK (Kurzy ČNB)
  2. În șablonul OTE-CR, creați o formulă care citește cursul EUR/CZK din dispozitivul CNB și îl scrie în dispozitivul Curs de schimb valutar
  3. Șablonul CNB actualizează cursul zilnic, astfel că toate prețurile OTE-CR reflectă automat cursul de schimb curent

Exemple de automatizare

Prețurile spot sunt cele mai utile în combinație cu smart rules TapHome:

  • Încălzirea apei în cele mai ieftine ore — comparați poziția perioadei curente cu un prag (de ex. poziția <= 4) și porniți boilerul doar în cele mai ieftine 4 ore din zi
  • Încărcarea bateriilor în afara orelor de vârf — folosiți dispozitivul Preț curent pentru a porni încărcarea bateriilor când prețul scade sub o limită configurabilă
  • Mutarea consumului aparatelor — folosiți dispozitivul Cea mai ieftină perioadă rămasă pentru a programa mașina de spălat rufe, mașina de spălat vase sau încărcarea vehiculului electric în următorul cel mai ieftin interval
  • Optimizare pe interval de timp — limitați automatizarea la anumite ore (de ex. 6:00–22:00) cu ajutorul dispozitivelor pentru intervalul de timp, astfel încât perioadele de noapte să fie excluse din clasament

Rezolvarea problemelor

Toate prețurile arată zero sau NaN
  1. Verificați dacă unitatea centrală TapHome (CCU) are acces la internet (șablonul se conectează la www.ote-cr.cz prin HTTPS)
  2. Verificați dispozitivul Număr de perioade — dacă arată 0, răspunsul API este gol sau procesarea a eșuat
  3. Asigurați-vă că dispozitivul Curs de schimb valutar are o valoare diferită de zero — la un curs de 0, toate prețurile devin zero după înmulțire
Dispozitivele pentru intervalul de timp returnează NaN
  1. Verificați dacă parametrii de import From și To sunt setați corect (From trebuie să fie mai mic decât To)
  2. Dacă ora curentă este în afara intervalului From–To, dispozitivul pentru poziția în interval returnează NaN în mod intenționat
Prețurile par neactualizate

Șablonul interoghează API-ul OTE-CR în fiecare oră (3600 de secunde). Prețurile de pe piața pentru ziua următoare sunt publicate de OTE cu o zi înainte, de obicei în jurul orei 12:45 CET. Dacă prețurile pentru ziua nouă nu sunt încă vizibile, așteptați până după ora publicării.

Dispozitive disponibile

OTE-CR Spot Prices Modul
Atribute de service
Perioada 1Prețul spot pentru ora 1 (EUR)
Perioada 2Prețul spot pentru ora 2 (EUR)
Perioada 3Prețul spot pentru ora 3 (EUR)
Perioada 4Prețul spot pentru ora 4 (EUR)
Perioada 5Prețul spot pentru ora 5 (EUR)
Perioada 6Prețul spot pentru ora 6 (EUR)
Perioada 7Prețul spot pentru ora 7 (EUR)
Perioada 8Prețul spot pentru ora 8 (EUR)
Perioada 9Prețul spot pentru ora 9 (EUR)
Perioada 10Prețul spot pentru ora 10 (EUR)
Perioada 11Prețul spot pentru ora 11 (EUR)
Perioada 12Prețul spot pentru ora 12 (EUR)
Perioada 13Prețul spot pentru ora 13 (EUR)
Perioada 14Prețul spot pentru ora 14 (EUR)
Perioada 15Prețul spot pentru ora 15 (EUR)
Perioada 16Prețul spot pentru ora 16 (EUR)
Perioada 17Prețul spot pentru ora 17 (EUR)
Perioada 18Prețul spot pentru ora 18 (EUR)
Perioada 19Prețul spot pentru ora 19 (EUR)
Perioada 20Prețul spot pentru ora 20 (EUR)
Perioada 21Prețul spot pentru ora 21 (EUR)
Perioada 22Prețul spot pentru ora 22 (EUR)
Perioada 23Prețul spot pentru ora 23 (EUR)
Perioada 24Prețul spot pentru ora 24 (EUR)
Perioada 25
Perioada 26
Perioada 27
Perioada 28
Perioada 29
Perioada 30
Perioada 31
Perioada 32
Perioada 33
Perioada 34
Perioada 35
Perioada 36
Perioada 37
Perioada 38
Perioada 39
Perioada 40
Perioada 41
Perioada 42
Perioada 43
Perioada 44
Perioada 45
Perioada 46
Perioada 47
Perioada 48
Perioada 49
Perioada 50
Perioada 51
Perioada 52
Perioada 53
Perioada 54
Perioada 55
Perioada 56
Perioada 57
Perioada 58
Perioada 59
Perioada 60
Perioada 61
Perioada 62
Perioada 63
Perioada 64
Perioada 65
Perioada 66
Perioada 67
Perioada 68
Perioada 69
Perioada 70
Perioada 71
Perioada 72
Perioada 73
Perioada 74
Perioada 75
Perioada 76
Perioada 77
Perioada 78
Perioada 79
Perioada 80
Perioada 81
Perioada 82
Perioada 83
Perioada 84
Perioada 85
Perioada 86
Perioada 87
Perioada 88
Perioada 89
Perioada 90
Perioada 91
Perioada 92
Perioada 93
Perioada 94
Perioada 95
Perioada 96
Variabile personalizate
From (numeric) = 9Ora de început (0–23) a intervalului de timp pentru clasamentul și statisticile prețurilor în interval
To (numeric) = 17Ora de sfârșit (0–23) a intervalului de timp pentru clasamentul și statisticile prețurilor în interval
kurz (numeric) = 1Cursul de schimb EUR/CZK folosit ca multiplicator — toate prețurile se înmulțesc cu această valoare (setați cursul curent, de ex. 25,2)

ote-cr

Citire (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
Atribute de service
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"
Preț curent Variabilă Doar citire

Prețul spot al orei curente, convertit în CZK cu variabila cursului de schimb

numeric Unitate: CZK json_path

Preț curent

Citire
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)
Poziția perioadei curente Variabilă Doar citire

Poziția orei curente între toate perioadele zilei (1 = cea mai ieftină)

numeric json_path

Poziția perioadei curente

Citire
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
Poziția perioadei curente în intervalul de timp Variabilă Doar citire

Poziția orei curente în intervalul de timp From–To (NaN dacă este în afara lui)

numeric json_path

Poziția perioadei curente în intervalul de timp

Citire
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
Curs de schimb valutar Variabilă

Cursul de conversie EUR în CZK — citire/scriere, folosit de toate dispozitivele de preț

numeric Unitate: CZK/EUR

Curs de schimb valutar

Citire
kurz
Scriere
kurz := Va
Cel mai mare preț al zilei Variabilă Doar citire

Prețul spot maxim din toate perioadele zilei (CZK)

numeric Unitate: CZK json_path

Cel mai mare preț al zilei

Citire
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERDESC(prices), 0)*kurz
Cel mai mare preț în intervalul de timp Variabilă Doar citire

Prețul spot maxim în intervalul de timp From–To (CZK)

numeric Unitate: CZK json_path

Cel mai mare preț în intervalul de timp

Citire
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
Cel mai mic preț al zilei Variabilă Doar citire

Prețul spot minim din toate perioadele zilei (CZK)

numeric Unitate: CZK json_path

Cel mai mic preț al zilei

Citire
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDER(prices), 0)*kurz
Cel mai mic preț în intervalul de timp Variabilă Doar citire

Prețul spot minim în intervalul de timp From–To (CZK)

numeric Unitate: CZK json_path

Cel mai mic preț în intervalul de timp

Citire
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
Cea mai ieftină perioadă a zilei Variabilă Doar citire

Numărul perioadei care corespunde celei mai ieftine ore din zi (numerotarea începe de la 1)

numeric json_path

Cea mai ieftină perioadă a zilei

Citire
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
Cea mai ieftină perioadă rămasă Variabilă Doar citire

Numărul perioadei celei mai ieftine ore, începând de la momentul curent

numeric json_path

Cea mai ieftină perioadă rămasă

Citire
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
Număr de perioade Variabilă Doar citire

Numărul total de perioade de preț disponibile (de obicei 96)

numeric json_path

Număr de perioade

Citire
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
LENGTH(prices);
Număr de perioade în intervalul de timp Variabilă Doar citire

Numărul de perioade din intervalul de timp From–To

numeric json_path

Număr de perioade în intervalul de timp

Citire
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
Prețul mediu al zilei Variabilă Doar citire

Prețul spot mediu din toate perioadele zilei (CZK)

numeric Unitate: CZK json_path

Prețul mediu al zilei

Citire
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
AVG(prices)*kurz
Prețul mediu în intervalul de timp Variabilă Doar citire

Prețul spot mediu în intervalul de timp From–To (CZK)

numeric Unitate: CZK json_path

Prețul mediu în intervalul de timp

Citire
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
Conexiune: Packet Parser → HTTP

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal