Índice
- Tutorial 1 – Requisitos (Hardware e Software)
- Tutorial 2 – Instalação do Sistema Operativo e Home Assistant
- Tutorial 3 – Configuração da Tomada Xiaomi
- Tutorial 4 – Criar um botão na Dashboard
- Tutorial 5 – Agendar operações
No tutorial anterior, ficou explicado como configurar e iniciar o Home Assistant a partir de um Raspberry Pi. No tutorial de hoje, vamos aprender a configurar uma tomada inteligente, neste caso, a Xiaomi Mi Smart Power Plug que tem um custo de aproximadamente 14 euros no mercado Nacional (Portugal).

Xiaomi Mi Smart Power Plug
Esta tomada da Xiaomi tem algumas vantagens relativamente a outras da mesma marca e até mesmo de outras marcas. Em primeiro lugar, esta tomada liga-se diretamente ao Wi-Fi de sua casa e por isso não requer a instalação de qualquer Hub ou Gateway. Assim sendo, se não tem quaisquer outros dispositivos em sua casa, e pretende apenas controlar uma série de tomadas, esta é uma excelente opção.
Outra grande vantagem, é o facto de ter encaixe europeu, pelo que funcionará perfeitamente em Portugal, sem a necessidade de qualquer tipo de adaptador. De salientar ainda que a tomada incluí ligação à terra para garantir ainda maior segurança e proteção elétrica aos equipamentos e pessoas.
Por fim, destaco ainda a capacidade máxima de 16 A que é mais do que suficiente para poder ligar o que bem entender, até mesmo aqueles aquecedores “mais papões” de 2000 W de potência.
Configurar a Mi Smart Power Plug no Home Assistant
Tal como explicado no tutorial anterior, o nosso servidor do Home Assistant está a funcionar num container de Docker.
Por isso mesmo, começamos por aceder, novamente, por SSH ao Raspberry Pi (Não se lembra como?, veja o Tutorial 2).
Depois, antes de efetuar qualquer alteração e configuração dos ficheiros do Home Assistant, deverá parar o container correndo o seguinte comando:
docker stop home
Lembrando que “home” foi o nome escolhido para o container no Tutorial 2.
Agora devemos ir até à pasta onde estão os ficheiros de configuração do nosso servidor do Home Assistant. Para isso, corremos o comando:
cd /home/ubuntu/docker-config/home/
Esta é a localização dos ficheiros de configuração de acordo com o que foi configurado na instalação do Home Assistant (Tutorial 2).
Nesta pasta, vamos editar o ficheiro “configuration.yaml” para adicionar a nossa tomada.
Obter endereço IP e Token
Mas antes disso, precisamos de duas informações muito importantes acerca da tomada, o seu IP local e um Token (uma espécie de código). Por isso mesmo, começamos por configurar a tomada usando a aplicação Xiaomi Home como recomendado pelo fabricante. Depois da tomada perfeitamente configurada na aplicação do seu smartphone, deverá ser capaz de obter o endereço de IP da tomada.
Obter o IP
Para isso, abre a aplicação Xiaomi Home do seu smartphone, escolha a tomada que acabou de adicionar, clique no ícone com 3 pontos no canto superior direito, depois em “Configurações adicionais” e finalmente em “Informações de rede”. Aqui deverá ver qual o endereço IP da sua tomada. Neste caso, o IP é 192.168.1.122.

