TapHome

OKTE Spot Prices

Packet Parser → HTTP
Trimis de
Ultima actualizare: 10. 2026
OKTE Spot Prices

OKTE (Organizátor krátkodobého trhu s elektrinou, operatorul pieței de energie electrică pe termen scurt) este operatorul pieței de energie electrică din Slovacia. Publică prețurile spot ale pieței pentru ziua următoare (DAM) — prețul angro orar al energiei electrice în EUR/MWh, stabilit prin licitația din ziua precedentă.

Șablonul TapHome preia aceste prețuri din API-ul public OKTE (isot.okte.sk) prin HTTP Packet Parser. Oferă prețul orei curente, clasamentele prețurilor, calculul minimului/maximului/mediei și analiza unui interval orar — toate actualizate automat în fiecare oră. Nu este necesară autentificarea.

Configurare

Șablonul se conectează la isot.okte.sk prin HTTPS (portul 443). Nu sunt necesare adresa IP sau date de autentificare — endpointul este un API public.

La importul șablonului se pot seta două variabile personalizate opționale:

  • From — ora de început a unui interval orar personalizat (0–23, implicit: 9)
  • To — ora de sfârșit a unui interval orar personalizat (0–23, implicit: 17)

Aceste variabile controlează variantele de dispozitive „în intervalul orar”. Valorile implicite (9–17) acoperă programul de lucru obișnuit. Dacă nu aveți nevoie de ele, lăsați valorile implicite — dispozitivele pentru întreaga zi funcționează independent.

Cum funcționează

Modulul interoghează API-ul OKTE DAM o dată pe oră (interval de 3600 s). Cererea API folosește data de azi:

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

Răspunsul conține un tablou de obiecte de preț, fiecare cu un număr period și un price în EUR/MWh. În funcție de ora din zi și de programul de publicare OKTE, răspunsul poate include prețuri doar pentru ziua de azi (24 de perioade) sau pentru până la 3 zile (72 de perioade).

Scriptul fiecărui dispozitiv analizează acest tablou JSON cu PARSEJSON(output, "$..price") și aplică funcții de sortare, filtrare sau agregare pentru a obține valoarea sa.

Funcțiile dispozitivului

Șablonul expune 13 dispozitive de tip senzor. Toate sunt doar pentru citire — își obțin valorile din același răspuns API.

Prețul curent și clasamentul
  • Preț curent — prețul spot pentru perioada orară curentă, în EUR/MWh. Scriptul determină indexul perioadei curente din NOW() și returnează prețul corespunzător din tablou.
  • Poziția perioadei curente — locul prețului orei curente între toate perioadele disponibile (1 = cea mai ieftină). Util pentru smart rules de tipul „pompa de căldură funcționează doar când ora curentă este între cele mai ieftine 8”.
  • Poziția perioadei curente în intervalul orar — la fel ca mai sus, dar limitat la intervalul From–To definit de utilizator. Returnează NaN dacă ora curentă este în afara intervalului sau dacă From >= To.
Prețurile extreme
  • Cel mai mare preț al zilei — prețul spot maxim din toate perioadele disponibile
  • Cel mai mic preț al zilei — prețul spot minim din toate perioadele disponibile
  • Cel mai mare preț în intervalul orar — prețul maxim din intervalul From–To
  • Cel mai mic preț în intervalul orar — prețul minim din intervalul From–To
Mediile
  • Prețul mediu al zilei — media aritmetică a prețurilor tuturor perioadelor disponibile
  • Prețul mediu în intervalul orar — media aritmetică în intervalul From–To
Identificarea perioadelor
  • Cea mai ieftină perioadă a zilei — numărul perioadei (numerotat de la 1) al celei mai ieftine ore (de ex. 3 înseamnă 02:00–03:00)
  • Cea mai ieftină perioadă rămasă — cea mai ieftină oră începând cu ora curentă. Se actualizează dinamic pe parcursul zilei.
Numărul de perioade
  • Număr de perioade — numărul total de perioade de preț din răspunsul API (de obicei 24 sau 72)
  • Număr de perioade în intervalul orar — numărul perioadelor din intervalul From–To

Atribute de service

Modulul expune până la 96 de atribute de service (de la Perioada 1 la Perioada 96), fiecare afișând prețul spot pentru perioada de 15 minute respectivă, ca text cu sufixul „EUR”. De când OKTE a trecut piața pentru ziua următoare la perioade de 15 minute, pentru o singură zi sunt completate toate cele 96 de atribute.

Aceste atribute oferă programul complet al prețurilor, vizibil în detaliul modulului din TapHome.

Variabile personalizate (From / To)

Mai multe dispozitive au variante „în intervalul orar”, care filtrează datele de preț la un subset de ore. Intervalul este definit de două variabile personalizate setate la importul șablonului:

  • From — ora de început (inclusiv), valoare 0–23
  • To — ora de sfârșit (exclusiv), valoare 0–23

De exemplu, setarea From=8 și To=16 analizează prețurile doar între 08:00 și 16:00. Este util când doriți să optimizați consumul de energie în anumite ore — de exemplu, să porniți aparatele doar în cele mai ieftine ore ale zilei de lucru.

Dacă From >= To, toate dispozitivele pentru interval returnează NaN.

Exemple de automatizare

Pornirea dispozitivelor în cele mai ieftine ore

