TapHome

OTE-CR Prezzi spot

Packet Parser → HTTP
Inviato da
Ultimo aggiornamento: 03. 2026

OTE-CR (Operátor trhu s elektřinou) è l’operatore del mercato elettrico e del gas ceco. Il template TapHome recupera i prezzi spot del mercato del giorno prima dall’API pubblica OTE-CR e li espone come dispositivi — prezzo corrente, statistiche giornaliere, classifiche e varianti con finestra temporale. I prezzi sono pubblicati in EUR per MWh e il template include una variabile integrata per la conversione valutaria per visualizzare i valori in CZK.

Il template interroga l’API OTE-CR una volta all’ora e recupera fino a 96 periodi di prezzo orari (4 giorni di dati). Non è richiesta alcuna autenticazione — l’endpoint API è pubblico.

Configurazione

Durante l’importazione del template, TapHome si connette a www.ote-cr.cz tramite HTTPS (porta 443). Non sono necessari indirizzo IP né credenziali — l’endpoint è fisso.

Due parametri di importazione opzionali controllano i dispositivi con finestra temporale:

  • From — ora di inizio (0–23, predefinito: 9) per il filtro della finestra temporale
  • To — ora di fine (0–23, predefinito: 17) per il filtro della finestra temporale

I valori predefiniti (9–17) coprono l’orario lavorativo standard. Regolali in base alla finestra di analisi preferita.

Dopo l’importazione, la variabile Tasso di cambio (kurz) è impostata di default su 1 — il che significa che tutti i dispositivi di prezzo visualizzano i valori grezzi in EUR/MWh. Impostala sul tasso EUR/CZK corrente (es. 25,2) in modo che tutti i dispositivi di prezzo visualizzino i valori in CZK. Puoi impostarla manualmente nel dettaglio del dispositivo oppure collegarla al template Tasso di cambio ČNB per aggiornamenti giornalieri automatici (vedi sotto).

Funzionalità dei dispositivi

Prezzo corrente

Il dispositivo Prezzo corrente legge il prezzo spot per l’ora corrente. Il template determina il periodo attivo dall’orologio di sistema e moltiplica il valore in EUR per il tasso di cambio per visualizzare il prezzo in CZK.

Classifica dei prezzi
  • Classifica del periodo corrente — la posizione del prezzo dell’ora corrente tra tutti i periodi del giorno (1 = più economico, 24 = più costoso)
  • Classifica del periodo corrente nella finestra temporale — la stessa classifica ma limitata alla finestra temporale definita dall’utente (From–To). Restituisce NaN se l’ora corrente è fuori dalla finestra.
Statistiche di prezzo giornaliere
  • Prezzo più alto del giorno — prezzo spot massimo su tutti i periodi, convertito in CZK
  • Prezzo più basso del giorno — prezzo spot minimo su tutti i periodi, convertito in CZK
  • Prezzo medio del giorno — media aritmetica di tutti i periodi, convertita in CZK
Statistiche di prezzo nella finestra temporale

Ogni statistica giornaliera ha una controparte con finestra temporale che filtra i periodi nell’intervallo From–To:

  • Prezzo più alto nella finestra temporale
  • Prezzo più basso nella finestra temporale
  • Prezzo medio nella finestra temporale

Tutti i dispositivi con finestra temporale restituiscono NaN se From >= To.

  • Periodo più economico del giorno — il numero di periodo (base 1) dell’ora più economica del giorno
  • Periodo rimanente più economico — l’ora più economica dal momento corrente in poi
  • Conteggio periodi — numero totale di periodi di prezzo disponibili (tipicamente 96)
  • Conteggio periodi nella finestra temporale — numero di periodi nell’intervallo From–To
Tasso di cambio

Il dispositivo Tasso di cambio è l’unico dispositivo in lettura/scrittura nel template. Memorizza il tasso di conversione EUR-CZK utilizzato da tutti i dispositivi di prezzo. Impostalo manualmente o collegalo al template Tasso di cambio ČNB per aggiornamenti giornalieri automatici.

Quando il tasso di cambio è impostato su 1, tutti i dispositivi di prezzo visualizzano i valori grezzi in EUR.

Attributi di servizio

Il template espone 96 attributi di servizio (Periodo 1–Periodo 96), ciascuno mostrante il prezzo spot grezzo in EUR per il corrispondente slot orario. Questi coprono circa 4 giorni di dati del mercato del giorno prima e sono utili per la diagnostica o per la creazione di automazioni personalizzate che ispezionano periodi futuri specifici.

Collegamento con il tasso di cambio ČNB

Per automatizzare la conversione EUR-CZK:

  1. Importa il template Tasso di cambio ČNB (Kurzy ČNB) in TapHome
  2. Nel template OTE-CR, crea una formula che legge il tasso EUR/CZK dal dispositivo ČNB e lo scrive nel dispositivo Tasso di cambio
  3. Il template ČNB aggiorna il tasso giornalmente, così tutti i prezzi OTE-CR riflettono automaticamente il tasso di cambio corrente

Esempi di automazione

I prezzi spot sono più utili quando combinati con le smart rules di TapHome:

  • Riscaldare l’acqua nelle ore più economiche — confronta la classifica del periodo corrente con una soglia (es. classifica <= 4) e accendi lo scaldacqua solo durante le 4 ore più economiche del giorno
  • Caricare le batterie fuori picco — usa il dispositivo Prezzo corrente per attivare la carica della batteria quando il prezzo scende sotto un limite configurabile
  • Spostare il carico degli elettrodomestici — usa il dispositivo Periodo rimanente più economico per programmare lavatrici, lavastoviglie o ricarica EV per il prossimo slot più economico
  • Ottimizzazione della finestra temporale — limita l’automazione a ore specifiche (es. 6:00–22:00) utilizzando i dispositivi con finestra temporale, così i periodi notturni vengono esclusi dalla classifica

Risoluzione dei problemi

Tutti i prezzi mostrano zero o NaN
  1. Verifica che la TapHome CCU abbia accesso a internet (il template si connette a www.ote-cr.cz tramite HTTPS)
  2. Controlla il dispositivo Conteggio periodi — se mostra 0, la risposta API è vuota o il parsing è fallito
  3. Assicurati che il dispositivo Tasso di cambio sia impostato su un valore diverso da zero — un tasso di 0 moltiplica tutti i prezzi a zero
I dispositivi con finestra temporale restituiscono NaN
  1. Verifica che i parametri di importazione From e To siano impostati correttamente (From deve essere minore di To)
  2. Se l’ora corrente è fuori dall’intervallo From–To, il dispositivo di classifica nella finestra restituisce NaN per design
I prezzi sembrano obsoleti

Il template interroga l’API OTE-CR ogni ora (3600 secondi). I prezzi del mercato del giorno prima vengono pubblicati da OTE il giorno precedente, tipicamente intorno alle 12:45 CET. Se i prezzi del nuovo giorno non sono ancora visibili, attendi il momento della pubblicazione.

Dispositivi disponibili

OTE-CR Prezzi spot Modulo
Attributi di servizio
Period 1Prezzo spot per l'ora 1 (EUR)
Period 2Prezzo spot per l'ora 2 (EUR)
Period 3Prezzo spot per l'ora 3 (EUR)
Period 4Prezzo spot per l'ora 4 (EUR)
Period 5Prezzo spot per l'ora 5 (EUR)
Period 6Prezzo spot per l'ora 6 (EUR)
Period 7Prezzo spot per l'ora 7 (EUR)
Period 8Prezzo spot per l'ora 8 (EUR)
Period 9Prezzo spot per l'ora 9 (EUR)
Period 10Prezzo spot per l'ora 10 (EUR)
Period 11Prezzo spot per l'ora 11 (EUR)
Period 12Prezzo spot per l'ora 12 (EUR)
Period 13Prezzo spot per l'ora 13 (EUR)
Period 14Prezzo spot per l'ora 14 (EUR)
Period 15Prezzo spot per l'ora 15 (EUR)
Period 16Prezzo spot per l'ora 16 (EUR)
Period 17Prezzo spot per l'ora 17 (EUR)
Period 18Prezzo spot per l'ora 18 (EUR)
Period 19Prezzo spot per l'ora 19 (EUR)
Period 20Prezzo spot per l'ora 20 (EUR)
Period 21Prezzo spot per l'ora 21 (EUR)
Period 22Prezzo spot per l'ora 22 (EUR)
Period 23Prezzo spot per l'ora 23 (EUR)
Period 24Prezzo spot per l'ora 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
Variabili personalizzate
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

