TapHome

OTE-CR Spotpreise

Packet Parser → HTTP
Eingereicht von
Zuletzt aktualisiert: 03. 2026

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 ruft bis zu 96 stündliche Preiszeiträume ab (4 Tage an Daten). 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 Wechselkurs (kurz) 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 die aktuelle Stunde. 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 aktuellen Stundenpreises unter allen Tageszeiträumen (1 = günstigster, 24 = teuerster)
  • Rang des aktuellen Zeitraums im Zeitfenster — dieselbe Rangfolge, aber beschränkt auf das benutzerdefinierte Zeitfenster (From–To). Gibt NaN zurück, wenn die aktuelle Stunde 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 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.

  • Günstigster Zeitraum des Tages — die 1-basierte Zeitraumnummer der günstigsten Stunde des Tages
  • Günstigster verbleibender Zeitraum — die günstigste Stunde ab der aktuellen Zeit
  • Anzahl der Zeiträume — Gesamtzahl der verfügbaren Preiszeiträume (typischerweise 96)
  • 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 den entsprechenden Stundenslot anzeigen. Diese decken ungefähr 4 Tage an Day-Ahead-Marktdaten ab und sind nützlich für Diagnosen oder zum Erstellen benutzerdefinierter Automatisierungen, die bestimmte zukünftige Zeiträume ü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 Stunden erwärmen — vergleichen Sie den Rang des aktuellen Zeitraums mit einem Schwellenwert (z. B. Rang <= 4) und schalten Sie den Warmwasserbereiter nur während der 4 günstigsten 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

OTE-CR Spotpreise Modul
Serviceattribute
Period 1Spotpreis für Stunde 1 (EUR)
Period 2Spotpreis für Stunde 2 (EUR)
Period 3Spotpreis für Stunde 3 (EUR)
Period 4Spotpreis für Stunde 4 (EUR)
Period 5Spotpreis für Stunde 5 (EUR)
Period 6Spotpreis für Stunde 6 (EUR)
Period 7Spotpreis für Stunde 7 (EUR)
Period 8Spotpreis für Stunde 8 (EUR)
Period 9Spotpreis für Stunde 9 (EUR)
Period 10Spotpreis für Stunde 10 (EUR)
Period 11Spotpreis für Stunde 11 (EUR)
Period 12Spotpreis für Stunde 12 (EUR)
Period 13Spotpreis für Stunde 13 (EUR)
Period 14Spotpreis für Stunde 14 (EUR)
Period 15Spotpreis für Stunde 15 (EUR)
Period 16Spotpreis für Stunde 16 (EUR)
Period 17Spotpreis für Stunde 17 (EUR)
Period 18Spotpreis für Stunde 18 (EUR)
Period 19Spotpreis für Stunde 19 (EUR)
Period 20Spotpreis für Stunde 20 (EUR)
Period 21Spotpreis für Stunde 21 (EUR)
Period 22Spotpreis für Stunde 22 (EUR)
Period 23Spotpreis für Stunde 23 (EUR)
Period 24Spotpreis für Stunde 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) = 9Start hour (0–23) of the time window for windowed price ranking and statistics
To (numeric) = 17End hour (0–23) of the time window for windowed price ranking and statistics
kurz (numeric) = 1EUR to CZK exchange rate multiplier — all prices are multiplied by this value (set to current rate, e.g. 25.2)

ote-cr

Lesen (Modul)
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
PARSEJSON(output, "$.data.dataLine[1].point[0].y") + " EUR"
Perioda 2
PARSEJSON(output, "$.data.dataLine[1].point[1].y") + " EUR"
Perioda 3
PARSEJSON(output, "$.data.dataLine[1].point[2].y") + " EUR"
Perioda 4
PARSEJSON(output, "$.data.dataLine[1].point[3].y") + " EUR"
Perioda 5
PARSEJSON(output, "$.data.dataLine[1].point[4].y") + " EUR"
Perioda 6
PARSEJSON(output, "$.data.dataLine[1].point[5].y") + " EUR"
Perioda 7
PARSEJSON(output, "$.data.dataLine[1].point[6].y") + " EUR"
Perioda 8
PARSEJSON(output, "$.data.dataLine[1].point[7].y") + " EUR"
Perioda 9
PARSEJSON(output, "$.data.dataLine[1].point[8].y") + " EUR"
Perioda 10
PARSEJSON(output, "$.data.dataLine[1].point[9].y") + " EUR"
Perioda 11
PARSEJSON(output, "$.data.dataLine[1].point[10].y") + " EUR"
Perioda 12
PARSEJSON(output, "$.data.dataLine[1].point[11].y") + " EUR"
Perioda 13
PARSEJSON(output, "$.data.dataLine[1].point[12].y") + " EUR"
Perioda 14
PARSEJSON(output, "$.data.dataLine[1].point[13].y") + " EUR"
Perioda 15
PARSEJSON(output, "$.data.dataLine[1].point[14].y") + " EUR"
Perioda 16
PARSEJSON(output, "$.data.dataLine[1].point[15].y") + " EUR"
Perioda 17
PARSEJSON(output, "$.data.dataLine[1].point[16].y") + " EUR"
Perioda 18
PARSEJSON(output, "$.data.dataLine[1].point[17].y") + " EUR"
Perioda 19
PARSEJSON(output, "$.data.dataLine[1].point[18].y") + " EUR"
Perioda 20
PARSEJSON(output, "$.data.dataLine[1].point[19].y") + " EUR"
Perioda 21
PARSEJSON(output, "$.data.dataLine[1].point[20].y") + " EUR"
Perioda 22
PARSEJSON(output, "$.data.dataLine[1].point[21].y") + " EUR"
Perioda 23
PARSEJSON(output, "$.data.dataLine[1].point[22].y") + " EUR"
Perioda 24
PARSEJSON(output, "$.data.dataLine[1].point[23].y") + " EUR"
Perioda 25
PARSEJSON(output, "$.data.dataLine[1].point[24].y") + " EUR"
Perioda 26
PARSEJSON(output, "$.data.dataLine[1].point[25].y") + " EUR"
Perioda 27
PARSEJSON(output, "$.data.dataLine[1].point[26].y") + " EUR"
Perioda 28
PARSEJSON(output, "$.data.dataLine[1].point[27].y") + " EUR"
Perioda 29
PARSEJSON(output, "$.data.dataLine[1].point[28].y") + " EUR"
Perioda 30
PARSEJSON(output, "$.data.dataLine[1].point[29].y") + " EUR"
Perioda 31
PARSEJSON(output, "$.data.dataLine[1].point[30].y") + " EUR"
Perioda 32
PARSEJSON(output, "$.data.dataLine[1].point[31].y") + " EUR"
Perioda 33
PARSEJSON(output, "$.data.dataLine[1].point[32].y") + " EUR"
Perioda 34
PARSEJSON(output, "$.data.dataLine[1].point[33].y") + " EUR"
Perioda 35
PARSEJSON(output, "$.data.dataLine[1].point[34].y") + " EUR"
Perioda 36
PARSEJSON(output, "$.data.dataLine[1].point[35].y") + " EUR"
Perioda 37
PARSEJSON(output, "$.data.dataLine[1].point[36].y") + " EUR"
Perioda 38
PARSEJSON(output, "$.data.dataLine[1].point[37].y") + " EUR"
Perioda 39
PARSEJSON(output, "$.data.dataLine[1].point[38].y") + " EUR"
Perioda 40
PARSEJSON(output, "$.data.dataLine[1].point[39].y") + " EUR"
Perioda 41
PARSEJSON(output, "$.data.dataLine[1].point[40].y") + " EUR"
Perioda 42
PARSEJSON(output, "$.data.dataLine[1].point[41].y") + " EUR"
Perioda 43
PARSEJSON(output, "$.data.dataLine[1].point[42].y") + " EUR"
Perioda 44
PARSEJSON(output, "$.data.dataLine[1].point[43].y") + " EUR"
Perioda 45
PARSEJSON(output, "$.data.dataLine[1].point[44].y") + " EUR"
Perioda 46
PARSEJSON(output, "$.data.dataLine[1].point[45].y") + " EUR"
Perioda 47
PARSEJSON(output, "$.data.dataLine[1].point[46].y") + " EUR"
Perioda 48
PARSEJSON(output, "$.data.dataLine[1].point[47].y") + " EUR"
Perioda 49
PARSEJSON(output, "$.data.dataLine[1].point[48].y") + " EUR"
Perioda 50
PARSEJSON(output, "$.data.dataLine[1].point[49].y") + " EUR"
Perioda 51
PARSEJSON(output, "$.data.dataLine[1].point[50].y") + " EUR"
Perioda 52
PARSEJSON(output, "$.data.dataLine[1].point[51].y") + " EUR"
Perioda 53
PARSEJSON(output, "$.data.dataLine[1].point[52].y") + " EUR"
Perioda 54
PARSEJSON(output, "$.data.dataLine[1].point[53].y") + " EUR"
Perioda 55
PARSEJSON(output, "$.data.dataLine[1].point[54].y") + " EUR"
Perioda 56
PARSEJSON(output, "$.data.dataLine[1].point[55].y") + " EUR"
Perioda 57
PARSEJSON(output, "$.data.dataLine[1].point[56].y") + " EUR"
Perioda 58
PARSEJSON(output, "$.data.dataLine[1].point[57].y") + " EUR"
Perioda 59
PARSEJSON(output, "$.data.dataLine[1].point[58].y") + " EUR"
Perioda 60
PARSEJSON(output, "$.data.dataLine[1].point[59].y") + " EUR"
Perioda 61
PARSEJSON(output, "$.data.dataLine[1].point[60].y") + " EUR"
Perioda 62
PARSEJSON(output, "$.data.dataLine[1].point[61].y") + " EUR"
Perioda 63
PARSEJSON(output, "$.data.dataLine[1].point[62].y") + " EUR"
Perioda 64
PARSEJSON(output, "$.data.dataLine[1].point[63].y") + " EUR"
Perioda 65
PARSEJSON(output, "$.data.dataLine[1].point[64].y") + " EUR"
Perioda 66
PARSEJSON(output, "$.data.dataLine[1].point[65].y") + " EUR"
Perioda 67
PARSEJSON(output, "$.data.dataLine[1].point[66].y") + " EUR"
Perioda 68
PARSEJSON(output, "$.data.dataLine[1].point[67].y") + " EUR"
Perioda 69
PARSEJSON(output, "$.data.dataLine[1].point[68].y") + " EUR"
Perioda 70
PARSEJSON(output, "$.data.dataLine[1].point[69].y") + " EUR"
Perioda 71
PARSEJSON(output, "$.data.dataLine[1].point[70].y") + " EUR"
Perioda 72
PARSEJSON(output, "$.data.dataLine[1].point[71].y") + " EUR"
Perioda 73
PARSEJSON(output, "$.data.dataLine[1].point[72].y") + " EUR"
Perioda 74
PARSEJSON(output, "$.data.dataLine[1].point[73].y") + " EUR"
Perioda 75
PARSEJSON(output, "$.data.dataLine[1].point[74].y") + " EUR"
Perioda 76
PARSEJSON(output, "$.data.dataLine[1].point[75].y") + " EUR"
Perioda 77
PARSEJSON(output, "$.data.dataLine[1].point[76].y") + " EUR"
Perioda 78
PARSEJSON(output, "$.data.dataLine[1].point[77].y") + " EUR"
Perioda 79
PARSEJSON(output, "$.data.dataLine[1].point[78].y") + " EUR"
Perioda 80
PARSEJSON(output, "$.data.dataLine[1].point[79].y") + " EUR"
Perioda 81
PARSEJSON(output, "$.data.dataLine[1].point[80].y") + " EUR"
Perioda 82
PARSEJSON(output, "$.data.dataLine[1].point[81].y") + " EUR"
Perioda 83
PARSEJSON(output, "$.data.dataLine[1].point[82].y") + " EUR"
Perioda 84
PARSEJSON(output, "$.data.dataLine[1].point[83].y") + " EUR"
Perioda 85
PARSEJSON(output, "$.data.dataLine[1].point[84].y") + " EUR"
Perioda 86
PARSEJSON(output, "$.data.dataLine[1].point[85].y") + " EUR"
Perioda 87
PARSEJSON(output, "$.data.dataLine[1].point[86].y") + " EUR"
Perioda 88
PARSEJSON(output, "$.data.dataLine[1].point[87].y") + " EUR"
Perioda 89
PARSEJSON(output, "$.data.dataLine[1].point[88].y") + " EUR"
Perioda 90
PARSEJSON(output, "$.data.dataLine[1].point[89].y") + " EUR"
Perioda 91
PARSEJSON(output, "$.data.dataLine[1].point[90].y") + " EUR"
Perioda 92
PARSEJSON(output, "$.data.dataLine[1].point[91].y") + " EUR"
Perioda 93
PARSEJSON(output, "$.data.dataLine[1].point[92].y") + " EUR"
Perioda 94
PARSEJSON(output, "$.data.dataLine[1].point[93].y") + " EUR"
Perioda 95
PARSEJSON(output, "$.data.dataLine[1].point[94].y") + " EUR"
Perioda 96
PARSEJSON(output, "$.data.dataLine[1].point[95].y") + " EUR"
Aktueller Preis Variable Nur lesen

