Soneca Node-RED

Após fazer o despertador em node-red percebi que perdi uma função muito usada em dia de preguiça, a famosa Função Soneca, então segue a solução que encontrei para simular uma bela função soneca.

Primeira mente vamos criar um input_boolean em configuration.yaml para poder desativar a soneca caso levante de primeira, ou segunda ou terceira.

input_boolean: soneca_suite:

Agora vamos para o Node-red

Node Service

Node Function
Apenas Seta 0 no Payload para fazer a contagem no Loop

Node Delay
Esse node será o tempo de delay em todos os Loop então dependendo do que tiver pode ser que precise mais ou menos tempo

Node Current State
Aqui verificamos se a input ainda está ativo também será consultado em todos os Loop então a qualquer momento pode desligar que não passara esse node nos retorna true"ainda ligado" ou false"foi desligado"

Node call service
No caso de False podemos informar que está desligado ou não faze nada.

Node function
Aqui verificamos qual o payload

var msg1 = { payload:1}; var msg2 = { payload:2}; var msg3 = { payload:3}; switch (msg.payload) { case 0: return msg1; case 1: return msg2; case 2: return msg3; default: return null; }

Node Switch
Aqui serve para saber quem qual loop está vc pode fazer quantos quiser, depende da sua dificuldade para acordar hehehe.

Sabendo em qual loop ou seja quantas vezes já tentou acordar, agora conseguimos definir o que queremos fazer ex. aumenta volume , toca mais um MP3 falar Algo etc…

No ultimo loop podemos desligar o input e todos os outros voltaremos ao Node Delay.

Fluxo completo

Lembrando que agora devemos ligar o ultimo fluxo do despertador no 1. node Liga soneca

Ligação fluxo Despertador com fluxo Soneca

Espero que gostem desta nova funcionalidade agregando ainda mais o despertador .

2 Likes

As imagens sumiram, poderia reenviar? Do tópico do despertador também…