fungus75 / ioBroker.zoe2

Renault ZOE ioBroker adapter using the same API as myRenault APP
MIT License
15 stars 7 forks source link

Adapter tut nix mehr #35

Closed Wiednitz closed 2 years ago

Wiednitz commented 2 years ago

Vorgestern Abend hatte der Adapter das letzte Mal Daten abgerufen, dann nicht mehr. Gestern Abend hatte ich dann mal den js Controller aktualisiert, danach hat er wieder Daten abgerufen. Seit heute früh wieder keine Funktion, keinerlei Meldungen im iobroker Log. Ist das nur bei mir so ?

fungus75 commented 2 years ago

Hi, bei mir holt er Daten. Gerade geprüft. Sollte also alles laufen.

Ich verwende immer die Handy-App zum Prüfen, ob es noch geht. Oft spinnt die Renault-Cloud.

Wiednitz commented 2 years ago

Ja die App kann die Daten abrufen, nur im Adapter tut sich nix mehr. Im Log werden auch keinerlei Einträge generiert. Die App muss irgendwie verändert wurden sein. Ich musste im Adblock diverse Url's hinzufügen, damit sie wieder Daten abruft.

Wollte den Adapter deinstallieren, dabei kommen folgende Meldungen:

`$ iobroker del zoe2

Delete adapter "zoe2"

host.DESKTOP-LM4R0OK Counted 1 instances of zoe2

host.DESKTOP-LM4R0OK Counted 1 meta of zoe2

host.DESKTOP-LM4R0OK Counted 1 adapter for zoe2

host.DESKTOP-LM4R0OK Counted 1 devices of zoe2

host.DESKTOP-LM4R0OK Counted 19 states of zoe2

host.DESKTOP-LM4R0OK Counted 14 states of system.adapter.zoe2

host.DESKTOP-LM4R0OK Counted 17 states (io.zoe2.*) from states

host.DESKTOP-LM4R0OK Counted 14 states (system.adapter.zoe2.*) from states

host.DESKTOP-LM4R0OK file zoe2.admin deleted

host.DESKTOP-LM4R0OK object zoe2 deleted

host.DESKTOP-LM4R0OK object zoe2.admin deleted

host.DESKTOP-LM4R0OK Deleting 37 object(s).

host.DESKTOP-LM4R0OK Deleting 31 state(s).

npm uninstall iobroker.zoe2 --loglevel error (System call)

npm ERR! code EBUSY

npm ERR! syscall rmdir npm ERR! path C:\Program Files\iobroker\SmartHome\node_modules\iobroker.zoe2 npm ERR! errno -4082

npm ERR! EBUSY: resource busy or locked, rmdir 'C:\Program Files\iobroker\SmartHome\node_modules\iobroker.zoe2'

npm ERR! A complete log of this run can be found in:

npm ERR! C:\Program Files\iobroker\SmartHome\env\npm-cache_logs\2022-02-03T17_44_07_596Z-debug.log

Error deleting adapter zoe2 from disk: Error: host.DESKTOP-LM4R0OK: Cannot uninstall iobroker.zoe2: 4294963214

You might have to delete it yourself!

Process exited with code 0`

Installation danach ohne Probleme. Es erscheinen wieder Einträge im Log und Daten sind korrekt.

fungus75 commented 2 years ago

Das ist ganz komisch. Du siehst ja im GitHub, dass ich seit ca. 6 Monaten keine Veränderung am Code gemacht hab. Seit dem Zeitpunkt rennt der Adapter bei mir problemlos. Da muss irgendwas bei deiner Installation komisch gewesen sein.

Aber zusammengefasst: jetzt geht es wieder? Können wir das Ticket schließen?

Wiednitz commented 2 years ago

Ja ist ja bis Montag auch ohne Probleme gerannt. Ohne etwas an der Installation geändert zu haben, hat er seine Arbeit eingestellt. Alle andere Adapter ohne Probleme. Wenn er morgen auch noch rennt, dann können wir erstmal schließen.

Wiednitz commented 2 years ago

