Robot aspirador de una de las empresas de la línea económica de Xiaomi.
Instalación de aplicación Mi Home (versión 5.4.54 para sacar más fácil el token)
Pulsamos los dos botones laterales a la vez para resetear los ajustes de la Wi-Fi.
El cliente tiene que estar conectado a una Wi-Fi 2.4 (la 5 GHz no es compatible con el aspirador)
El teléfono y el aspirador intentarán comunicarse para enviarle la configuración de red y que el aspirador finalmente se conecte a la red Wi-Fi.
Con la versión 5.4.54, una vez añadido el robot aspirador, se crea un fichero en la memoria interna del teléfono SmartHome/logs/plug_DeviceManager/*.txt o SmartHome/logs/*.txt donde aparece el token dentro de varios mensajes:
{ "did":"260422363", "token":"7c307220684276697750aa494c346b09", "longitude":"0.00000000", "latitude":"0.00000000", "name":"Roborock S5", "pid":"0", "localip":"192.168.0.200", "mac":"51:EC:00:04:FF:BB", "ssid":"Penny", "bssid":"81:B7:22:C5:32:33", "parent_id":"", "parent_model":"", "show_mode":1, "model":"roborock.vacuum.s5", "adminFlag":1, "shareFlag":0, "permitLevel":16, "isOnline":true, "desc":"Cargando:43%", "extra":{ "isSetPincode":0, "fw_version":"3.3.9_001886", "needVerifyCode":0, "isPasswordEncrypt":0 }, "event":{ "event.status":"{\"timestamp\":1586618740,\"value\":[{\"battery\":43,\"clean_area\":0,\"clean_time\":0,\"dnd_enabled\":0,\"error_code\":0,\"fan_power\":60,\"in_cleaning\":0,\"in_fresh_state\":1,\"in_returning\":0,\"lab_status\":0,\"map_present\":0,\"msg_seq\":52,\"msg_ver\":2,\"state\":8}]}", "prop.fan_power":"60", "prop.ota_progress":"100", "prop.ota_progress_ts":"1586617617", "prop.ota_state":"idle", "prop.ota_state_ts":"1586618052", "prop.s_mixxx":"{\"StorageKeys_UserSelectedCountryServerCode_260422363_0_MI_3\":\"de\"}" }, "uid":6301420977, "pd_id":577, "password":"", "p2p_id":"", "rssi":-65, "family_id":0, "reset_flag":0 }
Nos interesa la línea "token":"7c307220684276697750aa494c346b09"
El token cambia con las versiones del firmware
Para poder integrarlo con Home Assistant, es necesario obtener el token.
vacuum.locate: pide al aspirador que hable para saber dónde está.vacuum.return_to_base: manda al aspirador a la base de cargavacuum.startvacuum.pausevacuum.stopclean_spotset_fan_speed (para la mopa)xiaomi_clean_zonehttps://www.home-assistant.io/integrations/vacuum.xiaomi_miio
Gracias al proyecto python-miio se puede interactuar con el robot aspirador (y otros productos de Xiaomi) desde línea de comandos.
sudo pip install virtualenv mkdir mirobo virtualenv -p /usr/bin/python3 mirobo cd mirobo source bin/activate pip install python-miio
Configuramos con los datos del robot:
export MIROBO_IP=DIRECCION_IP_DE_LA_ASPIRADORA export MIROBO_TOKEN=TOKEN_DE_AUTH_DE_LA_ASPIRADORA
Ejemplo obteniendo información:
$ mirobo State: Charging Battery: 100 % Fanspeed: 104 % Cleaning since: 0:32:46 Cleaned area: 34.1025 m² Water box attached: False
Más opciones:
mirobo start mirobo homemirobo fanspeed 70mirobo consumablesmirobo timermirobo soundmirobo findmirobo cleaning-history