Mijia Saugroboter - die Xiaomi Ayi :-)

  • Hey zusammen,


    ich schaffe es leider nicht, meinen Robo in das heimische WLAN einzubinden. Er wird mir in der MiHome App angezeigt, ich wähle mein WLAN aus, gebe das Passwort ein, aber beim connection bleibt er immer so bei rund 85% (Status: Connection status is being updated, please wait) stehen und zeigt mir folgenden Fehler an: "Connection timed out - Check current network and scan again".


    Habe das WLAN sowohl am Robo als auch am Router zig mal resettet. Außerdem habe ich die MiHome App schon mehrmals neu installiert und es mit insgesamt 3 unterschiedlichen Handys probiert (Redmi 4, Nexus 5 X und Motorola G).


    Habt ihr noch eine Idee?


    Danke schon mal.

  • Und genau das hat bei mir eben nicht funktioniert. Also ich musste die alte erst löschen. Da sieht man mal wie unterschiedlich Hardware und Software zusammen spielen.


    Ich versuche gerade die Steuerung des Saugers übers lokale LAN/WLAN.


    Moin zusammen. Es klappt :-) Steuerung über lokales LAN / Wlan ohne Internetverbindung. Bei Interesse schreibe ich was dazu.


    Gruß Kay

  • Moin zusammen. Es klappt :-) Steuerung über lokales LAN / Wlan ohne Internetverbindung. Bei Interesse schreibe ich was dazu.


    Gruß Kay

    Moin Kay,


    wie hast du die Steuerung im heimischen WLAN realisiert, ohne über die Server in China zu gehen? Natürlich kann man ein Gast-WLAN einrichten und dem Roboter jedwede Berechtigung zum Nachhausetelefonieren entziehen. Aber dein vorletzter Satz klingt eher so, als hättest du einen anderen Weg gefunden. Falls ja, wäre ich sehr interessiert, zu erfahren, wie dir dies gelungen ist.


    LG Henne

  • Moin Kay,


    wie hast du die Steuerung im heimischen WLAN realisiert, ohne über die Server in China zu gehen? Natürlich kann man ein Gast-WLAN einrichten und dem Roboter jedwede Berechtigung zum Nachhausetelefonieren entziehen. Aber dein vorletzter Satz klingt eher so, als hättest du einen anderen Weg gefunden. Falls ja, wäre ich sehr interessiert, zu erfahren, wie dir dies gelungen ist.


    LG Henne

    Moin Henne,


    ja es funktioniert tatsächlich ohne Gast WLAN und OHNE Internetverbindung. Bei mir ist der Robi aktuell im Router gesperrt. Die Mi Home App bzw. das Plugin gehen dann natürlich nicht mehr. Aber zum einfachen "Starten", "Pause", "Zurück zur Basis" und "Robi finden" reicht es allemal.


    Das ganze läuft über UDP Kommandos die momentan von meiner Haussteuerung verschickt werden. In Verbindung mit meinen Amazon Echo Devices kann ich den Robi sogar per Sprache einschalten :-) Ich sage einfach: Alexa ... starte den Staubsauger und der Robi beginnt mit der Arbeit .


    Um den Robi ohne Internet zu steuern muss man den Datenverkehr zwischen APP und Robi mitschneiden und sich das passende UDP Kommando raussuchen. Das ist in folgendem Link ganz gut erklärt:


    https://github.com/jghaanstra/com.robot.xiaomi-mi


    Hier mal kurz auf Deutsch erklärt:


    Folgende Software muss auf dem PC installiert werden:


    - Bluestacks ( Android Emulator )
    - Wireshark ( zum Aufzeichnen des Datenverkehrs )
    - Packet Sender ( zum Schicken der Kommandos an den Robi )


    Mit Bluestacks erhält man ein Android Device auf seinem PC. Darauf öffnet man den Playstore und installiert die Mi Home App und loggt sich mit seinen Daten bei Xiaomi ein. Dann erscheint auch der Robi. Wenn das funktioniert hat startet man Wireshark und zeichnet den Netzwerkverkehr seiner Wlan Karte oder Netzwerkkarte auf ( je nachdem ob man per LAN oder WLAN verbunden ist ). Dann klickt man in der App auf z.B. Roboter orten und wartet bis der Robi sich meldet. Dann stoppt man die Aufzeichnung der Daten und sucht in den Daten nach den UDP Kommandos die VOM PC ZUM ROBI gingen ( Source und Destination ). Bei diesen Kommandos nimmt man sich die Datenpakete und sendet diese als HexStream mit Hilfe des Packet Senders zum Robi. Antwortet dieser muss man sich dieses Datenpaket speichern. Wenn er nicht antwortet dann sucht man das nächste Datenpaket usw. Ein Datenpaket sieht z.b. so aus:


    Code
    213100500000000002f29e09589104dddd483c90727badfddd3eb058a9cb082fa541b07622ee11142d4c6a450311396ddb35bbbc9455382d014b4e5d8569937e798275ddefc79e97fc6765c0e58aa30d

    Wenn ich dieses Datenpaket per UDP an Port 54321 meines Robis schicken dann meldet er sich wie wenn ich in der App auf "Roboter orten" gehe. Da ich das Paket an die lokale IP Adresse schicke ist es egal ob der Robi eine Internet Verbindung hat oder nicht.


    Gruß Kay

  • Ich danke dir, Kayle!


    Das Projekt kannte ich zwar, habe mich bis dato aber nicht ran getraut. Schön, dass es bei dir klappt. Es gibt also faktisch für jede Einstellung ein passendes UDP-Paket? Ich nehme schwer an, dass sich die Hexstreams bei jedem Roboter dann doch entscheidend unterscheiden? Zugeordnet bekommen hat das bislang niemand, oder?

  • Hallo an alle,


    ich habe "drüben" im Roboter Forum mal angefangen die App zu zerlegen. Man kommt relativ schnell zu dem Ergebnis, dass es sich bei den UDP Paketen aller Wahrscheinlichkeit nach um AES verschlüsselte Pakete handelt. Wenn ein Teil immer gleich bleibt, ist das vermutlich der IV der Verschlüsselung der nicht geändert wird (warum auch immer). Die AES Verschlüsselung ist jedoch in nativem Code geschrieben und daher nicht bzw. nur sehr schwer nachzuvollziehen.

  • Du könntest versuchen mit einem zweiten Smartphone oder per Screenshot die Nachricht von Google Translate übersetzen zu lassen. In der App von Google kann man Fotos aufnehmen und den Text zur Übersetzung darauf markieren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!