Obter o Token
Agora vem a parte mais complicada de todo o processo, a obtenção do Token do dispositivo. Existem várias forma de obter o Token de cada dispositivo da Xiaomi, e o processo tende a varia de dispositivo para dispositivo como exemplificado na documentação oficial do Home Assistant.
No entanto, este tutorial foi feito para simplificar tudo. Por isso mesmo, vamos mostrar uma forma mais simples de obter os tão desejados Tokens usando uma ferramenta desenvolvida por PiotrMachowski e que está disponível no GitHub. (Um muito obrigado ao desenvolvedor deste script).
O script é muito simples de usar e permite obter os Tokens de todos os dispositivos associados à sua conta da Xiaomi (Mi Account). O script está disponível para Windows, mas também pode ser executado no Linux. Neste tutorial, vamos ver como podemos executar o script no Raspberry Pi (Linux).
Depois de ter acedido, por SSH, ao RPi, execute o seguinte comando para instalar algumas bibliotecas necessárias:
pip3 install pycryptodome pybase64 requests
Depois, descarregue o script executando o comando seguinte:
wget https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/token_extractor.py
Por fim, execute o script através do seguinte comando:
python3 token_extractor.py
O script irá pedir o nome de utilizador e palavra passe da sua conta da Xiaomi (a que usa para se autenticar na aplicação Xiaomi Home).
O código da aplicação é aberto, por isso pode confirmar que os dados não são recolhidos ou partilhados com terceiros. No entanto, se se sentir mais seguro com isso, poderá alterar a palavra-passe da conta depois de ter obtido os Tokens desejados. Quando for questionado sobre quais países (Countries) que deseja analisar, deixe em branco e faça Enter para que todos sejam analisados.
Passado algum tempo, terá acesso a uma lista dos diversos dispositivos que estão disponíveis na sua conta Xiaomi. Eis um excerto do output do meu caso:
Username (email or user ID):
<O SEU EMAIL>
Password:
<A SUA PASSWORD>
Country (one of: ru, us, tw, sg, cn, de) Leave empty to check all available:
Logging in...
Logged in.
Devices found for country "cn":
---------
NAME: Luz do Quarto
ID: XXXXXXXXXX
IP: 192.168.1.66
TOKEN: YYYYYYYYYYYYYYYYYYYYYYYYY
MODEL: chuangmi.plug.m1
---------
Devices found for country "de":
---------
NAME: Cilindro
ID: XXXXXXXXXX
IP: 192.168.1.122
TOKEN: <O TOKEN DA TOMADA>
MODEL: chuangmi.plug.hmi206
---------
Desta lista, o que vamos retirar é o Token relativo à tomada que pretendemos adicionar ao Home Assistant. No nosso caso, podemos facilmente identificar a tomada através do nome ou mesmo do endereço de IP que já havíamos obtido anteriormente.
Posto isto, temos os dois dados fundamentais para adicionar a tomada ao Home Assistant.
Adicionar a tomada ao ficheiro de configuração
Acedendo então à pasta “/home/ubuntu/docker-config/home/” (como explicado acima), vamos editar o ficheiro de configuração usando o editor de texto Vim:
sudo vi configuration.yaml
Depois de abrir o ficheiro, vamos então para o fundo do ficheiro (apertando Shift + G) para adicionar a tomada. Apertando “o” podemos começar a escrever e adicionar as seguintes linhas:
switch:
- platform: xiaomi_miio
host: 192.168.1.122
token: <O TOKEN DA TOMADA>
Atenção
O número de espaços é importante. Pelo que não deverá existir espaços antes da palavra “switch”; devem existir 8 espaços antes do “-“; e 10 espaços antes de “host:” e “token:”
Depois de introduzidos os dados, clique em “Esc” e depois “:x” e faça Enter. Isto irá guardar as alterações feitas ao ficheiro.
Terminado o processo, está na hora de lançar novamente o Home Assistant executando o comando:
docker start home
Aguarda alguns minutos para que o Home Assistant inicie e reconheça o dispositivo. Depois poderá aceder então à página web de gestão do Home Assistant, onde a tomada irá aparecer como uma nova Entidade.

Agora já poderá definir um nome para a tomada, ligar e desligar a tomada usando o Home Assistant, definir horários de funcionamento, automações, e muito mais.
Questão
Por favor, deixem nos comentários o que gostariam de ver abordado no próximo tutorial. Como Adicionar um botão para a tomada no ecrã principal? Como definir automações?
Bónus
No caso de querer definir mais do que uma tomada, deste tipo, no Home Assistant, o processo é exatamente o mesmo, mas a adição é sempre feita dentro do bloco “switch:”, ou seja, o ficheiro de configuração terá este aspecto para três tomadas:
switch:
- platform: xiaomi_miio
host: 192.168.1.66
token: <TOKEN A>
- platform: xiaomi_miio
host: 192.168.1.122
token: <TOKEN B>
- platform: xiaomi_miio
host: 192.168.1.129
token: <TOKEN C>