2 Jul 2023, 11:51

Die letzten Wochen war ich damit beschäftigt, wie man das Mitschneiden des Datenverkehrs realisieren könnte (daher der Zeitmangel 🙂 )
Dies ging vor einiger Zeit mal direkt über ein Subscribe im MQTT Client des Adapters.
Anscheinen hat Roborock das aber mitbekommen, und die Möglichkeit gesperrt.

Mit der neuesten dev ist jetzt möglich zusammen mit mitmproxy den Datenverkehr dann doch wieder mitzuschneiden.
Das funktioniert folgendermaßen:

  • Die aktuelle dev installieren (https://github.com/copystring/ioBroker.roborock/tree/dev)
  • Auf dem selben PC, auf dem ioBroker läuft, mitmproxy wie folgt installieren:
    -- pipx install mitmproxy
    -- pipx inject mitmproxy websocket
    -- pipx inject mitmproxy websocket-client
  • Und so starten: mitmweb.exe --listen-port 9090 --web-port 9091 --mode wireguard -s C:\iobroker\node_modules\ioBroker.roborock\lib\sniffing\mitmproxy_roborock.py
    ggf. den Pfad von mitmproxy_roborock.py auf eure Installation anpassen.
  • Anschließend öffnet sich im Browser das Fenster von mitmproxy und ein QR Code. Darüber Wireguard am Handy einrichten. Ihr benötigt dann noch das entsprechende Zertifikat von mitmproxy: https://docs.mitmproxy.org/stable/concepts-certificates/. Bitte fragt mich nicht, wie das zu installieren ist. Ihr müsst euch auskennen!
  • Dann Wireguard auf dem Handy aktivieren und die Roborock App öffnen.

Das sieht dann z.B. so aus:
38355c69-6866-47b3-ac21-7c07557ad76a-image.png

Dadurch ist nun möglich, auch neue und unbekannte Befehle mitzuschneiden, welche direkt von der App kommen.