NEWS
Neuer Adapter für Roborock-Staubsauger
-
@spacerx
Es ist mir etwas peinlich, aber nachdem ich mir fast den iobroker zerschossen habe, wie bekomme ich Dein Skript bei mir in den iobroker?
Das Blockly ist nur ein Ausschnitt und der Code bringt bei mir nur Fehler. Finden wir einen Weg. Wie machst Du das bei Dir, also Dein Weg vom Code zum Blockly?
Gruß Bert. -
@jahnbes auf der Seite JavaScript ein neues Blockly erstellen. Das dann öffnen und oben rechts im Editor Block einfügen wählen. Dort kopierst du den Code aus dem Spoiler rein. Dann Skript speichern und starten.
das war es. -
@spacerx
Danke, der Weg funktionierte leider nicht. Ich habe inzwischen auch gefunden, warum, in Deinem Blockly-Skript oben fehlt die erste Zeile<xml xmlns="https://developers.google.com/blockly/xml">
Steht die am Beginn des Blockly-Skriptes, dann wird blockly ohne Fehler erkannt und angezeigt.
Mehr noch nicht, ich bin am forschen.
Gruß Bert. -
@jahnbes Sorry.
Ich hatte es schon komplett kopiert und im Code Tag war auch alles enthalten.
Nur Stand der Code Tag in der gleichen Zeile wie der Beginn des Codes so das diese von HTML verschluckt wurde.Ich hab das in meinem Beitrag oben korrigiert und auch den Import sowie dann die Funktion getestet.
Nun ist alles Richtig und es sollte funktionieren.
-
@spacerx
Da sind noch ein paar private (?) Funktionen enthalten, die nicht mit rübergekommen sind, oder denke ich da falsch? Von "RobiLog" nach unten bis "GetSektion".
Siehe im Bild links
Sind das private Funktionen oder allen zugängliche und ich habe sie nur noch nicht gefunden?
Gruß Bert. -
@jahnbes das sind kleine Javascripts wenn du bei der Funktion auf (...) klickst siehst du diese.
Das Blockly sollte so funktionieren. Einfach Starten und im Log sollte was von:
"Start logging Roborock Instanz 0 - Device: "deindevice"Ich schrub ja schon das ich den Code im oben im Spoiler korrigiert habe.
Ich hab das in meinem Beitrag oben korrigiert und auch den Import sowie dann die Funktion getestet.
Nun ist alles Richtig und es sollte funktionieren.
-
@spacerx
Klasse, jetzt sehe ich den log auch, vielen Dank und ein schönes Wochenende!
Gruß Bert. -
@copystring
Ich hab mich mal am Sniffing Versuch.
So einfach wie es in der Wiki steht ist ja doch nicht.
Dazu hab ich mir auch mal ioBroker auf Windows installiert mit nur Roborock Adapter.
Erst mal den ganzen Kram nach Python zu installieren hat schon fast den ganzen Nachmittag aufgefressen.
Der Proxy auf dem Windows Rechner läuft und WireGuard auf dem IPhone auch.
Das Zertifikat hab ich abgerufen und im Iphone installiert.
Ich bekomme einfach keine Verbindung Zustande. Es kommen Fehler von TCL Version auf Client.Könntest du mir da etwas unter die Arme greifen. Gern auch in einem Beitrag um das hier nicht so zuzumüllen,
-
@spacerx said in Neuer Adapter für Roborock-Staubsauger:
Es kommen Fehler von TCL Version auf Client.
In der Roborock App?
-
@copystring Nein im Cmd von mitmproxy.
Der Start.
mit Bash Script
C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\mitmweb.exe --listen-port 9090 --web-port 9091 --set tls_version_client_min=TLS1_3 --mode wireguard -s C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py Pause
[23:47:57.984] Loading script C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py [23:47:58.017] Initializing WireGuard server ... [23:47:58.017] WireGuard server listening for UDP connections on 0.0.0.0:9090 and [::]:9090 ... [23:47:58.017] WireGuard server successfully initialized. [23:47:58.017] ------------------------------------------------------------ [Interface] PrivateKey = Address = 10.0.0.1/32 DNS = 10.0.0.53 [Peer] PublicKey = AllowedIPs = 0.0.0.0/0 Endpoint = 10.0.0.3:9090 ------------------------------------------------------------ [23:47:58.034] WireGuard server listening at *:9090. [23:47:58.034] Web server listening at http://127.0.0.1:9091/ [23:48:08.804][10.0.0.1:57020] client connect [23:48:08.804][10.0.0.1:62599] client connect [23:48:08.804][10.0.0.1:61335] client connect [23:48:08.804][10.0.0.1:64527] client connect [23:48:08.804][10.0.0.1:49858] client connect [23:48:08.830][10.0.0.1:60201] client connect [23:48:08.864][10.0.0.1:64843] client connect [23:48:08.881][10.0.0.1:64843] server connect 17.248.209.64:443 [23:48:09.695][10.0.0.1:64843] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:48:09.695][10.0.0.1:64843] client disconnect
dann fortlaufen.
[23:49:21.680][10.0.0.1:52312] client disconnect [23:49:22.146][10.0.0.1:49597] client connect [23:49:22.284][10.0.0.1:63804] client connect [23:49:22.304][10.0.0.1:63804] server connect 216.58.212.174:443 [23:49:22.323][10.0.0.1:63805] client connect [23:49:22.354][10.0.0.1:63805] server connect 17.248.209.64:443 [23:49:22.361][10.0.0.1:63804] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.364][10.0.0.1:63804] client disconnect [23:49:22.365][10.0.0.1:63804] server disconnect 216.58.212.174:443 [23:49:22.365][10.0.0.1:52816] client connect [23:49:22.384][10.0.0.1:63805] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:49:22.387][10.0.0.1:63805] client disconnect [23:49:22.389][10.0.0.1:63805] server disconnect 17.248.209.64:443 [23:49:22.519][10.0.0.1:63806] client connect [23:49:22.541][10.0.0.1:63806] server connect 216.58.212.174:443 [23:49:22.603][10.0.0.1:63806] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.605][10.0.0.1:63806] client disconnect [23:49:22.605][10.0.0.1:63806] server disconnect 216.58.212.174:443 [23:49:22.611][10.0.0.1:55374] client connect [23:49:22.738][10.0.0.1:63807] client connect [23:49:22.757][10.0.0.1:63807] server connect 216.58.212.174:443 [23:49:22.821][10.0.0.1:63807] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [23:49:22.821][10.0.0.1:63807] client disconnect [23:49:22.821][10.0.0.1:63807] server disconnect 216.58.212.174:443 [23:49:24.700][10.0.0.1:63808] client connect [23:49:24.728][10.0.0.1:63808] server connect 17.248.209.64:443 [23:49:24.754][10.0.0.1:63808] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option. [23:49:24.754][10.0.0.1:63808] client disconnect [23:49:24.754][10.0.0.1:63808] server disconnect 17.248.209.64:443 [23:49:26.493][10.0.0.1:60191] Closing connection due to inactivity: Client(10.0.0.1:60191, state=open)
-
@spacerx warum hast du --set tls_version_client_min=TLS1_3 hinzugefügt?
-
@copystring im log stand auch ohne diese Option
[23:48:09.695][10.0.0.1:64843] Client TLS handshake failed. Client and mitmproxy cannot agree on a TLS version to use. You may need to adjust mitmproxy's tls_version_client_min option.
Das war mein Versuch, nachdem ich nach dem Fehler im i-Net gegoggelt hatte und dies als Möglichkeit fand.
Habe, von TLS1_1 über TLS1_2 bis SSL3 alles ausprobiert. -
@spacerx welchen Browser nimmst du? Bei lief es mit Chrome
-
@copystring im Moment Edge. Der ist eigentlich Chrome basierend.
-
Ich habe nun mal Chrome installiert. Das ändert leider Garnichts.
Noch mal eine Ausgabe dazu.
[11:01:04.438][10.0.0.1:54441] server connect 142.250.184.206:443 [11:01:04.485][10.0.0.1:54441] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.485][10.0.0.1:54441] client disconnect [11:01:04.485][10.0.0.1:54441] server disconnect 142.250.184.206:443 [11:01:04.500][10.0.0.1:49611] client connect [11:01:04.610][10.0.0.1:54442] client connect [11:01:04.625][10.0.0.1:54442] server connect 142.250.184.206:443 [11:01:04.672][10.0.0.1:54442] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for clients3.google.com, this may indicate that the client does not trust the proxy's certificate. [11:01:04.672][10.0.0.1:54442] client disconnect [11:01:04.672][10.0.0.1:54442] server disconnect 142.250.184.206:443 [11:01:07.218][10.0.0.1:54381] client connect [11:01:07.250][10.0.0.1:54381] server connect 52.29.91.104:8883 [11:01:07.359][10.0.0.1:54381] client disconnect [11:01:07.359][10.0.0.1:54381] server disconnect 52.29.91.104:8883 [11:01:09.109][10.0.0.1:54443] client connect [11:01:09.124][10.0.0.1:54444] client connect [11:01:09.140][10.0.0.1:54443] server connect 18.195.207.39:443 [11:01:09.155][10.0.0.1:54444] server connect 52.29.136.229:443 [11:01:09.218][10.0.0.1:54443] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for api-eu.roborock.com, this may indicate that the client does not trust the proxy's certificate. [11:01:09.218][10.0.0.1:54443] client disconnect [11:01:09.218][10.0.0.1:54443] server disconnect 18.195.207.39:443 [11:01:09.218][10.0.0.1:54444] Client TLS handshake failed. The client disconnected during the handshake. If this happens consistently for awsde0.fds.api.xiaomi.com, this may indicate that the client does not trust the proxy's certificate.
Die Verbindung zum iPhone mit WireGuard scheint zu Funktionieren nur vom Proxy zu Roborock usw. klappt anscheinend nicht weil was mit dem Zertifikat nicht hin haut.
Ehrlich gesagt ist so langsam meine Frustschwelle erreicht.
<frust = on>
Wer sich den ganzen Müll mit den Zertifikaten ausgedacht hat gehört geteert und gefedert.
<frust = off>Vielleicht war mein Vorgehen bei der ganzen Installation auch falsch.
- Python installiert
- pip installiert [python -m pip install --user pipx]
- Dann die Installationen zu mitmproxy
- py -m pipx install mitmproxy --force
- py -m pipx inject mitmproxy websocket
- py -m pipx inject mitmproxy websocket-client
Noch jemand eine Idee wie man das Prob gelöst bekommt?
@copystring
Geht der Installationskram auch anders. In der Wiki ist von Python als Voraussetzung nicht die Rede. Ich nehme mal an durch die Programmiererei hast du den Kram eh auf dem Rechner. Deshalb klappts bei dir ohne Prob. Ich hab's nur nicht so mit den Zertifikaten und hab immer versucht dem aus dem Weg zu gehen. -
@spacerx
Hallo, ich habe das Wiki ergänzt, vielen Dank.
Und Dein kleines Skript ist Klasse, ich habe bisher in der langen Liste immer geschaut, ob sich ein Datenpunkt ändert und wenn ja, wie.
Viele Grüße, Bert. -
@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
ich habe bisher in der langen Liste immer geschaut, ob sich ein Datenpunkt ändert und wenn ja, wie.
Das war mein Ansinnen. Weil man die Objekte ja nicht mit einmal auf den Bildschirm bekommt ist es unmöglich das vernünftig nach zu vollziehen.
-
@spacerx said in Neuer Adapter für Roborock-Staubsauger:
Geht der Installationskram auch anders.
Nein. mitmproxy braucht zwingend Python.
Hast du das Zertifikat von mitmproxy denn auf dem iPhone als root Zertifikat hinzugefügt? -
@copystring ja habe ich.
-
@spacerx mit iPhone kenne ich mich nur wenig aus. Sicher, dass es als root Zertifikat hinzugefügt ist? Alle anderen Zertifikatstypen wären falsch.