Gibt es ein Modul für den Xiaomi Mi Robot Vacuum

Begonnen von snic, 02 Februar 2017, 16:42:54

Vorheriges Thema - Nächstes Thema

Markus M.

Fix für Consumables samt Reset.
Sensors bedeutet nichts anderes als alle 30h abwischen.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

oli82


aeronaut

Hab auch zugeschlagen. Das Modul funktioniert bis jetzt wunderbar, vielen Dank  :)

distel

Hallo zusammen,
auch mich hat der Mi Roboter schon ne ganze Zeit lang gejuckt... Aber seit es ne App gibt, die nicht mit China telefoniert und es ne Einbindung in fhem gibt hab ich zugeschlagen. Die 'Regierung' ist begeistert und das Modul zur Einbindung schlägt sich wacker. Alles was ich (bislang) brauche klappt ohne Murren. Am wichtigsten ist mir da die Steuerung und Benachrichtigung in fhem. Weiter so!

Vielleicht kann man den. Roboter ja ne andere IP unterschieben oder die IP des China-Servers (wird quasi im Sekundentakt kontaktiert) umbiegen und die Benachrichtigungen (Fehler) 'a da gen'!?

Wie auch immer: Vielen Dank für das Modul. Auf dass es bald 'offiziell'zu haben ist ;-)
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

Markus M.

Leider hab ich da keine Hoffnungen. Sämtliche Kommunikation der App ist verschlüsselt. Die des Roboters wahrscheinlich auch und dabei mitzulesen dürfte schwer bis unmöglich sein.
Wer es probieren will, beim SSL Pinning ist wahrscheinlich schon Schluss. In der App ist dann die komplette Kommunikation nochmal verschlüsselt und auch die Map Files (das einzige was mich überhaupt noch interessieren würde) sind entweder verschlüsselt oder in einem komplett unbekannten Format.
Kurzfassung: keine Chance.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

distel

*desillusioniert*  :(
Aber: egal! Hauptsache der Boden ist sauber, die Steuerung in fhem (ich weiß, zeitgesteuert ginge auch im Roboter selber) und China wird nicht über jeden Schritt von 'Staubi' (kommt nicht von mir, der Name) informiert.

Bleibt noch zu hoffen, das Xiaomi bei dem ein oder anderen Update nicht den 'Api'-Hahn zudreht.
NUC-I37100
Docker: eBus, fhem, ha-bridge, unifi
Hardware: Homematic, FS20, Somfy RTS, 1wire, FBAHA, enOcean

thotti70

Hi,
bin seit heute auch stolzer Besitzer des Saugers.
Vom ersten Eindruck und Probelauf begeistert.

Hat jemand eine Idee, wie ich als Apfelnutzer (Apple  ;)) an den Token komme, den ich für fhem ja benötige?

LG und schon mal danke!

Markus M.

Zitat von: thotti70 am 27 Mai 2017, 15:34:14Hat jemand eine Idee, wie ich als Apfelnutzer (Apple  ;)) an den Token komme, den ich für fhem ja benötige?

Vor dem ersten Einrichten mit dem Python Script im Anhang.
Quelle ist iobroker.net
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

MadMax-FHEM

#83
Hallo,

vielen Dank schon mal!
(auch wenn es noch nicht so klappt)

Ohne das Modul hätte ich wohl nie zugeschlagen, weil Handysteuerung oder FB wollte ich nicht und nur nach Zeitplan auch nicht ;)
Und dass das Ding ständig nach Hause telefoniert möglichst auch nicht...

Ah, nun zu meinem Problemen:

zunächst das mit den Crypt-Libs ;)
Habe mal Rjndeel probiert (einkommentiert) da ich dachte das hätte ich wegen was anderem schon installiert, war wohl nicht so (oder falsch).

EDIT: aktuell habe ich wieder die "Original-Datei" installiert...

Gut dann eben CBC installiert:
sudo cpan install Crypt::CBC

Dann ließ sich das Modul laden aber der STATE/state war dann sowas wie: Crypt/Rijndael_PP.pm or AES required
Und das Attribut disabled war auf 1
Wenn ich das auf 0 gesetzt hab war fhem weg...

Gut dann auch noch AES installiert:
sudo cpan install Crypt::Cipher::AES

Da gleich eine Frage:

wie installiert man eigentlich (solche) Perl-Module?
Auf meinem neu aufgesetzten System Jessie habe ich das eine oder andere mittels apt-get installiert weil ich irgendwo gelesen hab cpan soll man nicht nutzen...
Hab aber bei den hier notwendigen Modulen nichts gefunden sie anders zu installieren (eigentlich hab ich gar nichts groß gefunden, ich hab halt mal installiert / ist ja "nur" das Testsystem / aber für das "echte" System würde ich es gerne "richtig" machen, danke!!!)


Jetzt lässt sich das Modul laden und der Saugroboter definieren, hat aber immer den Status disconnected :(

Habe ihm den Internetzugang abgedreht aber ihn auch schon mal wieder zugelassen hat nichts geändert...
...gleich die Frage: braucht der Saugroboter Internet? Oder reicht (hoffentlich!) lokales Netz, also in dem fhem nat. auch läuft!?

Hier ein list:


Internals:
   CFGFN
   DEF        192.168.1.100 55513935
   FD         23
   NAME       Xiaomi_Sauger
   NR         399
   STATE      disconnected
   TYPE       XiaomiDevice
   device_type
   Readings:
     2017-05-28 01:25:27   state           disconnected
   Helper:
     ConnectionState initialized
     crypt      AES
     dev        034f
     id         134f
     ip         192.168.1.100
     port       54321
     sequence   7330
     token      55513935
Attributes:
   icon       robotvacuum
   subType    VacuumCleaner


Die ID hab ich mir mal zu Beginn mit der "Back-Up-App" besorgt.
Habe ihm danach allerdings noch mal das WLAN resettet und in ein anderes aufgenommen...
...dabei ändert sich die ID ja nicht wie ich verstanden habe, oder?
War nur bei "Komplett-Reset"!?

Oder ist das schon das Problem?

Nach einem Reboot habe ich (verbose = 5) nur folgendes im Log:

EDIT2: Mist musste eben feststellen, dass verbose nicht gesetzt ist... Sorry! Hatte das Gerät gelöscht und wieder neu angelegt (sicher ist mal sicher) und danach nicht mehr verbose gesetzt... Ich starte noch mal durch und liefere dann Logs mit verbose = 5...


2017.05.28 01:31:13.957 2: Xiaomi_Sauger: initialized, using AES

...

2017.05.28 01:31:23.961 2: Xiaomi_Sauger: connecting
2017.05.28 01:31:23.963 3: Xiaomi_Sauger: initialized


Ein set reconnect macht auch nicht mehr:


2017.05.28 01:34:08.981 3: Xiaomi_Sauger: disconnecting
2017.05.28 01:34:08.982 2: Xiaomi_Sauger: connecting
2017.05.28 01:34:08.984 3: Xiaomi_Sauger: initialized


Allerdings muss ich sagen ein FW-Update wollte auch nicht klappen...
...aktuell ist 3.3.6_003055 drauf und die neueste ist wohl: 3.3.6_003061

Ich kann aber nicht updaten.
Ich kann auf Update klicken, dann kreiselt es ein wenig und sagt was von nicht ausschalten und dann steht wieder aktuelle Version und neue Version da und der Update-Knopf...

Irgendwie will da grad so gar nichts.

Wenigstens konnte ich ihn schon mal überreden Englisch zu sprechen... ;)

Also schon mal vielen Dank!!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#84
So hier dann ein Start mit verbose=5:


2017.05.28 02:00:01.071 0: Server shutdown
2017.05.28 02:00:04.112 1: Including fhem.cfg
2017.05.28 02:00:04.196 3: telnetPort: port 7072 opened
2017.05.28 02:00:04.580 3: WEB: port 8083 opened
2017.05.28 02:00:04.974 2: eventTypes: loaded 1537 events from ./log/eventTypes.txt
2017.05.28 02:00:11.370 2: Xiaomi_Sauger: initialized, using AES
2017.05.28 02:00:11.373 1: Including ./log/fhem.save
2017.05.28 02:00:12.580 0: Featurelevel: 5.8
2017.05.28 02:00:12.581 0: Server started with 121 defined entities (fhem.pl:14152/2017-05-01 perl:5.014002 os:linux user:root pid:5170)
2017.05.28 02:00:21.373 2: Xiaomi_Sauger: connecting
2017.05.28 02:00:21.375 3: Xiaomi_Sauger: initialized
2017.05.28 02:00:21.375 5: Xiaomi_Sauger: initSend
2017.05.28 02:00:21.376 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:02:22.626 5: read length 32
2131002000000000034f134f00002553ffffffffffffffffffffffffffffffff
2017.05.28 02:02:22.627 5: Xiaomi_Sauger - recv seq 9555


Gut auch nicht so viel mehr...

Und dann noch ein set reconnect:


2017.05.28 02:04:01.230 3: Xiaomi_Sauger: disconnecting
2017.05.28 02:04:01.230 2: Xiaomi_Sauger: connecting
2017.05.28 02:04:01.232 3: Xiaomi_Sauger: initialized
2017.05.28 02:04:01.233 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:01.233 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:01.345 5: read length 32
2131002000000000034f134f000025b6ffffffffffffffffffffffffffffffff
2017.05.28 02:04:01.346 5: Xiaomi_Sauger - recv seq 9654
2017.05.28 02:04:06.238 5: Xiaomi_Sauger: write {"id":2202,"method":"get_consumable","params":[""]} (51)
2017.05.28 02:04:06.240 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:06.242 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.247 5: Xiaomi_Sauger: send 2131006000000000034f134f000025b6fad523f0b94430db00b33fc9f292e7cb5716de0a09e21993b01c727e68efd496f4c93142746ba5108a3239633d5d4bcb8b0bc3687e3971832c8fdc55dadf9c1e7f12e01cca621036ef392c1b6ab5186b
2017.05.28 02:04:06.248 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.249 5: Xiaomi_Sauger: write {"id":2308,"method":"get_serial_number","params":[""]} (54)
2017.05.28 02:04:06.249 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:06.250 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.252 5: Xiaomi_Sauger: send 2131006000000000034f134f000025b609938140a8810ebb78d8ceab8b51efb5fbce6048e92edc5bb31b0efc487e7fce5e3e288f052ad17b19a0385491560eacc06ba42c5fed3c57cdf98d68ae21991727333bd07cf32b205e994f75d6614c3f
2017.05.28 02:04:06.253 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.253 5: Xiaomi_Sauger: write {"id":2301,"method":"get_clean_summary","params":[""]} (54)
2017.05.28 02:04:06.254 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:06.254 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.257 5: Xiaomi_Sauger: send 2131006000000000034f134f000025b640b3b8a8ba4619de2b6a7b4fcd384be36df7a7c74cac8749a795fd561b9508d27bedc0bc087a91e721f12dfdcbafe5b9a31bec283230b2b57325ae81b19f641fc1468ddb0a6a886eedaa7dd45dc996b1
2017.05.28 02:04:06.258 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.258 5: Xiaomi_Sauger: write {"id":2305,"method":"get_dnd_timer","params":[""]} (50)
2017.05.28 02:04:06.258 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:06.259 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.261 5: Xiaomi_Sauger: send 2131006000000000034f134f000025b6a794d4308dd33d436b94ef30c7841fee7ae0d3d6e58bfc60528e72d77d0a1d1d56a2cba401b3531cadb3d04823a5d8388b8944f90688a8f3ef33e2aad206152d2dbebbcf4dbffb62f07039989a58b7a3
2017.05.28 02:04:06.262 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.263 5: Xiaomi_Sauger: write {"id":2304,"method":"get_timer","params":[""]} (46)
2017.05.28 02:04:06.263 5: Xiaomi_Sauger: initSend
2017.05.28 02:04:06.264 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.266 5: Xiaomi_Sauger: send 2131005000000000034f134f000025b6ff8c180a5ea4d41e40ccd114e9706cf18a1f53d75f7a04b08ed2f4ef4075655b662b7c9f92b61d028d085d00b16e2d60cd0e8848bfcbaca0156a0ae8eac98039
2017.05.28 02:04:06.267 4: Xiaomi_Sauger Send SUCCESS
2017.05.28 02:04:06.351 5: read length 32
2131002000000000034f134f000025bbffffffffffffffffffffffffffffffff
2017.05.28 02:04:06.352 5: Xiaomi_Sauger - recv seq 9659
2017.05.28 02:04:06.354 5: read length 32
2131002000000000034f134f000025bbffffffffffffffffffffffffffffffff
2017.05.28 02:04:06.355 5: Xiaomi_Sauger - recv seq 9659
2017.05.28 02:04:06.357 5: read length 32
2131002000000000034f134f000025bbffffffffffffffffffffffffffffffff
2017.05.28 02:04:06.357 5: Xiaomi_Sauger - recv seq 9659
2017.05.28 02:04:06.359 5: read length 32
2131002000000000034f134f000025bbffffffffffffffffffffffffffffffff
2017.05.28 02:04:06.359 5: Xiaomi_Sauger - recv seq 9659
2017.05.28 02:04:06.361 5: read length 32
2131002000000000034f134f000025bbffffffffffffffffffffffffffffffff
2017.05.28 02:04:06.361 5: Xiaomi_Sauger - recv seq 9659


EDIT: noch ein paar Infos zur Plattform. fhem ist ca. vor 1 oder 2 Wochen zuletzt aktualisiert worden. PI2 mit Wheezy (hoffe das ist kein Problem)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Markus M.

Zitat von: MadMax-FHEM am 28 Mai 2017, 01:40:09
das mit den Crypt-Libs ;) ...
Es wird entweder AES oder Rijndael genommen, je nachdem was zuerst gefunden wird.
Wenn dein AES kaputt ist solltest du es entfernen.

Zitatwie installiert man eigentlich (solche) Perl-Module?
Ich persönlich verwende immer wenn es ein Paket gibt apt
Ansonstenn dann eben CPAN

ZitatJetzt lässt sich das Modul laden und der Saugroboter definieren, hat aber immer den Status disconnected :(
Habe ihm danach allerdings noch mal das WLAN resettet und in ein anderes aufgenommen...
...dabei ändert sich die ID ja nicht wie ich verstanden habe, oder?
Sagt wer? Ich nicht :)

ZitatOder ist das schon das Problem?
Ich werde es nicht selber ausprobieren, würde aber mal stark darauf tippen.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

MadMax-FHEM

#86
Hallo Markus,

war wohl schon etwas spät ;)

Also ich habe ihn bekommen und mit der App aus dem Link die ID ausgelesen.

Dann "nur" das WLAN resettet und in ein anderes (das eigentliche) aufgenommen.

Und das hier:

Zitat von: Markus M. am 12 April 2017, 09:10:48
Mit Reset meine ich die Installation oder später den Reset Button.
Die Installation mit der App hat bei mir erst nach mehreren Versuchen funktioniert.

so verstanden, also ob die ID nur beim Komplett-Reset verloren geht/neu generiert wird.

Also war das mit dem "danach" wohl etwas missverständlich formuliert.

Denn erst nachdem er dann im richtigen Netz war habe ich angefangen das Modul zu aktivieren und dazu dann eben CBC und AES installiert.
Ohne AES-Installation hatte ich bei Roboter eben den STATE und state: AES or Rjindeal missing (oder ähnlich).
Nach der Installation von AES war das dann weg aber eben disconnected.

Bevor ich nun den Roboter komplett zurücksetze (also nicht nur WLAN sondern echt den "Reset" drücke) die Frage wann nun tatsächlich die ID neu generiert wird...

EDIT: noch eine kleine Frage: braucht der Roboter für den Betrieb in fhem mit dem Modul nun Internet oder kann ich das gesperrt lassen? Danke!

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Markus M.

Ich weiß nicht wann der Token neu generiert wird. Definitiv beim Reset.
Ohne Internet funktioniert mit FHEM alles bis auf die Maps.
Die einzelnen Statistiken pro Durchgang sind noch nicht implementiert.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

MadMax-FHEM

Hallo Markus,

danke!

Sieht man an den Nachrichten irgendwie, ob es die ID ist?

Oder ist etwas anderes das Problem?

Kann ich weitere/andere Infos liefern?

Ansonsten fange ich noch mal von vorne an...
...mal sehen.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Markus M.

Zitat von: MadMax-FHEM am 28 Mai 2017, 10:40:09
Sieht man an den Nachrichten irgendwie, ob es die ID ist?
Oder ist etwas anderes das Problem?

Du bekommst keine Antwort, vermutlich ist das das Problem.
Wirf doch einfach die Android App an und vergleiche.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0