---
title: "OTE-CR Spotpreise"
description: "Tschechische Strom-Spotpreise vom OTE-CR Day-Ahead-Markt. Preise in EUR oder CZK verfolgen, günstigste Zeiträume finden und Verbrauch mit TapHome steuern."
url: "https://taphome.com/de/compatibility/ote-cr-spot-prices/"
language: de
lastmod: 2026-10-14
generator: hugo
ai:
  topics: ["http","spot-prices","energy-market","electricity","data-service","data-pp"]
  questions: ["Wie erhalte ich tschechische Strom-Spotpreise in TapHome?","Wie funktioniert die OTE-CR-Spotpreis-Vorlage?","Wie rechne ich OTE-Spotpreise von EUR in CZK um?","Wie finde ich die günstigste Viertelstunde des Tages in TapHome?","Wie automatisiere ich Geräte basierend auf Strom-Spotpreisen?","Was ist das Gerät Wechselkurs in der OTE-CR-Vorlage?","Wie verknüpfe ich die OTE-CR-Vorlage mit dem ČNB-Wechselkurs?"]
---

# OTE-CR Spotpreise

Kommunikation: Packet Parser → HTTP

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

## Integrationsanleitung

OTE-CR (Operátor trhu s elektřinou) ist der tschechische Strom- und Gasmarktbetreiber. Die TapHome-Vorlage ruft Day-Ahead-Markt-Spotpreise von der öffentlichen OTE-CR-API ab und stellt sie als Geräte bereit — aktueller Preis, Tagesstatistiken, Rangfolge und Zeitfenster-Varianten. Die Preise werden in EUR pro MWh veröffentlicht und die Vorlage enthält eine integrierte Währungsumrechnungsvariable zur Anzeige der Werte in CZK.

Die Vorlage fragt die OTE-CR-API einmal pro Stunde ab und liest die Ergebnisse des Day-Ahead-Markts für den aktuellen Liefertag: 96 Preise, einen für jeden 15-Minuten-Zeitraum des Tages (Zeiträume mit Beginn 00:00–23:45; Zeitraum 1 = 00:00–00:15, Zeitraum 96 = 23:45–24:00). Es ist keine Authentifizierung erforderlich — der API-Endpunkt ist öffentlich.

## Konfiguration

Beim Import der Vorlage verbindet sich TapHome mit `www.ote-cr.cz` über HTTPS (Port 443). Es werden keine IP-Adresse und keine Anmeldedaten benötigt — der Endpunkt ist fest vorgegeben.

Zwei optionale Importparameter steuern die Zeitfenster-Geräte:

- **From** — Startstunde (0–23, Standard: 9) für den Zeitfensterfilter
- **To** — Endstunde (0–23, Standard: 17) für den Zeitfensterfilter

Die Standardwerte (9–17) decken die Standardarbeitszeiten ab. Passen Sie sie an Ihr bevorzugtes Analysefenster an.

Nach dem Import steht die Variable `kurz` (angezeigt und bearbeitbar über das Gerät **Wechselkurs**) standardmäßig auf 1 — das bedeutet, dass alle Preisgeräte die rohen EUR/MWh-Werte anzeigen. Setzen Sie ihn auf den aktuellen EUR/CZK-Kurs (z. B. 25,2), damit alle Preisgeräte Werte in CZK ausgeben. Sie können ihn manuell im Gerätedetail festlegen oder mit der Vorlage **ČNB-Wechselkurs** für automatische tägliche Aktualisierungen verknüpfen (siehe unten).

## Gerätefunktionen

### Aktueller Preis

Das Gerät **Aktueller Preis** liest den Spotpreis für den aktuellen 15-Minuten-Zeitraum. Die Vorlage bestimmt den aktiven Zeitraum anhand der Systemuhr und multipliziert den EUR-Wert mit dem Wechselkurs, um den Preis in CZK auszugeben.

### Preisrangfolge

