NEWS
Roborock Adapter tester gesucht
-
Mal bitte die neue dev testen.
Außerdem suche ich aktuell Hilfe von jemanden, der sich mit reverse Engineering und rsa gut auskennt. Ich bin kurz davor, die Fotos abrufbar zu machen, die von den MaxV Robotern erstellt werden, wenn Hindernisse erkannt werden.
Ich kann die entsprechende Anfrage an den Server stellen und bekomme die passende Antwort. Die Daten werden mit einem vom Adapter erstellen public key verschlüsselt und müssen dann mit dem ebenfalls vom Adapter erstellten private key wieder entschlüsselt werden und da komme ich nicht weiter. Sehr wahrscheinlich gibt es irgendeinen Offset oder ähnliches. Möglicherweise müssen die Daten vorher in irgendeiner Form umgewandelt werden, bevor diese wieder entschlüsselt werden können. Kennt einer von euch da jemanden? @rovo89 bist du vielleicht hier noch aktiv und kannst aushelfen?
Eigentlich ist das der Grund, warum es bisher keinen neuen Release gab. -
hi @copystring
danke für den adapter, sehr gut.
gibt es eine möglichkeit zonen zu speichern? (evtl aus der webseite raus)
und irgendwie in einem datenpunkt zu speichern -
@mikiline Wenn du über die Webseite (z. B. bei mir http://iobroker:6824/map.html) die Konsole des Browsers aufrufst, kannst du dir die Zonen in Koordinaten anzeigen lassen und diese dann über Blockly oder ähnlich an roborock.0.Devices.XXX.commands.app_zoned_clean senden, um den entsprechenden Bereich reinigen zu lassen.
Mal den Thread durchsuchen. Da wurde das bereits genauer besprochen. -
@copystring
vielen dank, ich bin auch schon ein stück weiter gekommenzumindest habe ich jetzt mal koordinaten und weiss wie ich daran komme
zone: [27375,26300,28975,27600,1]wie gebe ich das nun über blockly an den adapter?
"commands.app_zoned_clean" ist doch true, falsemir fehlt auch ein datenpunkt "GoTo", wie schickt man den roboter an eine bestimmte stelle?
wurde aus den ganzen beiträgen nicht ganz schlau daraus
vielleicht kann @Spampunk auch ein beispiel geben, scheint dort zum einsatz zu kommen
-
Mit der neusten DEV heute folgende Meldungen:
Eine Idee? WLAN Verbindung ist eigentlich stabil.2023-05-07 18:01:54.408 error instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION) roborock.0 2023-05-07 18:01:53.720 error Request with id 2526 timed out after 10 seconds for response.102 roborock.0 2023-05-07 18:01:53.719 error Error: Request with id 2526 timed out after 10 seconds for response.102 at /opt/iobroker/node_modules/iobroker.roborock/lib/roborock_mqtt_connector.js:272:12 at Timeout._onTimeout (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:1119:13) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7) roborock.0 2023-05-07 18:01:53.716 error unhandled promise rejection: Request with id 2526 timed out after 10 seconds for response.102 roborock.0 2023-05-07 18:01:53.715 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(). host.raspberrypi 2023-05-07 17:59:33.447 error instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION) roborock.0 2023-05-07 17:59:32.813 error Request with id 3075 timed out after 10 seconds for response.102 roborock.0 2023-05-07 17:59:32.812 error Error: Request with id 3075 timed out after 10 seconds for response.102 at /opt/iobroker/node_modules/iobroker.roborock/lib/roborock_mqtt_connector.js:272:12 at Timeout._onTimeout (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:1119:13) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7) roborock.0 2023-05-07 17:59:32.808 error unhandled promise rejection: Request with id 3075 timed out after 10 seconds for response.102 roborock.0 2023-05-07 17:59:32.807 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(). host.raspberrypi 2023-05-07 17:48:12.772 error instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION) roborock.0 2023-05-07 17:48:12.105 error Request with id 3632 timed out after 10 seconds for response.102 roborock.0 2023-05-07 17:48:12.105 error Error: Request with id 3632 timed out after 10 seconds for response.102 at /opt/iobroker/node_modules/iobroker.roborock/lib/roborock_mqtt_connector.js:272:12 at Timeout._onTimeout (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:1119:13) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7) roborock.0 2023-05-07 17:48:12.102 error unhandled promise rejection: Request with id 3632 timed out after 10 seconds for response.102 roborock.0 2023-05-07 17:48:12.101 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().
-
@mikiline du müsstest dir mal die aktuelle dev installieren. Da geht das.
-
@dontoben Das sieht nicht aus wie aktuelle dev. In der aktuellen dev werden alle Timeouts als Warnung ausgegeben und nicht als Error.
-
@copystring said in Roborock Adapter tester gesucht:
@dontoben Das sieht nicht aus wie aktuelle dev. In der aktuellen dev werden alle Timeouts als Warnung ausgegeben und nicht als Error.
Unter benutzerdefinierte Adapterinstallation doch nur den Link https://github.com/copystring/ioBroker.roborock/tree/dev eintragen und installieren, oder?
Hatte das gestern mehrfach gemacht. Auch Adapter zuvor deinstalliert. Immer das gleiche Problem. Ging jetzt auf den Main zurück. Der funktioniert.
-
Befehl ausführen Process exited with code 0 weniger mehr $ iobroker url https://github.com/copystring/ioBroker.roborock/tree/dev --host raspberrypi --debug install copystring/ioBroker.roborock#dev NPM version: 9.5.1 Installing copystring/ioBroker.roborock#dev... (System call) 66 packages are looking for funding run `npm fund` for details upload [13] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/de/translations.json i18n/de/translations.json application/json upload [12] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [10] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [9] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [7] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [6] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [3] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [2] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/jsonConfig.json jsonConfig.json application/json upload [1] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/roborock.png roborock.png image/png upload [0] roborock.admin /opt/iobroker/node_modules/iobroker.roborock/admin/words.js words.js application/javascript Update "system.adapter.roborock.0" Process exited with code 0
Hier der Log der Installation. Die aktuelle Dev funktioniert bei mir nicht.
-
@copystring vielen Dank, die hab ich nun installiert und goto ist vorhanden
was ich aber jetzt festgestellt habe ist, wenn ich über webseite (Map) eine zone in die karte mache und auf start klicke, fährt der roboter los, jedoch ist die zone nicht dort wo ich sie eingezeichnet habe (wird ja grün umrandet) -
@dontoben said in Roborock Adapter tester gesucht:
@copystring said in Roborock Adapter tester gesucht:
@dontoben Das sieht nicht aus wie aktuelle dev. In der aktuellen dev werden alle Timeouts als Warnung ausgegeben und nicht als Error.
Unter benutzerdefinierte Adapterinstallation doch nur den Link https://github.com/copystring/ioBroker.roborock/tree/dev eintragen und installieren, oder?
Hatte das gestern mehrfach gemacht. Auch Adapter zuvor deinstalliert. Immer das gleiche Problem. Ging jetzt auf den Main zurück. Der funktioniert.
Jemand eine Idee? Auf einen älteren Dev Stand komme ich nicht zurück, oder?
-
@dontoben said in Roborock Adapter tester gesucht:
@dontoben said in Roborock Adapter tester gesucht:
@copystring said in Roborock Adapter tester gesucht:
@dontoben Das sieht nicht aus wie aktuelle dev. In der aktuellen dev werden alle Timeouts als Warnung ausgegeben und nicht als Error.
Unter benutzerdefinierte Adapterinstallation doch nur den Link https://github.com/copystring/ioBroker.roborock/tree/dev eintragen und installieren, oder?
Hatte das gestern mehrfach gemacht. Auch Adapter zuvor deinstalliert. Immer das gleiche Problem. Ging jetzt auf den Main zurück. Der funktioniert.
Jemand eine Idee? Auf einen älteren Dev Stand komme ich nicht zurück, oder?
Scheint wirklich ein Bug zu sein. GitHub Ticket habe ich erstellt. Fehler tritt auf, wenn der Adapter gestartet wird, aber der Roborock in der Ladestation steht und im Standby ist.
Workaround:
Adapter starten wenn der Saugroboter gerade reinigt, dann ist alles ok. -
Es gibt eine neue branch, in der versucht wird, die aufgenommenen Fotos von den Modellen mit Kamera abzurufen.
Das Abrufen läuft über das Webinterface, indem man auf einen der roten Punkte von dem entsprechenden Hindernis klickt.
Dann wird eine Anfrage zum Server von Roborock mit der ID vom Foto zusammen mit vom Adapter generierten PublicKey (RSA128) übersendet.
Die Antwort muss dann entsprechend mit dem PrivateKey entschlüsselt werden. Es scheint da irgendeinen Offset zu geben, den ich nicht herausfinden kann. Da hört es mit meinen Skills zum Reverse Engineering auf.
Wer mag und vielleicht mithelfen kann, kann sich das ja mal angucken. Aber nur dann, wenn man ernsthaft Interesse hat, daran mitzuentwickeln. https://github.com/copystring/ioBroker.roborock/tree/get_photo_public_test
Das Interessante ist, dass es möglich war, direkt den Code von Roborock zu verwenden, da Roborock eine Zip-Datei herunterlädt, in welcher einiges von der Logik zum Verschlüsseln und Entschlüsseln hinterlegt ist. Dies ist einfach nur nodejs code. Was für ein Zufall, dass ioBroker nodejs ist.
Wie auch immer, da ich da nicht weiter komme, wird sich da wohl erstmal nicht viel dran ändern, es sei denn, jemand finden heraus, was ich falsch mache. -
@mikiline said in Roborock Adapter tester gesucht:
@copystring vielen Dank, die hab ich nun installiert und goto ist vorhanden
was ich aber jetzt festgestellt habe ist, wenn ich über webseite (Map) eine zone in die karte mache und auf start klicke, fährt der roboter los, jedoch ist die zone nicht dort wo ich sie eingezeichnet habe (wird ja grün umrandet)Hast du Bilder dazu? Kann mir das so nicht richtig vorstellen, was gemeint ist.
-
@copystring ja klar, bitte schön
zonenauswahl
zonenreinigung
-
@mikiline also das gleiche Problem wie hier? https://github.com/copystring/ioBroker.roborock/issues/88
-
@copystring
dann mach ich jetzt alles stromlos? (spass)
ja, genau gleicher fehler.zuvor mit dem "normalen" adapter hatte alles funktioniert, hab dann den DEV drüber installiert.....
ich lösche mal den adapter starte den server neu und schau ob es evtl dann gelöst ist.
-
leider keine Abhilfe mit neu Installation, auch eine Browser Cache leeren brachte keinen Erfolg....
Sehr seltsam.Wieso hat es davor funktioniert, ist ja die gleiche Berechnung. Oder unterscheiden sich die zones.js?
-
@mikiline kann eigentlich nicht sein, da die Berechnung der Zonen seit 13. März nicht mehr angefasst wurde.
Ganz sicher, dass 0.1.6 in Ordnung ist und die dev nicht?EDIT: Stimmt. Geht tatsächlich nicht. Hatte vergessen, dass ich Zoom eingebaut habe. Die Berechnung der Zonen ist aber noch nicht angepasst.
-
@mikiline teste bitte mal die neue dev. Konnte den Fehler reproduzieren und beheben.