Controlar a hora de acender e apagar de uma lâmpada a partir do HA


(Jorge Assunção) #1

O Node-Red (NR) e o HA integram-se muito bem pelo que é possível utilizar o HA para controlar alguns parâmetros nas flows no NR.

Neste exemplo vamos utilizar uma flow de NR que liga e desliga uma lâmpada, sendo as horas controladas pela interface do HA. É necessária também a instalação do node Schedex que podem encontrar em https://flows.nodered.org/node/node-red-contrib-schedex

No final iremos ter a seguinte flow:

Home Assistant

Do lado do Home Assistant deverá ser colocado o seguinte nos respectivos ficheiros ou package:

Script:

input_datetime:
####  START
  time_inicio_modo_nocturno_cozinha:
    name: 'Inicio Modo Nocturno'
    has_date: false
    has_time: true
    initial: '21:00'
#### STOP
  time_fim_modo_nocturno_cozinha:
    name: 'Fim Modo Nocturno'
    has_date: false
    has_time: true
    initial: '06:35'

input_datetime

Input Boolean:

input_boolean:
#### MANUAL MODE
  lp_cozinha_manual:
    name: Luzes em Manual
    icon: mdi:toggle-switch 

input_boolean0

Relativamente à lâmpada podem utilizar uma que já tenham configurada no vosso HA. Não esqueçam de incluir os input_datetime e input_boolean na vossa interface do HA (com Lovelace é muito fácil) e por fim reiniciar o sistema.

Node-Red

O node Schedex é bastante flexível e aceita vários parâmetros à entrada para configuração, podendo ser controlados externamente o parâmetros para ligar, desligar, offset on, offset off, on time, off time entre muitos outros.

Comecem por arrastar os nodes para criar a vossa flow. Neste caso precisam de 2 Poll State, 2 Template, 1 Trigger: State, 1 Schedex e 1 Call Service. Liguem-nos conforme está na primeira imagem. O node Schedex irá pedir autorização para saber a vossa localização para poder saber as horas no local e calcular as horas do nascer e pôr-do-sol.

Vamos então iniciar a configuração dos nodes!

  • Poll State Night Mode ON

  • Poll State Night Mode OFF

  • Template Set Night Mode ON

  • Template Set Night Mode OFF

  • Trigger: State Manual Override

  • Schedex

  • Call Service

Podem copiar toda a flow aqui:

Descrição

A flow é muito simples e fácil de explicar. No HA têm agora dois input_datetime onde podem introduzir a hore de ligar e desligar da luz e também um input_boolean para poderem ligar e desligar as luzes de forma manual sem terem de esperar pela hora de ligar (ou desligar). Ao alterarem a hora de inicio ou fim no HA ao fim de 10 segundos (podem alterar este valor) a alteração passa para o NR e como a opção “Output On Changed” está activa nos nodes Poll State é de imediato injectada no Schedex.

Quando o Schedex recebe um comando manual tem uma particularidade, o comando recebido não é “eterno”. Ou seja, se estiver a luz ligada e vocês quiserem desligar em manual a luz não vai ficar sempre desligada, quando chegar a próxima hora de ligar vai ignorar o comando manual e ligar a luz.

Os nodes Template usam os valores recebidos pelos input_datetime e formatam esse valor para alimentar a entrada do Schedex com a hora de ligar e desligar, enquanto o Trigger: State usa o valor do input_boolean para forçar o Schedex a ligar/desligar fora das horas configuradas.

O node Schedex utiliza os valores introduzidos pelos nodes Template para enviar o sinal de ligar ou desligar ao node Call Service, qua não é mais do que um simples “interruptor”.

Como vêm o NR não é nenhum bicho-de-sete-cabeças e com o tempo torna-se bastante fácil de utilizar.

Se usam o NR e têm flows para o HA partilhem-nos connosco na Categoria Node-Red!