---
title: "OKTE Spotové ceny"
description: "Spotové ceny elektřiny na denním trhu OKTE pro Slovensko. Monitorování hodinových cen v EUR/MWh, pořadí, min/max/průměr a analýza časového okna přes."
url: "https://taphome.com/cs/compatibility/okte-spot-prices/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","data-service","data-pp","spot-prices","electricity-market","energy-management","packet-parser"]
  questions: ["Jak integrovat spotové ceny OKTE s TapHome?","Co poskytuje šablona OKTE Spotové ceny v TapHome?","Jak automatizovat zařízení na základě spotové ceny elektřiny?","Jak funguje funkce časového okna (Od/Do) v OKTE spotových cenách?","Jak najít nejlevnější hodinu dne v TapHome?","Co je pořadí aktuální periody ve spotových cenách OKTE?"]
---

# OKTE Spotové ceny

Komunikace: Packet Parser → HTTP

- [Oficiální stránka OKTE](https://www.okte.sk/)
- [Tržní data OKTE ISOT](https://isot.okte.sk/)

## Návod na integraci

OKTE (Organizátor krátkodobého trhu s elektřinou) je slovenský organizátor trhu s elektřinou. Zveřejňuje spotové ceny na denním trhu (DAM) — hodinovou velkoobchodní cenu elektřiny v EUR/MWh určenou aukcí předchozího dne.

Šablona TapHome získává tyto ceny z veřejného API OKTE (`isot.okte.sk`) přes HTTP Packet Parser. Poskytuje cenu za aktuální hodinu, pořadí cen, výpočty min/max/průměru a analýzu časového okna — vše se aktualizuje automaticky každou hodinu. Není potřeba žádná autentifikace.

## Konfigurace

Šablona se připojuje na `isot.okte.sk` přes HTTPS (port 443). Není potřeba IP adresa ani přihlašovací údaje — koncový bod je veřejné API.

Během importu šablony lze nastavit dvě volitelné vlastní proměnné:

- **Od** — počáteční hodina vlastního časového okna (0–23, výchozí: 9)
- **Do** — koncová hodina vlastního časového okna (0–23, výchozí: 17)

Tyto proměnné ovládají varianty zařízení „v časovém okně". Výchozí hodnoty (9–17) pokrývají standardní pracovní hodiny. Pokud nejsou potřeba, ponechte je na výchozích hodnotách — zařízení pro celý den fungují nezávisle.

## Jak to funguje

Modul se dotazuje API OKTE DAM jednou za hodinu (interval 3600 s). Požadavek API používá dnešní datum:

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

Odpověď obsahuje pole cenových objektů, každý s číslem `period` a cenou `price` v EUR/MWh. V závislosti na denní době a harmonogramu zveřejňování OKTE může odpověď obsahovat ceny jen za dnešek (24 period) nebo až za 3 dny (72 period).

Každý skript zařízení parsuje toto JSON pole pomocí `PARSEJSON(output, "$..price")` a aplikuje třídící, filtrační nebo agregační funkce k odvození hodnoty.

## Schopnosti zařízení

Šablona vystavuje 13 senzorových zařízení. Všechna jsou pouze pro čtení — hodnoty odvozují ze stejné odpovědi API.

### Aktuální cena a pořadí

- **Aktuální cena** — spotová cena za aktuální hodinovou periodu v EUR/MWh. Skript určí aktuální index periody z `NOW()` a vrátí odpovídající cenu z pole.
- **Pořadí aktuální periody** — pořadí ceny aktuální hodiny mezi všemi dostupnými periodami (1 = nejlevnější). Užitečné pro automatizační pravidla jako „zapni tepelné čerpadlo jen když je aktuální hodina mezi 8 nejlevnějšími."
- **Pořadí aktuální periody v časovém okně** — stejné jako výše, ale omezené na uživatelem definované okno Od–Do. Vrací NaN pokud je aktuální hodina mimo okno nebo pokud Od >= Do.

### Cenové extrémy

- **Nejvyšší cena dne** — maximální spotová cena ze všech dostupných period
- **Nejnižší cena dne** — minimální spotová cena ze všech dostupných period
- **Nejvyšší cena v časovém okně** — maximální cena v rámci okna Od–Do
- **Nejnižší cena v časovém okně** — minimální cena v rámci okna Od–Do

### Průměry

- **Průměrná cena dne** — aritmetický průměr všech dostupných cen period
- **Průměrná cena v časovém okně** — aritmetický průměr v rámci okna Od–Do

### Identifikace period

- **Nejlevnější perioda dne** — 1-založené číslo periody nejlevnější hodiny (např. 3 znamená 02:00–03:00)
- **Nejlevnější zbývající perioda** — nejlevnější hodina od aktuální hodiny dále. Dynamicky se aktualizuje během dne.

### Počty

- **Počet period** — celkový počet cenových period v odpovědi API (typicky 24 nebo 72)
- **Počet period v časovém okně** — počet period v rámci okna Od–Do

## Atributy služby

Modul vystavuje až 96 atributů služby (Perioda 1 až Perioda 96), z nichž každý zobrazuje spotovou cenu pro danou 15minutovou periodu jako řetězec s příponou „EUR". Od chvíle, kdy OKTE přešlo na denním trhu na 15minutové periody, je pro jeden den vyplněno všech 96 atributů.

Tyto atributy poskytují kompletní cenový harmonogram viditelný v detailním zobrazení modulu TapHome.

## Vlastní proměnné (Od / Do)

Několik zařízení má varianty „v časovém okně", které filtrují cenová data na podmnožinu hodin. Okno je definováno dvěma vlastními proměnnými nastavenými během importu šablony:

- **Od** — počáteční hodina (včetně), hodnota 0–23
- **Do** — koncová hodina (bez ní), hodnota 0–23

Například nastavení Od=8 a Do=16 analyzuje ceny pouze mezi 08:00 a 16:00. To je užitečné když chcete optimalizovat spotřebu energie během konkrétních hodin — například spouštět spotřebiče jen během nejlevnějších hodin pracovního dne.

Pokud Od >= Do, všechna okenní zařízení vracejí NaN.

## Příklady automatizace

### Spouštění zařízení během nejlevnějších hodin

Použijte zařízení **Pořadí aktuální periody** v podmínce smart rule. Například pro spuštění bazénového čerpadla jen během 6 nejlevnějších hodin dne:

- Podmínka: Pořadí aktuální periody <= 6
- Akce: Zapni bazénové čerpadlo

### Vyhýbání se špičkovým cenám

Použijte zařízení **Aktuální cena** s prahovou hodnotou:

- Podmínka: Aktuální cena > 150 (EUR/MWh)
- Akce: Vypni nepodstatné zátěže

### Optimalizace časového okna

Nastavte Od=0, Do=6 pro definování nočního okna (od půlnoci do 06:00), poté použijte **Nejnižší cena v časovém okně** nebo **Pořadí aktuální periody v časovém okně** k naplánování nabíjení baterie nebo provozu ohřívače vody během nejlevnějších nočních hodin. Okna přes půlnoc (Od >= Do) nejsou podporována.

## Řešení problémů

### Všechna zařízení zobrazují nulu nebo žádná data

1. Zkontrolujte internetové připojení na TapHome Core — šablona vyžaduje odchozí HTTPS přístup na `isot.okte.sk`
2. Ověřte, že API odpovídá — otevřete `https://isot.okte.sk/api/v1/dam/results?deliveryDayFrom=2026-03-28&deliveryDayTo=2026-03-28` v prohlížeči
3. Ceny DAM pro následující den se typicky zveřejňují po 12:45 CET. Před zveřejněním požadavky na zítřejší datum vracejí prázdné výsledky.

### Okenní zařízení vracejí NaN

1. Ověřte, že Od < Do v parametrech importu šablony
2. Zkontrolujte, že aktuální hodina spadá do rozsahu Od–Do (pro Pořadí aktuální periody v časovém okně)
3. Pamatujte, že Od a Do používají 24hodinový formát (0–23)

### Hodnoty cen se zdají nesprávné

OKTE zveřejňuje ceny v EUR/MWh. Pro převod na EUR/kWh (domácnostní rozsah) vydělte 1000. Šablona zobrazuje surové hodnoty z API bez konverze.

## Dostupná zařízení 13

Tato zařízení se po importu zobrazí v TapHome.

OKTE Spotové ceny Modul

Servisní atributy

|           |
|-----------|
| 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í proměnné

|                      |                                                                             |
|----------------------|-----------------------------------------------------------------------------|
| `From` (numeric) = 9 | Počáteční hodina (0–23) časového okna pro hodnocení cen a statistiky v okně |
| `To` (numeric) = 17  | Koncová hodina (0–23) časového okna pro hodnocení cen a statistiky v okně   |

Čtení (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í atributy

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ální cena Proměnná Pouze ke čtení

Spotová cena za aktuální hodinovou periodu v EUR/MWh — dynamicky určená z pole cen na základě aktuálního času

numeric Jednotka: EUR json\_path

Čtení

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

Pořadí aktuální periody Proměnná Pouze ke čtení

Pořadí ceny aktuální hodiny mezi všemi periodami (1 = nejlevnější hodina dne)

numeric json\_path

Čtení

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

Pořadí aktuální periody v časovém okně Proměnná Pouze ke čtení

Pořadí ceny aktuální hodiny v rámci uživatelem definovaného časového okna Od–Do — vrací NaN mimo okno

numeric json\_path

Čtení

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

Nejvyšší cena dne Proměnná Pouze ke čtení

Maximální spotová cena ze všech dostupných period (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

Nejvyšší cena v časovém okně Proměnná Pouze ke čtení

Maximální spotová cena v rámci uživatelem definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

Nejnižší cena dne Proměnná Pouze ke čtení

Minimální spotová cena ze všech dostupných period (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

Nejnižší cena v časovém okně Proměnná Pouze ke čtení

Minimální spotová cena v rámci uživatelem definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

Nejlevnější perioda dne Proměnná Pouze ke čtení

1-založené číslo periody nejlevnější hodiny dne (např. 3 = 02:00–03:00)

numeric json\_path

Čtení

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

Nejlevnější zbývající perioda Proměnná Pouze ke čtení

1-založené číslo periody nejlevnější hodiny od aktuální hodiny dále

numeric json\_path

Čtení

```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 period Proměnná Pouze ke čtení

Celkový počet hodinových cenových period dostupných v odpovědi API (typicky 24 nebo 72)

numeric json\_path

Čtení

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

Počet period v časovém okně Proměnná Pouze ke čtení

Počet hodinových cenových period v rámci uživatelem definovaného časového okna Od–Do

numeric json\_path

Čtení

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

Průměrná cena dne Proměnná Pouze ke čtení

Aritmetický průměr všech dostupných cen period (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

Průměrná cena v časovém okně Proměnná Pouze ke čtení

Aritmetický průměr spotových cen v rámci uživatelem definovaného časového okna Od–Do (EUR/MWh)

numeric Jednotka: EUR json\_path

Čtení

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

**Připojení:** Packet Parser → HTTP

## Související dokumentace

- [Integrace Packet Parser](https://taphome.com/cs/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)

