NEWS
Tankerkönig Adapter Komplett umbau
-
@issi um mal das Thema "Strasse" aufzunehmen:
Ich nutze aktuell den Adapter rein zum Testen und u.U. zu verbessern.Produktiv arbeite ich, was Tankerkönig angeht, mit Node-Red und der dazugehörigen Tankerkönig2-Node.
Diese Node bezieht folgende Infos von der API:
Ich kenne mich mit Adapterprogrammierung NULL aus und weiss auch nicht wie man eine API auswertet, aber da scheint vieles machbar zu sein.
Nun, manuell die Adresse eingeben ist ja ok, aber nicht gerade "smart"
Ob da auch seitens des, zweifelsfrei tollen, Adapters so etwas machbar ist?
Greets
-
@djmarc75
schau dir mal den post hier durch
https://forum.iobroker.net/topic/60140/tankerkönig-adapter-komplett-umbau/77das hatte ich schon drin funktioniert nur nicht so richtig wegen server Problemen von Tankerkönig
-
@issi sagte in Tankerkönig Adapter Komplett umbau:
schau dir mal den post hier durch
ok, überlesen - trotzdem - in Planung, wenn das Serverproblem iwie behoben ist ?
-
@djmarc75
ich würde das gerne einbauen
nur ist da das Problem, dass die Server von Tankerkönig ein Rate-Limit eingebaut haben, damit da nicht zu oft abgefragt wird, wie hoch das Limit ist, weiß ich nicht, ich habe schon eine E-Mail an den
Tankerkönig Support geschrieben um zu erfahren, wie hoch der ist.Die Detailabfrage muss für jede Station einzeln gemacht werden, das heißt, wen man 5 Stationen eingetragen hat, muss eine vollständige Abfrage für jede Station einzeln gemacht werden.
Das heißt die Abfragen für alle 5 Stationen werden ca. innerhalb 1 sec gemacht, das ist Anscheint zu viel für die Server und da sperren sie dann den Zugang für x min.Ich muss mir mal überlegen, wie ich das am besten implementieren kann.
-
@issi Die Adressdaten müssen doch im Grunde nur einmalig abgerufen werden. Macht es vielleicht Sinn dafür eine separate Abfrage bei der Einrichtung laufen zu lassen und die dann nicht mehr zu wiederholen?
-
@issi sagte in Tankerkönig Adapter Komplett umbau:
Ich muss mir mal überlegen, wie ich das am besten implementieren kann.
In der Ruhe liegt die Kraft... reicht ja wenn es sofort im neuen Jahr 2023 gelöst wird (Spässle gemacht)
-
@issi Vielleicht kann man die Daten beim Eintragen mittels eines "Veryfi-Button" einmalig holen und sonst nur die Preisdaten
-
Das habe ich mir auch schon überlegt, ob ich das beim Anlegen der Stationen in der UI eine Abfrage mache.
-
@issi
Hi, gerade mal die neueste Version installiert.
Hab einfach drüberinstalliert, dann den Objektbaum einmal löschen und die Stationen neu anlegen.Alles grün und läuft wie die "wilde Wutz"
Super, vielen Dank
-
Meins geht auch wieder, Tankerkönig hat´s gerichtet ...
Wollte die API irgendwie nicht mehr nehmen nachdem ich mir die neu zusenden lassen habe -
Ich habe jetzt mal in der Version 3.3.0 die Detailabfrage wider eingebaut.
Diese wird ausgelöst, wenn man die Stadions-ID in das Feld schreibt/kopiert und dieser auch gültig ist.
Sobald die Daten von Tankerkönig ankommen, werden sie in die dazugehörigen Felder eingefügt.
Der Adapter muss dafür laufen, da die Daten in der backend verarbeitet werden. -
@issi sagte in Tankerkönig Adapter Komplett umbau:
Version 3.3.0
tankerkoenig.0 2022-12-30 07:37:16.231 error [ Adapter V:3.3.0 writeState ] error: TypeError: Cannot read properties of undefined (reading 'toString') stack: TypeError: Cannot read properties of undefined (reading 'toString') at Tankerkoenig.writeState (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:1033:35) at Tankerkoenig.requestData (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:156:6) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:96:7) host.IoBroker 2022-12-30 07:37:08.524 info iobroker exit 0 host.IoBroker 2022-12-30 07:37:07.796 info instance system.adapter.tankerkoenig.0 started with pid 3940994 host.IoBroker 2022-12-30 07:37:07.202 info "system.adapter.tankerkoenig.0" enabled host.IoBroker 2022-12-30 07:37:07.154 info iobroker host.IoBroker Adapter "system.adapter.tankerkoenig.0" is started host.IoBroker 2022-12-30 07:37:07.133 info iobroker upload [0] tankerkoenig.admin /opt/iobroker/node_modules/iobroker.tankerkoenig/admin/tankerkoenig.png tankerkoenig.png image/png host.IoBroker 2022-12-30 07:37:07.120 info iobroker upload [1] tankerkoenig.admin /opt/iobroker/node_modules/iobroker.tankerkoenig/admin/style.css style.css text/css host.IoBroker 2022-12-30 07:37:07.057 info iobroker upload [2] tankerkoenig.admin /opt/iobroker/node_modules/iobroker.tankerkoenig/admin/index_m.html index_m.html text/html host.IoBroker 2022-12-30 07:37:06.425 info iobroker upload [3] tankerkoenig.admin /opt/iobroker/node_modules/iobroker.tankerkoenig/admin/build/index.js.map build/index.js.map application/json host.IoBroker 2022-12-30 07:37:06.319 info iobroker upload [4] tankerkoenig.admin /opt/iobroker/node_modules/iobroker.tankerkoenig/admin/build/index.js build/index.js application/javascript host.IoBroker 2022-12-30 07:37:05.875 info iobroker Update "system.adapter.tankerkoenig.0" host.IoBroker 2022-12-30 07:37:05.731 info iobroker changed 2 packages in 15s200 packages are looking for funding run `npm fund` for details host.IoBroker 2022-12-30 07:37:05.730 info iobroker host.IoBroker 2022-12-30 07:36:50.427 info instance system.adapter.tankerkoenig.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) host.IoBroker 2022-12-30 07:36:50.349 info iobroker NPM version: 8.19.2Installing iobroker.tankerkoenig@3.3.0... (System call) host.IoBroker 2022-12-30 07:36:49.496 info stopInstance system.adapter.tankerkoenig.0 send kill signal host.IoBroker 2022-12-30 07:36:49.334 info stopInstance system.adapter.tankerkoenig.0 (force=false, process=true) host.IoBroker 2022-12-30 07:36:49.332 info "system.adapter.tankerkoenig.0" disabled host.IoBroker 2022-12-30 07:36:49.283 info iobroker host.IoBroker Adapter "system.adapter.tankerkoenig.0" is stopped. host.IoBroker 2022-12-30 07:36:49.161 info iobroker Update tankerkoenig from @3.2.5 to @3.3.0 host.IoBroker 2022-12-30 07:36:47.219 info iobroker upgrade tankerkoenig@3.3.0 --debug
-
@crunchip
ein Fix ist schon gemacht sollte im Laufe des Tages verfügbar sein
Nach dem Update noch mal in die UI rein und dann auf bearbeiten
und die ID noch ein mal reinkopieren, dann auf hinzufügen und speichern, damit die config neu erstellt wird.Das ist leider notwendig, wenn man vor der 3.3.0 schon Stationen angelegt hatte, da sonst die neue states nicht gefüllt werden.
-
@issi Ich hab auf die 3.3.0 aktualisiert und auch einmal alle Objekte vom Tankerkönig gelöscht und einen Neustart gemacht.
Im Log taucht dann dieser Fehler auftankerkoenig.0 2022-12-30 12:51:05.239 error [ Adapter V:3.3.0 requestData axios: 1.2.2 ] response data: {"status":"error","ok":false,"message":"parameter error"} tankerkoenig.0 2022-12-30 12:51:05.236 error [ Adapter V:3.3.0 requestData axios: 1.2.2 ] response not ok ical.4 2022-12-30 12:51:05.040 info starting. Version 1.13.2 in /opt/iobroker/node_modules/iobroker.ical, node: v18.12.1, js-controller: 4.0.24 tankerkoenig.0 2022-12-30 12:51:04.822 info Start first request tankerkoenig.0 2022-12-30 12:51:02.394 info Sync time set to 5 minutes or 300000 ms tankerkoenig.0 2022-12-30 12:51:02.391 info Adapter is already in daemon mode tankerkoenig.0 2022-12-30 12:51:02.282 info starting. Version 3.3.0 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v18.12.1, js-controller: 4.0.24
-
@feuersturm
kommt das immer oder nur ein mal ? -
@issi Das Kam seit dem Update vorhin nur einmal, taucht aber beim Restart des Adapters auf.
Im Log sehe ich jetzt alle 5 min folgende Fehlermeldung:2022-12-30 12:54:09.996 - info: tankerkoenig.0 (40484) starting. Version 3.3.0 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v18.12.1, js-controller: 4.0.24 2022-12-30 12:54:10.114 - info: tankerkoenig.0 (40484) Adapter is already in daemon mode 2022-12-30 12:54:10.117 - info: tankerkoenig.0 (40484) Sync time set to 5 minutes or 300000 ms 2022-12-30 12:54:12.434 - info: ical.4 (40469) Terminated (NO_ERROR): Without reason 2022-12-30 12:54:12.739 - info: tankerkoenig.0 (40484) Start first request 2022-12-30 12:54:13.090 - info: host.ioBrokerTestsystem instance system.adapter.ical.4 terminated with code 0 (NO_ERROR) 2022-12-30 12:54:13.618 - error: tankerkoenig.0 (40484) [ Adapter V:3.3.0 writeState ] error: TypeError: Cannot read properties of undefined (reading 'toString') stack: TypeError: Cannot read properties of undefined (reading 'toString') at Tankerkoenig.writeState (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:926:34) at Tankerkoenig.requestData (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:156:6) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.tankerkoenig/src/main.ts:96:7)
-
@feuersturm
derTypeError
ist behoben in der v3.3.1 siehe den post über deinem https://forum.iobroker.net/topic/60140/tankerkönig-adapter-komplett-umbau/106das mit dem
[ Adapter V:3.3.0 requestData axios: 1.2.2 ] response data: {"status":"error","ok":false,"message":"parameter error"}
Fehler ist seltsam, da ist anscheint etwas Falsches geschickt worden, das ist nämlich eine Antwort vom Server.
Überprüfe mal die Stations IDs und starte den Adapter mal neu.
Schau ob da wider so eine Meldung kommt. -
@issi Das war wohl mein Fehler.
Ich hatte diese Anweisung von dir überlesen / nicht befolgt:Nach dem Update noch mal in die UI rein und dann auf bearbeiten
und die ID noch ein mal reinkopieren, dann auf hinzufügen und speichern, damit die config neu erstellt wird.Nach dem Update der Einträge und einem Adapterneustart sieht das Log an der Stelle vom Start unauffällig aus.
-
Kann mich nur anschließen, nach Update auf 3.3.1 und Neueingabe der IDs ohne Probleme
-
@issi
Wie kommt ihr alle auf die 3.3.1 ?Habe gerade die Umstellung erfolgreich durchgeführt inkl. Grafana Dashboard und Historie --> alles da ABER bei mir läuft die 3.1.0 ?