La forma más sencilla de obtener el token de Xiaomi Vacuum

Para configurar y automatizar nuestra aspiradora de Xiaomi necesitamos obtener un token que cada vez es más complicado de conseguir.

Si tienes una aspiradora Xiaomi necesitarás tener un token para integrarla con Home Assistant y poder automatizar su funcionamiento. Xiaomi se empeña en hacer esta tarea cada vez más complicada, pero he encontrado la forma más sencilla de obtenerla en menos de 10 minutos.

¿Por qué necesitas un token para integrar tu Xiaomi Vacuum en Home Assistant?

Para controlar la aspiradora, tanto con la aplicación oficial como con aplicaciones no oficiales, necesitamos un token (una contraseña). Este código lo tiene almacenado internamente la aspiradora y lo genera cuando la conectamos a una red WiFi.

En las primeras versiones de la aplicación Xiaomi Mi Home este código se podía ver desde los ajustes pudiendo copiarla fácilmente e integrar la aspiradora en cualquier otra aplicación. A medida que Xiaomi ha ido actualizando la aplicación cada vez lo ha hecho más dificil y a día de hoy tenemos que buscar hacks para conseguir este token.

El método, a continuación, es, a día de hoy, el más efectivo, cómodo y rápido para obtener este token.

Instala Home Assistant paso a paso en tu Raspberry Pi

Instala Home Assistant paso a paso en tu Raspberry Pi

Home Assistant es el mejor sistema para automatizar y domotizar tu casa a día de hoy y, aunque puede asustar un poco al principio, es bastante sencillo

Instala Home Assistant paso a paso


¿Cómo obtener el token de mi aspiradora Xiaomi?

Antes de empezar necesitas un móvil Android o instalar un emulador en tu ordenador. Es muy sencillo, se instala como un programa cualquiera más y, una vez termines de obtener el token, podrás borrarlo sin ningún problema.

Una vez tengas el emulador o el dispositivo Android debes asegurarte de que tu cuenta de Xiaomi Mi Home está en un servidor compatible, te recomiendo usar el de estados unidos. Para cambiarlo ve a tu perfil, ajustes y en la parte inferior encuentras y puedes modificar la región.

Ahora sí que si, vamos a conseguir nuestro token:

  1. El primer paso es descargar esta aplicación modificada de Xiaomi Mi Home. Es una versión anterior modificada para que podamos ver el token sin problema.
  2. Desinstalamos la aplicación anterior e instalamos esta en nuestro dispositivo o emulador y accedemos a nuestra cuenta seleccionando la región que hemos fijado anteriormente.
  3. Abrimos el aspirador y haciendo clic en los tres puntos de la parte superior derecha vamos a Settings > General Settings > Network Info y ahí podremos ver y copiar el token de nuestro aspirador.

Ya puedes borrar esta aplicación e instalar la original desde la Play Store.


Integrar la Xiaomi Vacuum en Home Assistant

Ahora que ya tenemos el token nos queda la parte sencilla. Simplemente tenemos que indicarle a nuestro Home Assistant en que dirección IP está la aspiradora y cuál es el token para manejarla y controlarla.

En nuestra configuración deberemos añadir lo siguiente modificando el token y la dirección IP de la aspiradora.

# Xiaomi Vacuum
vacuum:
  - platform: xiaomi_miio
    host: 192.168.1.132
    token: {{ token anterior }}

Tu primera automatización: Pasa la aspiradora cuando no haya nadie en casa

Una vez hecho esto y reiniciado Home Assistant podremos crear nuestras primeras automatizaciones. Esta, por ejemplo, la uso yo en casa para que la aspiradora salga automáticamente a limpiar cuando no hay nadie en casa.

Además, uso las condiciones para evitar que la aspiradora limpia más de una vez al día y que además empiece antes de las

- id: '1558300557955'
  alias: Vacuum - Start if not at home

  trigger:
  - entity_id: input_select.home
    to: empty
    platform: state

  condition:
  - condition: and
    conditions:
    - after: 09:30:00
      before: '20:00:00'
      condition: time
    - condition: template
      value_template: '{{ (as_timestamp(now()) - as_timestamp(states.vacuum.xiaomi_vacuum_cleaner.attributes.clean_start
        | default(0)) | int > 39600) }}'

  action:
  - service: vacuum.start
    data: {}
    entity_id: vacuum.xiaomi_vacuum_cleaner