Extraia os números de seus cômodos do mapa do seu robô de limpeza Xiaomi Roborock!

Quando alguém que é entusiasta de automação residencial e utiliza a plataforma Home Assistant adquire um robô de limpeza, uma das primeiras características que se observa é se o mesmo integra-se ao Home Assistant (pelo menos foi assim no meu caso).
Neste tutorial, vou demonstrar uma maneira eficiente de recuperar os números dos cômodos configurados no Aplicativo Xiaomi Home, após a criação do mapa.
Os principais pontos de integração dos Robos estão brevemente descritos abaixo (não necessariamente todos):

  • Instalação e configuração do Aplicativo Xiaomi Home (há relatos que o aplicativo Roborock não funciona bem, pois altera o token em vários cenários).

  • Recuperação do Token para integração:

  • Integração do robô ao Home Assistant:

    • Esse item não tem muito segredo, e basicamente você precisa inserir as informações do tutorial aqui do fórum.
  • Configurar o card “Vacuum Card” para seu que seu robô seja exibido em seu dashboard.

Chegando até esse ponto, já é possível fazer com que seu robô funcione através do Home Assistant, e faça limpezas em sua casa.
Agora chegando ao motivo desse tutorial, uma das configurações opcionais do Card supracitado, é a possibilidade de através do Home Assistant, enviar o robo de limpezara para determinado(s) cômodo(s) específico(s), para isso uma das necessidades é saber o número do cômodo no mapa criado pelo Aplicativo no Servidor do seu robo.

Para recuperar os números dos cômodos, siga os passos abaixo:

Os testes para este post foram realizado em um ambiente Linux Debian 10, mas é possível realizá-lo em qualquer plataforma rodando Python.

  1. Acesse o host do seu servidor do Home Assistant, e execute a instalação do miiocli, executando o comando abaixo:
    image
    pip3 install python-miio

Se o comando for digitado com sucesso, você deve ver a tela abaixo, que refere-se à instalação do miiocli

Ao final da instalação, você está pronto para recuperar os números dos cômodos mapeados no mapa do Aplicativo Xiaomi Home.

  1. Selecione no Aplicativo o mapa que você deseja recuperar os números dos cômodos (lembre-se que algumas versões do Roborock armazenam vários mapas).

  2. De volta ao host do seu Home Assistant, digite o comando abaixo (os numeros abaixo sao apenas exemplo, substitua pelos seus):

miiocli vacuum --ip 192.168.68.132 --token 4d566652d5476586d4e715a4b45525434b get_room_mapping

Você deve receber o resultado conforme abaixo:

Na composição do número recuperado, [17, '871001021318'] , pegue apenas o primeiro número 17 e descarte o outro número após a vírgula 871001021318

Nesse caso, foram recuperados os números: 16, 17, 18 e 19. Esse piso da minha casa possui 4 areas diferentes mapeadas pelo Robô, assim sendo, fica mais fácil identificar entre elas qual é cada um dos cômodos.

De acordo com a documentação no site do Home Assistant ( Xiaomi Miio - Home Assistant (home-assistant.io)), os números de 1 a 15, são reservados aos mapas feitos pelo mapeamento inicial do robô, e à partir do número 16, às edições realizadas pelo usuário. Portanto como bem comum que você dê nomes aos comôdos, insira áreas para o robô não acessar, e etc, caso decidir fazer o processo como tentativa e erro, sugiro que inicie pelo número 16 (se tiver realizado alguma alteração nos mapas).

Agora basta voltar ao post sobre a configuração do Vacuum Card e completar sua configuração de comodos de acordo com o mapa.

Links interessantes:

Espero ter ajudado.

Abraço

Edvaldo Castro

3 Likes

Como consigo acessar o host?

Voce pode executar via Terminal (Tem um Add-on no Home assistant pra isso), ou acessando o Terminal no proprio sistema operacional (Windows 10, Linux e Mac, ja tem nativo)…
Mais tarde, vou editar o post com essa parte, deixando mais claro como fazer isso

:slight_smile:

Dessa forma? Aqui da esse erro

direto no Home Assistant CLI, nao deve funcionar… tenta atraves de um computador com Windows 10, ou Mac OS… Abra o Terminal (Iniciar + terminal), eh algo mais ou menos assim:

image

Depois de digitar a senha:

Eu to usando o HA no virtual box… aparece pra mim “Connection Refused”

Confesso que nao sei como eh a imagem do HA que hora no Virtual Box, nunca fiz esse tipo de instalacao… manda um print do seu erro de connection refused , por favor…

Testei aqui instalando o Add-on [Terminal & SSH] e funcionou direitinho.

Tenta dessa forma tbm.

da primeira vez que vc for acessar, ele vai te pedir uma confirmacao de seguranca, digite “yes” e prossiga.

Muito bom meu caro amigo!!!

Parabéns pelo tutorial e obrigado por compartilhar.

1 Like

Caros,

Uma dica pra identificar os cômodos após extrair os números: É possível usar a linha de comando para já ir testando qual cômodo corresponde a que número usando o comando abaixo:

miiocli vacuum --ip <ip_aspirador> --token <token> segment_clean "[ XX  ]"

Mantenha os colchetes mais troque o XX pelo número do cômodo. Ao executar esse comando o aspirador vai se dirigir para o cômodo e inciar a limpeza. Para fazer ele parar basta executar o comando:

miiocli vacuum --ip <ip_aspirador> --token <token> stop_segment_clean

Uma curiosidade: os locais que não foram “nomeados” na interface não são considerados “segmentos”.

2 Likes

Uma dica mais simples é usar serviço Xiaomi Miio: Vacuum clean segment pelo HA e ir colocando os números dos segmentos como explicado no post. Abrir o aplicativo do Mi Home no celular e dar o call service no HA. No celular vai mostrar o cômodo que o aspirador vai limpar. :wink:

3 Likes

Top a dica @edgardmello, acho que merece até um post proprio… vou testar aqui depois… Valeu :slight_smile:

1 Like