---
title: "OKTE Spotové ceny"
description: "Hodinové spotové ceny elektriny OKTE (denný trh, EUR/MWh) z verejného API v TapHome: aktuálna cena, poradie, min/max/priemer a najlacnejšie okno."
url: "https://taphome.com/sk/compatibility/okte-spot-prices/"
language: sk
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","data-service","data-pp","spot-prices","electricity-market","energy-management","packet-parser"]
  questions: ["Ako integrovať spotové ceny OKTE s TapHome?","Čo poskytuje šablóna OKTE Spotové ceny v TapHome?","Ako automatizovať zariadenia na základe spotovej ceny elektriny?","Ako funguje funkcia časového okna (Od/Do) v OKTE spotových cenách?","Ako nájsť najlacnejšiu hodinu dňa v TapHome?","Čo je poradie aktuálnej periódy v spotových cenách OKTE?"]
---

# OKTE Spotové ceny

Komunikácia: Packet Parser → HTTP

- [Oficiálna stránka OKTE](https://www.okte.sk/)
- [Trhové dáta OKTE ISOT](https://isot.okte.sk/)

## Návod na integráciu

OKTE (Organizátor krátkodobého trhu s elektrinou) je slovenský organizátor trhu s elektrinou. Zverejňuje spotové ceny na dennom trhu (DAM) — hodinovú veľkoobchodnú cenu elektriny v EUR/MWh určenú aukciou predchádzajúceho dňa.

Šablóna TapHome získava tieto ceny z verejného API OKTE (`isot.okte.sk`) cez HTTP Packet Parser. Poskytuje cenu za aktuálnu hodinu, poradie cien, výpočty min/max/priemeru a analýzu časového okna — všetko sa aktualizuje automaticky každú hodinu. Nie je potrebná žiadna autentifikácia.

## Konfigurácia

Šablóna sa pripája na `isot.okte.sk` cez HTTPS (port 443). Nie je potrebná IP adresa ani prihlasovacie údaje — koncový bod je verejné API.

Počas importu šablóny je možné nastaviť dve voliteľné vlastné premenné:

- **Od** — začiatočná hodina vlastného časového okna (0–23, predvolené: 9)
- **Do** — koncová hodina vlastného časového okna (0–23, predvolené: 17)

Tieto premenné ovládajú varianty zariadení „v časovom okne". Predvolené hodnoty (9–17) pokrývajú štandardné pracovné hodiny. Ak nie sú potrebné, ponechajte ich na predvolených hodnotách — zariadenia pre celý deň fungujú nezávisle.

## Ako to funguje

Modul sa dotazuje API OKTE DAM raz za hodinu (interval 3600 s). Požiadavka API používa dnešný dátum:

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

Odpoveď obsahuje pole cenových objektov, každý s číslom `period` a cenou `price` v EUR/MWh. V závislosti od dennej doby a harmonogramu publikovania OKTE môže odpoveď obsahovať ceny len za dnešok (24 periód) alebo až za 3 dni (72 periód).

Každý skript zariadenia parsuje toto JSON pole pomocou `PARSEJSON(output, "$..price")` a aplikuje triediace, filtrovacie alebo agregačné funkcie na odvodenie hodnoty.

## Schopnosti zariadení

Šablóna vystavuje 13 senzorových zariadení. Všetky sú len na čítanie — hodnoty odvodzujú z rovnakej odpovede API.

### Aktuálna cena a poradie

- **Aktuálna cena** — spotová cena za aktuálnu hodinovú periódu v EUR/MWh. Skript určí aktuálny index periódy z `NOW()` a vráti zodpovedajúcu cenu z poľa.
- **Poradie aktuálnej periódy** — poradie ceny aktuálnej hodiny medzi všetkými dostupnými periódami (1 = najlacnejšia). Užitočné pre automatizačné pravidlá ako „zapni tepelné čerpadlo len keď je aktuálna hodina medzi 8 najlacnejšími."
- **Poradie aktuálnej periódy v časovom okne** — rovnaké ako vyššie, ale obmedzené na používateľom definované okno Od–Do. Vracia NaN ak je aktuálna hodina mimo okna alebo ak Od >= Do.

### Cenové extrémy

- **Najvyššia cena dňa** — maximálna spotová cena zo všetkých dostupných periód
- **Najnižšia cena dňa** — minimálna spotová cena zo všetkých dostupných periód
- **Najvyššia cena v časovom okne** — maximálna cena v rámci okna Od–Do
- **Najnižšia cena v časovom okne** — minimálna cena v rámci okna Od–Do

### Priemery

- **Priemerná cena dňa** — aritmetický priemer všetkých dostupných cien periód
- **Priemerná cena v časovom okne** — aritmetický priemer v rámci okna Od–Do

### Identifikácia periód

- **Najlacnejšia perióda dňa** — 1-založené číslo periódy najlacnejšej hodiny (napr. 3 znamená 02:00–03:00)
- **Najlacnejšia zostávajúca perióda** — najlacnejšia hodina od aktuálnej hodiny ďalej. Dynamicky sa aktualizuje počas dňa.

### Počty

- **Počet periód** — celkový počet cenových periód v odpovedi API (typicky 24 alebo 72)
- **Počet periód v časovom okne** — počet periód v rámci okna Od–Do

## Atribúty služby

Modul vystavuje až 96 atribútov služby (Perióda 1 až Perióda 96), z ktorých každý zobrazuje spotovú cenu pre danú 15-minútovú periódu ako reťazec s príponou „EUR". Odkedy OKTE prešlo na dennom trhu na 15-minútové periódy, pre jeden deň je vyplnených všetkých 96 atribútov.

Tieto atribúty poskytujú kompletný cenový harmonogram viditeľný v detailnom zobrazení modulu TapHome.

## Vlastné premenné (Od / Do)

Niekoľko zariadení má varianty „v časovom okne", ktoré filtrujú cenové dáta na podmnožinu hodín. Okno je definované dvoma vlastnými premennými nastavenými počas importu šablóny:

- **Od** — začiatočná hodina (vrátane), hodnota 0–23
- **Do** — koncová hodina (bez nej), hodnota 0–23

Napríklad nastavenie Od=8 a Do=16 analyzuje ceny len medzi 08:00 a 16:00. To je užitočné keď chcete optimalizovať spotrebu energie počas konkrétnych hodín — napríklad spúšťať spotrebiče len počas najlacnejších hodín pracovného dňa.

Ak Od >= Do, všetky okenné zariadenia vracajú NaN.

## Príklady automatizácie

### Spúšťanie zariadení počas najlacnejších hodín

Použite zariadenie **Poradie aktuálnej periódy** v podmienke smart rule. Napríklad na spustenie bazénového čerpadla len počas 6 najlacnejších hodín dňa:

- Podmienka: Poradie aktuálnej periódy <= 6
- Akcia: Zapni bazénové čerpadlo

### Vyhýbanie sa špičkovým cenám

Použite zariadenie **Aktuálna cena** s prahovou hodnotou:

- Podmienka: Aktuálna cena > 150 (EUR/MWh)
- Akcia: Vypni nepodstatné záťaže

### Optimalizácia časového okna

Nastavte Od=0, Do=6 pre definovanie nočného okna (od polnoci do 06:00), potom použite **Najnižšia cena v časovom okne** alebo **Poradie aktuálnej periódy v časovom okne** na naplánovanie nabíjania batérie alebo prevádzky ohrievača vody počas najlacnejších nočných hodín. Okná cez polnoc (Od >= Do) nie sú podporované.

## Riešenie problémov

### Všetky zariadenia zobrazujú nulu alebo žiadne dáta

1. Skontrolujte internetové pripojenie na TapHome Core — šablóna vyžaduje odchádzajúci HTTPS prístup na `isot.okte.sk`
2. Overte, že API odpovedá — otvorte `https://isot.okte.sk/api/v1/dam/results?deliveryDayFrom=2026-03-28&deliveryDayTo=2026-03-28` v prehliadači
3. Ceny DAM pre nasledujúci deň sa typicky zverejňujú po 12:45 CET. Pred zverejnením požiadavky na zajtrajší dátum vracajú prázdne výsledky.

### Okenné zariadenia vracajú NaN

1. Overte, že Od < Do v parametroch importu šablóny
2. Skontrolujte, že aktuálna hodina spadá do rozsahu Od–Do (pre Poradie aktuálnej periódy v časovom okne)
3. Pamätajte, že Od a Do používajú 24-hodinový formát (0–23)

### Hodnoty cien sa zdajú nesprávne

OKTE zverejňuje ceny v EUR/MWh. Pre prevod na EUR/kWh (domácnostný rozsah) vydeľte 1000. Šablóna zobrazuje surové hodnoty z API bez konverzie.

## Dostupné zariadenia 13

Tieto zariadenia sa po importe zobrazia v TapHome.

OKTE Spotové ceny Modul

Servisné atribúty

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

Vlastné premenné

|                      |                                                                                |
|----------------------|--------------------------------------------------------------------------------|
| `From` (numeric) = 9 | Začiatočná hodina (0–23) časového okna pre hodnotenie cien a štatistiky v okne |
| `To` (numeric) = 17  | Koncová hodina (0–23) časového okna pre hodnotenie cien a štatistiky v okne    |

Čítanie (modul)

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

Servisné atribúty

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

Aktuálna cena Premenná Len na čítanie

Spotová cena za aktuálnu hodinovú periódu v EUR/MWh — dynamicky určená z poľa cien na základe aktuálneho času

numeric Jednotka: EUR json\_path

Čítanie

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

Poradie aktuálnej periódy Premenná Len na čítanie

Poradie ceny aktuálnej hodiny medzi všetkými periódami (1 = najlacnejšia hodina dňa)

numeric json\_path

Čítanie

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

Poradie aktuálnej periódy v časovom okne Premenná Len na čítanie

Poradie ceny aktuálnej hodiny v rámci používateľom definovaného časového okna Od–Do — vracia NaN mimo okna

numeric json\_path

Čítanie

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

Najvyššia cena dňa Premenná Len na čítanie

Maximálna spotová cena zo všetkých dostupných periód (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

Najvyššia cena v časovom okne Premenná Len na čítanie

Maximálna spotová cena v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

Najnižšia cena dňa Premenná Len na čítanie

Minimálna spotová cena zo všetkých dostupných periód (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

Najnižšia cena v časovom okne Premenná Len na čítanie

Minimálna spotová cena v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

Najlacnejšia perióda dňa Premenná Len na čítanie

1-založené číslo periódy najlacnejšej hodiny dňa (napr. 3 = 02:00–03:00)

numeric json\_path

Čítanie

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

Najlacnejšia zostávajúca perióda Premenná Len na čítanie

1-založené číslo periódy najlacnejšej hodiny od aktuálnej hodiny ďalej

numeric json\_path

Čítanie

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

Počet periód Premenná Len na čítanie

Celkový počet hodinových cenových periód dostupných v odpovedi API (typicky 24 alebo 72)

numeric json\_path

Čítanie

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

Počet periód v časovom okne Premenná Len na čítanie

Počet hodinových cenových periód v rámci používateľom definovaného časového okna Od–Do

numeric json\_path

Čítanie

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

Priemerná cena dňa Premenná Len na čítanie

Aritmetický priemer všetkých dostupných cien periód (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

Priemerná cena v časovom okne Premenná Len na čítanie

Aritmetický priemer spotových cien v rámci používateľom definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čítanie

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

**Pripojenie:** Packet Parser → HTTP

## Súvisiaca dokumentácia

- [Integrácia Packet Parser](https://taphome.com/sk/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/sk/docs/integration/packet-parser/)
- [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/)
- [Parsovacie funkcie](https://taphome.com/sk/docs/script/parsing-functions/)

