====== Roborock S50 ======
Robot aspirador de una de las empresas de la línea económica de Xiaomi.
* [[https://es.roborock.com/pages/roborock-s5|Web oficial]]
===== Características =====
* 2000Pa de poder de succión.
* Tanque de agua
* Batería de 5200 mAh
* Batería de 2,5 horas de duración.
* Traspasa alturas de hasta 5 cm.
* Programación desde la aplicación.
* Monitorización desde la aplicación
* 55 dB de ruido.
* Vuelve solo a la estación de carga.
* Se pueden establecer paredes virtuales para evitar que entre en ciertas zonas.
* Sistema de navegación avanzado compuesto por 12 tipos de sensores y un sistema láser situado en su parte superior para realizar un excelente mapeado de tu casa y crear una planificación inteligente de las rutas que va a realizar para limpiar tu piso de una manera eficiente.
===== Configuración =====
Instalación de aplicación Mi Home ([[https://android-apk.org/com.xiaomi.smarthome/43397902-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.
==== Token ====
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
* https://www.home-assistant.io/integrations/xiaomi_miio#retrieving-the-access-token
===== Home Assistant =====
Para poder integrarlo con Home Assistant, es necesario obtener el token.
* https://www.home-assistant.io/integrations/vacuum.xiaomi_miio/
* https://www.youtube.com/watch?v=XJ4hoMJ-eew
==== Servicios ====
* ''vacuum.locate'': pide al aspirador que hable para saber dónde está.
* ''vacuum.return_to_base'': manda al aspirador a la base de carga
* ''vacuum.start''
* ''vacuum.pause''
* ''vacuum.stop''
* ''clean_spot''
* ''set_fan_speed'' (para la mopa)
* ''xiaomi_clean_zone''
https://www.home-assistant.io/integrations/vacuum.xiaomi_miio
==== Automatizaciones ====
* https://github.com/lolouk44/homeassistant/blob/master/automation/Xiaomi%20Vacuum.yaml
===== Línea de comandos =====
Gracias al proyecto [[https://github.com/rytilahti/python-miio|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:
* Comenzar limpieza: ''mirobo start''
* Volver a casa: ''mirobo home''
* Establecer ventilador: ''mirobo fanspeed 70''
* Información de piezas: ''mirobo consumables''
* Información de tareas programadas: ''mirobo timer''
* Información de sonidos: ''mirobo sound''
* Anunciar posición: ''mirobo find''
* Historial de limpiezas: ''mirobo cleaning-history''
===== Mantenimiento =====
* [[https://yewtu.be/watch?v=CbbaFBFu2Gs|Roborock S5 — Routine Maintenance]]
===== Recursos =====
* [[https://www.bujarra.com/monitorizando-el-estado-de-nuestro-robot-aspirador-xiaomi-mi-vacuum-en-grafana/|Monitorizando el estado de nuestro robot aspirador Xiaomi Mi Vacuum en Grafana]]
* [[https://github.com/asphalter/xiaomi_vacuum|Home Assistant integration: Xiaomi Vacuum v1 & v2]]
* [[https://github.com/dgiese/dustcloud/wiki/VacuumRobots-manual-update-root-Howto|VacuumRobots manual update root Howto]]