Lettura (modulo)
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
Attributi di servizio
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"
Prezzo corrente Variabile Solo lettura

Prezzo spot dell'ora corrente convertito in CZK utilizzando la variabile del tasso di cambio

numeric Unità: CZK json_path

Prezzo corrente

Lettura
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)
Classifica del periodo corrente Variabile Solo lettura

Posizione dell'ora corrente tra tutti i periodi giornalieri (1 = più economico)

numeric json_path

Classifica del periodo corrente

Lettura
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
Classifica del periodo corrente nella finestra temporale Variabile Solo lettura

Posizione dell'ora corrente nella finestra temporale From–To (NaN se fuori)

numeric json_path

Classifica del periodo corrente nella finestra temporale

Lettura
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
Tasso di cambio Variabile

Tasso di conversione EUR-CZK — lettura/scrittura, utilizzato da tutti i dispositivi di prezzo

numeric Unità: CZK/EUR

Tasso di cambio

Lettura
kurz
Scrittura
kurz := Va
Prezzo più alto del giorno Variabile Solo lettura

Prezzo spot massimo su tutti i periodi del giorno (CZK)

numeric Unità: CZK json_path

Prezzo più alto del giorno

Lettura
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERDESC(prices), 0)*kurz
Prezzo più alto nella finestra temporale Variabile Solo lettura

Prezzo spot massimo nella finestra temporale From–To (CZK)

numeric Unità: CZK json_path

Prezzo più alto nella finestra temporale

Lettura
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
Prezzo più basso del giorno Variabile Solo lettura

Prezzo spot minimo su tutti i periodi del giorno (CZK)

numeric Unità: CZK json_path

Prezzo più basso del giorno

Lettura
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDER(prices), 0)*kurz
Prezzo più basso nella finestra temporale Variabile Solo lettura

Prezzo spot minimo nella finestra temporale From–To (CZK)

numeric Unità: CZK json_path

Prezzo più basso nella finestra temporale

Lettura
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
Periodo più economico del giorno Variabile Solo lettura

Numero di periodo (base 1) dell'ora più economica del giorno

numeric json_path

Periodo più economico del giorno

Lettura
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
Periodo rimanente più economico Variabile Solo lettura

Numero di periodo dell'ora più economica dal momento corrente in poi

numeric json_path

Periodo rimanente più economico

Lettura
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
Conteggio periodi Variabile Solo lettura

Numero totale di periodi di prezzo disponibili (tipicamente 96)

numeric json_path

Conteggio periodi

Lettura
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
LENGTH(prices);
Conteggio periodi nella finestra temporale Variabile Solo lettura

Numero di periodi nella finestra temporale From–To

numeric json_path

Conteggio periodi nella finestra temporale

Lettura
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
Prezzo medio del giorno Variabile Solo lettura

Prezzo spot medio su tutti i periodi del giorno (CZK)

numeric Unità: CZK json_path

Prezzo medio del giorno

Lettura
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
AVG(prices)*kurz
Prezzo medio nella finestra temporale Variabile Solo lettura

Prezzo spot medio nella finestra temporale From–To (CZK)

numeric Unità: CZK json_path

Prezzo medio nella finestra temporale

Lettura
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
Connessione: Packet Parser → HTTP