- **Rang des aktuellen Zeitraums** — der Rang des Preises des aktuellen Zeitraums unter allen 96 Zeiträumen des Tages (1 = günstigster, 96 = teuerster)
- **Rang des aktuellen Zeitraums im Zeitfenster** — dieselbe Rangfolge, aber beschränkt auf das benutzerdefinierte Zeitfenster (From–To). Gibt NaN zurück, wenn der aktuelle Zeitraum außerhalb des Fensters liegt.

### Tägliche Preisstatistiken

- **Höchster Preis des Tages** — maximaler Spotpreis über alle Zeiträume, umgerechnet in CZK
- **Niedrigster Preis des Tages** — minimaler Spotpreis über alle Zeiträume, umgerechnet in CZK
- **Durchschnittlicher Preis des Tages** — arithmetisches Mittel der Preise aller Zeiträume, umgerechnet in CZK

### Zeitfenster-Preisstatistiken

Jede Tagesstatistik hat eine Zeitfenster-Variante, die Zeiträume auf den From–To-Bereich filtert:

- **Höchster Preis im Zeitfenster**
- **Niedrigster Preis im Zeitfenster**
- **Durchschnittlicher Preis im Zeitfenster**

Alle Zeitfenster-Geräte geben NaN zurück, wenn From >= To.

### Navigation durch Zeiträume

- **Günstigster Zeitraum des Tages** — die Nummer (1–96) des günstigsten 15-Minuten-Zeitraums des Tages
- **Günstigster verbleibender Zeitraum** — der günstigste 15-Minuten-Zeitraum ab der aktuellen Zeit
- **Anzahl der Zeiträume** — Gesamtzahl der 15-Minuten-Preiszeiträume in der API-Antwort (96 an einem normalen Tag)
- **Anzahl der Zeiträume im Zeitfenster** — Anzahl der Zeiträume im From–To-Bereich

### Wechselkurs

Das Gerät **Wechselkurs** ist das einzige Lese-/Schreibgerät in der Vorlage. Es speichert den EUR-CZK-Umrechnungskurs, der von allen Preisgeräten verwendet wird. Setzen Sie ihn manuell oder verknüpfen Sie ihn mit der Vorlage **ČNB-Wechselkurs** für automatische tägliche Aktualisierungen.

Wenn der Wechselkurs auf 1 gesetzt ist, geben alle Preisgeräte die rohen EUR-Werte aus.

## Serviceattribute

Die Vorlage stellt 96 Serviceattribute bereit (Zeitraum 1 bis Zeitraum 96), die jeweils den rohen Spotpreis in EUR für einen 15-Minuten-Zeitraum des aktuellen Liefertags anzeigen. Sie sind nützlich für Diagnosen oder zum Erstellen benutzerdefinierter Automatisierungen, die bestimmte Zeiträume des Tages überprüfen.

## Verknüpfung mit dem ČNB-Wechselkurs

Um die EUR-CZK-Umrechnung zu automatisieren:

1. Importieren Sie die Vorlage **ČNB-Wechselkurs** (Kurzy ČNB) in TapHome
2. Erstellen Sie in der OTE-CR-Vorlage eine Formel, die den EUR/CZK-Kurs vom ČNB-Gerät liest und in das Gerät **Wechselkurs** schreibt
3. Die ČNB-Vorlage aktualisiert den Kurs täglich, sodass alle OTE-CR-Preise automatisch den aktuellen Wechselkurs widerspiegeln

## Automatisierungsbeispiele

Spotpreise sind am nützlichsten in Kombination mit TapHome smart rules:

- **Wasser in den günstigsten Zeiträumen erwärmen** — vergleichen Sie den Rang des aktuellen Zeitraums mit einem Schwellenwert (z. B. Rang <= 8) und schalten Sie den Warmwasserbereiter nur während der 8 günstigsten 15-Minuten-Zeiträume (2 Stunden) des Tages ein
- **Batterien außerhalb der Spitzenzeiten laden** — verwenden Sie das Gerät Aktueller Preis, um die Batterieladung auszulösen, wenn der Preis unter einen konfigurierbaren Grenzwert fällt
- **Gerätelast verschieben** — verwenden Sie das Gerät Günstigster verbleibender Zeitraum, um Waschmaschinen, Geschirrspüler oder EV-Ladungen für den nächsten günstigsten Slot zu planen
- **Zeitfenster-Optimierung** — beschränken Sie die Automatisierung auf bestimmte Stunden (z. B. 6:00–22:00) mithilfe der Zeitfenster-Geräte, sodass Nachtzeiträume aus der Rangfolge ausgeschlossen werden

