---
title: "OTE-CR Spotové ceny"
description: "Spotové ceny elektřiny z denního trhu OTE-CR v TapHome: aktuální cena, denní statistiky a nejlevnější okna v EUR i CZK. Veřejné API, bez registrace."
url: "https://taphome.com/cs/compatibility/ote-cr-spot-prices/"
language: cs
lastmod: 2026-10-14
generator: hugo
ai:
  topics: ["http","spot-prices","energy-market","electricity","data-service","data-pp"]
  questions: ["Jak získat české spotové ceny elektřiny v TapHome?","Jak funguje šablona spotových cen OTE-CR?","Jak převést spotové ceny OTE z EUR na CZK?","Jak najít nejlevnější 15minutové období elektřiny během dne v TapHome?","Jak automatizovat zařízení na základě spotových cen elektřiny?","Co je zařízení Směnný kurz měny v šabloně OTE-CR?","Jak propojit šablonu OTE-CR se směnným kurzem ČNB?"]
---

# OTE-CR Spotové ceny

Komunikace: Packet Parser → HTTP

- [Denní trh OTE-CR](https://www.ote-cr.cz/cs/kratkodobe-trhy/elektrina/denni-trh)

## Návod na integraci

OTE-CR (Operátor trhu s elektřinou) je český operátor trhu s elektřinou a plynem. Šablona TapHome stahuje spotové ceny z denního trhu z veřejného API OTE-CR a zpřístupňuje je jako zařízení — aktuální cena, denní statistiky, pořadí a varianty časových oken. Ceny jsou publikovány v EUR za MWh a šablona obsahuje vestavěnou proměnnou pro konverzi měny k zobrazení hodnot v CZK.

Šablona dotazuje API OTE-CR jednou za hodinu a načítá výsledky denního trhu pro aktuální den dodávky: 96 cen, jednu pro každé 15minutové období dne (období začínající 00:00–23:45; Období 1 = 00:00–00:15, Období 96 = 23:45–24:00). Není potřeba žádná autentizace — API endpoint je veřejný.

## Konfigurace

Během importu šablony se TapHome připojí k `www.ote-cr.cz` přes HTTPS (port 443). Není potřeba žádná IP adresa ani přihlašovací údaje — endpoint je pevně daný.

Dva volitelné parametry importu ovládají zařízení s časovým oknem:

- **From** — počáteční hodina (0–23, výchozí: 9) pro filtr časového okna
- **To** — koncová hodina (0–23, výchozí: 17) pro filtr časového okna

Výchozí hodnoty (9–17) pokrývají standardní pracovní hodiny. Upravte je podle vašeho preferovaného analytického okna.

Po importu je proměnná `kurz` (zobrazená a upravitelná přes zařízení **Směnný kurz měny**) ve výchozím stavu nastavena na 1 — to znamená, že všechna cenová zařízení zobrazují surové hodnoty v EUR/MWh. Nastavte ji na aktuální kurz EUR/CZK (např. 25,2), aby všechna cenová zařízení zobrazovala hodnoty v CZK. Kurz můžete nastavit ručně v detailu zařízení nebo jej propojit se šablonou **Kurzy ČNB** pro automatické denní aktualizace (viz níže).

## Schopnosti zařízení

### Aktuální cena

Zařízení **Aktuální cena** čte spotovou cenu pro aktuální 15minutové období. Šablona určí aktivní období ze systémových hodin a vynásobí hodnotu v EUR směnným kurzem, aby zobrazila cenu v CZK.

### Pořadí cen

- **Pořadí aktuálního období** — pořadí ceny aktuálního období mezi všemi 96 obdobími dne (1 = nejlevnější, 96 = nejdražší)
- **Pořadí aktuálního období v časovém okně** — stejné pořadí, ale omezené na uživatelem definované časové okno (From–To). Vrátí NaN, pokud aktuální období leží mimo okno.

### Denní cenové statistiky

- **Nejvyšší cena dne** — maximální spotová cena ze všech období, převedená na CZK
- **Nejnižší cena dne** — minimální spotová cena ze všech období, převedená na CZK
- **Průměrná cena dne** — aritmetický průměr cen všech období, převedený na CZK

### Cenové statistiky časového okna

Každá denní statistika má odpovídající variantu s časovým oknem, která filtruje období do rozsahu From–To:

- **Nejvyšší cena v časovém okně**
- **Nejnižší cena v časovém okně**
- **Průměrná cena v časovém okně**

Všechna zařízení s časovým oknem vrátí NaN, pokud From >= To.

### Navigace po obdobích

- **Nejlevnější období dne** — číslo (1–96) nejlevnějšího 15minutového období dne
- **Nejlevnější zbývající období** — nejlevnější 15minutové období od aktuálního času dále
- **Počet období** — celkový počet 15minutových cenových období v odpovědi API (96 pro běžný den)
- **Počet období v časovém okně** — počet období v rozsahu From–To

### Směnný kurz měny

Zařízení **Směnný kurz měny** je jediné zařízení pro čtení i zápis v šabloně. Uchovává konverzní kurz EUR na CZK, který používají všechna cenová zařízení. Nastavte jej ručně nebo jej propojte se šablonou **Kurzy ČNB** pro automatické denní aktualizace.

Pokud je směnný kurz nastaven na 1, všechna cenová zařízení zobrazují surové hodnoty v EUR.

## Servisní atributy

Šablona zpřístupňuje 96 servisních atributů (Období 1 až Období 96), z nichž každý zobrazuje surovou spotovou cenu v EUR pro jedno 15minutové období aktuálního dne dodávky. Jsou užitečné pro diagnostiku nebo pro tvorbu vlastních automatizací, které kontrolují konkrétní období dne.

## Propojení s kurzem ČNB

Pro automatizaci konverze EUR na CZK:

1. Importujte šablonu **Kurzy ČNB** do TapHome
2. V šabloně OTE-CR vytvořte vzorec, který čte kurz EUR/CZK ze zařízení ČNB a zapisuje jej do zařízení **Směnný kurz měny**
3. Šablona ČNB aktualizuje kurz denně, takže všechny ceny OTE-CR automaticky odrážejí aktuální směnný kurz

## Příklady automatizace

Spotové ceny jsou nejužitečnější v kombinaci s TapHome smart rules:

- **Ohřev vody během nejlevnějších období** — porovnejte pořadí aktuálního období s prahovou hodnotou (např. pořadí <= 8) a zapněte ohřívač vody pouze během 8 nejlevnějších 15minutových období (2 hodiny) dne
- **Nabíjení baterií mimo špičku** — použijte zařízení Aktuální cena ke spuštění nabíjení baterie, když cena klesne pod nastavitelný limit
- **Přesun zátěže spotřebičů** — použijte zařízení Nejlevnější zbývající období k naplánování praček, myček nádobí nebo nabíjení EV na další nejlevnější slot
- **Optimalizace časového okna** — omezte automatizaci na konkrétní hodiny (např. 6:00–22:00) pomocí zařízení s časovým oknem, aby byla noční období vyloučena z pořadí

## Řešení problémů

### Všechny ceny zobrazují nulu nebo NaN

1. Ověřte, že TapHome CCU má přístup k internetu (šablona se připojuje k `www.ote-cr.cz` přes HTTPS)
2. Zkontrolujte zařízení **Počet období** — pokud zobrazuje 0, odpověď API je prázdná nebo parsování selhalo
3. Ujistěte se, že zařízení **Směnný kurz měny** je nastaveno na nenulovou hodnotu — kurz 0 vynásobí všechny ceny na nulu

### Zařízení s časovým oknem vracejí NaN

1. Ověřte, že parametry importu From a To jsou nastaveny správně (From musí být menší než To)
2. Pokud je aktuální hodina mimo rozsah From–To, zařízení pořadí v okně vrací NaN záměrně

### Ceny se zdají zastaralé

Šablona dotazuje API OTE-CR každou hodinu (3600 sekund). Ceny denního trhu jsou publikovány OTE den předem, obvykle kolem 12:45 CET. Pokud ceny nového dne ještě nejsou viditelné, počkejte do doby publikace.

## Dostupná zařízení 14

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

OTE-CR Spotové ceny Modul

Servisní atributy

|           |                                             |
|-----------|---------------------------------------------|
| Period 1  | Spotová cena pro 15minutové období 1 (EUR)  |
| Period 2  | Spotová cena pro 15minutové období 2 (EUR)  |
| Period 3  | Spotová cena pro 15minutové období 3 (EUR)  |
| Period 4  | Spotová cena pro 15minutové období 4 (EUR)  |
| Period 5  | Spotová cena pro 15minutové období 5 (EUR)  |
| Period 6  | Spotová cena pro 15minutové období 6 (EUR)  |
| Period 7  | Spotová cena pro 15minutové období 7 (EUR)  |
| Period 8  | Spotová cena pro 15minutové období 8 (EUR)  |
| Period 9  | Spotová cena pro 15minutové období 9 (EUR)  |
| Period 10 | Spotová cena pro 15minutové období 10 (EUR) |
| Period 11 | Spotová cena pro 15minutové období 11 (EUR) |
| Period 12 | Spotová cena pro 15minutové období 12 (EUR) |
| Period 13 | Spotová cena pro 15minutové období 13 (EUR) |
| Period 14 | Spotová cena pro 15minutové období 14 (EUR) |
| Period 15 | Spotová cena pro 15minutové období 15 (EUR) |
| Period 16 | Spotová cena pro 15minutové období 16 (EUR) |
| Period 17 | Spotová cena pro 15minutové období 17 (EUR) |
| Period 18 | Spotová cena pro 15minutové období 18 (EUR) |
| Period 19 | Spotová cena pro 15minutové období 19 (EUR) |
| Period 20 | Spotová cena pro 15minutové období 20 (EUR) |
| Period 21 | Spotová cena pro 15minutové období 21 (EUR) |
| Period 22 | Spotová cena pro 15minutové období 22 (EUR) |
| Period 23 | Spotová cena pro 15minutové období 23 (EUR) |
| Period 24 | Spotová cena pro 15minutové období 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 |                                             |

Vlastní proměnné

|                      |                                                                                                                           |
|----------------------|---------------------------------------------------------------------------------------------------------------------------|
| `From` (numeric) = 9 | Počáteční hodina (0–23) časového okna pro rankingové a statistické výpočty cen                                            |
| `To` (numeric) = 17  | Koncová hodina (0–23) časového okna pro rankingové a statistické výpočty cen                                              |
| `kurz` (numeric) = 1 | Multiplikátor směnného kurzu EUR na CZK — všechny ceny jsou touto hodnotou vynásobeny (nastavte na aktuální kurz EUR/CZK) |

Čtení (modul)

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

Servisní atributy

Perioda 1

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[0].y") + " EUR"
```

Perioda 2

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[1].y") + " EUR"
```

Perioda 3

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[2].y") + " EUR"
```

Perioda 4

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[3].y") + " EUR"
```

Perioda 5

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[4].y") + " EUR"
```

Perioda 6

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[5].y") + " EUR"
```

Perioda 7

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[6].y") + " EUR"
```

Perioda 8

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[7].y") + " EUR"
```

Perioda 9

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[8].y") + " EUR"
```

Perioda 10

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[9].y") + " EUR"
```

Perioda 11

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[10].y") + " EUR"
```

Perioda 12

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[11].y") + " EUR"
```

Perioda 13

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[12].y") + " EUR"
```

Perioda 14

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[13].y") + " EUR"
```

Perioda 15

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[14].y") + " EUR"
```

Perioda 16

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[15].y") + " EUR"
```

Perioda 17

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[16].y") + " EUR"
```

Perioda 18

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[17].y") + " EUR"
```

Perioda 19

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[18].y") + " EUR"
```

Perioda 20

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[19].y") + " EUR"
```

Perioda 21

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[20].y") + " EUR"
```

Perioda 22

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[21].y") + " EUR"
```

Perioda 23

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[22].y") + " EUR"
```

Perioda 24

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[23].y") + " EUR"
```

Perioda 25

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[24].y") + " EUR"
```

Perioda 26

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[25].y") + " EUR"
```

Perioda 27

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[26].y") + " EUR"
```

Perioda 28

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[27].y") + " EUR"
```

Perioda 29

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[28].y") + " EUR"
```

Perioda 30

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[29].y") + " EUR"
```

Perioda 31

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[30].y") + " EUR"
```

Perioda 32

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[31].y") + " EUR"
```

Perioda 33

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[32].y") + " EUR"
```

Perioda 34

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[33].y") + " EUR"
```

Perioda 35

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[34].y") + " EUR"
```

Perioda 36

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[35].y") + " EUR"
```

Perioda 37

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[36].y") + " EUR"
```

Perioda 38

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[37].y") + " EUR"
```

Perioda 39

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[38].y") + " EUR"
```

Perioda 40

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[39].y") + " EUR"
```

Perioda 41

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[40].y") + " EUR"
```

Perioda 42

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[41].y") + " EUR"
```

Perioda 43

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[42].y") + " EUR"
```

Perioda 44

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[43].y") + " EUR"
```

Perioda 45

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[44].y") + " EUR"
```

Perioda 46

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[45].y") + " EUR"
```

Perioda 47

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[46].y") + " EUR"
```

Perioda 48

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[47].y") + " EUR"
```

Perioda 49

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[48].y") + " EUR"
```

Perioda 50

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[49].y") + " EUR"
```

Perioda 51

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[50].y") + " EUR"
```

Perioda 52

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[51].y") + " EUR"
```

Perioda 53

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[52].y") + " EUR"
```

Perioda 54

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[53].y") + " EUR"
```

Perioda 55

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[54].y") + " EUR"
```

Perioda 56

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[55].y") + " EUR"
```

Perioda 57

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[56].y") + " EUR"
```

Perioda 58

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[57].y") + " EUR"
```

Perioda 59

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[58].y") + " EUR"
```

Perioda 60

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[59].y") + " EUR"
```

Perioda 61

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[60].y") + " EUR"
```

Perioda 62

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[61].y") + " EUR"
```

Perioda 63

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[62].y") + " EUR"
```

Perioda 64

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[63].y") + " EUR"
```

Perioda 65

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[64].y") + " EUR"
```

Perioda 66

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[65].y") + " EUR"
```

Perioda 67

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[66].y") + " EUR"
```

Perioda 68

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[67].y") + " EUR"
```

Perioda 69

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[68].y") + " EUR"
```

Perioda 70

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[69].y") + " EUR"
```

Perioda 71

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[70].y") + " EUR"
```

Perioda 72

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[71].y") + " EUR"
```

Perioda 73

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[72].y") + " EUR"
```

Perioda 74

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[73].y") + " EUR"
```

Perioda 75

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[74].y") + " EUR"
```

Perioda 76

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[75].y") + " EUR"
```

Perioda 77

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[76].y") + " EUR"
```

Perioda 78

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[77].y") + " EUR"
```

Perioda 79

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[78].y") + " EUR"
```

Perioda 80

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[79].y") + " EUR"
```

Perioda 81

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[80].y") + " EUR"
```

Perioda 82

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[81].y") + " EUR"
```

Perioda 83

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[82].y") + " EUR"
```

Perioda 84

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[83].y") + " EUR"
```

Perioda 85

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[84].y") + " EUR"
```

Perioda 86

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[85].y") + " EUR"
```

Perioda 87

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[86].y") + " EUR"
```

Perioda 88

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[87].y") + " EUR"
```

Perioda 89

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[88].y") + " EUR"
```

Perioda 90

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[89].y") + " EUR"
```

Perioda 91

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[90].y") + " EUR"
```

Perioda 92

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[91].y") + " EUR"
```

Perioda 93

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[92].y") + " EUR"
```

Perioda 94

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[93].y") + " EUR"
```

Perioda 95

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[94].y") + " EUR"
```

Perioda 96

```taphome
PARSEJSON(output, "$.data.dataLine[1].point[95].y") + " EUR"
```

Aktuální cena Proměnná Pouze ke čtení

Spotová cena aktuálního 15minutového období převedená na CZK pomocí proměnné směnného kurzu

numeric Jednotka: CZK json\_path

Čtení

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

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

Pořadí aktuálního 15minutového období mezi všemi 96 obdobími dne (1 = nejlevnější)

numeric json\_path

Čtení

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

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

Pořadí aktuálního 15minutového období v rámci časového okna From–To (NaN pokud je mimo)

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, "$.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
```

Směnný kurz měny Proměnná Čtení i zápis

Konverzní kurz EUR na CZK — čtení/zápis, používaný všemi cenovými zařízeními

numeric Jednotka: CZK/EUR

Čtení

```taphome
kurz
```

Zápis

```taphome
kurz := Va
```

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

Maximální spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json\_path

Čtení

```taphome
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERDESC(prices), 0)*kurz
```

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

Maximální spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json\_path

Čtení

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

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

Minimální spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json\_path

Čtení

```taphome
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDER(prices), 0)*kurz
```

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

Minimální spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json\_path

Čtení

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

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

Číslo (1–96) nejlevnějšího 15minutového období dne

numeric json\_path

Čtení

```taphome
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
```

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

Číslo nejlevnějšího 15minutového období od aktuálního času dále

numeric json\_path

Čtení

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

Počet období Proměnná Pouze ke čtení

Celkový počet dostupných cenových období (obvykle 96)

numeric json\_path

Čtení

```taphome
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
LENGTH(prices);
```

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

Počet období v rámci časového okna From–To

numeric json\_path

Čtení

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

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

Průměrná spotová cena ze všech období dne (CZK)

numeric Jednotka: CZK json\_path

Čtení

```taphome
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
AVG(prices)*kurz
```

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

Průměrná spotová cena v rámci časového okna From–To (CZK)

numeric Jednotka: CZK json\_path

Čtení

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

**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/)

