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

xiaomi-mijia-brandname

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.

Botão Xiaomi / Botão Mijia


Botão Aqara

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!

bon noise,
Muito obrigado pela dica, utilizava outro método o que me impedia de repetir a mesma açao repetidamente.
Mas surgir uma duvida: QUando utilize um current state em um fluxo com state all, ele nao tras o estado. Save me dizer pq e como resolver isto?