Tenha o controle do Xiaomi Roborock no Node-red! Nodes Miio Roborock!

Não sei se acontece com vocês também mas comigo muitas vezes quando peço para o Google Assistant ligar o Roborock para aspirar aqui em casa o Mi Home está offline mas quando entro no app mesmo ou pelo Home Assistant consigo ligar de boa. Então procurei uma alternativa para resolver esse problema, segue aqui:

Importante: funciona e testado com Roborock s50 (gen2) e Roborock s5 Max (gen3)!

Vamos lá no canto direito em cima no menu, depois em Manage palette para adicionar novos nodes!

Clique em “Install” e do lado da lupa escreva “Roborock”, vão aparecer dois nodes, vamos instalar o primeiro pack de nodes o “node-red-contrib-miio-roborock”, clique em “Install” para instalar.

Vai aparecer a aba Xiaomi nas abas de nodes.

Sem título

Pegando o node “Roborock: command” e abrindo vamos configurar para conseguir controlar o seu roborock! Clique no lápis para configurar e adicionar o seu roborock!

Agora adicione o IP e o Token do seu Roborock, clique em Add.

Pronto! Já está configurado o seu node-red para controlar o seu Roborock! Para poder usar é só escolher qual commando usar!

Uma dica de como usar esses nodes é em conjunto com os nodes Nora! Não conhece os nodes Nora? Pode conhecer aqui:

Usando com um node Nora ficaria assim o flow:

Pronto, agora posso substituir a integração do Mi Home com o Google Assistant por esse flow!

Espero ter ajudado, um abraço!

2 Likes

Fiz aqui e funcionou legal.

Juntei com os nodes do seu tutorial como o node homekit (integra com o app Casa) e tbm com um webhook (criado direto no node-red), pq minha esposa detesta instalar app, então já tem a facilidade de acionar dessas formas tbm (pela Siri ou pelo app casa, do celular dela).

No caso do node do homekit, o que deu trabalho foi que não tinha um “serviço” de aspirador/vacuum, então usei um interruptor (switch). Estava funcionando para ligar, mas não conseguia fazer funcionar o sinal de desligar, pois o payload era um object “on: true” para ligar e “on: false” quando desligado.

Depois que quebrar um pouquinho a cabeça (nao entendo de nodejs/node-red) consegui “filtrar” usando o node switch, configurando o Property como “msg.payload.On” e as 2 regras (rules) como “contains” true e false, respectivamente, assim passando o payload conforme liga e desliga o switch no app casa.

Como viram na “imagem 1”, o webhoock liguei direto, pra poder usar os atalhos de forma mais direta, sem “passar” pelo casa e pq permite outros acionamentos tb, em casos futuros (além do fato de que precisava aprender mais sobre).

Dai pra frente é só usar a imaginação.

2 Likes

Foi bem esperto em usar o contains no switch, parabéns pelo tutorial! Provavelmente vai ajudar mt gente!! <3

1 Like

Na minha nova instalação, quando vou colocar o pallet “node-red-contrib-miio-roborock” da crash no nodered.
Nem subindo backup apenas do addon resolve, só mesmo restaurando todo o sistema

segue o log da instalação:

-----------------------------------------------------------
2022-04-22T03:31:35.642Z Install : node-red-contrib-miio-roborock 2.3.3

2022-04-22T03:31:36.455Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-miio-roborock@2.3.3
2022-04-22T03:31:59.188Z [err] npm
2022-04-22T03:31:59.189Z [err]  
2022-04-22T03:31:59.189Z [err] WARN
2022-04-22T03:31:59.189Z [err]  
2022-04-22T03:31:59.190Z [err] deprecated
2022-04-22T03:31:59.190Z [err]  appdirectory@0.1.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
2022-04-22T03:32:00.629Z [out] 
2022-04-22T03:32:00.629Z [out] added 122 packages in 24s
2022-04-22T03:32:00.674Z rc=0

Depois, fica em loop infinito para reiniciar o addon e não vai: