Dynamische Preise
Der Preis Ihres Versorgers ändert sich alle 15 Minuten; auf dieser Seite sehen Sie, wie hoch er jetzt ist, woher er stammt und was er für jede Periode war, die der Hub bereits verbucht hat.
Wo sie zu finden ist: Management → Prices im Menü, nach Points und Tariffs. Die Seite ist nur vorhanden, wenn der Hub meldet, dass er dynamische Preise kann – Hub-Firmware 1.2.0 oder neuer. Auf einem älteren Hub fehlt der Menüpunkt, und wer die Adresse direkt öffnet, wird darauf hingewiesen, statt dass der Hub überhaupt abgefragt wird.
Sie braucht eine direkte Verbindung zum Hub. Wird sie auf anderem Weg aufgerufen, sagt die Seite: "Dynamic prices are set over a direct connection to the hub."

Wie der Preis tatsächlich zustande kommt – der Anbieter, das Backup, Ihr Tarif als Ersatz und was Ihr Vertrag mit einem Marktpreis macht – steht auf einer anderen Seite: Woher Ihr Preis kommt.
Price now

Der Chip zeigt den Zustand, und daneben steht die Quelle, die tatsächlich verwendet wird:
| Der Chip zeigt | Das bedeutet |
|---|---|
| Price from the primary provider | der übliche Fall |
| Price from the backup provider | der primäre Anbieter hat im Moment keinen Preis |
| Tomorrow's prices not in yet | nach 15:00 UTC, und morgen ist noch nichts eingetroffen |
| No price from Home Assistant | Home Assistant ist die Quelle, und nichts, was es gesendet hat, deckt jetzt ab |
| No price: the plan applies | nichts Gespeichertes deckt jetzt ab, daher bepreist der Zonensatz des Tarifs es |
| Dynamic price off | der Tarif bepreist alles |
Jeder Zustand außer den ersten beiden hat darunter eine Zeile, die erklärt, was zu tun ist, und die Seite sagt klar, welche Quelle sie verwendet – bis hin zu "in use: the tariff plan", wenn das die Antwort ist.
Die Zahlen. Der Kaufpreis gilt für die daneben genannte Periode und ist der All-in-Preis: was eine Kilowattstunde in dieser Periode Sie tatsächlich kostet, mit Ihrem Vertrag und den Entgelten bereits darin. Darunter steht, wo die Periode im Tag liegt: "No. 9 of 96 today, cheapest first" – die für diesen Block nützlichste Zahl, denn sie macht aus einem Preis ein Urteil, ohne dass Sie wissen müssen, was in dieser Woche ein guter Preis ist. Prices known until zeigt, wie weit der Hub im Voraus Daten hat.
Die beiden Chips rechts wiederholen, was der Hub gerade an Automationen veröffentlicht: siehe unten Notification flags.
Die beiden Abrufzeilen sind nicht immer beide da, und ihr Fehlen ist eine Information. Last fetched erscheint, sobald der Hub seit dem Start abgerufen hat; auf einem Hub, der gerade neu gestartet ist, fehlt sie also. Next fetch erscheint nur, während der Hub einen erneuten Versuch macht – morgen noch nicht veröffentlicht, ein Fehler oder keine Daten für Ihre Zone. Im normalen Zustand gibt es nichts zu planen, und die Zeile fehlt; das heißt: Ein fehlendes Next fetch ist der Normalfall und kein Zeichen dafür, dass der Abruf gestoppt wurde.
Die Quellenangabe ist der eigene Wortlaut des Anbieters und ein Link zu dessen Bedingungen. Sie ist keine Verzierung – sie ist die Bedingung, unter der die Daten bereitgestellt werden, und sie sagt Ihnen, was Sie vor sich haben.
Wenn der Abruf fehlschlägt
Unter den Abrufzeiten steht in Rot: "Last fetch failed:" und der Grund in den Worten der App – keine Verbindung zum Anbieter · der Anbieter hat mit einem Fehler geantwortet · die Antwort des Anbieters konnte nicht gelesen werden · der Anbieter hat das Token abgelehnt · keine Preise für diese Zone · zu viele Anfragen, der Hub versucht es später erneut.

Das Backup erfüllt hier seinen Zweck: Der primäre Anbieter hat geantwortet, dass er für diese Zone nichts hat, und der Hub hat mit der zweiten Quelle weitergemacht, statt auf den Tarif zurückzufallen.


Heute und morgen

