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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Frage] Xiaomi Vacuum cleaner

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      eastcoast last edited by

      @eastcoast:

      Hallo,

      habe auch gerade meinen Mi-Robot bekommen und folgendes ist mir aufgefallen:

      Wird ein "Locate my robot" (bzw. "Find") über die App gesendet erfolgt zuerst irgendein Request oder Ping mit 32 Byte Daten:

      21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

      Die Antwort des Robot erfolgt auch mit 32 Byte Daten wovon die 10 Byte nach der Startkennung (21 31 00 20) in allen Kommandos verwendet wird.

      Erst nach diesem Request und Response erfolgt das eigentliche "Find" Kommando. `
      Noch ein paar Gedanken zur Antwort des Robot auf diesen "Ping":

      Byte 00-03: 4 Byte Typ Kennung (21 31 00 20)

      Byte 04-13: 10 Byte Identifikationsnummer welche dann für alle Kommandos verwendet wird.

      Byte 14-15: 2 Byte irgendein Status (evtl. der Akkustand?)

      Byte 16-31: 16 Byte, sieht bei mir aus als wären es ASCII Zeichen (evtl. ein Schlüssel?)

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        hier sind 3 Start Kommandos:

        21 31 00 50 00 00 00 00 02 f2 0d 8f 58 85 a5 88 1d c5 74 4d ef 24 3b 2c 4f fd 37 62 6d 0c 67 61 14 f1 fa 1c 78 5a 84 86 09 41 83 23 6c 5f 03 26 be 54 8b f6 70 fa 95 5b d6 88 ce b1 7f 76 79 d7 b2 5c dc f9 11 82 52 ad cb f6 c9 34 55 ad 7d df
        21 31 00 50 00 00 00 00 02 f2 8b 1f 58 83 cf c1 4c a1 6d de 65 81 12 78 16 86 eb 5d 03 0c 26 d3 af 3e d6 d2 0c e4 9d e1 dd 36 25 52 7d 9d a7 78 4d eb e9 f3 ad a8 11 4e 47 df 43 81 d0 08 c0 fb 68 f0 d4 78 91 76 b5 6c c5 f7 62 a8 5c 31 52 80
        21 31 00 50 00 00 00 00 03 4c 78 66 58 94 af 88 f4 a6 68 e7 9b 92 e8 92 bc 0d c7 93 2c d1 12 48 46 77 cb 2f 66 23 6b 44 ee 77 02 4d 28 12 37 54 10 a5 3a 2f e0 9a 81 ad 79 34 8b fc bb 86 9f 35 bf db e4 f4 92 19 09 29 04 40 51 65 f5 99 de f6
        
        

        ich sehe nichts… Außer 21 31 00 50 00 00 00 00.

        IMHO, Da muss unbedingt noch Roboter ID sein. Und man sollte ansehen, was Roboter antwortet.

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

          Sehe ich wie Bluefox. Die Daten werden mit der Zeit und irgendeiner Id verrechnet. Habe alle Konstanten Werte mit den Roboter Zuständen verglichen., keine Übereinstimmung.

          Solange man die Roboter in nicht hat, wird es schwer da ein Muster zu erkennen. Habe nun schon zahlreiche Stunden davor gesessen…. Keine neuen Erkenntnisse...

          Gruß tobi

          Gesendet von meinem E5823 mit Tapatalk

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

            Mal eine dumme Frage: habt ihr schon mal den Hersteller angeschrieben und gefragt ob es eine Möglichkeit gibt, eine API zu implementieren!?

            Oder wenigsten eine Erklärung bekommt wie dieser Roboter angesprochen werden kann!?

            Ich habe die Erfahrung gemacht, das manche Firmen kein Geheimnis daraus machen und sehr hilfsbreit sind

            Wäre mal auch ein guter Ansatz

            Gruß

            Adrian

            Gesendet von iPhone mit Tapatalk Pro

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

              Da gab es schon. Mehrere Versuche, jedoch nicht von mir. Mit dem Ergebnis keine Möglichkeit auf API. Und keine Infos zu dem Datenverkehr.

              Gesendet von meinem E5823 mit Tapatalk

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

                @Meistertr:

                Da gab es schon. Mehrere Versuche, jedoch nicht von mir. Mit dem Ergebnis keine Möglichkeit auf API. Und keine Infos zu dem Datenverkehr.

                Gesendet von meinem E5823 mit Tapatalk `

                Ok…. das ist sehr schade [emoji53]

                Gesendet von iPhone mit Tapatalk Pro

                1 Reply Last reply Reply Quote 0
                • E
                  eastcoast last edited by

                  @Bluefox:

                  …

                  ich sehe nichts... Außer 21 31 00 50 00 00 00 00. `
                  …ok, ich schildere es mal anders...

                  Ich meinte die Antwort auf einen "Ping", also zuerst den 32 Byte Ping in das Netzwerk senden

                  21 31 00 20 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                  

                  als Antwort kommt vom Robot immer 32 Byte mit so etwas wie das hier:

                  21 31 00 20 00 00 00 00 03 4c 85 ee a4 58 9d f9 34 52 66 47 43 64 47 75 33 45 75 77 38 49 54 47
                  

                  Byte 00-03: 04 Byte Typ oder Telegramm Kennung (21 31 00 20)

                  Byte 04-13: 10 Byte Robot Identifikationsnummer (00 00 00 00 03 4c 85 ee a4 58) bei jedem Robot anders!

                  Byte 14-15: 02 Byte irgendein Status, ist immer etwas anders (9d f9) evtl. der Akkustand?

                  Byte 16-31: 16 Byte, sieht bei mir aus als wären es ASCII Zeichen (evtl. ein Schlüssel?) aber immer die selben Zeichen.

                  Der Anfang eines Startkommandos an diesen Robot sieht dann so aus:

                  21 31 00 50 00 00 00 00 03 4c 85 ee a4 58 8d 02 0a 82 ...
                  

                  Byte 00-03: 04 Byte Typ oder Telegramm Kennung (21 31 00 50)

                  Byte 04-13: 10 Byte Robot Identifikationsnummer aus der Ping Antwort (00 00 00 00 03 4c 85 ee a4 58).

                  Byte 14-15: 02 Byte irgendwas…

                  Byte 16-xx: xx Byte irgendwas... (evtl. verschlüsselt)?

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

                    Byte 12-15 ist definitiv ein zähler. Byte 4-11 könnte eine id sein, jedoch glaube ich, dass ich da auch eine Änderung drin hatte. Muss ich nochmal in meinen Aufzeichnungen gucken.

                    Gesendet von meinem E5823 mit Tapatalk

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

                      Dass in der ping Antwort ASCII Zeichen sind ist meiner Meinung nach Zufall.

                      Gesendet von meinem E5823 mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • M
                        Marcolotti last edited by

                        Hallo,

                        vielleicht kann man es ja von einem anderen Produkt ableiten?

                        http://allmydroids.blogspot.de/2014/12/ … e.html?m=1

                        Gruß Marco

                        1 Reply Last reply Reply Quote 0
                        • M
                          Marcolotti last edited by

                          Also den TimeStamp hab ich gefunden.

                          721_timestamp.jpg

                          http://www.epochconverter.com/hex

                          GMT: Fri, 03 Feb 2017 16:27:52 GMT

                          Your time zone: 3.2.2017, 17:27:52

                          Decimal timestamp/epoch: 1486139272

                          Kann das sein?

                          1 Reply Last reply Reply Quote 0
                          • M
                            Marcolotti last edited by

                            Kann mir jemand seine Seriennummer übermitteln und einen HexCode?

                            1 Reply Last reply Reply Quote 0
                            • M
                              Marcolotti last edited by

                              Also, ich würde die ersten Blöcke so interpretieren:

                              213100 5000000000 02f20d8f 5885a20f

                              Modell Modus Seriennr Timestamp(Epoch)

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                @Marcolotti:

                                Also, ich würde die ersten Blöcke so interpretieren:

                                213100 5000000000 02f20d8f 5885a20f

                                Modell Modus Seriennr Timestamp(Epoch) `
                                5894af88 => new Date(0x5894af88 * 1000) => Fri Feb 03 2017 17:27:52 GMT+0100 (W. Europe Standard Time)

                                Cool 🙂

                                Wenn man aber Modus erkennen kann, dass ist schon was: 2000000000 => Idle, 5000000000 => Running ?

                                Im Antwort vom Roboter, sollte noch Update für die Karte sein.

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

                                  > 2131 0050 00000000 02f20d8f 5885a20f
                                  2131 ist die Magic Number

                                  0050 Anzahl der Daten nach dem Header

                                  00000000 unbekannt

                                  02f20d8f serial number

                                  5885a20f time stamp

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Marcolotti last edited by

                                    Guten Abend,

                                    das mit der 50 erscheint logisch. 🙂

                                    Ich habe leider keinen solchen Sauger. Sendet der Xiaomi eigentlich auch Daten? Für eine Analyse fehlen mir noch die MAC Adresse, Seriennummer von solchen Teilen. In Handys von Xiaomi sind die Seriennummern z.B. auch Hexadezimal.

                                    Gruß Marco

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      @gst666:

                                      Für eine Analyse fehlen mir noch die MAC Adresse, Seriennummer `
                                      Hab dir ne PN gesendet.

                                      Allerdings kann ich die HEX Codes nicht mappen. Vielleicht findest du was

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        Als Idee. Man kann jetzt den Rest nehmen und versuchen immer ein bit zu ändern, bis das Gerät reagiert/nicht reagiert. So konnte man das Bild für wichtige und unwichtige Bits erstellen.

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

                                          Hallo Bluefox,

                                          leider ist es nicht so einfach. Die Nachrichten sind verschlüsselt. Einfaches ändern von Bits führt nur zu ungültigen Paketen. Hierauf reagiert das Gerät nicht. Wenn ich genau weiß, wie die Verschlüsselung funktioniert melde ich mich. Kämpfe gerade damit, dass der Air Purifier ein Softwareupdate bekommen hat und die Kombination mit Bluesrocks/Wireshark nicht mehr funktioniert.

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

                                            Kurzer Zwischenstand:

                                            Habe das Protokoll inzwischen entziffern können. Wie wir schon vermutet haben gibt es einen Head und verschlüsselte Daten. Die Daten sind mit AES verschlüsselt und mit einer MD5 Checksummp versehen. Nach dem entschlüsseln werden JSON-Daten sichtbar.

                                            Alle MI Home Produkte, die Wifi verwenden, scheinen das Protokoll zu nutzen. Meinen Air Purifier kann ich jetzt ansprechen.

                                            Um dasselbe für den vaccum zu machen (habe keinen) brauche ich folgende Pakete:

                                            HELO + Antwort,

                                            Saugen Starten,

                                            Home und Pause.

                                            Am liebsten wäre mir ein pcapng-File per PM.

                                            Ich baue dann daraus ein Python-Skript. Dann kann sich jemand daran austoben und den Javascript-Adapter anpassen.

                                            Gruß Gerhard 8-)

                                            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

                                            711
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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