Como extrair o token do aspirador Xiaomi Vacuum (Android)

Muito obrigado Rodolfo. Funciona também para as lampadas Philips Zhirui. Já me apareceu o token para poder integrar no Hass. :sweat_smile:

1 Curtiu

Excelente bom saber isso :wink:

1 Curtiu

Mais logo vou experimentar esta vossa forma a ver se o token é o mesmo pois eu adquiri ( bem ou mal) desta forma:

Fiz reset ao aspirador
Conectei-me com o portátil à mesma rede do aspirador
Abri o Packet Sender no meu portátil e enviei os seguintes parâmetros:

  • HEX: 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  • IP: 192.168.8.1
  • Port: 54321
  • Protocol dropdown: UDP
    e obtive como resposta algo como

!1\00 \00\00\00\00\05\c2Is\00\00\00jwUEUHEbifD7hqs9o
ou em HEX
21 31 00 20 00 00 00 00 05 C2 49 73 00 00 00 6A 77 55 45 55 48 45 62 69 66 44 37 68 71 73 39 6F

O que notei:

As novas versões firmware do aspirador não estão a alterar/dificultar a obtenção deste token?
É porque:

  • agora não parece que o token tenha 32 caracteres
  • quando enviei novamente o mesmo comando no packet sender, a resposta já foi outra e nunca com 32caracteres, será que vai manter-se quando o aspirador contactar os servidores da Xiaomi?
  • ao tentar instalar uma versão antiga do mihome, nunca consegui obter o token através do MitoolKit, pede sempre para colocar password no backup.

tenho mesmo que tentar mais logo esta vossa forma a ver se consigo obter o token…e se é igual…ao ultimo que obtive.

link: https://github.com/jghaanstra/com.xiaomi-miio/blob/master/docs/obtain_token.md

Boas,

Com as novas versões, possivelmente do firmware do aspirador, já não se consegue aceder ao menu General Settings para poder ver o token, como aparece no video acima.

Quando carregamos em General settings , aparece a mensagem " Update Mihome app to the latest version"…

@ Jorge Assunção

Cumps,

Bom…

Fiz testes ontem com a versão disponibilizada no primeiro post e sem sucesso.

Há algo que os novos sistemas operativos Android, forçam sempre que o backup tenha uma password e não há forma de avançar.

Utilizei um android com versão 4.x e já consegui fazer o backup sem ter que colocar uma password.
Contudo bati na parede novamente, pois o prosseguir com o backup dá erro e diz-me que é mto pequeno e não consegue extrair o token.
“there seems to be an error with the backup, it is way too small”

Mesmo assim é criado um ficheiro de backup na diretoria do C:…MitoolKit\save\backup.ab" …avancei usando um utilitário ADB extractor e ao extrair diz que está corrompido…

Alguém consegue ajudar a sacar este maldito token?

Usei:
Mitoolkit1.5
Mitoolkit1.6
Mihome 5.0.4-60694
Mihome 5.0.0-60690
java - jre1.8.0_181

Segui estes possíveis procedimentos:

Também estou na mesma. Tentei uma série de versões da aplicação e não deram em nada. Não consigo ter o Token…

@Rui
Obrigado pelo feedback… já pensava que era só eu…
A ideia que me ocorre…
é colocar o firmware do aspirador para versoes mais antigas através do FloleVac e repetir todo estes procedimentos.

Mas tenho receio, porque os downgrades ás vezes têm mtas rasteiras… :confused:

@Rui e @jucas

Não estou em casa e por isso ainda não testei nenhum dos métodos “normais”. No entanto estava a ler tópicos e issues no Forum do Home Assistant, Github e Reddit e deparei-me com uma thread no Forum do Home Assistant.
Nesse post, o user fala numa versão da APP oficial para Android hackeada por um russo, com link para esse apk. Ora, como só tenho o aspirador na minha conta xiaomi decidi tentar, na pior das hipoteses o russo fica com acesso à minha conta Xiaomi e eu mudo a pass depois.

Surpresa minha e o token aparece dentro da app, sem precisar de fazer mais nada!