Eine Stufe pro 15-Minuten-Periode, der All-in-Kaufpreis, über heute und morgen, mit now markiert. Die gestrichelte Linie ist der Verkaufspreis; der Schalter in der Blockkopfzeile blendet sie aus, und sie erscheint überhaupt nur, wenn eine Periode einen Verkaufspreis hat.
Der Streifen unter der Achse ist der Teil, den man lesen lernen sollte. Er markiert die Perioden, die nicht von Ihrer primären Quelle bepreist wurden: braun für das Backup oder Home Assistant, und eine eigene Markierung für Perioden, die der Tarif bepreist hat, weil nichts sie abdeckte. Ein Diagramm ohne Streifen ist ein Tag, der ganz auf Marktpreisen beruht; ein Streifen an einem Ende bedeutet meist, dass die Preise verspätet eintrafen und der Tarif die Lücke füllte.
Bevor morgen veröffentlicht ist, sagt das Diagramm das, statt kaputt auszusehen:

⚠️ Eine leere zweite Hälfte vor Mitte des Nachmittags ist normal. Die Day-ahead-Preise für morgen gibt es noch nicht. Der Hub beginnt um 11:00 UTC zu fragen, und sie treffen meist nach 13:00 CET ein; er versucht es von selbst weiter.
Woher der Preis kommt
Die Einstellungen. Use a dynamic price ist aus, bis Sie es einschalten, und alles Weitere darunter erscheint nur, solange es an ist. Ausgeschaltet sagt die Seite, was das bedeutet: Energie wird nach dem Tarif bepreist – und Preise, die aus Home Assistant übermittelt wurden, gelten weiterhin, als Spotpreis.

Provider und Backup provider kommen aus der eigenen Liste des Hubs, und das Backup bietet None an. Ein All-in-Anbieter ist mit · all-in hinter seinem Namen aufgeführt – dort lesen Sie die Art eines Anbieters ab, denn bei einem Netzanbieter entscheidet der Hub sie, und Sie können sie nicht ändern.
Price zone erscheint nur für Netzanbieter. Sind zwei gesetzt, enthält die Liste nur die Zonen, die beide bedienen, jede mit ihrer Währung.
⚠️ Eine Zone in einer anderen Währung als Ihr Tarif wird vom Hub abgelehnt. Das Feld wird rot und sagt, welche Währung jede hat. Der Hub rechnet nichts um: Stellen Sie zuerst die Währung des Tarifs unter Tariffs ein und wählen Sie dann die Zone. Die App lässt Sie auf Save drücken; der Hub ist es, der Nein sagt.
What Home Assistant sends – spot oder all-in – erscheint nur, wenn Home Assistant Anbieter oder Backup ist. Hier, und nur hier, müssen Sie die All-in-Frage selbst beantworten. Stellen Sie es falsch ein, ist jede Kostenangabe in der App mit falsch, denn einem Spotpreis werden Ihre Steuern und die MwSt. hinzugerechnet, einem All-in-Preis dürfen sie nicht hinzugerechnet werden.
Your contract nennt die angewendete Formel in einer Zeile, für die jeweils geltende Art. Bei einer Spotquelle folgen darauf Factor, Markup und ein Schalter, um den Zonensatz des Tarifs obendrauf zu addieren – der letzte dient für zeitabhängige Netzentgelte, etwa einen günstigeren Netztarif nachts, der auf einem Marktpreis aufsitzt.

Bei einer All-in-Quelle ist die Formelzeile die ganze Geschichte, und es gibt keine Vertragsfelder: Vom Tarif wird nichts hinzugefügt – genau das verhindert, dass Steuern doppelt gezählt werden.
Bill at the hourly mean, die beiden Untergrenzen und der Modus export price gelten in beiden Fällen. Was jedes davon tut und wann Sie es wollen, steht unter Woher Ihr Preis kommt.
Cheap windows
Der Hub ermittelt, wann der Preis niedrig ist, und sagt es – in der Benachrichtigung, im Ereignisprotokoll und über MQTT.
⚠️ Er schaltet selbst nichts. Ein Zeitfenster ist eine Aussage, keine Handlung; eine Automation an anderer Stelle handelt danach.

Jede Zeile trägt ihren Zustand als Chip – on until, next, not today, waiting for the price, none left before, off – und eine einzeilige Beschreibung der Regel in Worten. Bis zu acht; bei acht zeigt die Schaltfläche Up to 8 windows an und bleibt dann stehen.

