---
title: "OKTE Prezzi spot"
description: "Prezzi spot dell'elettricità day-ahead OKTE per la Slovacchia. Monitoraggio dei prezzi orari in EUR/MWh, classifiche, min/max/media e analisi della."
url: "https://taphome.com/it/compatibility/okte-spot-prices/"
language: it
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","data-service","data-pp","spot-prices","electricity-market","energy-management","packet-parser"]
  questions: ["Come integrare i prezzi spot OKTE con TapHome?","Cosa offre il template OKTE Prezzi spot di TapHome?","Come automatizzare i dispositivi in base al prezzo spot dell'elettricità?","Come funziona la finestra temporale (Da/A) nei prezzi spot OKTE?","Come trovare l'ora più economica del giorno in TapHome?","Cos'è la classifica del periodo attuale nei prezzi spot OKTE?"]
---

# OKTE Prezzi spot

Comunicazione: Packet Parser → HTTP

- [Sito ufficiale OKTE](https://www.okte.sk/)
- [Dati di mercato OKTE ISOT](https://isot.okte.sk/)

## Guida all'integrazione

OKTE (Organizátor krátkodobého trhu s elektrinou) è l'operatore del mercato elettrico slovacco. Pubblica i prezzi spot del mercato day-ahead (DAM) — il prezzo all'ingrosso orario dell'elettricità in EUR/MWh determinato dall'asta del giorno precedente.

Il template TapHome recupera questi prezzi dall'API pubblica OKTE (`isot.okte.sk`) tramite HTTP Packet Parser. Fornisce il prezzo dell'ora corrente, le classifiche dei prezzi, i calcoli min/max/media e l'analisi della finestra temporale — tutto aggiornato automaticamente ogni ora. Non è richiesta alcuna autenticazione.

## Configurazione

Il template si connette a `isot.okte.sk` tramite HTTPS (porta 443). Non servono indirizzo IP o credenziali — l'endpoint è un'API pubblica.

Durante l'importazione del template, è possibile impostare due variabili personalizzate opzionali:

- **Da** — ora di inizio di una finestra temporale personalizzata (0–23, predefinito: 9)
- **A** — ora di fine di una finestra temporale personalizzata (0–23, predefinito: 17)

Queste variabili controllano le varianti dei dispositivi "nella finestra temporale". I valori predefiniti (9–17) coprono l'orario lavorativo standard. Se non necessarie, lascia i valori predefiniti — i dispositivi per l'intera giornata funzionano indipendentemente.

## Come funziona

Il modulo interroga l'API OKTE DAM una volta all'ora (intervallo di 3600 s). La richiesta API utilizza la data odierna:

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

La risposta contiene un array di oggetti prezzo, ciascuno con un numero `period` e un `price` in EUR/MWh. A seconda dell'ora del giorno e del programma di pubblicazione OKTE, la risposta può includere prezzi solo per oggi (24 periodi) o per un massimo di 3 giorni (72 periodi).

Ogni script dispositivo analizza questo array JSON usando `PARSEJSON(output, "$..price")` e applica funzioni di ordinamento, filtraggio o aggregazione per derivare il proprio valore.

## Capacità dei dispositivi

Il template espone 13 dispositivi sensore. Tutti sono in sola lettura — derivano i valori dalla stessa risposta API.

### Prezzo attuale e classifica

- **Prezzo attuale** — il prezzo spot per il periodo orario corrente in EUR/MWh. Lo script determina l'indice del periodo corrente da `NOW()` e restituisce il prezzo corrispondente dall'array.
- **Classifica del periodo attuale** — la posizione del prezzo dell'ora corrente tra tutti i periodi disponibili (1 = più economico). Utile per regole di automazione come "attiva la pompa di calore solo quando l'ora corrente è tra le 8 più economiche."
- **Classifica del periodo attuale nella finestra temporale** — come sopra, ma limitata alla finestra Da–A definita dall'utente. Restituisce NaN se l'ora corrente è fuori dalla finestra o se Da >= A.

### Estremi di prezzo

- **Prezzo più alto del giorno** — prezzo spot massimo su tutti i periodi disponibili
- **Prezzo più basso del giorno** — prezzo spot minimo su tutti i periodi disponibili
- **Prezzo più alto nella finestra temporale** — prezzo massimo all'interno della finestra Da–A
- **Prezzo più basso nella finestra temporale** — prezzo minimo all'interno della finestra Da–A

### Medie

- **Prezzo medio del giorno** — media aritmetica di tutti i prezzi dei periodi disponibili
- **Prezzo medio nella finestra temporale** — media aritmetica all'interno della finestra Da–A

### Identificazione dei periodi

- **Periodo più economico del giorno** — il numero di periodo basato su 1 dell'ora più economica (es. 3 significa 02:00–03:00)
- **Periodo rimanente più economico** — l'ora più economica dall'ora corrente in poi. Si aggiorna dinamicamente durante la giornata.

### Conteggi

- **Conteggio periodi** — numero totale di periodi di prezzo nella risposta API (tipicamente 24 o 72)
- **Conteggio periodi nella finestra temporale** — numero di periodi all'interno della finestra Da–A

## Attributi di servizio

Il modulo espone fino a 96 attributi del servizio (Periodo 1 fino a Periodo 96), ciascuno mostra il prezzo spot per quello specifico periodo di 15 minuti come stringa con suffisso "EUR". Da quando OKTE ha portato il mercato day-ahead a periodi di 15 minuti, per un singolo giorno sono compilati tutti i 96 attributi.

Questi attributi forniscono un programma completo dei prezzi visibile nella vista dettagliata del modulo TapHome.

## Variabili personalizzate (Da / A)

Diversi dispositivi hanno varianti "nella finestra temporale" che filtrano i dati dei prezzi su un sottoinsieme di ore. La finestra è definita da due variabili personalizzate impostate durante l'importazione del template:

- **Da** — l'ora di inizio (inclusa), valore 0–23
- **A** — l'ora di fine (esclusa), valore 0–23

Ad esempio, impostando Da=8 e A=16 si analizzano i prezzi solo tra le 08:00 e le 16:00. Questo è utile quando vuoi ottimizzare il consumo energetico durante ore specifiche — come far funzionare gli elettrodomestici solo durante le ore più economiche della tua giornata lavorativa.

Se Da >= A, tutti i dispositivi con finestra restituiscono NaN.

## Esempi di automazione

### Eseguire dispositivi durante le ore più economiche

Usa il dispositivo **Classifica del periodo attuale** in una condizione smart rule. Ad esempio, per far funzionare una pompa per piscina solo durante le 6 ore più economiche del giorno:

- Condizione: Classifica del periodo attuale <= 6
- Azione: Accendi pompa piscina

### Evitare i prezzi di punta

Usa il dispositivo **Prezzo attuale** con una soglia:

- Condizione: Prezzo attuale > 150 (EUR/MWh)
- Azione: Spegni carichi non essenziali

### Ottimizzazione della finestra temporale

Imposta Da=0, A=6 per definire una finestra notturna (da mezzanotte alle 06:00), poi usa **Prezzo più basso nella finestra temporale** o **Classifica del periodo attuale nella finestra temporale** per programmare la ricarica della batteria o il funzionamento dello scaldacqua durante le ore notturne più economiche. Le finestre che attraversano la mezzanotte (Da >= A) non sono supportate.

## Risoluzione dei problemi

### Tutti i dispositivi mostrano zero o nessun dato

1. Controlla la connettività internet su TapHome Core — il template richiede accesso HTTPS in uscita verso `isot.okte.sk`
2. Verifica che l'API risponda — apri `https://isot.okte.sk/api/v1/dam/results?deliveryDayFrom=2026-03-28&deliveryDayTo=2026-03-28` nel browser
3. I prezzi DAM per il giorno successivo vengono tipicamente pubblicati dopo le 12:45 CET. Prima della pubblicazione, le richieste per la data di domani restituiscono risultati vuoti.

### I dispositivi con finestra restituiscono NaN

1. Verifica che Da < A nei parametri di importazione del template
2. Controlla che l'ora corrente rientri nell'intervallo Da–A (per la Classifica del periodo attuale nella finestra temporale)
3. Ricorda che Da e A utilizzano il formato 24 ore (0–23)

### I valori dei prezzi sembrano errati

OKTE pubblica i prezzi in EUR/MWh. Per convertire in EUR/kWh (scala domestica), dividi per 1000. Il template visualizza i valori grezzi dall'API senza conversione.

## Dispositivi disponibili 13

Questi dispositivi compaiono in TapHome dopo l'importazione.

OKTE Prezzi spot Modulo

Attributi di servizio

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

Variabili personalizzate

|                      |                                                                                                            |
|----------------------|------------------------------------------------------------------------------------------------------------|
| `From` (numeric) = 9 | Ora di inizio (0–23) della finestra temporale per la classifica dei prezzi e le statistiche nella finestra |
| `To` (numeric) = 17  | Ora di fine (0–23) della finestra temporale per la classifica dei prezzi e le statistiche nella finestra   |

Lettura (modulo)

```taphome
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
```

Attributi di servizio

Perióda 1

```taphome
PARSEJSON(output, "$[?(@.period == 1)].price") + " EUR"
```

Perióda 2

```taphome
PARSEJSON(output, "$[?(@.period == 2)].price") + " EUR"
```

Perióda 3

```taphome
PARSEJSON(output, "$[?(@.period == 3)].price") + " EUR"
```

Perióda 4

```taphome
PARSEJSON(output, "$[?(@.period == 4)].price") + " EUR"
```

Perióda 5

```taphome
PARSEJSON(output, "$[?(@.period == 5)].price") + " EUR"
```

Perióda 6

```taphome
PARSEJSON(output, "$[?(@.period == 6)].price") + " EUR"
```

Perióda 7

```taphome
PARSEJSON(output, "$[?(@.period == 7)].price") + " EUR"
```

Perióda 8

```taphome
PARSEJSON(output, "$[?(@.period == 8)].price") + " EUR"
```

Perióda 9

```taphome
PARSEJSON(output, "$[?(@.period == 9)].price") + " EUR"
```

Perióda 10

```taphome
PARSEJSON(output, "$[?(@.period == 10)].price") + " EUR"
```

Perióda 11

```taphome
PARSEJSON(output, "$[?(@.period == 11)].price") + " EUR"
```

Perióda 12

```taphome
PARSEJSON(output, "$[?(@.period == 12)].price") + " EUR"
```

Perióda 13

```taphome
PARSEJSON(output, "$[?(@.period == 13)].price") + " EUR"
```

Perióda 14

```taphome
PARSEJSON(output, "$[?(@.period == 14)].price") + " EUR"
```

Perióda 15

```taphome
PARSEJSON(output, "$[?(@.period == 15)].price") + " EUR"
```

Perióda 16

```taphome
PARSEJSON(output, "$[?(@.period == 16)].price") + " EUR"
```

Perióda 17

```taphome
PARSEJSON(output, "$[?(@.period == 17)].price") + " EUR"
```

Perióda 18

```taphome
PARSEJSON(output, "$[?(@.period == 18)].price") + " EUR"
```

Perióda 19

```taphome
PARSEJSON(output, "$[?(@.period == 19)].price") + " EUR"
```

Perióda 20

```taphome
PARSEJSON(output, "$[?(@.period == 20)].price") + " EUR"
```

Perióda 21

```taphome
PARSEJSON(output, "$[?(@.period == 21)].price") + " EUR"
```

Perióda 22

```taphome
PARSEJSON(output, "$[?(@.period == 22)].price") + " EUR"
```

Perióda 23

```taphome
PARSEJSON(output, "$[?(@.period == 23)].price") + " EUR"
```

Perióda 24

```taphome
PARSEJSON(output, "$[?(@.period == 24)].price") + " EUR"
```

Perióda 25

```taphome
PARSEJSON(output, "$[?(@.period == 25)].price") + " EUR"
```

Perióda 26

```taphome
PARSEJSON(output, "$[?(@.period == 26)].price") + " EUR"
```

Perióda 27

```taphome
PARSEJSON(output, "$[?(@.period == 27)].price") + " EUR"
```

Perióda 28

```taphome
PARSEJSON(output, "$[?(@.period == 28)].price") + " EUR"
```

Perióda 29

```taphome
PARSEJSON(output, "$[?(@.period == 29)].price") + " EUR"
```

Perióda 30

```taphome
PARSEJSON(output, "$[?(@.period == 30)].price") + " EUR"
```

Perióda 31

```taphome
PARSEJSON(output, "$[?(@.period == 31)].price") + " EUR"
```

Perióda 32

```taphome
PARSEJSON(output, "$[?(@.period == 32)].price") + " EUR"
```

Perióda 33

```taphome
PARSEJSON(output, "$[?(@.period == 33)].price") + " EUR"
```

Perióda 34

```taphome
PARSEJSON(output, "$[?(@.period == 34)].price") + " EUR"
```

Perióda 35

```taphome
PARSEJSON(output, "$[?(@.period == 35)].price") + " EUR"
```

Perióda 36

```taphome
PARSEJSON(output, "$[?(@.period == 36)].price") + " EUR"
```

Perióda 37

```taphome
PARSEJSON(output, "$[?(@.period == 37)].price") + " EUR"
```

Perióda 38

```taphome
PARSEJSON(output, "$[?(@.period == 38)].price") + " EUR"
```

Perióda 39

```taphome
PARSEJSON(output, "$[?(@.period == 39)].price") + " EUR"
```

Perióda 40

```taphome
PARSEJSON(output, "$[?(@.period == 40)].price") + " EUR"
```

Perióda 41

```taphome
PARSEJSON(output, "$[?(@.period == 41)].price") + " EUR"
```

Perióda 42

```taphome
PARSEJSON(output, "$[?(@.period == 42)].price") + " EUR"
```

Perióda 43

```taphome
PARSEJSON(output, "$[?(@.period == 43)].price") + " EUR"
```

Perióda 44

```taphome
PARSEJSON(output, "$[?(@.period == 44)].price") + " EUR"
```

Perióda 45

```taphome
PARSEJSON(output, "$[?(@.period == 45)].price") + " EUR"
```

Perióda 46

```taphome
PARSEJSON(output, "$[?(@.period == 46)].price") + " EUR"
```

Perióda 47

```taphome
PARSEJSON(output, "$[?(@.period == 47)].price") + " EUR"
```

Perióda 48

```taphome
PARSEJSON(output, "$[?(@.period == 48)].price") + " EUR"
```

Perióda 49

```taphome
PARSEJSON(output, "$[?(@.period == 49)].price") + " EUR"
```

Perióda 50

```taphome
PARSEJSON(output, "$[?(@.period == 50)].price") + " EUR"
```

Perióda 51

```taphome
PARSEJSON(output, "$[?(@.period == 51)].price") + " EUR"
```

Perióda 52

```taphome
PARSEJSON(output, "$[?(@.period == 52)].price") + " EUR"
```

Perióda 53

```taphome
PARSEJSON(output, "$[?(@.period == 53)].price") + " EUR"
```

Perióda 54

```taphome
PARSEJSON(output, "$[?(@.period == 54)].price") + " EUR"
```

Perióda 55

```taphome
PARSEJSON(output, "$[?(@.period == 55)].price") + " EUR"
```

Perióda 56

```taphome
PARSEJSON(output, "$[?(@.period == 56)].price") + " EUR"
```

Perióda 57

```taphome
PARSEJSON(output, "$[?(@.period == 57)].price") + " EUR"
```

Perióda 58

```taphome
PARSEJSON(output, "$[?(@.period == 58)].price") + " EUR"
```

Perióda 59

```taphome
PARSEJSON(output, "$[?(@.period == 59)].price") + " EUR"
```

Perióda 60

```taphome
PARSEJSON(output, "$[?(@.period == 60)].price") + " EUR"
```

Perióda 61

```taphome
PARSEJSON(output, "$[?(@.period == 61)].price") + " EUR"
```

Perióda 62

```taphome
PARSEJSON(output, "$[?(@.period == 62)].price") + " EUR"
```

Perióda 63

```taphome
PARSEJSON(output, "$[?(@.period == 63)].price") + " EUR"
```

Perióda 64

```taphome
PARSEJSON(output, "$[?(@.period == 64)].price") + " EUR"
```

Perióda 65

```taphome
PARSEJSON(output, "$[?(@.period == 65)].price") + " EUR"
```

Perióda 66

```taphome
PARSEJSON(output, "$[?(@.period == 66)].price") + " EUR"
```

Perióda 67

```taphome
PARSEJSON(output, "$[?(@.period == 67)].price") + " EUR"
```

Perióda 68

```taphome
PARSEJSON(output, "$[?(@.period == 68)].price") + " EUR"
```

Perióda 69

```taphome
PARSEJSON(output, "$[?(@.period == 69)].price") + " EUR"
```

Perióda 70

```taphome
PARSEJSON(output, "$[?(@.period == 70)].price") + " EUR"
```

Perióda 71

```taphome
PARSEJSON(output, "$[?(@.period == 71)].price") + " EUR"
```

Perióda 72

```taphome
PARSEJSON(output, "$[?(@.period == 72)].price") + " EUR"
```

Perióda 73

```taphome
PARSEJSON(output, "$[?(@.period == 73)].price") + " EUR"
```

Perióda 74

```taphome
PARSEJSON(output, "$[?(@.period == 74)].price") + " EUR"
```

Perióda 75

```taphome
PARSEJSON(output, "$[?(@.period == 75)].price") + " EUR"
```

Perióda 76

```taphome
PARSEJSON(output, "$[?(@.period == 76)].price") + " EUR"
```

Perióda 77

```taphome
PARSEJSON(output, "$[?(@.period == 77)].price") + " EUR"
```

Perióda 78

```taphome
PARSEJSON(output, "$[?(@.period == 78)].price") + " EUR"
```

Perióda 79

```taphome
PARSEJSON(output, "$[?(@.period == 79)].price") + " EUR"
```

Perióda 80

```taphome
PARSEJSON(output, "$[?(@.period == 80)].price") + " EUR"
```

Perióda 81

```taphome
PARSEJSON(output, "$[?(@.period == 81)].price") + " EUR"
```

Perióda 82

```taphome
PARSEJSON(output, "$[?(@.period == 82)].price") + " EUR"
```

Perióda 83

```taphome
PARSEJSON(output, "$[?(@.period == 83)].price") + " EUR"
```

Perióda 84

```taphome
PARSEJSON(output, "$[?(@.period == 84)].price") + " EUR"
```

Perióda 85

```taphome
PARSEJSON(output, "$[?(@.period == 85)].price") + " EUR"
```

Perióda 86

```taphome
PARSEJSON(output, "$[?(@.period == 86)].price") + " EUR"
```

Perióda 87

```taphome
PARSEJSON(output, "$[?(@.period == 87)].price") + " EUR"
```

Perióda 88

```taphome
PARSEJSON(output, "$[?(@.period == 88)].price") + " EUR"
```

Perióda 89

```taphome
PARSEJSON(output, "$[?(@.period == 89)].price") + " EUR"
```

Perióda 90

```taphome
PARSEJSON(output, "$[?(@.period == 90)].price") + " EUR"
```

Perióda 91

```taphome
PARSEJSON(output, "$[?(@.period == 91)].price") + " EUR"
```

Perióda 92

```taphome
PARSEJSON(output, "$[?(@.period == 92)].price") + " EUR"
```

Perióda 93

```taphome
PARSEJSON(output, "$[?(@.period == 93)].price") + " EUR"
```

Perióda 94

```taphome
PARSEJSON(output, "$[?(@.period == 94)].price") + " EUR"
```

Perióda 95

```taphome
PARSEJSON(output, "$[?(@.period == 95)].price") + " EUR"
```

Perióda 96

```taphome
PARSEJSON(output, "$[?(@.period == 96)].price") + " EUR"
```

Prezzo attuale Variabile Solo lettura

Prezzo spot per il periodo orario corrente in EUR/MWh — determinato dinamicamente dall'array dei prezzi in base all'ora corrente

numeric Unità: EUR json\_path

Lettura

```taphome
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)
```

Classifica del periodo attuale Variabile Solo lettura

Posizione del prezzo dell'ora corrente tra tutti i periodi (1 = ora più economica del giorno)

numeric json\_path

Lettura

```taphome
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
```

Classifica del periodo attuale nella finestra temporale Variabile Solo lettura

Posizione del prezzo dell'ora corrente all'interno di una finestra temporale Da–A definita dall'utente — restituisce NaN fuori dalla finestra

numeric json\_path

Lettura

```taphome
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
```

Prezzo più alto del giorno Variabile Solo lettura

Prezzo spot massimo su tutti i periodi disponibili (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
var prices := PARSEJSON(output, "$..price");
GETAT(ORDERDESC(prices), 0)
```

Prezzo più alto nella finestra temporale Variabile Solo lettura

Prezzo spot massimo all'interno della finestra temporale Da–A definita dall'utente (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
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
```

Prezzo più basso del giorno Variabile Solo lettura

Prezzo spot minimo su tutti i periodi disponibili (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
var prices := PARSEJSON(output, "$..price");
GETAT(ORDER(prices), 0)
```

Prezzo più basso nella finestra temporale Variabile Solo lettura

Prezzo spot minimo all'interno della finestra temporale Da–A definita dall'utente (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
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
```

Periodo più economico del giorno Variabile Solo lettura

Numero di periodo basato su 1 dell'ora più economica del giorno (es. 3 = 02:00–03:00)

numeric json\_path

Lettura

```taphome
var prices := PARSEJSON(output, "$..price");
GETAT(ORDERINDEX(prices), 0) +1
```

Periodo rimanente più economico Variabile Solo lettura

Numero di periodo basato su 1 dell'ora più economica dall'ora corrente in poi

numeric json\_path

Lettura

```taphome
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
```

Conteggio periodi Variabile Solo lettura

Numero totale di periodi di prezzo orari disponibili nella risposta API (tipicamente 24 o 72)

numeric json\_path

Lettura

```taphome
var prices := PARSEJSON(output, "$..price");
LENGTH(prices);
```

Conteggio periodi nella finestra temporale Variabile Solo lettura

Numero di periodi di prezzo orari all'interno della finestra temporale Da–A definita dall'utente

numeric json\_path

Lettura

```taphome
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
```

Prezzo medio del giorno Variabile Solo lettura

Media aritmetica di tutti i prezzi dei periodi disponibili (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
var prices := PARSEJSON(output, "$..price");
AVG(prices)
```

Prezzo medio nella finestra temporale Variabile Solo lettura

Media aritmetica dei prezzi spot all'interno della finestra temporale Da–A definita dall'utente (EUR/MWh)

numeric Unità: EUR json\_path

Lettura

```taphome
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
```

**Connessione:** Packet Parser → HTTP

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