Passos que segui:

  • remover app oficial
  • sacar o apk linkado na thread
  • autorizar instalação de apps de outras fontes no telemóvel
  • instalar o APK
    Depois loguei-me na app, no mesmo servidor (Europe), o aspirador já lá estava, carreguei nele, no ecrã do mapa abri o menu dos 3 pontos que existe no canto superior direito -> General Settings -> Network Info e lá estava o Token!

Confesso que ainda não testei o token, mas que aparece, aparece!

Essa aplicação que falas , de um Russo, penso que é a mesma que o Rodolfo tem no tutorial.

Oops.

Confesso que não li o OP. Lendo agora, é possível que a app seja a mesma (versões diferentes).

Não tive problemas nenhuns em usar a app “_vevs”, por isso assumi que o tutorial não falasse dessa técnica…

A que “linkei” é a versão 5.4.14_vevs e a do OP é a 5.1.30_vevs

1 Curtiu

Ok vou pedir ao @RodolfoVieira para colocar no tutorial a versão que colocas-te.

@Joao_Massena obrigado por informares a comunidade que existia uma nova versão do APK.
Já actualizei o tópico com a versão mais recente.

1 Curtiu

Olá,

Obrigado pelo feedback. Quero também deixar o meu feedback, já que tentei um método em que consegui extrair o token mas não consigo comunicar… Então foi assim:

1 - Encontrei este site

http://sns.wifi-town.com/topic/2/obtain-mi-home-device-token

em que explica como podemos fazer o download de uma aplicação em que nos ligamos ao aspirador por wifi, utilizando a rede wifi dele. Consegui um token com 96 caracteres, o que vim a descobrir que resulta de uma encriptação

2 - Consegui desencriptar utilizando estas instruções:

Que são para este site: http://aes.online-domain-tools.com/

Segui as instruções da configuração do yaml:

vacuum:
  - platform: xiaomi_miio
    host: 192.168.1.2 (Com o IP do meu aspirador...)
    token: YOUR_TOKEN

e fico com a seguinte mensagem no log:

2018-10-26 11:05:03 WARNING (MainThread) [homeassistant.helpers.entity] Update of vacuum.xiaomi_vacuum_cleaner is taking over 10 seconds
2018-10-26 11:05:13 WARNING (MainThread) [homeassistant.components.vacuum] Updating xiaomi_miio vacuum took longer than the scheduled update interval 0:00:20
2018-10-26 11:05:13 ERROR (SyncWorker_0) [miio.device] Got error when receiving: timed out
2018-10-26 11:05:13 WARNING (SyncWorker_0) [homeassistant.components.vacuum.xiaomi_miio] Got exception while fetching the state: No response from the device

Está-me a escapar alguma coisa?
@Joao_Massena - Vou experimentar o teu método e depois digo qualquer coisa.

Pelo erro dá ideia que não está a conseguir comunicar com o aspirador. Consegues ver se o IP está atribuído no router?

Já consegui testar com a aplicação do russo (5.4.24_vevs). De facto, consegui sacar o token, introduzir no configuration.yaml e resultou!!! Pelo menos consgui mandar o comando básico de “start cleanup”.

Obrigado a todos pela ajuda. Espero que se mantenha estável, pois durante a minha longa pesquisa, percebi que a MI está sempre a tentar arranjar maneira de lixar a malta…

2 Curtiram

Uma vez que já tens o token, podes estar descansado que não precisas de andar sempre com apps e mais apps. E ainda bem que resultou :slight_smile:

Grande @Joao_Massena

Confirmo que visualizo o token (32 caracteres) com a versão que referiste.

Por enquanto ainda não fiz mais testes mas presumo que o essencial foi adquirido.

Obrigado

Olá! Baixei a versão MiHome_5.1.30_vevs.apk, desinstalei a versão atual e instalei essa APK. Tentei verificar o token conforme as orientações, mas não aparece a opção de abrir as configurações do Vaccum dentro do APP (os 3 pontinhos fica desabilitado).

Também tei executar o MiToolkit.1.6 mas sem sucesso. Mostra a mensagem “there seems to be an error with the backup, it is way too small”.

Outra coisa que fiz, foi tentar encontrar o arquivo “miio2.db” dentro da pasta /data/com.xiaomi.smarthome/databases/, mas não existe essa pasta “databases”

Tem algo que possa ser recomendado?

@Douglas exprimenta com esta versão e diz se funcionou por favor.

Download


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade