Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] Xiaomi Vacuum cleaner

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Frage] Xiaomi Vacuum cleaner

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      @skorpil

      Na dann ist deiner ja jetzt auch endlich angekommen.

      Schaun wir mal wies weiter geht.

      mfg

      1 Reply Last reply Reply Quote 0
      • S
        skorpil last edited by

        Dieter,

        Bei Dir läuft alles unter Win7? Also Python und iobroker?

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by

          ja so ist es.

          1 Reply Last reply Reply Quote 0
          • Meistertr
            Meistertr Developer last edited by

            Wenn man nur die Funktionen an aus und Saugstufe zur Zeit in iobroker benötigt, ist es wahrscheinlich der einfachere Weg den Adapter von Seite eins zu installieren und die verschlüsselten Nachrichten zu nutzen. Alternativ bin Ich gerade dabei das python Script in js zu überführen.

            Gesendet von meinem E5823 mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • S
              skorpil last edited by

              Meistertr,

              Aber dafür müsste ich ja relativ aufwändig die verschlüsselten Nachrichten mitschneiden. Ich denke, das alles geht über den von Dir beschrittenen Weg dann Dich leichter. Zumal Du ja bereits die ganzen Daten ausgelesen hast.

              Mal ganz dumm gefragt: geht den jetzt auch der umgekehrte Weg? Das heißt: Deine Befehle mit Hilfe des Tokens wieder verschlüsseln und in den Adapter von Seite 1 einfügen?

              Liebe Grüße

              Bernd

              PS: und nochmal ganz lieben herzlichen Dank für all Deine Zeit und Arbeit und Hilfe und Erklärungen für uns Dummys. 😄

              1 Reply Last reply Reply Quote 0
              • M
                mc-hollin last edited by

                @Meistertr:

                Alternativ bin Ich gerade dabei das python Script in js zu überführen. `
                Ich hab auch schon mal angefangen das Script nach Node zu portieren.

                Da ich aber keine Ahnung von Python, den Grundlagen von Crypto und im Moment wenig Zeit habe, werde ich wohl frühestens nächstes Wochenende fertig werden und testen.

                Wie weit bist du denn mit der Konvertierung?

                Kannst du vielleicht schon was zur Verfügung stellen?

                1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  so, habe

                  1. robo reset

                  2. token per …-info neu ausgelesen

                  3. und dann in cmd folgende Fehlermeldung
                  filename="bild1.jpg" index="0">~~

                  klappt noch nicht bei mir.

                  Anm: wenn ich als id: 2514 eingebe kommt die gleiche Fehlermeldung

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active last edited by

                    Anbei mal ne Anleitung wie es bei mir bis dahin geklappt hat (auf win7 rechner)

                    (der Befehl zum start des robo klappt noch nicht - deshalb hab ich diesen ersteinmal weggelassen)

                    1\. Python installieren
                    2\. cmd als Admin aufrufen
                     - get-pip.py Datei besorgen und unter python27 Verzeichnis speichern
                     - Eingabe: cd\python27
                     - Eingabe: python get-pip.py
                     - Eingabe: cd scripts
                     - Eingabe: pip install cryptography
                    3\. Python aufrufen und xpn.py laden
                    4\. Wenn Fehlermeldung: "Your indentation mixes tabs and spaces" dann
                     - Edit -> Select All -> Format: Untabify Region -> Nummer 8 eingeben
                    5\. cmd aufrufen
                     - xpn.py -h
                       (kommt die Hilfe; wenn ja dann ok)
                    6\. robo reset
                    7\. per wlan mit robo verbinden, bei mir "rockrobo vacuum ...."
                     - ip prüfen, bei mir 192.168.8.1
                    8\. in cmd Eingabe: python xpn.py -info
                     - angezeigt wird der token: (diesen unbedingt aufschreiben)
                    9\. dann per "mi home"app dem robo das heimnetz zuweisen.
                    10\. in cmd zur Kontrolle Eingabe: python xpn.py -info
                     - angezeigt wird nun die von der fritzbox zugewiesenen ip und
                       als Token: ffff.... (dies ist richtig; weil der richtige token nicht mehr angezeigt wird)
                    
                    

                    @meitertr oder @gst66

                    Bitte mal drüber schauen ob das alles so richtig ist.

                    mfg

                    Dieter

                    Nachtrag:

                    Die dateien könnte ich ja noch anhängen (txt jeweils umändern in py).

                    1 Reply Last reply Reply Quote 0
                    • T
                      tpr last edited by

                      Wie wäre es das Skript & so in ein git-repo hinzufügen, wäre dann einfacher zu kooperieren plus updaten? 🙂 Vielen Dank für euer Mühe, werde das heute ausprobieren!

                      1 Reply Last reply Reply Quote 0
                      • Meistertr
                        Meistertr Developer last edited by

                        @bahnuhr:

                        @meitertr oder @gst66

                        Bitte mal drüber schauen ob das alles so richtig ist. `
                        Leider muss ich zugeben, dass mein Pythonisch nicht mehr so gut ist. Und ich so auf Anhieb nichts finden kann, bis zum senden läuft es ja scheinbar normal durch, nur das senden scheint nicht zu funktionieren. Vielleicht kann gst666 helfen.

                        @mc-hollin: ich bin noch nicht weit. habe heute morgen angefangen. Hatte im Vorfeld auch noch nichts mit AES zu tun und muss mich da erst durch lesen und meine Defizite in Python verringern.

                        @gst666: Kann es sein dass für das Programm die Anwesenheit des Roboters im Wlan erforderlich ist? hab ihn gerade mit lerem Akku neben mir stehen und ich kann keine Nachrichten mehr dekodieren. :shock:

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kayle last edited by

                          @bahnuhr:

                          so, habe

                          1. robo reset

                          2. token per …-info neu ausgelesen

                          3. und dann in cmd folgende Fehlermeldung

                          bild1.jpg

                          klappt noch nicht bei mir.

                          Anm: wenn ich als id: 2514 eingebe kommt die gleiche Fehlermeldung `

                          Hallo zusammen,

                          mein Name ist Kay und bin neu hier. Habe auch den Xiaomi Robot und benötige den Akkustand für mein SmartHome. Bin wie bahnuhr an dem Punkt an dem ich die Fehlermeldung vom Python Script erhalte. Läuft momentan auf Win7, da ich das Cryptography nicht auf die schnelle auf meinen Raspis installieren konnte. Was bedeutet denn die Fehlermeldung die bahnur auf dem Bild zeigt ?

                          Gruß Kay

                          1 Reply Last reply Reply Quote 0
                          • G
                            gst666 last edited by

                            @bahnuhr

                            Die ID hat keinerlei Auswirkungen. Sie muss nur angegeben werden. Sie dient dazu, zu erkennen, ob die Antwort zu dem zuvor gesendeten Text gehört.

                            1 Reply Last reply Reply Quote 0
                            • G
                              gst666 last edited by

                              @bahnuhr:

                              Toller Fehler. Ist ein Fehler beim Abfangen des Fehlers. Was für ein Trottel programmiert denn so etwas. Da muss ich mir mal an den Ohren ziehen.

                              Teste doch bitte mal, ob es sich ändert, wenn Du ausdrücklich die IP des Robot angibst (mit -ip x.x.x.x).

                              Müssen dann mal schauen, ob der Fehler beim Senden, oder beim Empfangen auftritt.

                              @Meistertr

                              Gratulation zu Deiner Auswertung der Befehle. Spannend finde ich, ob wir irgendwann auch mal die Karte verstehen werden. Ich glaube ich brauche auch so ein Ding.

                              1 Reply Last reply Reply Quote 0
                              • T
                                tpr last edited by

                                @bahnuhr:

                                was denn für eine Fernbedienung ?

                                Gibt es eine solche für den xiaomi vacuum ? `
                                Das ist vermutlich die Fernbedienung wo Du den Roboter selbst steuern könntest 🙂

                                1 Reply Last reply Reply Quote 0
                                • T
                                  tpr last edited by

                                  @gst666:

                                  @Meistertr

                                  Gratulation zu Deiner Auswertung der Befehle. Spannend finde ich, ob wir irgendwann auch mal die Karte verstehen werden. Ich glaube ich brauche auch so ein Ding. `
                                  Gratulation von meiner Seite auch, es ist sehr hilfreich! Ich baue mir gerade eine Python-Bibliotek & einen Client womit man das alles steuern kann (mein Ziel ist schließlich das mit Home Assistant zu verbinden).

                                  @gst666 ich benutze deinen Kryptocode hier, hoffentlich ist das in Ordnung. Über die Karte, sie wird anscheinbar nicht über das gleiche Protokoll übertragen 😞

                                  edit: Danke ebenso für Deine Mitteilungen @Meistertr, sie waren wirklich echt hilfreich 🙂

                                  Hier eine kleine Abschnitt von meinem Mitschnitt, wo zu sehen ist wie get_map_v1 ohne Netzverbindung (gar nicht) funktioniert:

                                  TO DEV  >> {'id': 1648, 'method': 'get_map_v1'}
                                  FROMDEV << {'result': ['retry'], 'id': 1648}
                                  TO DEV  >> {'id': 1649, 'method': 'get_status'}
                                  FROMDEV << {'result': [{'msg_ver': 4, 'msg_seq': 79, 'state': 8, 'battery': 100, 'clean_time': 52, 'clean_area': 1217500, 'error_code': 0, 'map_present': 1, 'in_cleaning': 0, 'fan_power': 60, 'dnd_enabled': 1}], 'id': 1649}
                                  TO DEV  >> {'id': 1650, 'method': 'get_map_v1'}
                                  FROMDEV << {'result': ['retry'], 'id': 1650}
                                  TO DEV  >> {'id': 1651, 'method': 'get_status'}
                                  FROMDEV << {'result': [{'msg_ver': 4, 'msg_seq': 80, 'state': 8, 'battery': 100, 'clean_time': 52, 'clean_area': 1217500, 'error_code': 0, 'map_present': 1, 'in_cleaning': 0, 'fan_power': 60, 'dnd_enabled': 1}], 'id': 1651}
                                  TO DEV  >> {'id': 1652, 'method': 'get_map_v1'}
                                  FROMDEV << {'result': ['retry'], 'id': 1652}
                                  TO DEV  >> {'id': 1653, 'method': 'get_consumable'}
                                  FROMDEV << {'result': [{'main_brush_work_time': 31255, 'side_brush_work_time': 31255, 'filter_work_time': 31255, 'sensor_dirty_time': 2642}], 'id': 1653}
                                  TO DEV  >> {'id': 1654, 'method': 'get_consumable'}
                                  FROMDEV << {'result': [{'main_brush_work_time': 31255, 'side_brush_work_time': 31255, 'filter_work_time': 31255, 'sensor_dirty_time': 2642}], 'id': 1654}
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Meistertr
                                    Meistertr Developer last edited by

                                    <u>ACHTUNG</u>: Wer Nachrichten encodieren will: Habe gerade auf meinem Handy die die Gesendeten Datenpakete nachgeschaut. wo vor wenigen Tagen noch die UDP Nachrichten gesendet wurden, werden nun nur noch verschlüsselte Nachrichten an den xiaomi Server geschickt, ich glaube die haben die UDP verbindung von der App gekappt also nicht die app updaten…

                                    in Bluestack habe ich noch die version 4.0.8, die wollte sicher gerade updaten, konnte es noch rechtzeitig verhindern, ab version 4.0.11 keine UDP mehr...

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kayle last edited by

                                      @gst666:

                                      @bahnuhr:

                                      Toller Fehler. Ist ein Fehler beim Abfangen des Fehlers. Was für ein Trottel programmiert denn so etwas. Da muss ich mir mal an den Ohren ziehen.

                                      Teste doch bitte mal, ob es sich ändert, wenn Du ausdrücklich die IP des Robot angibst (mit -ip x.x.x.x).

                                      Müssen dann mal schauen, ob der Fehler beim Senden, oder beim Empfangen auftritt.

                                      @Meistertr

                                      Gratulation zu Deiner Auswertung der Befehle. Spannend finde ich, ob wir irgendwann auch mal die Karte verstehen werden. Ich glaube ich brauche auch so ein Ding. `

                                      @gst666:

                                      Wenn ich die IP Adresse mit angebe erhalte ich folgendes:

                                      C:\Python27>python xpn.py -token '4c4a645a4630696c314e56484e464737' -ip '192.168.0.8' -cmd '{"id":4966,"method":"get_status"}'
                                      Error Code: 11001 Messge: getaddrinfo failed
                                      

                                      Habe aus dem Excelfile von Meistertr schon alle Status Befehle durch. Immer das gleiche.

                                      Gruß Kay

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gst666 last edited by

                                        Die Fehlermeldung ist schon besser. Sie besagt, dass er anscheinend die URL in eine IP-Adresse umwandeln kann. Werde mal schauen, ob ich den Fehler provozieren kann.

                                        Funktioniert bei Dir

                                        python xpn.py -info

                                        ?

                                        Dann kommen wir dem Problem etwas näher

                                        1 Reply Last reply Reply Quote 0
                                        • K
                                          Kayle last edited by

                                          @gst666:

                                          Die Fehlermeldung ist schon besser. Sie besagt, dass er anscheinend die URL in eine IP-Adresse umwandeln kann. Werde mal schauen, ob ich den Fehler provozieren kann.

                                          Funktioniert bei Dir

                                          python xpn.py -info

                                          ?

                                          Dann kommen wir dem Problem etwas näher `

                                          Ja funktioniert. Aber nur wenn ich in der xpn.py die IP Adresse des Saugers manuell eintrage. Mache ich das nicht, startet zwar die xpn.py aber es kommt einfach nichts / hängt sich auf.

                                          Hier die Ausgabe mit eingetragener IP:

                                          C:\Python27>python xpn.py -info
                                          192.18.0.8
                                          Device Type: 02f2
                                          Token:       ffffffffffffffffffffffffffffffff
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • bahnuhr
                                            bahnuhr Forum Testing Most Active last edited by

                                            @Meistertr:

                                            <u>ACHTUNG</u>: Wer Nachrichten encodieren will: Habe gerade auf meinem Handy die die Gesendeten Datenpakete nachgeschaut. wo vor wenigen Tagen noch die UDP Nachrichten gesendet wurden, werden nun nur noch verschlüsselte Nachrichten an den xiaomi Server geschickt, ich glaube die haben die UDP verbindung von der App gekappt also nicht die app updaten…

                                            in Bluestack habe ich noch die version 4.0.8, die wollte sicher gerade updaten, konnte es noch rechtzeitig verhindern, ab version 4.0.11 keine UDP mehr... `

                                            Was meinst du denn jetzt?

                                            bluestack oder die app für den robo

                                            Beim robo hab ich derzeit: 3.3.6_003030

                                            Er bietet mir an: 3.3.6_003047

                                            Können wir dieses update noch machen ?

                                            Oder erst einmal warten?

                                            mfg

                                            Dieter

                                            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

                                            772
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            204
                                            2196
                                            803123
                                            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