So also der Adapter rennt wieder nach Neuinstallation. Was mir noch aufgefallen war, das Uhrsymbol in den Instanzen neben dem Adapter war blau, nach Installation gelb. Scheinbar lief der Adapter nicht, auch nicht nach Änderung des cronjob. Deswegen keine Meldungen im Log.

Wiednitz commented 2 years ago

Also der Adapter war eben wieder ohne Funktion, Uhrsymbol in den Instanzen blau, lies sich nicht mehr aktivieren. Deinstallation gelingt nur durch Stoppen des Iobroker und manuelles löschen des Ordners in den node_modules. Nach Installation läuft er wieder. Alle anderen Adapter ohne Auffälligkeiten.

Nodejs 14.18.1 npm 6.14.15 js controller 3.3.22

fungus75 commented 2 years ago

Könntest du bitte das nächste mal folgendes probieren: Im Log (bzw. Protokolle) nach ZOE2 filtern und mir den Output zukommen lassen. Da ist einiges an privaten dingen drinnen, müssten wir ggf. vorher bereinigen: image

Dann noch versuchen, den Adapter neu zu starten, vielleicht hilft das? image

Ist mir echt ein Rätsel, hab bisher von keinem ähnlichem Problem gehört.

Was hat du für eine Hardware auf der der IOBroker läuft?

Wiednitz commented 2 years ago

Ist Windows 10.

Das kuriose ist ja, das keinerlei Meldungen im Log sind, wenn der Adapter seine Arbeit einstellt, auch nicht wenn auf Alles steht.

Stoppen und Neustart bringen nix, keine Reaktion. Die Uhr bleibt blau. Ical und dwd arbeiten ja auch mit diesem cronjob (?), die laufen ohne Probleme, Uhr bleibt gelb.

fungus75 commented 2 years ago

Loggt er gar nicht? Auch nicht, wenn alles funktioniert? Oder loggt er im Problemfall nicht mehr, weil er ja scheinbar nichts mehr macht?

Wiednitz commented 2 years ago

Hatte grad ergänzt oben, im Fehlerfall keine Einträge, wenn er läuft dann die üblichen.

fungus75 commented 2 years ago

Wäre interessant wie er "aufgehört hat". Sprich: Gab es am Ende den Üblichen Eintrag

Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason

Oder hat das da anders aufgehört?

Sprich: Was war der letzte Eintrag (bzw. die letzten 3 Zeilen oder wie auch immer) die er noch geloggt hat, wenn er sich mal wieder verarbschiedet?

fungus75 commented 2 years ago

Also der Adapter war eben wieder ohne Funktion, Uhrsymbol in den Instanzen blau, lies sich nicht mehr aktivieren. Deinstallation gelingt nur durch Stoppen des Iobroker und manuelles löschen des Ordners in den node_modules. Nach Installation läuft er wieder. Alle anderen Adapter ohne Auffälligkeiten.

Nodejs 14.18.1 npm 6.14.15 js controller 3.3.22

Hab bei mir genau die selben Versionen am Laufen. Und mein IOBroker rennt seit über 49Tagen durch.

Was ich gesehen hab, dass es Zeiten gibt, wo die API spinnt. Da kommt nichts neues zurück, obwohl er abfragt. Aber das ist ja scheinbar nicht dein Problem, da er aufhört abzufragen. Komisch.

Wiednitz commented 2 years ago

Muss ich mal in die Datei schauen, das Live Log reicht ja da anscheinend nicht weit genug zurück.

Wiednitz commented 2 years ago

So hab grad das Log durchgeschaut. Die letzte Abruf des Adapters ist unvollständig. Dieser endet mit der Zeile

2022-02-11 19:36:06.622 - info: zoe2.0 (2784) getBatteryStatus-url:https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/********-****-****-****-***********/kamereon/kca/car-adapter/v2/cars/VF1**************/battery-status?country=DE

Normalerweise kommen danach noch die Werte wie

"batteryLevel":53,"batteryTemperature":20,"batteryAutonomy":148,"batteryCapacity":0,"batteryAvailableEnergy":26,"plugStatus":1,"chargingStatus":1,"chargingRemainingTime":105,"chargingInstantaneousPower":18.1

sowie GPS usw.

Danach keinerlei Meldungen mehr vom Adapter.

fungus75 commented 2 years ago

Danke. Das hilft mir. Dann bleibt wohl der Request hängen und wird nie fertig. ich muss das eh schon seit längerem auf eine andere Library umbauen, da Request mittlerweile obsolet ist. Werde das diese Tage machen, bitte etwas Geduld. Dann kann ich den Timeout auch gleich sauber einbauen.

fungus75 commented 2 years ago

Hab gerade eine neue Version vom Adapter hochgeladen, die ein Timeout bei jeder API-Abfrage implementiert hat. Bitte mal testen, ob die besser geht (die neue Version hat noch keine eigene Versions-Nummer, warte auf Dein Feedback).

Wiednitz commented 2 years ago

Grad installiert, rennt erstmal...

Wiednitz commented 2 years ago

Folgende Fehlermeldungen gibt's grad vom Adapter

`zoe2.0 2022-02-16 17:52:10.048 error Cannot read property 'status' of undefined

zoe2.0 2022-02-16 17:52:10.047 error TypeError: Cannot read property 'status' of undefined at C:\Program Files\iobroker\SmartHome\node_modules\iobroker.zoe2\main.js:385:29 at processTicksAndRejections (internal/process/task_queues.js:95:5)

zoe2.0 2022-02-16 17:52:10.045 error unhandled promise rejection: Cannot read property 'status' of undefined

zoe2.0 2022-02-16 17:52:10.045 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

zoe2.0 2022-02-16 17:52:10.041 warn Terminated (JS_CONTROLLER_STOPPED): Without reason

zoe2.0 2022-02-16 17:52:10.040 error Error in step 6, errorCode: 2

zoe2.0 2022-02-16 17:52:10.038 error Error: timeout of 3000ms exceeded

zoe2.0 2022-02-16 17:52:10.037 error No valid response1 from getKamereonCars service`

App funktioniert ohne Probleme.

fungus75 commented 2 years ago

Hi,

genau das war das Problem: 2022-02-16 17:52:10.038 error Error: timeout of 3000ms exceeded

Der API von Renault hat mehr als 3 Sekunden gebraucht, um zu Antworten. Daher hat der Adapter die Abfrage abgebrochen (was zu den unschönen Fehlermeldungen führte, die sind aber fast nicht zu vermeiden).

Sollte aber bei der nächsten Abfrage (nach Default-Einstellung alle 10 Minuten, also um 18:02) wieder fehlerlos gegangen sein, oder?

Durch das Timeout friert er jetzt ja auch nicht mehr ein, oder? Sprich: er lief einfach normal weiter?

Wiednitz commented 2 years ago

Also ich nutze den Adapter um zu dokumentieren, wie viel wir bei Lidl laden. Deswegen ist das Abfrageintervall bei mir 2 Minuten. Bei weniger als 2 Minuten macht der Server zu. Hat bisher auch immer gut funktioniert. Die Fehlermeldungen kamen gestern immer wieder, ab und zu ohne die Zeile mit dem Timeout, dann hatte auch die Aufzeichnung verspätet begonnen aber am Ende wurde dann korrekt beendet.

