Como utilizar o botão (switch) da Xiaomi/Aqara no Node-red!

Acredito que muitos que compram o botão da Xiaomi ou da Aqara tem dificuldades em utilizar no Node-red. Vou mostrar aqui como usar!

Existem três modelos diferentes e variações desses modelos, alguns com três funções e outros com mais funções.

6e467ebc-ec21-4a18-806e-ea0c3ee08c30094ec7da-35bd-4a43-ba46-8647a10e2e09 original-xiaomi-aqara-gyroscope-upgrade-version-wireless-switch-xiaomi-smart-1-1-1024x1024

Em Ferramentas de desenvolvedor podemos ver que mesmo quando ativo o botão o status dele só retorna como on e off mas os clicks do botão são reportados em last_action e mesmo tentando filtrar o payload com um node switch dessa forma não é possível.

Então ao invés de pegar as informações dos clicks do botão na entidade do botão vamos pegar a partir do evento que é gerado pelo click!

Em Ferramentas de desenvolvedor na aba de eventos podemos ver o evento que é gerado pelo click do botão, xiaomi_aqara.click.

Agora vamos para o Node-red!

Para pegar as informações do evento do click do botão vamos utilizar os nodes:

1x events: all
2x switch

Vai ficar assim a organização dos nodes:

4

No node events: all em Event Type vamos preencher com xiaomi_aqara.click.

No primeiro node switch vamos filtrar pela entidade do botão da xiaomi, se tiver só um botão não é necessário esse node.

No segundo node switch é onde vamos filtrar os clicks do botão. É aqui que vai preencher as funções do botão que você vai observar olhando o last_action.

No caso do meu botão são só essas três funções: single, double e long_click_press.

Agora é só criar suas automações!
Um abraço!

Olá @LeandroIssa
Obrigado pela partilha do projecto e explicação.

Não sei se deva colocar a minha questão neste post…
Eu tenho um problema semelhante, mas com os restantes sensores. Sou muito básico no Node-Red, mas vejo muito potencial e vantagens sobre as automações do HA.

Estou a tentar criar algumas automações com os sensores AQARA, a mais básica é criar uma notificação quando a bateria está fraca, por forma a encomendar as pilhas de substituição. No entanto, não consigo criar a condição para que com a função “trigger” me devolva “true” na saída.
image

Obrigado!

Paulo, troca o node trigger pelo node events:state.

Também tenho uma automação assim mas com a bateria do meu smartphone

Obrigado! Já tinha tentado, mas talvez só devolva erro aquando da alteração do estado, isto é, actualmente tem 13%, apenas vai enviar notificação quando passar para 12%. No entanto parece-me estranho que não mostre o valor.

No entanto, quando seleciono a opção “output on connect”, ele mostra o valor e envia a notificação.


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


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