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:

Ainda não entendi. O edvaldocastro@192.168.1.18 seria o usuário e ip do HA? Explica melhor por favor.

Terminal seria o prompt de comando?

Esse usuario eu uso para acessar o Debian, que no meu caso eh o mesmo do HA.
Terminal e Prompt de comando sao coisas diferentes… mas testei aqui, e no prompt tbm funciona para vc acessar seu host do HA via SSH.

nesse caso, se vc estiver usando HAssOS, nao sei se funciona, visto que essa instalacao do python tem que ser no host onde roda o seu HA.

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.

Nada por aqui

Muito bom meu caro amigo!!!

Parabéns pelo tutorial e obrigado por compartilhar.

1 Like

se vc observar OS Version no seu print, esta usando o HAssOS, sinceramente nao sei se tem alguma limitação (ja li no grupo que sim), para acesso e comandos SSH e instalação de outros items (python, por exemplo).
Vamos deixar a questão em Aberto, se algum souber e conseguir ajudar mais… a gente descobre… vou pesquisar algumas coisas mais tarde, e se encontrar algo, posto aqui…

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