[Beantwortet] [V4.0 IP4] Logging mit eigenem Zeitstempel
Forumsregeln
- Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS, CometVisu, Grafana, Edomi oder eine andere Software beteiligt ist, dann auch immer deren Version
- Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
- Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
- Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
[V4.0 IP4] Logging mit eigenem Zeitstempel
Ich frage mittels HTTP-API historische Daten zum Verbrauch von Tibber ab.
Diese geben immer den Verbrauch (kWh) einer Stunde aus, die in dieser Periode (1h) verbraucht worden sind.
Nun frage ich also ab. Es ist z.B. 13:30 Uhr und mich interessieren die Daten von 12-13 Uhr, um diese zu loggen. Würde ich sie direkt schreiben, wäre der Zeitstempel von dem Verbrauch von 12-13 Uhr aber 13:30 Uhr, was falsch wäre. Ich müsste also die Zeit des Eintrages beeinflussen können, um die Daten richtig zuordnen zu können.
(Ich darf natürlich nicht zu häufig abfragen. Am besten wäre eine Abfrage pro Stunde, definiert zu einer bestimmten Zeit. Da muss ich aber noch schauen, denn das gehört ja eher zur Abfrage als zu dieser Frage direkt.)
Ich habe schon gedacht, ich frage um 13 Uhr ab und nehme dann die Daten direkt und logge das mit dem Zeitstempel. Dann hätte ich immer passend zum Zeitstempel den Verbrauch der letzten Stunde. Da macht Tibber mir aber einen Strich durch die Rechnung, denn die Ausgabe ist eine Zeit lang noch "null". Wie lange die Zeit andauert, habe ich noch nicht rausgefunden. Also muss ich später irgendwann abfragen und dann passt der Zeitsempel des Eintrages nicht.
Macht das bereits jemand? Kann ich den Zeitstempel beim Eintragen oder später ändern, wenn ich das ganze loggen und Grafana darstellen möchte?
Viele Grüße
Nils
Diese geben immer den Verbrauch (kWh) einer Stunde aus, die in dieser Periode (1h) verbraucht worden sind.
Nun frage ich also ab. Es ist z.B. 13:30 Uhr und mich interessieren die Daten von 12-13 Uhr, um diese zu loggen. Würde ich sie direkt schreiben, wäre der Zeitstempel von dem Verbrauch von 12-13 Uhr aber 13:30 Uhr, was falsch wäre. Ich müsste also die Zeit des Eintrages beeinflussen können, um die Daten richtig zuordnen zu können.
(Ich darf natürlich nicht zu häufig abfragen. Am besten wäre eine Abfrage pro Stunde, definiert zu einer bestimmten Zeit. Da muss ich aber noch schauen, denn das gehört ja eher zur Abfrage als zu dieser Frage direkt.)
Ich habe schon gedacht, ich frage um 13 Uhr ab und nehme dann die Daten direkt und logge das mit dem Zeitstempel. Dann hätte ich immer passend zum Zeitstempel den Verbrauch der letzten Stunde. Da macht Tibber mir aber einen Strich durch die Rechnung, denn die Ausgabe ist eine Zeit lang noch "null". Wie lange die Zeit andauert, habe ich noch nicht rausgefunden. Also muss ich später irgendwann abfragen und dann passt der Zeitsempel des Eintrages nicht.
Macht das bereits jemand? Kann ich den Zeitstempel beim Eintragen oder später ändern, wenn ich das ganze loggen und Grafana darstellen möchte?
Viele Grüße
Nils
Zuletzt geändert von Parsley am Fr Sep 15, 2023 4:22 pm, insgesamt 1-mal geändert.
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
-
- Reactions:
- Beiträge: 3761
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1326 Mal
- Danksagung erhalten: 1755 Mal
Kann man machen dann müsstest das aber in einer eigenen InfluxDB ggf in einem Container gehostet machen. Die Daten vom TWS gehen mit dem Zeitstempel in die Datenbank mit dem sie registriert/geschrieben werden.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
Das wäre dann wohl doch zu kompliziert.
Dann würde ich wohl eher jede Minute abfragen und mal schauen, ab wann "null" zu einem Wert wird, ob das immer nach der gleichen Zeit ist und wie versetzt die Werte dann wären.
Angepasste Zeit wäre halt genial, da dann der Eintrag passt und nicht noch eine Beschreibung dazu muss, wie das zu deuten ist.
Viele Grüße
Nils
Dann würde ich wohl eher jede Minute abfragen und mal schauen, ab wann "null" zu einem Wert wird, ob das immer nach der gleichen Zeit ist und wie versetzt die Werte dann wären.
Angepasste Zeit wäre halt genial, da dann der Eintrag passt und nicht noch eine Beschreibung dazu muss, wie das zu deuten ist.
Viele Grüße
Nils
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
-
- Reactions:
- Beiträge: 257
- Registriert: Do Jan 20, 2022 6:15 pm
- Wohnort: Germering
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 168 Mal
- Kontaktdaten:
und wenn du alternativ die aWATTar API nimmst? Ich frage da jede Minuten den aktuellen Tarif ab, wegen Datenreduktion will ich das aber zukünftig getriggert zu jeder Stunde +1 und -1 Minute abfragen.
Die Börsenpreise sind ja identisch zu tibber. Lediglich die (regional auch abhängigen) Stromnebenkosten hat man da nicht.
Die Börsenpreise sind ja identisch zu tibber. Lediglich die (regional auch abhängigen) Stromnebenkosten hat man da nicht.
VG, Uwe
timberwolf765 VPN: closed Reboot: no
timberwolf765 VPN: closed Reboot: no
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
Das geht dafür leider nicht. Aktuelle Daten (nicht direkt auf meinen Anschluss bezogen) könnte ich von Awattar bekommen, aber ich bekomme aktuelle Daten von Tibber (Strompreis gesamt, Steuern, Energiepreis) und logge diese bereits.
Mir ging es hier um die Werte des Verbrauchs, die Tibber ausgibt. Diese kann man, da sie in der Vergangenheit liegen, nicht aktuell schreiben. Die Daten letzter Stunde sind für knapp 30 min. "null" (Kosten und Verbrauch) und erst nach knapp 30 min. hat man den Wert.
Diese Zeit ist aber nicht einmal fix. Gestern Nachmittag musste ich 34 Min. warten, eben war schon nach <=26 Min. der Wert da.
Der Wert der letzten Stunde ist somit also ca. eine halbe Stunde versetzt, da ich den Wert vorher nicht habe. Daher meine Frage, ob ich den Zeitstempel anpassen kann.
Ich frage inzwischen den web socket für die Livedaten ab (Node Red Docker). Somit bekomme ich den Zählerstand alle paar Sekunden.
Theoretisch könnte ich den aktuellen Wert (Kosten für die Stunde) speichern, sagen wir um xx:50 Uhr. Zum verrechnen wären dann 50 Minuten Zeit, bis der neue Wert kommt. Dann könnte ich direkt zur vollen Stunde den Zählerwert der letzten Stunde (muss zwischengespeichert werden) vom aktuellen Zählerwert abziehen und hätte den Verbrauch in kWh. Den könnte ich speichern und direkt mit den Kosten verrechnen, um diese stundenweise zu bekommen. Dann hätte ich direkt zur vollen Stunde den Verbrauch und die kosten der letzten Stunde. Klingt auch kompliziert und beim Stellen der Frage hatte ich auch nicht die Live-Daten.
Ich weiß nur noch nicht, wie ich die Daten zwischenspeichern könnte, da der TWS (noch?) keine internen Variablen unterstützt, soweit ich weiß.
Nun nutze ich für Tibber den TWS (HTTP-API-Abfrage) und Node Red Docker (Web Socket subscription). Da würde ich dann wohl auf (aktueller Stand) auf Edomi (App, also quasi auch Docker) setzen, um Daten zwischen zu speichern und dann an den TWS zu geben, um es zu loggen. Mit Edomi habe ich immerhin fast 8 Jahre Erfahrung.
Ich schaue mal. Robert (Robert-Mini) hat in einem anderen Thread auf eine Logik für die Auswertung des Verbrauchs (u.a.) hingewiesen. Ich prüfe vorher mal, ob das eine Alternative ist.
Viele Grüße
Nils
Mir ging es hier um die Werte des Verbrauchs, die Tibber ausgibt. Diese kann man, da sie in der Vergangenheit liegen, nicht aktuell schreiben. Die Daten letzter Stunde sind für knapp 30 min. "null" (Kosten und Verbrauch) und erst nach knapp 30 min. hat man den Wert.
Diese Zeit ist aber nicht einmal fix. Gestern Nachmittag musste ich 34 Min. warten, eben war schon nach <=26 Min. der Wert da.
Der Wert der letzten Stunde ist somit also ca. eine halbe Stunde versetzt, da ich den Wert vorher nicht habe. Daher meine Frage, ob ich den Zeitstempel anpassen kann.
Ich frage inzwischen den web socket für die Livedaten ab (Node Red Docker). Somit bekomme ich den Zählerstand alle paar Sekunden.
Theoretisch könnte ich den aktuellen Wert (Kosten für die Stunde) speichern, sagen wir um xx:50 Uhr. Zum verrechnen wären dann 50 Minuten Zeit, bis der neue Wert kommt. Dann könnte ich direkt zur vollen Stunde den Zählerwert der letzten Stunde (muss zwischengespeichert werden) vom aktuellen Zählerwert abziehen und hätte den Verbrauch in kWh. Den könnte ich speichern und direkt mit den Kosten verrechnen, um diese stundenweise zu bekommen. Dann hätte ich direkt zur vollen Stunde den Verbrauch und die kosten der letzten Stunde. Klingt auch kompliziert und beim Stellen der Frage hatte ich auch nicht die Live-Daten.
Ich weiß nur noch nicht, wie ich die Daten zwischenspeichern könnte, da der TWS (noch?) keine internen Variablen unterstützt, soweit ich weiß.
Nun nutze ich für Tibber den TWS (HTTP-API-Abfrage) und Node Red Docker (Web Socket subscription). Da würde ich dann wohl auf (aktueller Stand) auf Edomi (App, also quasi auch Docker) setzen, um Daten zwischen zu speichern und dann an den TWS zu geben, um es zu loggen. Mit Edomi habe ich immerhin fast 8 Jahre Erfahrung.
Ich schaue mal. Robert (Robert-Mini) hat in einem anderen Thread auf eine Logik für die Auswertung des Verbrauchs (u.a.) hingewiesen. Ich prüfe vorher mal, ob das eine Alternative ist.
Viele Grüße
Nils
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
-
- Reactions:
- Beiträge: 3761
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1326 Mal
- Danksagung erhalten: 1755 Mal
Jedes TWS - Objekt ist ja quasi eine interne Variable und da das ganze wie im KNX üblich, der letzte gewinnt passiert, kannst Dir das ganz gut im Lgikeditor zusammen bauen. Ein TWS Objekt bekommt den Lquasi Livestream mit den Zählerständen. Ein Objekt die Preise. Die Preise sind ja ausreichnd vor der nächsten Stunde bekannt. Mit einer dritten Logik aus einem Timer getriggert multiplizierst genau zur Minute 59 Sekunde 55 die beiden Werte und schon hast Zähler plus Kosten und der eine Baustein von Robert hat auch in der Custom,ogik einen quasi internen speicher und beredchnet Dir auch Delta Stunde Tag Woche Monat usw. Aus. Dabei greift dann nichts davon ruckwirkend auf eine Timeseries um sich Werte von vorhin zum Rechnen zu holen.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
Danke für die Beschreibung. Ich habe nun tatsächlich mal etwas damit gebastelt.
Um Werte zu Schreiben, nehme ich die Addition (ohne zweiten Wert), mit Trigger (cron). Ausschließlich zum Triggerzeitpunkt wird der Wert geschrieben.
1. Um xx:45:00 zu jeder Stunde schreibe ich den Preis der Kilowattstunde (aktuell). Dieser zählt dann für die Berechnung
2. Um xx:59:55 zu jeder Stunde schreibe ich den Zählerstand. Dies ist dann der neue Zählerstand
3. Um xx:00:05 zu jeder Stunde schreibe ich den Zählerstand. Dies ist dann der alte Zählerstand
4. Um xx:00:00 zu jeder Stunde berechne ich (Freie Formel): Punkt 2 - Punkt 3 = Verbrauch der Stunde
5. Um xx:00:00 zu jeder Stunde berechne ich: (Punkt 2 - Punkt 3) * Punkt 1 = Preis der kWh, die für diese Zeitabschnitt zählte
So fließen quasi 10s je Stunde nicht in die Berechnung ein.
Das klappt schonmal fast richtig. Fast, da die Formel knapp andere Werte rausbekommt, als ich.
Beim ersten Mal gab es noch keinen alten Wert, bzw. der war noch 0. Da fällt das natürlich deutlicher auf.
Rechnung (Zählerstand Aktuell in kWh - 0 ) * Preis je kWh.
Der Baustein zeigte im Doktormodus: (146,60kWh - 0) * 0,20€/kWh = 29,22€
Berechne ich 146,60 * 0,20, bekomme ich 29,32.
Das sind 0,10€ Unterschied. Nun weiß ich nicht, wieviele Stellen nach dem Komma die Rechnung berücksichtigt und was angezeigt wird. Vielleicht ist es richtig, aber für mich lediglich nicht ersichtlich. Der Wert der Anzeige kann ja auch gerundet sein und trotzdem für die Berechnung möglichst ungerundet verwendet werden.
Ich werde mal die nächste Rechnung abwarten und dann ca. 30 min. später (so lange braucht Tibber in etwa, bis ich die Werte der letzten Stunde bekomme) vergleichen.
Ich bleibe dran. Ich hätte zwar auch Lust, mich in das Thema Logikbausteine einzuarbeiten. Wenn aber in einer der folgenden Firmware-Versionen Tibber mit integriert wird, könnte ich das ggf. wieder weg schmeißen und so viel Zeit habe ich dann auch wieder nicht über
Viele Grüße
Nils
EDIT:
Um der Frage zuvor zu kommen: Ja, der aktuelle Wert (Punkt 2) müsste nicht als Baustein existieren, er auch direkt in der Formel verwendet werden. Ist noch historisch drin, da ich es kurz nach und nach aufgebaut habe und das noch nicht wieder rausgenommen habe.
So hat sich der Wert am Eingang der Rechnung aber nicht geändert und ich konnte die Rechnung besser prüfen, als wenn dort immer der aktuelle Wert steht.
Punkt 1 ist nun aber kein Baustein mehr und die Berechnung nehmen direkt den aktuellen Wert.
Um Werte zu Schreiben, nehme ich die Addition (ohne zweiten Wert), mit Trigger (cron). Ausschließlich zum Triggerzeitpunkt wird der Wert geschrieben.
1. Um xx:45:00 zu jeder Stunde schreibe ich den Preis der Kilowattstunde (aktuell). Dieser zählt dann für die Berechnung
2. Um xx:59:55 zu jeder Stunde schreibe ich den Zählerstand. Dies ist dann der neue Zählerstand
3. Um xx:00:05 zu jeder Stunde schreibe ich den Zählerstand. Dies ist dann der alte Zählerstand
4. Um xx:00:00 zu jeder Stunde berechne ich (Freie Formel): Punkt 2 - Punkt 3 = Verbrauch der Stunde
5. Um xx:00:00 zu jeder Stunde berechne ich: (Punkt 2 - Punkt 3) * Punkt 1 = Preis der kWh, die für diese Zeitabschnitt zählte
So fließen quasi 10s je Stunde nicht in die Berechnung ein.
Das klappt schonmal fast richtig. Fast, da die Formel knapp andere Werte rausbekommt, als ich.
Beim ersten Mal gab es noch keinen alten Wert, bzw. der war noch 0. Da fällt das natürlich deutlicher auf.
Rechnung (Zählerstand Aktuell in kWh - 0 ) * Preis je kWh.
Der Baustein zeigte im Doktormodus: (146,60kWh - 0) * 0,20€/kWh = 29,22€
Berechne ich 146,60 * 0,20, bekomme ich 29,32.
Das sind 0,10€ Unterschied. Nun weiß ich nicht, wieviele Stellen nach dem Komma die Rechnung berücksichtigt und was angezeigt wird. Vielleicht ist es richtig, aber für mich lediglich nicht ersichtlich. Der Wert der Anzeige kann ja auch gerundet sein und trotzdem für die Berechnung möglichst ungerundet verwendet werden.
Ich werde mal die nächste Rechnung abwarten und dann ca. 30 min. später (so lange braucht Tibber in etwa, bis ich die Werte der letzten Stunde bekomme) vergleichen.
Ich bleibe dran. Ich hätte zwar auch Lust, mich in das Thema Logikbausteine einzuarbeiten. Wenn aber in einer der folgenden Firmware-Versionen Tibber mit integriert wird, könnte ich das ggf. wieder weg schmeißen und so viel Zeit habe ich dann auch wieder nicht über
Viele Grüße
Nils
EDIT:
Um der Frage zuvor zu kommen: Ja, der aktuelle Wert (Punkt 2) müsste nicht als Baustein existieren, er auch direkt in der Formel verwendet werden. Ist noch historisch drin, da ich es kurz nach und nach aufgebaut habe und das noch nicht wieder rausgenommen habe.
So hat sich der Wert am Eingang der Rechnung aber nicht geändert und ich konnte die Rechnung besser prüfen, als wenn dort immer der aktuelle Wert steht.
Punkt 1 ist nun aber kein Baustein mehr und die Berechnung nehmen direkt den aktuellen Wert.
Zuletzt geändert von Marino am So Sep 17, 2023 2:34 pm, insgesamt 2-mal geändert.
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
@gbglace
Welchen Baustein meinst Du?
Ich hatte den hier gefunden:
viewtopic.php?f=65&t=4181
"Modul 3: Zählerstände für Tag/Woche/Monat/Jahr etc. berechnen"
Da "Delta Stunde" dort nicht drin ist, reden wir vielleicht von verschiedenen?
Viele Grüße
Nils
Welchen Baustein meinst Du?
Ich hatte den hier gefunden:
viewtopic.php?f=65&t=4181
"Modul 3: Zählerstände für Tag/Woche/Monat/Jahr etc. berechnen"
Da "Delta Stunde" dort nicht drin ist, reden wir vielleicht von verschiedenen?
Viele Grüße
Nils
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
-
- Reactions:
- Beiträge: 3761
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1326 Mal
- Danksagung erhalten: 1755 Mal
Ja den Baustein, das Thema Stunde dann halt innerhalb der Customlogik analog der anderen Elemente ergänzen.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
-
- Reactions:
- Beiträge: 397
- Registriert: Fr Jul 24, 2020 6:44 am
- Wohnort: Hamburg
- Hat sich bedankt: 167 Mal
- Danksagung erhalten: 175 Mal
Danke, dann werde ich mich da wohl doch noch ein wenig einarbeiten müssen
Viele Grüße
Nils
Viele Grüße
Nils
Viele Grüße
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Nils
TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)