Die drei Arten, jede mit der eigenen Beschreibung der App, wofür sie gedacht ist:
| Kind | Wofür |
|---|---|
| Cheapest periods in a time span | eine Last, die jederzeit innerhalb eines Zeitraums laufen kann, etwa ein Warmwasserspeicher |
| Cheapest periods before a time | eine Last, die bis zu einer Uhrzeit fertig sein muss, etwa ein E-Auto bis 07:00 |
| Price below a level | Laufen, wann immer der Preis unter einem Wert liegt, den Sie nennen |
Im Dialog ist das Feld Kind schmal und schneidet den Text auf "Cheapest p…" ab. Beide Arten für günstigste Perioden beginnen gleich, lesen Sie also die Beschreibung darunter – sie ist der Satz, der sie unterscheidet.
Periods of 15 min ist die gewünschte Laufzeit, Ihnen in Stunden zurückgezeigt. In one block verlangt den günstigsten ununterbrochenen Lauf statt der günstigsten verstreuten Einzelperioden – der Unterschied zwischen einer Stunde Heizen und vier getrennten.
Beim Löschen eines Zeitfensters warnt die App, was es kostet: "Automations that follow it stop getting its on/off."
Notification flags

Zwei Werte, die als Markierungen in der Benachrichtigung veröffentlicht werden, damit Automationen sie lesen. Cheap now, wenn der Kaufpreis unter Ihrem Wert liegt; Low export price, wenn der Verkaufspreis darunter liegt – ein Zeichen, die Energie zu nutzen, statt sie einzuspeisen.
Anders als ein Zeitfenster hat eine Markierung keine Hysterese und keinen Ausblick: Sie ist eine Aussage über den Preis genau in dieser Minute. Was die Benachrichtigung enthält und wie man sie richtig verwendet, steht unter Wann Energie am günstigsten ist.
Import peaks

Der höchste Bezug am Netzeingang in diesem Abrechnungszeitraum, alle Phasen zusammen, als Leistung. Der Block sagt in einer Zeile, wofür er da ist – Leistungstarife werden nach Werten wie diesen abgerechnet – und sofort, was er nicht ist: nur Messung, er verändert in der App kein Geld.
Drei Werte für den aktuellen Zyklus und dieselben drei für den vorherigen, dazu die Stunde, die gerade aufsummiert wird. Cycle starts on ist ein Tag von 1 bis 28; wenn Sie ihn ändern, warnt die App, dass ein neuer Zyklus sofort beginnt und die aktuellen Werte nach previous wandern. Reset leert diesen Zyklus und beginnt wieder mit dem Zählen.
Was jeder Wert bedeutet, warum die Tagesgrenze 28 ist und warum er nicht genau mit der Zahl Ihres Versorgers übereinstimmt: Die höchsten 15 Minuten des Monats.
Applied prices

