iobroker-community-adapters / ioBroker.mihome-vacuum

Control your Xiaomi vacuum cleaner
MIT License
109 stars 51 forks source link

Support for Xiaomi Mi Robot vacuum mob pro (EU) #165

Closed vankhon closed 3 years ago

vankhon commented 4 years ago

Hi, is it possible to add support for the Xiaomi mi robot vacuum mob pro? I can connect with the stable version, but there are only 2 objects working - firmware and connected status.

I can't start the robot nor can I see the map in iobroker. With the latest version from GitHub, the instance don't get a connection.

edicine commented 4 years ago

das wäre geil

MeisterTR commented 4 years ago

Leider haben die neueren Modelle von Xiaomi ein geänderte Protokoll, dies kann ich nicht ohne die Hardware einbinden. Versuche über Helfer die so ein Gerät besitzen, sind mehrfach gescheitert.

MeisterTR commented 4 years ago

Bitte mal die 2.2.0 von git testen viel geht noch nicht, ist erstmal ein test ich werde den Adapter wahrscheinlich einmal auf links ziehen müssen weil es zwei komplett unterschiedliche apis sind. was sollte gehen:

edicine commented 4 years ago

Bitte mal die 2.2.0 von git testen viel geht noch nicht, ist erstmal ein test ich werde den Adapter wahrscheinlich einmal auf links ziehen müssen weil es zwei komplett unterschiedliche apis sind. was sollte gehen:

* connecten

* start/stop

* Einstellen der Saugstufe

* Werte für Batterie / Saugzeit und Fläche

moin, mein kumpel und ich haben den Xiaomi Mi Robot vacuum mob pro (EU) (viomi.vacuum.v8), token liegt vor aber der adapter bleibt gelb. ich selbst habe zusätzlich iobroker als testumgebung unter proxmox neu aufgesetzt, nur mit dem adapter.

gruss michael

MeisterTR commented 4 years ago

hast du einen debug log für mich, ich habe genau das model jetzt auch hier

xengosam commented 4 years ago

Hallo,

die von dir erwähnten Features (bis auf stop (pause)) funktionieren bei mir tadellos, vielen Dank dafür! Freu mich schon drauf neue Funktionen zu testen 👍

Gute Arbeit!

edicine commented 4 years ago

hast du einen debug log für mich, ich habe genau das model jetzt auch hier

aber sicher ..

2020-08-15 16:57:46.970 - info: host.TestBroker "system.adapter.mihome-vacuum.0" enabled

2020-08-15 16:57:46.994 - info: host.TestBroker instance system.adapter.mihome-vacuum.0 started with pid 684 2020-08-15 16:57:48.015 - debug: mihome-vacuum.0 (684) Redis Objects: Use Redis connection: 127.0.0.1:9001 2020-08-15 16:57:48.072 - debug: mihome-vacuum.0 (684) Objects client ready ... initialize now 2020-08-15 16:57:48.077 - debug: mihome-vacuum.0 (684) Objects create System PubSub Client 2020-08-15 16:57:48.078 - debug: mihome-vacuum.0 (684) Objects create User PubSub Client 2020-08-15 16:57:48.080 - debug: mihome-vacuum.0 (684) Objects client initialize lua scripts 2020-08-15 16:57:48.109 - debug: mihome-vacuum.0 (684) Objects connected to redis: 127.0.0.1:9001 2020-08-15 16:57:48.114 - debug: mihome-vacuum.0 (684) objectDB connected 2020-08-15 16:57:48.117 - debug: mihome-vacuum.0 (684) Redis States: Use Redis connection: 127.0.0.1:9000 2020-08-15 16:57:48.125 - debug: mihome-vacuum.0 (684) States create User PubSub Client 2020-08-15 16:57:48.128 - debug: mihome-vacuum.0 (684) States create System PubSub Client 2020-08-15 16:57:48.138 - debug: mihome-vacuum.0 (684) States connected to redis: 127.0.0.1:9000 2020-08-15 16:57:48.139 - debug: mihome-vacuum.0 (684) statesDB connected 2020-08-15 16:57:49.130 - info: mihome-vacuum.0 (684) starting. Version 2.2.0 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v12.18.3, js-controller: 3.1.6 2020-08-15 16:57:49.173 - info: mihome-vacuum.0 (684) Expert mode disabled, states deleted 2020-08-15 16:57:49.178 - info: mihome-vacuum.0 (684) Cloud control disabled 2020-08-15 16:57:49.198 - debug: mihome-vacuum.0 (684) server started on 0.0.0.0:53421 2020-08-15 16:57:49.214 - debug: mihome-vacuum.0 (684) No suitable Lua script, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } 2020-08-15 16:57:49.302 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f38140dffffffffffffffffffffffffffffffff 2020-08-15 16:57:49.304 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:57:49.305 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:57:49.323 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":1,"method":"get_status"} 2020-08-15 16:57:49.699 - info: mihome-vacuum.0 (684) set nächster Timer: Nicht verfügbar 2020-08-15 16:57:54.324 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":1,"method":"get_status"} 2020-08-15 16:57:59.325 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":1,"method":"get_status"} 2020-08-15 16:58:04.327 - debug: mihome-vacuum.0 (684) no answer for id:1 received, giving up 2020-08-15 16:58:04.328 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:09.255 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381421ffffffffffffffffffffffffffffffff 2020-08-15 16:58:09.256 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:58:09.256 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:09.261 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":2,"method":"get_status"} 2020-08-15 16:58:14.263 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":2,"method":"get_status"} 2020-08-15 16:58:19.265 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":2,"method":"get_status"} 2020-08-15 16:58:24.265 - debug: mihome-vacuum.0 (684) no answer for id:2 received, giving up 2020-08-15 16:58:24.266 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:29.432 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381435ffffffffffffffffffffffffffffffff 2020-08-15 16:58:29.433 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:58:29.433 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:29.437 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":3,"method":"get_status"} 2020-08-15 16:58:34.437 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":3,"method":"get_status"} 2020-08-15 16:58:39.440 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":3,"method":"get_status"} 2020-08-15 16:58:44.442 - debug: mihome-vacuum.0 (684) no answer for id:3 received, giving up 2020-08-15 16:58:44.442 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:49.284 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381449ffffffffffffffffffffffffffffffff 2020-08-15 16:58:49.285 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:58:49.285 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:58:49.293 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":4,"method":"get_status"} 2020-08-15 16:58:54.294 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":4,"method":"get_status"} 2020-08-15 16:58:59.296 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":4,"method":"get_status"} 2020-08-15 16:59:04.296 - debug: mihome-vacuum.0 (684) no answer for id:4 received, giving up 2020-08-15 16:59:04.297 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:09.332 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f38145dffffffffffffffffffffffffffffffff 2020-08-15 16:59:09.333 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:59:09.333 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:09.338 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":5,"method":"get_status"} 2020-08-15 16:59:14.340 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":5,"method":"get_status"} 2020-08-15 16:59:19.342 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":5,"method":"get_status"} 2020-08-15 16:59:24.343 - debug: mihome-vacuum.0 (684) no answer for id:5 received, giving up 2020-08-15 16:59:24.344 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:29.278 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381471ffffffffffffffffffffffffffffffff 2020-08-15 16:59:29.278 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:59:29.279 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:29.282 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":6,"method":"get_status"} 2020-08-15 16:59:34.285 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":6,"method":"get_status"} 2020-08-15 16:59:39.287 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":6,"method":"get_status"} 2020-08-15 16:59:44.289 - debug: mihome-vacuum.0 (684) no answer for id:6 received, giving up 2020-08-15 16:59:44.289 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:49.345 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381485ffffffffffffffffffffffffffffffff 2020-08-15 16:59:49.346 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 16:59:49.346 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 16:59:49.350 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":7,"method":"get_status"} 2020-08-15 16:59:54.352 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":7,"method":"get_status"} 2020-08-15 16:59:59.353 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":7,"method":"get_status"} 2020-08-15 17:00:04.354 - debug: mihome-vacuum.0 (684) no answer for id:7 received, giving up 2020-08-15 17:00:04.355 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 17:00:09.405 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f381499ffffffffffffffffffffffffffffffff 2020-08-15 17:00:09.405 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 17:00:09.406 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 17:00:09.409 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":8,"method":"get_status"} 2020-08-15 17:00:14.410 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":8,"method":"get_status"} 2020-08-15 17:00:19.411 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":8,"method":"get_status"} 2020-08-15 17:00:24.412 - debug: mihome-vacuum.0 (684) no answer for id:8 received, giving up 2020-08-15 17:00:24.412 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 17:00:29.246 - debug: mihome-vacuum.0 (684) Receive <<< Helo <<< 2131002000000000139f35e95f3814adffffffffffffffffffffffffffffffff 2020-08-15 17:00:29.247 - info: mihome-vacuum.0 (684) connecting, this can take up to 10 minutes ... 2020-08-15 17:00:29.247 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0 2020-08-15 17:00:29.251 - debug: mihome-vacuum.0 (684) sendMsg[1] >>> {"id":9,"method":"get_status"} 2020-08-15 17:00:34.252 - debug: mihome-vacuum.0 (684) sendMsg[2] >>> {"id":9,"method":"get_status"} 2020-08-15 17:00:39.254 - debug: mihome-vacuum.0 (684) sendMsg[3] >>> {"id":9,"method":"get_status"} 2020-08-15 17:00:44.255 - debug: mihome-vacuum.0 (684) no answer for id:9 received, giving up 2020-08-15 17:00:44.255 - debug: mihome-vacuum.0 (684) sendTo "getStatus" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0

