NEWS
[Frage] Xiaomi Vacuum cleaner
-
Ich habe es jetzt endlich geschafft, die Android-App zu dekompilieren. 64bit-Java mit vergrößertem Heap war notwendig, dass jadx nicht abstürzt.
Wer den Code will, bitte PN, da ich davon ausgehe dass ich den hier nicht posten sollte. Vorhanden sind die Versionen
-
4.2.5
-
4.3.11 ` Seht cool und schon was zur cloud Anmeldung gefunden? Wäre cool wenn du mir den schickst.
Gesendet von meinem Handy
-
-
Seht cool und schon was zur cloud Anmeldung gefunden? Wäre cool wenn du mir den schickst. `
Nicht wirklich. Das sind Unmengen an Code und einiges davon hat keinen vernünftigen Namen. Link kommt per PN, kannst gerne selbst schauen -
.Funzt bei euch der Adpater?
Meiner wird zwar connected allerdings sind in dem Adapter nur alte Werte und die Buttons gehen nicht
mihome-vacuum.0 2017-09-27 17:47:45.451 debug Receive <<< Helo <<< 213100200000000003d93d7159cbc820ffffffffffffffffffffffffffffffff mihome-vacuum.0 2017-09-27 17:47:25.484 debug inMem message mihome-vacuum.0.* mihome-vacuum.0.info.connection val=true, ack=true, ts=1506527245473, q=0, from=system.adapter.mihome-vacuum.0, lc=1506527245473 mihome-vacuum.0 2017-09-27 17:47:25.455 info Connected mihome-vacuum.0 2017-09-27 17:47:25.455 warn Timedifference between Mihome Vacuum and ioBroker: -1 Sec mihome-vacuum.0 2017-09-27 17:47:25.453 debug Receive <<< Helo <<< 213100200000000003d93d7159cbc80cffffffffffffffffffffffffffffffff mihome-vacuum.0 2017-09-27 17:47:25.442 debug server started on 0.0.0.0:53421 mihome-vacuum.0 2017-09-27 17:47:25.433 debug Ios Token detected: 16 mihome-vacuum.0 2017-09-27 17:47:25.429 info Crate state clean_home for controlling by cloud Adapter mihome-vacuum.0 2017-09-27 17:47:25.428 info Expretmode disabled, states deleded mihome-vacuum.0 2017-09-27 17:47:25.421 info starting. Version 0.5.8 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v6.11.3
-
Gerade ausprobiert, läuft 1A
-
habe mir gerade einen neuen Token geholt. Ist anders als mein letzter. Wie kann das sein?
Habe nichts geändert.
Mit meinem neuen geht es wieder :?
-
Ich habe es jetzt endlich geschafft, die Android-App zu dekompilieren. 64bit-Java mit vergrößertem Heap war notwendig, dass jadx nicht abstürzt.
Wer den Code will, bitte PN, da ich davon ausgehe dass ich den hier nicht posten sollte. Vorhanden sind die Versionen
-
4.2.5
-
4.3.11 `
Wie sieht es mit der Karte aus?
-
-
Wie sieht es mit der Karte aus?
`
Danach hab ich tatsächlich gesucht, aber nix gefunden. Vielleicht hab ich auch an der falschen Stelle gesucht, ich hab nämlich allgemein fast nix zum Staubsauger ("rockrobo") gefunden. -
Hallo zusammen,
ich habe mich extra hier angemeldet nachdem ich den gesamten Thread durchgelesen habe und immer wieder erstaunt bin wieviel Enthusiasmus hier in solche Dinge gelegt wird.
Leider bin ich nicht der Programmierer, würde aber trotzdem gerne von euren Erkenntnissen in meiner Hausautomation profitieren. Daher versuche ich gerade den Sauger in ein einfaches php Script zu integrieren, scheitere allerdings schon ganz am Anfang.
Meinen Token habe ich bereits und diverse Pakete mit Wireshark mitgeschnitten habe ich auch schon, leider reagiert der Sauger nicht auf die einfache Wiederholung der Pakete (also wenn ich sie nochmal sende) <- liegt wahrscheinlich am Timestamp
Daher würde ich sie gerne in php selber zusammen bauen.
Mir ist ehrlich gesagt der Aufbau der Telegramme nicht klar.
Was ich bis jetzt verstanden habe ist folgendes:
Der Vacuum wird per UDP auf port 54321 angesprochen.
1. 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff sendet einen Reset an den Robotor, darauf antwortet er auch immer
2. will man einen Befehl senden, als Beispiel "start" muss das Telegram ja zusammen gebaut werden aus:
2131 -> magic byte immer gleich
0050 -> length immer gleich bei Befehlen
00000000 -> unknown
xxxxxxxx -> Serialnumber
59CCBC17 -> aktueller Timestamp
16 byte -> checksum
? byte -> data
16 byte -> token
16 byte -> key
16 byte -> iv
Die checksum ergibt sich aus md5sum(magicbyte+length+unknown+serial+timestamp+token+data)
Der key ergibt sich aus md5sum(token)
Der iv ergibt sich aus md5sum(key+token)
Allerdings spielt ja auch die Verschlüsselung eine Rolle, ich hatte was von aes-128-cbc gelesen.
Wie gesagt, mir geht es nur um den Zusammenbau der udp Pakete, der Token ist ja bekannt.
Wie komme ich an "data" und sind meine Annahmen oben so richtig?
Danke
-
data müsste die eigentliche Nachricht sein, siehe auch hier: https://github.com/MeisterTR/XiaomiRobo … rotocol.md
Mögliche Kommandos sind hier beschrieben: https://github.com/MeisterTR/XiaomiRobotVacuumProtocol
-
Wie sieht es mit der Karte aus?
Danach hab ich tatsächlich gesucht, aber nix gefunden. Vielleicht hab ich auch an der falschen Stelle gesucht, ich hab nämlich allgemein fast nix zum Staubsauger ("rockrobo") gefunden.
In der App ist auch nichts, die Plugins werden dynamisch nachgeladen.
Die aktuelle Version hast du gerade per PM bekommen, leg sie bitte einfach mit in deinen Dropbox Ordner
-
Na dann kann ich lange suchen
Wird später hinzugefügt!
Edit: Ist drin. Wer den Link noch nicht hat, einfach PN schicken
-
Hallo Zusammen.
Habe gestern noch einige neue Geräte des Herstellers Xiaomi eingelernt (Smart Gateway, Cube, Bewegungssensor und Fensterkontakte). Nun funzt der Staubsauger nicht mehr über ioBroker obwohl die Verbindung steht (grünes Licht). Ich habe nochmal den Token ausgelesen und eingegeben, aber ich sehe keine aktuellen Stati in den Objekten und ich kann den Sauger auch nicht mehr steuern, nur noch über die App.
Weiß jemand woran das liegen kann?
:?:
-
Hi Leute,
mal so nebenbei gefragt… braucht man unbedingt die Logs für Connected/Disconnected? Das passiert einfach zu oft und müllt mein Log zu. :roll:
21-09-_2017_11-49-26.png
Grüße,
ldittmar `
Können die Logs adapter.log.info('Connected') und adapter.log.info('Disconnected') weg? Wäre echt super toll. Danke!
Grüße,
ldittmar
-
Können die Logs adapter.log.info('Connected') und adapter.log.info('Disconnected') weg? Wäre echt super toll. Danke! `
Tadaa: https://github.com/ioBroker/ioBroker.mi … um/pull/25 -
Heute Regnet es den ganzen Tag, Tochter ist bei Oma und Frau näht. Also hatte ich viel zeit mir Milliarden Buchstaben anzuschauen. Alles unter vorbehalt, da ich js erst seit einem halben jahr und Java noch keine Berührungspunkte hatte.
Die Saugkarte wird anscheinen über eine url aufgerufen und scheint ein BMP zu sein meine erste vermutung oder wird generriert aus den daten des links
Serverkommunikation läuft wohl über die "SmarthomeAPI" Dateien in der App würde ich jetzt sagen:
SmartHomeOpenApi, SmartHomeOAuthHttpsApi, SmartHomeAesApi, SmartHomeHttpsApi
soweit meine Vermutungen
-
Die Saugkarte wird anscheinen über eine url aufgerufen und scheint ein BMP zu sein `
Die URL bekommen wir, allerdings kann sie nur aufgerufen werden wenn sie signiert ist.
Es ist eine Pixel Grafik, allerdings passt der Header zu keinem bekannten Format.
-
Hi,
ich habe auch einen Xiaomi Robotersauger und diesen seit 2 Wochen im Einsatz. So weit bin ich ganz zufrieden (er macht das was er soll).
Allerdings stört mich die Kommunikation mit dem Hersteller. Aus diesem Grund hab ich etwas recherchiert und bin auf Python-mirobo (https://github.com/rytilahti/python-miio) gestossen.
Kennt das Jemand zw. gibt es Erfahrungen damit?
Würde dem Staubsauger gerne den I-Netzugriff verweigern und die komplette Steuerung über das Python-mirobo erledigen (Vorteil ich kann es auch in mein Smart-Home einbinden).
Kann mir jemand etwas darüber berichten und gibt es eine Möglichkeit z.B. die Karte aufzurufen und Timereinstellungen auf dem Staubsauger zu ändern?
Danke
-
Wieso nimmst du nicht den Adapter für iobroker den es dafür gibt? Die saugkarte gibt es bis lang nur, wenn der Sauger Internet hat und du die app nutzt.
Gesendet von meinem Handy
-
Ich habe dem Sauger auch in der Fritzbox den Internet-Zugang verweigert und arbeite mit dem ioBroker-Adapter. Geht prima. Die App nutze ich nicht.
-
Ich habe dem Sauger auch in der Fritzbox den Internet-Zugang verweigert und arbeite mit dem ioBroker-Adapter. Geht prima. Die App nutze ich nicht. `
Kann ich die timerfunktion darüber einstelle und sind die Daten für die Kartendarstellung über iobroker auswertbar?