Como utilizar o cubo da Aqara no Node-red!

Bom, adquiri o cubo da Aqara e demorei um tempinho até conseguir configura-lo. Utilizo o gateway 2 da Xiaomi com a integração nativa. Sei que diferentes formas de integra-lo influencia na forma que o Home Assistant reconhece e apresenta seus status, pelo gateway 2 da Xiaomi é da forma a seguir.

A forma que o Home Assistant reconhece o Cubo da Aqara é bem parecida de como reconhece os botões da Xiaomi. Vamos ao tutorial.

Em Ferramentas de desenvolvedor podemos ver que o cubo só retorna status de “off” mas as ações dele são reportadas 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 das ações na entidade do cubo vamos pegar a partir do evento que é gerada.

Em Ferramentas de desenvolvedor na aba de eventos podemos ver o evento que é gerado pela ação do cubo, xiaomi_aqara.cube_action.

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:

3

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

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

No segundo node switch é onde vamos filtrar as ações do cubo. É aqui que vai preencher as ações do cubo que você vai observar olhando o last_action.

No caso do meu cubo são só essas seis ações: move, flip90, flip180, rotate, shake_air, tap_twice e free_fall.

Ações:

shake_air: balançar o cubo no ar
flip90: girar o cubo em 90° (uma rodada)
flip180: girar o cubo em 180° (duas rodadas)
rotate: rotacionar o cubo
free_fall: jogar o cubo pra cima e pegar
move: mover o cubo pra frente
tap_twice: dar 2 batidas com o cubo rapidamente

É isso, um abraço!

PS. o colega @CLyra deu uma dica:
Você pode usar o rotate pra aumentar/diminuir o volume da tv ou subir/descer cortinas. Quando vc usa a ação rotate ele envia um parametro (action_value) que diz quanto que o cubo rodou.
A precisão é ruinzinha, então eu usava o valor 18 (ou -18). Se rodou menos que esse valor, sobe/desce 1 “unidade”, se rodou mais que isso sobe/desce 2 “unidades".

3 Likes

Tutorial atualizado!!

Estou testando este flow aqui:

Ele foi feito para quem integra o cubo pelo Z2M. O primeiro nó é um “mqtt in”. Achei bem interessante, embora não tenha compreendido totalmente ainda (rs).

1 Like