MeisterTR commented 4 years ago

hast der roboter internet? wenn ja lass ihn mal laufen, er hat den typ noch nicht erkannt, um die nachricht zu senden bruahct der roboter internet.

edicine commented 4 years ago

hast der roboter internet? wenn ja lass ihn mal laufen, er hat den typ noch nicht erkannt, um die nachricht zu senden bruahct der roboter internet.

er war schon ein paar mal unterwegs....meldet sich trozdem nicht an. habe nochmals einen neuen token geben lassen, hat auch nix gebracht

mikewolf commented 3 years ago

hallo habe selbiges Problem mit wischmob v8 , meldet sich an cloud an nur mit der verifikation dürfte es haken `

(7047) sendTo "getStatus" to system.adapter.mihome-vacuum.1 from system.adapter.mihome-vacuum.1

mihome-vacuum.1 | 2021-03-09 14:37:11.991 | info | (7047) connecting, this can take up to 10 minutes ... mihome-vacuum.1 | 2021-03-09 14:37:11.991 | debug | (7047) Receive <<< Helo <<< 2131002000000000166586e760478817ffffffffffffffffffffffffffffffff mihome-vacuum.1 | 2021-03-09 14:37:07.108 | debug | (7047) sendTo "getStatus" to system.adapter.mihome-vacuum.1 from system.adapter.mihome-vacuum.1 mihome-vacuum.1 | 2021-03-09 14:37:07.107 | debug | (7047) no answer for id:1 received, giving up mihome-vacuum.1 | 2021-03-09 14:37:02.105 | debug | (7047) sendMsg[3] >>> {"id":1,"method":"get_status"} mihome-vacuum.1 | 2021-03-09 14:36:57.101 | debug | (7047) sendMsg[2] >>> {"id":1,"method":"get_status"} mihome-vacuum.1 | 2021-03-09 14:36:54.357 | debug | (7047) Xiaomi Cloud: Login successful mihome-vacuum.1 | 2021-03-09 14:36:54.356 | debug | (7047) Login step3: [{"key":"userId","value":"6426497560","domain":"sts.api.io.mi.com","path":"/","hostOnly":false,"creation":"2021-03-09T14:36:54.328Z","lastAccessed":"2021-03-09T14:36:54.355Z"},{"k mihome-vacuum.1 | 2021-03-09 14:36:54.078 | debug | (7047) Login step2: &&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","ssecurity":"FWmZihcHRmDbJAxA6tXJCg==","code":0,"passToken":"V1:4zvf9SzYkTxMnzOId/xL8VS9zGq46N0nO1E6LeKlfRGgL5THrG/dwPGrnb1i8// mihome-vacuum.1 | 2021-03-09 14:36:53.954 | info | (7047) set nächster Timer: Nicht verfügbar mihome-vacuum.1 | 2021-03-09 14:36:53.130 | debug | (7047) Login step1: &&&START&&&{"serviceParam":"{\"checkSafePhone\":false,\"checkSafeAddress\":false,\"lsrp_score\":0.0}","qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","code":70016,"captchaUrl":null,"callb mihome-vacuum.1 | 2021-03-09 14:36:52.099 | debug | (7047) sendMsg[1] >>> {"id":1,"method":"get_status"} mihome-vacuum.1 | 2021-03-09 14:36:52.040 | debug | (7047) sendTo "getStatus" to system.adapter.mihome-vacuum.1 from system.adapter.mihome-vacuum.1 mihome-vacuum.1 | 2021-03-09 14:36:52.038 | info | (7047) connecting, this can take up to 10 minutes ... mihome-vacuum.1 | 2021-03-09 14:36:52.037 | debug | (7047) Receive <<< Helo <<< 2131002000000000166586e760478803ffffffffffffffffffffffffffffffff mihome-vacuum.1 | 2021-03-09 14:36:51.977 | debug | (7047) No suitable Lua script, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) } mihome-vacuum.1 | 2021-03-09 14:36:51.880 | debug | (7047) server started on 0.0.0.0:53421 mihome-vacuum.1 | 2021-03-09 14:36:51.867 | info | (7047) Create state clean_home for controlling by cloud adapter

`

matthiasisrael commented 3 years ago

Hallo, ich möchte mir gerne einen zweiten Xiaomi-Saugrobotor kaufen und diesen als zweite Instanz bei iobroker einbinden. Wird der "Mi Robot vacuum mob pro EU" mitlerweile durch den Adapter unterstützt oder sollte ich (damit in iobroker alles reibungslos läuft) doch auf den teureren Roborock S5 oder S6 zurückgreifen?

Apollon77 commented 3 years ago

The error with the "fallback to keys" should not happen. Please try controller 3.2.16. If still happens execute "ioBroker setup first" and tell if it is gone.