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.
    • S
      skorpil last edited by

      Hurra! Meiner ist nun nach fast 5 Wochen auch endlich angekommen. Den Token habe ich mir nach Euerer Beschreibung auch ausgelesen. Und nun?

      Ich habe ja eigentlich nur ein simples Ziel: ich möchte ihn über einen Befehl in iobroker zu definierten Zeitpunkten starten und ggf. wieder zurück in die Dock fahren lassen. Wobei letzteres nicht ganz so wichtig ist.

      Habe ich das richtig verstanden? Die Schritte:

      1. das crypto Programm zusätzlich auf dem Raspi installieren.

      2. dann unter Python mit dem Token das Python Programm ausführen

      3. und dann irgendwie (ich habe da noch keinen blauen Schimmer, wie das geht), mittels

      Java Script das Python Programm auslösen

      Mag sich irgendwer von Euch erbarmen, und das hier noch einmal für alle Schritt für Schritt aufschreiben?

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            769
                                            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