Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Adapter für Roborock-Staubsauger

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuer Adapter für Roborock-Staubsauger

    This topic has been deleted. Only users with topic management privileges can see it.
    • jahnbes
      jahnbes @SpacerX last edited by

      @spacerx
      Klasse, jetzt sehe ich den log auch, vielen Dank und ein schönes Wochenende!
      Gruß Bert.

      1 Reply Last reply Reply Quote 0
      • S
        SpacerX @copystring last edited by

        @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,

        copystring 1 Reply Last reply Reply Quote 0
        • copystring
          copystring @SpacerX last edited by

          @spacerx said in Neuer Adapter für Roborock-Staubsauger:

          Es kommen Fehler von TCL Version auf Client.

          In der Roborock App?

          S 1 Reply Last reply Reply Quote 0
          • S
            SpacerX @copystring last edited by SpacerX

            @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)
            
            copystring 1 Reply Last reply Reply Quote 0
            • copystring
              copystring @SpacerX last edited by

              @spacerx warum hast du --set tls_version_client_min=TLS1_3 hinzugefügt?

              S 1 Reply Last reply Reply Quote 0
              • S
                SpacerX @copystring last edited by

                @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.

                copystring 1 Reply Last reply Reply Quote 0
                • copystring
                  copystring @SpacerX last edited by

                  @spacerx welchen Browser nimmst du? Bei lief es mit Chrome

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    SpacerX @copystring last edited by

                    @copystring im Moment Edge. Der ist eigentlich Chrome basierend.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SpacerX @SpacerX last edited by

                      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.

                      copystring 1 Reply Last reply Reply Quote 0
                      • jahnbes
                        jahnbes @SpacerX last edited by

                        @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.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SpacerX @jahnbes last edited by

                          @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.

                          1 Reply Last reply Reply Quote 0
                          • copystring
                            copystring @SpacerX last edited by

                            @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?

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SpacerX @copystring last edited by

                              @copystring ja habe ich.

                              IMG_3552.jpeg

                              copystring 1 Reply Last reply Reply Quote 0
                              • copystring
                                copystring @SpacerX last edited by copystring

                                @spacerx mit iPhone kenne ich mich nur wenig aus. Sicher, dass es als root Zertifikat hinzugefügt ist? Alle anderen Zertifikatstypen wären falsch.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  SpacerX @copystring last edited by

                                  @copystring das war das Stichwort. Es reichte nicht das Profil zu Installieren. Da muss man beim iPhone doch tiefer in die Abgründe der Einstellungen.
                                  IMG_3553.jpeg
                                  Jedenfalls zappelt jetzt was.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    SpacerX @SpacerX last edited by

                                    @spacerx

                                    Ab und an tauchen folgende Meldungen auf.

                                    C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe
                                    [21:15:18.262] Packet type CONNACK is not supported yet!
                                    C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe
                                    [21:15:18.262] Addon error: unpack requires a buffer of 2 bytes
                                    Traceback (most recent call last):
                                      File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 286, in tcp_message
                                        mqtt_packet = MQTTControlPacket(message.content)
                                      File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 83, in __init__
                                        self._parse_publish_variable_headers()
                                      File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 136, in _parse_publish_variable_headers
                                        field_length, field_content_bytes = self._parse_length_prefixed_bytes(offset)
                                      File "C:\ioBroker\node_modules\iobroker.roborock\lib\sniffing\mitmproxy_roborock.py", line 127, in _parse_length_prefixed_bytes
                                        field_length = struct.unpack("!H", field_length_bytes)[0]
                                    struct.error: unpack requires a buffer of 2 bytes
                                    C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe
                                    [21:15:18.309] [PUBLISH]
                                    C:\Users\SpacerX\.local\pipx\venvs\mitmproxy\Scripts\python.exe
                                    [21:15:18.309] [PUBLISH]
                                    

                                    Die Sniffing Message taucht bei mir leider auch nicht im Log auf.

                                    Jetzt weis ich noch nicht genau nach was ich schauen soll.

                                    copystring 1 Reply Last reply Reply Quote 0
                                    • copystring
                                      copystring @SpacerX last edited by

                                      @spacerx okay. Kann ich mir aktuell nicht angucken. Bin im Urlaub. Du müsstest dich gedulden oder selber mal schauen was das sein kann.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        SpacerX @copystring last edited by

                                        @copystring Alles gut!
                                        Nachdem ich 24h Lebenszeit in das Unternehmen Sniffing verschwendet habe, habe ich der PC-Kiste erst mal den Strom abgedreht. Zur Frustbewältigung ein Eis gegessen und 3 Kippen verschlungen.
                                        Nu hat es mir dann doch keine Ruhe gelassen. Also PC wieder an. ioBroker-Dienst + mitmproxy gestartet, Wireguard auf iPone angeschalten und Roborock App gestartet.

                                        Jetzt passt auf was kommt!

                                        Es Läuft. Decoded sniffing in der Log-Ausgabe.

                                        Hier schon mal rausgepickt was ich herausfinden will.

                                        2023-08-05 22:12:19.101  - roborock.0 (8400) Decoded sniffing message: {"dps":{"101":"{"id":277019,"method":"get_wash_towel_mode","params":{}}"},"t":1691266339}
                                        2023-08-05 22:12:19.181  - roborock.0 (8400) dps debug: {"id":277019,"result":{"wash_mode":1}}
                                        2023-08-05 22:12:19.204  - roborock.0 (8400) Decoded sniffing message: {"dps":{"101":"{"id":277020,"method":"get_smart_wash_params","params":{}}"},"t":1691266339}
                                        2023-08-05 22:12:19.296  - roborock.0 (8400) dps debug: {"id":277020,"result":{"smart_wash":0,"wash_interval":1200}}
                                        

                                        Das sind Teile von den Einstellungen der Dockingstation.

                                        Ich bin erst mal Happy.

                                        Falls jemand für das Sniffing mit Roborock App auf iPhone Unterstützung braucht kann ich gern mit meinen Notizen von diesem Amoklauf behilflich sein.

                                        Gut Nächtle.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          SpacerX @jahnbes last edited by

                                          @jahnbes Bevor ich es vergessen!

                                          In der Doku zu den Objekten vom Robi Hast du eingetragen:
                                          SchnipSchnap.PNG

                                          wash_ready wird nach meiner Beobachtung und den Logs von oben immer dann auf TRUE wenn der Robi zum Mopp Waschen richtig herum an der Station angedockt hat. Unter dem Wasserbefüllstutzen am Roboter ist ein Mikroschalter der durch eine kleine Nase unter dem Wasserstutzen der Station betätigt wird.
                                          wash_ready wird FALSE wenn der Robi nach dem Mopp Waschen wieder abdockt und der Robi dreht rum um in Ladeposition wieder anzudocken.

                                          jahnbes 1 Reply Last reply Reply Quote 0
                                          • T
                                            tritanium @jahnbes last edited by

                                            @jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:

                                            @matt77che
                                            Danke, so habe ich es jetzt auch im Wiki eingetragen.

                                            Wenn ihr schon mal dabei seid, das Wiki zu vervollständigen 😄 wir haben einen Q7 Max+

                                            Mehrfache Tests haben ergeben:

                                            clean_type:

                                            1 = Gesamt Reinigung (alle Räume)
                                            2 = Zonenreinigung (ausgewählt über die App z.b.)
                                            3 = Raumreinigung

                                            start_type:

                                            1 = manuell (Knopfdruck am Roboter)
                                            2 = via App (aus der App gestartet oder per ioBroker.Adapter)
                                            3 = Planstart (durch Zeitplanung in der App)

                                            complete Type

                                            1 = normal beendet
                                            <> 1 = abgebrochen


                                            Andere Werte habe ich auch noch, die schicke ich nachher noch nach 🙂

                                            Gruß Micha

                                            jahnbes 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            715
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            116
                                            815
                                            166530
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo