aendue / ioBroker.reolink

Reolink adapter for ioBroker
MIT License
21 stars 11 forks source link

TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined after update to 1.1.2 #118

Open schlaubstar opened 3 days ago

schlaubstar commented 3 days ago

Describe the bug
Nach dem Update auf 1.1.2 erscheint in Verbindung mit der RLC810-A IPC_523128M8MP, die vorher einwandfrei funktioniert hat, die Fehlermeldung Die Passwortprüfung schlägt fehlt obwohl das Passwort korrekt ist. Mein Passwort ist aber relativ komplex und beinhaltet u.a. : " und ein /, was aber bislang kein Problem war

TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined

To Reproduce
Steps to reproduce the behavior:

  1. RLC810A Hardware: IPC_523128M8MP am Netz anschließen und installieren
  2. Reolink Adapter in version 1.1.2 installieren und konfigurieren
  3. Versuchen Adapter zu starten

Expected behavior
Dass die Verbindung hergestellt wird und die entsprechenden Datenpunkte im IoBroker versorgt werden

Screenshots & Logfiles

reolink.0 | 2024-10-27 17:41:58.436 | error | TypeError: Cannot read properties of undefined (reading 'DevInfo'): undefined -- | -- | -- | -- reolink.0 | 2024-10-27 17:41:58.343 | debug | camMdStateInfo 200: [{"cmd":"GetDevInfo","code":1,"error":{"auth_warning_info":{"remain_times":7,"unlock_time":0},"detail":"password wrong","rspCode":-502}}] reolink.0 | 2024-10-27 17:41:57.629 | debug | getDevinfo reolink.0 | 2024-10-27 17:41:57.571 | info | Current IP: 192.xxx.xx.xx reolink.0 | 2024-10-27 17:41:57.571 | info | Reolink adapter has started reolink.0 | 2024-10-27 17:41:57.564 | info | starting. Version 1.1.2 in /opt/iobroker/node_modules/iobroker.reolink, node: v20.18.0, js-controller: 6.0.11

Versions:

Additional context
Nach einem downgrade auf 1.1.1 sieht der Log so aus:

reolink.0 | 2024-10-27 16:48:16.345 | debug | LinkInfoValues 200: [{"cmd":"GetLocalLink","code":0,"value":{"LocalLink":{"activeLink":"LAN","dns":{"auto":1,"dns1":"xxx","dns2":""},"mac":"xxxx","static":{"gateway":"xxxxx","ip":"xxx.xxxxxxxx","mask":"xxx.xxx.xxx.xx"},"type":"DHCP"}}}] -- | -- | -- | -- reolink.0 | 2024-10-27 16:48:16.135 | debug | camMdStateInfo 200: [{"cmd":"GetDevInfo","code":0,"value":{"DevInfo":{"B485":0,"IOInputNum":0,"IOOutputNum":0,"audioNum":1,"buildDay":"build 22041503","cfgVer":"v3.1.0.0","channelNum":1,"detail":"IPC_523128M8MPS18E1W01100000001","diskNum":1,"exactType":"IPC","firmVer":"v3.1.0.956_24022103","frameworkVer":1,"hardVer":"IPC_523128M8MP","model":"RLC-810A","name":"xxx","pakSuffix":"pak,paks","serial":"00000000983040","type":"IPC","wifi":0}}}] reolink.0 | 2024-10-27 16:48:15.469 | debug | getDevinfo reolink.0 | 2024-10-27 16:48:15.414 | info | Current IP: 192.xxx.xxx.xxx reolink.0 | 2024-10-27 16:48:15.414 | info | Reolink adapter has started reolink.0 | 2024-10-27 16:48:15.408 | info | starting. Version 1.1.1 in /opt/iobroker/node_modules/iobroker.reolink, node: v20.18.0, js-controller: 6.0.11

... sorry für das komische Log-Format: Bisher wurde der HTML Code beim pasten auch als HTML Tabelle dargestellt.

oelison commented 3 days ago

@schlaubstar Bitte mal diese Testversion installieren. In der alten Version wurde das Passwort nicht Uri encoded. # braucht das zum Beispiel. Warum das Deine Sonderzeichen nicht brauchen weiß ich noch nicht. Ich denke " und / sind schon für eine URL etwas schwierig. https://github.com/aendue/ioBroker.reolink/tree/118-typeerror-cannot-read-properties-of-undefined-reading-devinfo-undefined-after-update-to-112

schlaubstar commented 3 days ago

@oelison Vielen Dank für die schnelle Reaktion aber leider bleibt es dabei:

camMdStateInfo 200: [{"cmd":"GetDevInfo","code":1,"error":{"auth_warning_info":{"remain_times":9,"unlock_time":0},"detail":"password wrong","rspCode":-502}}]

Die Uri-encodierung sollte aber auch mit solchen Sonderzeichen klarkommen. Ich kann natürlich das Passwort ändern und versuchen rauszufinden, woran es liegt.

schlaubstar commented 3 days ago

@oelison : Sowohl ein kaufmännisches und & als auch der / führen dazu, dass das Passwort nicht mehr akzeptiert wird, das doppelte Hochkomma " wird wohl korrekt encodiert. Und beim Suchen nach einem Ersatz habe ich rausgefunden, dass ein Semikolon ; auch zur Abweisung führt.... Entferne ich den Uri-Encode Haken geht es natürlich wieder.

oelison commented 2 days ago

Bitte in dem neuen Adapter in den Einstellungen den URI Encoder ausschalten.

schlaubstar commented 2 days ago

... Entferne ich den Uri-Encode Haken geht es natürlich wieder.

@oelison Danke Dir. Die Checkbox habe ich schon entdeckt und kann damit immerhin die aktuelle Version des Adapters nutzen. Aber ich glaube dennoch, dass da was mit der Uri-Encodierung nicht ganz gut läuft. Vielen Dank nochmal für die schnelle Reaktion

oelison commented 1 day ago

Okay. War mir nicht sicher ob das angekommen war. Ich werde dann mal die Zeichen untersuchen und ggf. nich encoden.