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.
    • 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
                                      • jahnbes
                                        jahnbes @SpacerX last edited by

                                        @spacerx Danke, ist geändert!

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

                                          @tritanium
                                          Danke, MIcha, ich habe das Wiki ergänzt. Und warte auf Weiteres!
                                          Ein schönes Wochenende noch, Gruß Bert.

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

                                            @jahnbes Sorry das ich nerve.

                                            SchnipSchnap.PNG

                                            Es ist genau umgekehrt!
                                            0 = Nicht bereit zum Mopp Waschen
                                            1 = Bereit zum Mopp Waschen und ggf. Wasser nachtanken

                                            Sagt aus das der Saugroboter richtig herum in der Station steht und bereit ist um den Mopp zu Waschen oder Wasser nachzutanken.
                                            Wenn der Robi beim Andocken zum Waschen den Befüllstutzen nicht treffen würde bleibt wash_ready auf 0 (FALSE)

                                            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

                                            719
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            116
                                            815
                                            166859
                                            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