## Fehlerbehebung

### Alle Preise zeigen Null oder NaN

1. Stellen Sie sicher, dass die TapHome CCU Internetzugang hat (die Vorlage verbindet sich über HTTPS mit `www.ote-cr.cz`)
2. Überprüfen Sie das Gerät **Anzahl der Zeiträume** — wenn es 0 anzeigt, ist die API-Antwort leer oder das Parsen ist fehlgeschlagen
3. Stellen Sie sicher, dass das Gerät **Wechselkurs** auf einen Wert ungleich Null gesetzt ist — ein Kurs von 0 multipliziert alle Preise auf Null

### Zeitfenster-Geräte geben NaN zurück

1. Überprüfen Sie, ob die Importparameter From und To korrekt gesetzt sind (From muss kleiner als To sein)
2. Wenn die aktuelle Stunde außerhalb des From–To-Bereichs liegt, gibt das Rang-im-Fenster-Gerät NaN konstruktionsbedingt zurück

### Preise scheinen veraltet

Die Vorlage fragt die OTE-CR-API stündlich ab (3600 Sekunden). Die Day-Ahead-Marktpreise werden von OTE am Vortag veröffentlicht, typischerweise gegen 12:45 CET. Wenn die Preise des neuen Tages noch nicht sichtbar sind, warten Sie bis nach der Veröffentlichungszeit.

## Verfügbare Geräte 14

Diese Geräte erscheinen nach dem Import in TapHome.

OTE-CR Spotpreise Modul

Serviceattribute

|           |                                            |
|-----------|--------------------------------------------|
| Period 1  | Spotpreis für 15-Minuten-Zeitraum 1 (EUR)  |
| Period 2  | Spotpreis für 15-Minuten-Zeitraum 2 (EUR)  |
| Period 3  | Spotpreis für 15-Minuten-Zeitraum 3 (EUR)  |
| Period 4  | Spotpreis für 15-Minuten-Zeitraum 4 (EUR)  |
| Period 5  | Spotpreis für 15-Minuten-Zeitraum 5 (EUR)  |
| Period 6  | Spotpreis für 15-Minuten-Zeitraum 6 (EUR)  |
| Period 7  | Spotpreis für 15-Minuten-Zeitraum 7 (EUR)  |
| Period 8  | Spotpreis für 15-Minuten-Zeitraum 8 (EUR)  |
| Period 9  | Spotpreis für 15-Minuten-Zeitraum 9 (EUR)  |
| Period 10 | Spotpreis für 15-Minuten-Zeitraum 10 (EUR) |
| Period 11 | Spotpreis für 15-Minuten-Zeitraum 11 (EUR) |
| Period 12 | Spotpreis für 15-Minuten-Zeitraum 12 (EUR) |
| Period 13 | Spotpreis für 15-Minuten-Zeitraum 13 (EUR) |
| Period 14 | Spotpreis für 15-Minuten-Zeitraum 14 (EUR) |
| Period 15 | Spotpreis für 15-Minuten-Zeitraum 15 (EUR) |
| Period 16 | Spotpreis für 15-Minuten-Zeitraum 16 (EUR) |
| Period 17 | Spotpreis für 15-Minuten-Zeitraum 17 (EUR) |
| Period 18 | Spotpreis für 15-Minuten-Zeitraum 18 (EUR) |
| Period 19 | Spotpreis für 15-Minuten-Zeitraum 19 (EUR) |
| Period 20 | Spotpreis für 15-Minuten-Zeitraum 20 (EUR) |
| Period 21 | Spotpreis für 15-Minuten-Zeitraum 21 (EUR) |
| Period 22 | Spotpreis für 15-Minuten-Zeitraum 22 (EUR) |
| Period 23 | Spotpreis für 15-Minuten-Zeitraum 23 (EUR) |
| Period 24 | Spotpreis für 15-Minuten-Zeitraum 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 |                                            |