Spotpreis der aktuellen Stunde, umgerechnet in CZK mithilfe der Wechselkursvariable

numeric Einheit: CZK json_path

Aktueller Preis

Lesen
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 der aktuellen Stunde unter allen Tageszeiträumen (1 = günstigster)

numeric json_path

Rang des aktuellen Zeitraums

Lesen
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 der aktuellen Stunde innerhalb des From–To-Zeitfensters (NaN falls außerhalb)

numeric json_path

Rang des aktuellen Zeitraums im Zeitfenster

Lesen
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

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

numeric Einheit: CZK/EUR

Wechselkurs

Lesen
kurz
Schreiben
kurz := Va
Höchster Preis des Tages Variable Nur lesen

Maximaler Spotpreis über alle Tageszeiträume (CZK)

numeric Einheit: CZK json_path

Höchster Preis des Tages

Lesen
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

Höchster Preis im Zeitfenster

Lesen
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

Niedrigster Preis des Tages

Lesen
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

Niedrigster Preis im Zeitfenster

Lesen
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

Zeitraumnummer (1-basiert) der günstigsten Stunde des Tages

numeric json_path

Günstigster Zeitraum des Tages

Lesen
var prices := PARSEJSON(output, "$.data.dataLine[1].point..y");
GETAT(ORDERINDEX(prices), 0) +1
Günstigster verbleibender Zeitraum Variable Nur lesen

Zeitraumnummer der günstigsten Stunde ab der aktuellen Zeit

numeric json_path

Günstigster verbleibender Zeitraum

Lesen
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

Anzahl der Zeiträume

Lesen
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

Anzahl der Zeiträume im Zeitfenster

Lesen
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

Durchschnittlicher Preis des Tages

Lesen
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

Durchschnittlicher Preis im Zeitfenster

Lesen
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