Controlar volume do Google Nest com botão de dim

Este flow permite utilizar um botão de dim (tipo IKEA E1743) para controlar o volume de um Google Nest através de um cast node.

Precisam de ter instaladas as seguintes palettes:

  • node-red-contrib-cast
  • node-red-contrib-time-based-dimmer

Os 3 inject nodes dentro do círculo estão a simular o interruptor. Dependendo da plataforma zigbee que estejam a utilizar a informação que chega ao NR será diferente e terão de adaptar dentro do node “dimmer”.

Esta configuração está feita para responder ao comportamento do E1743 em long press que envia sinalização dim-up ou dim-down enquanto está pressionado e dim-stop quando deixamos de pressionar.

No inicio do flow temos um StateNode para obter o volume actual do Nest e actualizar o node dimmer caso exista uma alteração de volume externa ao flow.

O function node pega no valor do atributo volume e coloca-o no msg.payload para ser lido pelo dimmer node. Pelo meio faz a conversão do volume 0-1 para 0-100 de forma a ser aceite pelo cast node.

var nestlevel = Number(((msg.data.new_state.attributes.volume_level * 100)).toFixed(0))
msg.payload = nestlevel                           
return msg;

No dimmer node têm de configurar os comandos de up/down/stop para que correspondam ao que o vosso comando envia.

O dimmer node está a incrementar o volume de 5 em 5. Podem alterar este valor no campo Step e também podem alterar o intervalo.

Por fim temos de mover o payload para msg.payload.volume para o Cast node o assumir.

image

1 Curtiu

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


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