Folosiți dispozitivul Poziția perioadei curente într-o condiție a unui smart rule. De exemplu, pentru a porni pompa piscinei doar în cele mai ieftine 6 ore ale zilei:

  • Condiție: Poziția perioadei curente <= 6
  • Acțiune: pornirea pompei piscinei
Evitarea prețurilor de vârf

Folosiți dispozitivul Preț curent cu un prag:

  • Condiție: Preț curent > 150 (EUR/MWh)
  • Acțiune: oprirea consumatorilor neesențiali
Optimizarea pe interval orar

Setați From=0, To=6 pentru a defini un interval de noapte (de la miezul nopții până la 06:00), apoi folosiți Cel mai mic preț în intervalul orar sau Poziția perioadei curente în intervalul orar pentru a programa încărcarea bateriei sau funcționarea boilerului în cele mai ieftine ore din timpul nopții. Intervalele care trec peste miezul nopții (From >= To) nu sunt acceptate.

Rezolvarea problemelor

Toate dispozitivele afișează zero sau nu au date
  1. Verificați conexiunea la internet a TapHome Core — șablonul necesită acces HTTPS de ieșire la isot.okte.sk
  2. Verificați dacă API-ul răspunde — deschideți în browser https://isot.okte.sk/api/v1/dam/results?deliveryDayFrom=2026-03-28&deliveryDayTo=2026-03-28
  3. Prețurile DAM pentru ziua următoare se publică de obicei după ora 12:45 CET. Înainte de publicare, cererile pentru data de mâine returnează rezultate goale.
Dispozitivele pentru interval returnează NaN
  1. Verificați că From < To în parametrii de import ai șablonului
  2. Verificați dacă ora curentă se încadrează în intervalul From–To (pentru Poziția perioadei curente în intervalul orar)
  3. Rețineți că From și To folosesc formatul de 24 de ore (0–23)
Valorile prețurilor par incorecte

OKTE publică prețurile în EUR/MWh. Pentru conversia în EUR/kWh (unitatea uzuală la consumul casnic), împărțiți la 1000. Șablonul afișează valorile brute din API, fără conversie.

Dispozitive disponibile

OKTE Spot Prices Modul
Atribute de service
Perioada 1
Perioada 2
Perioada 3
Perioada 4
Perioada 5
Perioada 6
Perioada 7
Perioada 8
Perioada 9
Perioada 10
Perioada 11
Perioada 12
Perioada 13
Perioada 14
Perioada 15
Perioada 16
Perioada 17
Perioada 18
Perioada 19
Perioada 20
Perioada 21
Perioada 22
Perioada 23
Perioada 24
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 orar pentru clasamentul și statisticile prețurilor pe interval
To (numeric) = 17Ora de sfârșit (0–23) a intervalului orar pentru clasamentul și statisticile prețurilor pe interval

okte.sk

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

Prețul spot pentru perioada orară curentă, în EUR/MWh — determinat dinamic din tabloul de prețuri în funcție de ora curentă

numeric Unitate: EUR json_path

Preț curent

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

Locul prețului orei curente între toate perioadele (1 = cea mai ieftină oră a zilei)

numeric json_path

Poziția perioadei curente

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

Locul prețului orei curente în intervalul orar From–To definit de utilizator — în afara intervalului returnează NaN

numeric json_path

Poziția perioadei curente în intervalul orar

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

Prețul spot maxim din toate perioadele disponibile (EUR/MWh)

numeric Unitate: EUR json_path

Cel mai mare preț al zilei

Citire
var prices := PARSEJSON(output, "$..price");
GETAT(ORDERDESC(prices), 0)
Cel mai mare preț în intervalul orar Variabilă Doar citire

Prețul spot maxim în intervalul orar From–To definit de utilizator (EUR/MWh)

numeric Unitate: EUR json_path

Cel mai mare preț în intervalul orar

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

Prețul spot minim din toate perioadele disponibile (EUR/MWh)

numeric Unitate: EUR json_path

Cel mai mic preț al zilei

Citire
var prices := PARSEJSON(output, "$..price");
GETAT(ORDER(prices), 0)
Cel mai mic preț în intervalul orar Variabilă Doar citire

Prețul spot minim în intervalul orar From–To definit de utilizator (EUR/MWh)

numeric Unitate: EUR json_path

Cel mai mic preț în intervalul orar

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

Numărul perioadei (numerotat de la 1) al celei mai ieftine ore din zi (de ex. 3 = 02:00–03:00)

numeric json_path

Cea mai ieftină perioadă a zilei

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

Numărul perioadei (numerotat de la 1) al celei mai ieftine ore începând cu ora curentă

numeric json_path

Cea mai ieftină perioadă rămasă

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

Numărul total de perioade orare de preț disponibile în răspunsul API (de obicei 24 sau 72)

numeric json_path

Număr de perioade

Citire
var prices := PARSEJSON(output, "$..price");
LENGTH(prices);
Număr de perioade în intervalul orar Variabilă Doar citire

Numărul perioadelor orare de preț în intervalul orar From–To definit de utilizator

numeric json_path

Număr de perioade în intervalul orar

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

Media aritmetică a prețurilor tuturor perioadelor disponibile (EUR/MWh)

numeric Unitate: EUR json_path

Prețul mediu al zilei

Citire
var prices := PARSEJSON(output, "$..price");
AVG(prices)
Prețul mediu în intervalul orar Variabilă Doar citire

Media aritmetică a prețurilor spot în intervalul orar From–To definit de utilizator (EUR/MWh)

numeric Unitate: EUR json_path

Prețul mediu în intervalul orar

Citire
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
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