NEWS
Problem beim loggen von Tankerkönig mit Influxdb 3.xx
-
@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.
-
Das Zurücksetzen vom state bei jeder Aktualisierung ist nicht so gut, da das öfter mal Probleme verursacht hat wie in diesem Issue.
Ich könnte da eine zusätzliche Funktion einbauen ⇒standardmäßig deaktiviert
ist die Funktion aktiviert wird, dann nur bei geschlossener Station eine 0 im state geschrieben und derq-flag
wird nicht gesetzt, wenn die Funktion deaktiviert ist, wird derq-flag
benutzt.
Bei allen anderen Sachen wie z.B. keine Preise wird dann derq-flag
Funktion angewendet.
Und auf dieGünstigste Tankstellen
wird sich die Funktion auch nicht auswirken, da ist nur derq-flag
aktiv. -
@issi genau so.
Danke für eure Bemühungen. -
@spacerx Da bei mir seit dem Update der Influx auf 3.1.7 auch nur noch die "0" geloggt wird, habe ich diesen gesamten Post mt viel Interesse gelesen. Verstehe ich das als Laie richtig, das demnächst eine aktualisierte Version des Tankerkönig Adapters kommt und ich mich ein wenig in Geduld üben soll?
Meine Einstellungen beim Datenpunkt sehen so aus:
-
@damrak2022 mal neben dem größten rewrite von Issi ist die github Version Bzw mein fork schon angepasst und wenn das mal jemand testet und bestätigt könnte man diese Version schon mal veröffentlichen…