NEWS
Problem beim loggen von Tankerkönig mit Influxdb 3.xx
-
2022-07-28 20:39:44.749 - debug: influxdb.0 (5124) new value received for DP_HEM-B184 (storageType Number), new-value=0, ts=1659033584704, relog=false 2022-07-28 20:39:44.755 - debug: influxdb.0 (5124) new value received for DP_HEM-B184 (storageType Number), new-value=1.789, ts=1659033584719, relog
6 Millisekunden aufeinander.
-
@homoran
ja stimmt! Aber dennoch erkannt, nur nicht in die db geschrieben obwohl aktualisierter Wert. -
@spacerx weil er 1 Sekunde wartet ob die 0 stabil ist
@apollon77
was sie ja nicht ist -
@homoran ich kenne den Adapter nicht. Wenn der eine 0 und kurz darauf den Wert und dann ne Weile nichts schreibe dann sollte der zweite wert geschrieben werden. Aber bevor wir weitere Raten ——>> debug log zeigt die Realität.
-
@apollon77 sagte in Problem beim loggen von Tankerkönig mit Influxdb 3.xx:
Wenn der eine 0 und kurz darauf den Wert und dann ne Weile nichts schreibe dann sollte der zweite wert geschrieben werden.
genau das erste macht der Tankerkönig Adapter, Influx macht aber nicht das zweite. Das hätten wir aber erwartet.
Das debug log zeigt ja dass 6 msec nach der 0 der Wert kommt. Steht aber lt. @SpacerX nicht in der Liste
@SpacerX mach mal einen Screenshot der geloggten Daten -
@homoran
Screenshoot bitte schön:
-
@spacerx sagte in Problem beim loggen von Tankerkönig mit Influxdb 3.xx:
2022-07-28 20:34:44.751 - debug: influxdb.0 (5124) value not changed debounce DP_HEM-B184, value=1.789, ts=1659033284698, debounce timer keeps running
ich sehe diesen Zeitpunkt nicht
istcdie Systemzeit richtig oder das log über eine Stunde alt? -
@homoran
Der Screenshoot passend zum Zeitraum des loggens:
-
@spacerx Danke!
Jetzt frage ich mich nur, warum influxdb.0(!!!) später den richtigen Preis hinein schreibt.
-
@homoran
Das Passiert wenn die Instanz von influxdb.0 neu startet oder die Einstellungen vom Datenpunktloggen gespeichert werden. In dem Fall wird der Datenpunkt nicht geändert sondern ist wie er ist. -
@spacerx sagte in Problem beim loggen von Tankerkönig mit Influxdb 3.xx:
@homoran
Das Passiert wenn die Instanz von influxdb.0 neu startet oder die Einstellungen vom Datenpunktloggen gespeichert werden. In dem Fall wird der Datenpunkt nicht geändert sondern ist wie er ist.aber das geht nur, wenn influx diesen Wert auch kennt.
Nach deinen Daten hätte influx in soneinem Fall eine 0 schreiben müssen
-
@homoran sagte in Problem beim loggen von Tankerkönig mit Influxdb 3.xx:
aber das geht nur, wenn influx diesen Wert auch kennt.
Dieser Steht im Datenpunkt. Siehe oben. Nach einer 0 folgt immer der Preis ( z.B. 1,799 ).
-
@spacerx sagte in Problem beim loggen von Tankerkönig mit Influxdb 3.xx:
Dieser Steht im Datenpunkt.
das ist aber nicht influxdb.0
bei einem Neustart wird (bei entsprechender Einstellung) der letzte Wert in der Datenbank geschrieben. Deswegen auch influxdb.0 als Quelle des Wertes -
@spacerx oohhh thats a nice one ....
Please create a GitHub issue for it... he ignores the second value because "same as before" but did not stops the debouce counter in this case ...Hmmm... vllt doch nicht der History Adapter ... tankerkoenig feuert die State Daten so schnell das sie GLEICHEN timestamp für beide werte bekommen - die 0 und den anderen ... damit hebelt er die Erkennung aus ob sich der Wert geändert hat.
Puuuh da muss ich überlegen
-
Ok, das müssen wir im Tankerkoenig ändern ... das ist so nicht sinnvoll. Der gleiche Wert wird so schnell gesetzt das die Logik die die Änderung erkennt im js-controller das auch nicht erkennen kann.
Bitte mal meinen Fork probieren https://github.com/Apollon77/ioBroker.tankerkoenig (und gern nochmal so ein Log wie oben von influxdb senden)
-
Das vorherige zurücksetzten vor dem schreiben des Datenpunktes könnte man im Tankerkönig-Adapter auch ausschalten nur dann sieht man dann in dem Graphen auch nicht mehr wenn die Tankstelle geschlossen wäre.
Bestimmt auch besser das im Tankerkönig-Adapter zu ändern, das nicht der Datenpunkt vorsorglich vor der Aktualisierung auf 0 gesetzt wird falls der Server nicht erreichbar ist. 0 nur wenn Tankstelle geschlossen oder Server nicht erreichbar. die Logik sollte Adapter-intern implementiert werden.
-
@spacerx Bitte mal meinen Fork probieren https://github.com/Apollon77/ioBroker.tankerkoenig (und gern nochmal so ein Log wie oben von influxdb senden)
-
@apollon77
Werde ich machen. Komme leider erst nach dem WE wieder auf die Installation. -
Ich habe den Adapter komplett umgebaut ⇨ neue React UI und auch der Adapter code ist neu geschrieben.
In der neuen Version wird die Funktion das beim Aktualisieren eine 0 geschrieben wird nicht mehr da sein da der Adapter das dann durch die state quality (q-flag) geregelt wird siehe Issue Nr.79.Das funktioniert so, wenn die Tankstelle geschlossen ist, wird der letzte wert der im ioBroker geschrieben wurde, im state gelassen und der q-flag auf 0x40 ⇒ Substitute value from device gesetzt.
Auch dann wen von der Tankstelle keine gültigen Werte kommen z. B."e5": false
/"status": "no prices"
{ "ok": true, "license": "CC BY 4.0 - https:\/\/creativecommons.tankerkoenig.de", "data": "MTS-K", "prices": { "60c0eefa-d2a8-4f5c-82cc-b5244ecae955": { "status": "open", - Tankstelle ist offen "e5": false, - kein Super "e10": false, - kein E10 "diesel": 1.189 - Tankstelle führt nur Diesel }, "446bdcf5-9f75-47fc-9cfa-2c3d6fda1c3b": { "status": "closed" - Tankstelle ist zu }, "4429a7d9-fb2d-4c29-8cfe-2ca90323f9f8": { "status": "open", "e5": 1.409, "e10": 1.389, "diesel": 1.129 }, "44444444-4444-4444-4444-444444444444": { "status": "no prices" - keine Preise für Tankstelle verfügbar } } }
wenn der state nicht gültig ist, sollte der influxdb Adapter den state nicht logen ausgenommen man aktiviert =>
trotzdem gleiche Werte aufzeichnen (Sekunden)
wen er aufNur Änderungen aufzeichnen
sollte er das nicht tunein PR an den Adapter habe ich bereits erstellt muss nur noch zusammengeführt werden
-
@issi
Feine Sache.Eine 0 bei geschlossener Tankstelle wäre trotzdem Klasse. Dann könnte man auf Änderung loggen und würde im Graphen schön auch die Schließung einer Tanke sehen. Wenn nur keine Werte von Tankerkönig kommen ist deine Variante die Eleganteste weil man die Gültigkeit der Preise in einem Script auswerten kann. Das jetzige ständige 0, Preis, 0, Preis … sollt auf jeden Fall weg.