Jetzt stelle ich grad fest, das der Adapter wieder blau ist, also seine Arbeit eingestellt hat :( Stoppen und starten kein Erfolg.

fungus75 commented 2 years ago

Ok, alles klar. Das sind natürlich schon besondere Herausforderungen.

Nur so als Frage: Hast du den Adapter schon mal ausprobiert? Vielleicht klappt der hier besser? https://github.com/TA2k/ioBroker.renault

Wiednitz commented 2 years ago

Muss ich dann mal installieren.

Das kuriose ist nur, das der zoe2 Adapter ohne Änderungen am iobroker angefangen hat Probleme zu machen.

Die Probleme begannen würde ich meinen zeitgleich mit den Problemen mit der App. Da musste ich wie oben geschrieben erst gewisse URLs freigeben im Adblocker, damit diese wieder funktioniert. Vielleicht hat Renault doch etwas an der API geändert ?

4 URLs hatte ich schon vorher auf der Liste, weiß nur nicht mehr welche :

webmasterplan.com partners.webmasterplan.com www.googleadservices.com app-measurement.com api.github.com play.googleapis.com pgl.yoyo.org api-wired-prod-1-euw1.wrd-aws.com static-wrd-prod-1.wrd-aws.com apis.renault.com t.enews.myrenault.fr apis.renault.com www.googleapis.com growth-pa.googleapis.com android.googleapis.com clients4.google.com socialize.eu1.gigya.com www.google-analytics.com accounts.eu1.gigya.com

Hatte erst die Instanz gelöscht und den Intervall von 2 Minuten auf 3 Minuten erhöht, jetzt rennt er wieder, allerdings mit den Fehlermeldungen von gestern...

Nochmal Update...

Die Fehlermeldungen sind jetzt auch weg...

Wiednitz commented 2 years ago

So ich hatte den anderen Adapter installiert. Der lief erstmal im 2 Minuten Intervall, bis dann auch Fehler erschienen, allerdings aussagekräftiger :

{"type":"FUNCTIONAL","messages":[{"code":"err.func.wired.overloaded","message":"You have reached your quota limit"}],"errors":[{"errorCode":"err.func.wired.overloaded","errorMessage":"You have reached your quota limit","errorType":"functional"}]}

Das deutet darauf hin, das 2 Minuten nun zu häufig sind, werde es mal mit 3 Minuten versuchen.

Wiednitz commented 2 years ago

Auch auf die Gefahr hin das ich nerve und ich scheinbar der Einzigste bin bei dem es Probleme gibt, der Adapter aktualisiert seit gestern früh nicht mehr. Es hatte ja nun einige Wochen wieder funktioniert. Ohne Änderung am iobroker nun wieder keine Aktualisierung. Folgende Fehler im Log:

2022-03-17 22:25:25.448 error Cannot read property 'status' of undefined
zoe2.0 2022-03-17 22:25:25.447 error TypeError: Cannot read property 'status' of undefined at C:\Program Files\iobroker\SmartHome\node_modules\iobroker.zoe2\main.js:349:29 at processTicksAndRejections (internal/process/task_queues.js:95:5)
zoe2.0 2022-03-17 22:25:25.446 error unhandled promise rejection: Cannot read property 'status' of undefined
zoe2.0 2022-03-17 22:25:25.445 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
zoe2.0 2022-03-17 22:25:25.443 warn Terminated (JS_CONTROLLER_STOPPED): Without reason
zoe2.0 2022-03-17 22:25:25.441 error Error in step 5, errorCode: 2
zoe2.0 2022-03-17 22:25:25.440 error Error: Request failed with status code 403
zoe2.0 2022-03-17 22:25:25.439 error No valid response1 from getKamereonAccount service

Adapter schon neu installiert, js Controller aktualisiert. App funktioniert ohne Probleme.

Wiednitz commented 2 years ago

OK API Key ist neu. Den Hinweis evtl Mal auf der Startseite hier platzieren....

fungus75 commented 2 years ago

Nervst nicht, ist das Problem hier: https://github.com/fungus75/ioBroker.zoe2/issues/41 Renault hat den API-Key geändert.

Wiednitz commented 2 years ago

Tut seit heute nix mehr. Hat sich der API Key schon wieder geändert ? App funktioniert.

fungus75 commented 2 years ago

Hi, bei mir tut er .

Aber probier doch mal die aktuelle Version aus dem Github neu zu installieren. HAb vor ein paar Wochen was geändert, vielleicht hilft das.

Wiednitz commented 2 years ago

Rennt wieder. Da muss sich was anderes aktualisiert haben, wovon der Adapter abhängig ist 🤷🏻‍♂️