Benutzerdefinierte Variablen

|                      |                                                                                                                             |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `From` (numeric) = 9 | Startstunde (0–23) des Zeitfensters für die Preisrangliste und Statistiken im Fenster                                       |
| `To` (numeric) = 17  | Endstunde (0–23) des Zeitfensters für die Preisrangliste und Statistiken im Fenster                                         |
| `kurz` (numeric) = 1 | EUR-CZK-Wechselkursmultiplikator — alle Preise werden mit diesem Wert multipliziert (auf den aktuellen EUR/CZK-Kurs setzen) |

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

Serviceattribute

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

Aktueller Preis Variable Nur lesen

Spotpreis des aktuellen 15-Minuten-Zeitraums, umgerechnet in CZK mithilfe der Wechselkursvariable

numeric Einheit: CZK json\_path

Lesen

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

Rang des aktuellen Zeitraums Variable Nur lesen

Rang des aktuellen 15-Minuten-Zeitraums unter allen 96 Zeiträumen des Tages (1 = günstigster)

numeric json\_path

Lesen

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

Rang des aktuellen Zeitraums im Zeitfenster Variable Nur lesen

Rang des aktuellen 15-Minuten-Zeitraums innerhalb des From–To-Zeitfensters (NaN falls außerhalb)

numeric json\_path

Lesen

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

Wechselkurs Variable Lesen und Schreiben

EUR-CZK-Umrechnungskurs — Lesen/Schreiben, von allen Preisgeräten verwendet

numeric Einheit: CZK/EUR

Lesen

```taphome
kurz
```

Schreiben

```taphome
kurz := Va
```

Höchster Preis des Tages Variable Nur lesen

Maximaler Spotpreis über alle Tageszeiträume (CZK)

numeric Einheit: CZK json\_path

Lesen

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

Höchster Preis im Zeitfenster Variable Nur lesen

Maximaler Spotpreis innerhalb des From–To-Zeitfensters (CZK)

numeric Einheit: CZK json\_path

Lesen

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

Niedrigster Preis des Tages Variable Nur lesen

Minimaler Spotpreis über alle Tageszeiträume (CZK)

numeric Einheit: CZK json\_path

Lesen

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

Niedrigster Preis im Zeitfenster Variable Nur lesen

Minimaler Spotpreis innerhalb des From–To-Zeitfensters (CZK)

numeric Einheit: CZK json\_path

Lesen

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

Günstigster Zeitraum des Tages Variable Nur lesen

Nummer (1–96) des günstigsten 15-Minuten-Zeitraums des Tages

numeric json\_path

Lesen

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

Günstigster verbleibender Zeitraum Variable Nur lesen

Nummer des günstigsten 15-Minuten-Zeitraums ab der aktuellen Zeit

numeric json\_path

Lesen

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

Anzahl der Zeiträume Variable Nur lesen

Gesamtzahl der verfügbaren Preiszeiträume (typischerweise 96)

numeric json\_path

Lesen

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

Anzahl der Zeiträume im Zeitfenster Variable Nur lesen

Anzahl der Zeiträume innerhalb des From–To-Zeitfensters

numeric json\_path

Lesen

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

Durchschnittlicher Preis des Tages Variable Nur lesen

Durchschnittlicher Spotpreis über alle Tageszeiträume (CZK)

numeric Einheit: CZK json\_path

Lesen

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

Durchschnittlicher Preis im Zeitfenster Variable Nur lesen

Durchschnittlicher Spotpreis innerhalb des From–To-Zeitfensters (CZK)

numeric Einheit: CZK json\_path

Lesen

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

**Verbindung:** Packet Parser → HTTP

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