Der Preis, mit dem der Hub jede abgeschlossene 15-Minuten-Periode tatsächlich verbucht hat, 40 Tage lang aufbewahrt, mit der Herkunft dieses Preises: primärer Anbieter, Backup-Anbieter, Home Assistant oder Tarif – und · hourly mean, wo die Stundeneinstellung Ihres Vertrags die Abrechnung vorgenommen hat.
Download CSV liefert einen Tag als rbgrid_prices_YYYY-MM-DD.csv, mit der Startzeit in der eigenen Zeit des Hubs, dem All-in-Kaufpreis, dem Verkaufspreis und der Quelle.
🔑 Dies ist der Block, der eine Kostenangabe überprüfbar macht, statt etwas, das man glauben muss. Alles andere auf der Seite sagt Ihnen, was der Preis ist; dieser sagt Ihnen, was Ihnen tatsächlich berechnet wurde, Periode für Periode, mit seiner Herkunft – und 40 Tage reichen, damit man ihn noch hat, wenn eine Abrechnung eintrifft.
Lange Tage werden seitenweise angezeigt: Der Hub sendet bis zu 400 Perioden auf einmal, und die Tabelle sagt es, wenn es mehr sind.
⚠️ Ein Tag kann weniger als 96 Zeilen haben, und das ist kein verlorener Preis. Das Protokoll verzeichnet die Perioden, in denen der Hub lief. Ein Neustart, ein Update oder ein Stromausfall hinterlässt eine Lücke – einzelne Perioden oder eine ganze Stunde –, und die Lücke bedeutet, dass der Hub nicht da war, nicht dass ein Preis verloren ging. Energie, die über eine solche Unterbrechung gemessen wurde, wird weiterhin gezählt; womit sie bepreist wurde, steht unter How cost is calculated.
Anderswo in der App
- Tariffs — solange ein dynamischer Preis eingeschaltet ist, sagt ein Hinweis oben das und erklärt, dass die Zonensätze unten jetzt nur dort gelten, wo der dynamische Preis keinen hat. Open prices führt zurück hierher; es ist die einzige Verbindung zwischen den beiden Seiten.
- Overview — die Karte Today zeigt Price now: dynamic mit dem geltenden Satz.
- Events — das Hub-Protokoll enthält die Preiszeilen: Konfigurationsänderungen, jeden Abruf, der Perioden gespeichert hat, Zustandsänderungen, Zeitfenster, die sich öffnen und schließen, und
FAIL price:mit seinem Grund.
Was zu prüfen ist, wenn etwas falsch aussieht
Der Menüpunkt Prices fehlt. Der Hub meldet keine dynamischen Preise, das heißt: Firmware älter als 1.2.0. Auf diesem Hub bepreist die Seite Tariffs die Energie.
Die Seite sagt, sie braucht eine direkte Verbindung. Sie wird über etwas aufgerufen, das keine direkte Verbindung zum Hub ist. Öffnen Sie den Hub über seine eigene Adresse.
Save ist ausgegraut. Entweder ist noch nichts geändert, oder ein Feld auf dem Bildschirm hat einen Fehler – am häufigsten keine gewählte Zone für einen Netzanbieter oder ein Backup, das auf denselben Anbieter wie der primäre eingestellt ist. Das Feld sagt, welches.
Ich habe auf Save gedrückt, und der Hub hat es abgelehnt. Die App prüft Bereiche und Formen; den Rest entscheidet der Hub und sagt, welches Feld er abgelehnt hat. Der übliche Fall ist eine Zone, die in einer anderen Währung als Ihr Tarif bepreist wird – der Hub rechnet nichts um. Zum Speichern ist außerdem ein Admin-Token nötig.
Die zweite Hälfte des Diagramms ist leer. Vor Mitte des Nachmittags ist das normal – morgen ist nicht veröffentlicht. Danach sagt der Zustandschip Tomorrow's prices not in yet, und die Abrufzeile sagt, warum.
Ein Abschnitt des Diagramms hat einen Streifen darunter. Diese Perioden wurden vom Backup, von Home Assistant oder vom Tarif bepreist. Das ist die Ersatzkette, die funktioniert, kein Fehler – wenn der Streifen aber den größten Teil des Tages ausmacht, liefert Ihre primäre Quelle nicht, und die Abrufzeile unter Price now sagt, was passiert ist.
Der Preis sieht richtig aus, aber meine Kosten wirken viel zu hoch. Ein All-in-Preis wird wie ein Spotpreis behandelt, sodass die Steuern und die MwSt. Ihres Tarifs auf einen Preis aufgeschlagen werden, der sie bereits enthielt. Bei einem Netzanbieter lesen Sie die Art in der Anbieterliste ab (· all-in); bei Home Assistant prüfen Sie What Home Assistant sends. → How cost is calculated
«No price from Home Assistant». Home Assistant ist die primäre Quelle, und nichts, was es übermittelt hat, deckt jetzt ab. Die Integration, die Preise sendet, hat aufgehört zu senden; der Hub behält, was er bekommen hat, und nicht mehr.
Ein Zeitfenster zeigt «waiting for the price». Die Regel braucht Preise für den Zeitraum, den sie betrachtet, und die sind noch nicht bekannt. Sie löst sich auf, wenn sie eintreffen.
Ein Zeitfenster zeigt «none left before 07:00». Eine Regel vor einer Uhrzeit, die ihre günstigen Perioden für diesen Zyklus bereits verbraucht hat, oder der mehr Laufzeit abverlangt wird, als die verbleibenden Stunden hergeben.
Der Name des Zeitfensters wurde abgelehnt. Namen werden auf dem Hub gespeichert und sind auf 23 Byte begrenzt – ein kyrillischer Buchstabe zählt als zwei.
Die Spitzen sind leer, und der Zyklus hat nicht begonnen. Der Hub kennt die Uhrzeit noch nicht. Ein Zyklus ist ein Zeitraum lokaler Tage und kann ohne Uhr nicht beginnen. → Time
Das Protokoll hat keine Zeilen für einen Tag, der mich interessiert. Entweder ist er älter als 40 Tage, oder die Uhr des Hubs war damals nicht gestellt – Perioden, die vor dem Stellen der Uhr aufgezeichnet wurden, bekommen überhaupt keine Zeile. Die Lücke ist selbst die Antwort.
Die Spalten der CSV laufen in meiner Tabellenkalkulation ineinander. Das Trennzeichen richtet sich nach Ihrer Anzeigesprache: ein Semikolon, wo Dezimalstellen mit einem Komma geschrieben werden, sonst ein Komma. Öffnen Sie die Datei mit der passenden Sprachversion oder importieren Sie sie und wählen Sie das Trennzeichen.
⚠️ Für jede Arbeit im Inneren eines Elektrokastens einen qualifizierten Elektriker rufen.