Node-Red: I ❤ BigTimer

HassioHelp

Node-Red: I ❤ BigTimer

.

Argomento: NodeRed

Livello: Novizio (Novizio,Esperto, Pro)

Difficoltà: Bassa (Bassa, Media, Alta)

PRIMA DI INIZIARE:

Seguire guide Node-Red senza capirne il flusso d’automazione, non é utile a nessuno. Node-Red ha un metodo tutto suo.

Consiglio di  iniziare dal Corso 1 Node-Red in italianoecco il link al MODULO per richiederlo. E’ gratuito.

Per qualsiasi domanda non esitate a contattarmi.
Telegram Manuel Del Gada

Iscrivetevi ai canali “Node-Red italia” : Gruppo Facebook – Canale Youtube – Gruppo Telegram 

Premessa

  • Questa è una guida per chi utilizza Node-Red con o senza Home Assistant.

Cosa impariamo

BigTimer:

  • Programmazione manuale con esclusione e\o inclusione giorni e\o weekend
  • Programmazione da input
  • Differenze dei 3 output

Per prima cosa andiamo a scaricare il nodo Bigtimer se non é in vostro possesso (In questa guida vi avevo fatto vedere come scaricare nuovi nodi).

Si chiama node-red-contrib-bigtimer

Dopodiché trascinatelo sul flow (Per far sparire il punto rosso, vi basterà aprirlo, attendere che latitude e longitude acquisiscano i vostri dati, poi “done” e “deploy”)

Consiglio: Il deploy non fatelo “full”, non ha senso. Per non sovraccaricare il sistema e dato che si lavora nello stesso flow, eseguite il “deploy modified flows” che ricarica solo il flow dove state lavorando.

Per prima cosa iniziamo dicendo che lui stesso esegue il trigger, non ha bisogno di altri nodi che lo attivano da input. Scatena un’automazione in autonomia in base alla programmazione. 

Ha un solo input per essere programmato da esterno e ha 3 output che dall’alto verso il basso chiameremo output 1, output 2 e output 3 per agevolarne la spiegazione.

Programmazione manuale

Apriamo il nodo e andiamo ad analizzarlo al suo interno.

Come vedete dalla foto qua sotto, ha la possibilità di essere programmato con 2 orari di accensione (on time – on time2) e due orari di spegnimento (off time – off time2) con step di 15 minuti.

Inoltre ogni time accetta:

  • dusk (crepuscolo nautico serale)
  • dawn (fine crepuscolo nautico inizio di quello civile)
  • sunrise (alba)
  • sunset (tramonto)
  • solarnoon (mezzogiorno solare, il sole é nella posizione più alta)
  • night (inizia la notte abbastanza buia per le osservazioni astronomiche)
  • nightend (inizia il crepuscolo astronomico)
  • moonrise (alba lunare)
  • moonset (tramonto della luna)

Ha la possibilità di avere un offset per ogni attivazione e spegnimento. ESEMPIO offset: se programmate il primo “on time” con “sunrise” (alba) e programmate “on offset” con “-10” significa che on si attiverà 10 minuti prima dell’alba. Di conseguenza con “+10” si attiverà 10 minuti dopo l’alba.

Inoltre alla sua attivazione ha la possibilità di mandare in output due tipi di payload e un topic. All’attivazione di on manderà in output quello che abbiamo scritto in “On msg” + “on text” + topic. All’attivazione di off manderà quello scritt su “off msg” + “off text” + topic.

Ci rechiamo a fondo nodo e troviamo questa scheda (foto in basso).

Possiamo far funzionare il nodo bigtimer nei mesi o giorni che andiamo a spuntare (In questo caso funzionerà sempre).

Inoltre possiamo escludere (bannare – BAN) i giorni dispari o pari del mese (odd e even days).

Di default ci sarà la spunta su “repeat output” (ogni minuto manda un impulso in output 1 e 2) e “output at startup” (manderà un impulso a tutti e tre gli output a ogni deploy). Nel mio caso tendo a non utilizzarle per l’utilizzo che ne faccio. Comunque in qualsiasi caso togliete le spunte come da foto per proseguite con la guida.

Se scorriamo il nodo più in alto troviamo 4 schede:

  • Include special days of the year
  • Include special weekdays of the month
  • Exclude special days of the year
  • Exclude special weekdays of the month

A cosa serve? Magari (come da foto precedente ) ho spuntato solo il giorno venerdì di tutti i mesi (perciò bigtimer funzionerà sempre solo il venerdì) ma c’é uno o più giorni extra che vorrei includere. Con queste schede posso farlo. Posso includere o escludere determinati giorni a prescindere dalla programmazione a spunte come da foto precedente.

In questo caso, dato che nel bigtimer abbiamo spuntato tutti i giorni e mesi, dedichiamo l’approfondimento sulle schede Exclude special per escludere (foto qui in basso).

Exclude special days of the year: Sono i giorni del mese che vogliamo escludere (nella foto ho escluso il natale 25 dicembre). ERRORE: Si é costretti a selezionare il mese. Non é possibile selezionare 1 per voler escludere il primo giorno di ogni mese. (vedi errore con X rossa).

Exclude special weekdays of the month: Sono i giorni che vogliamo escludere in determinati weekend del mese.

Considerando che la domenica é il giorno 1-lunedì 2 – martedì 3 – mercoledì 4 etc…Ho escluso il day 7 (sabato) del primo weekend di OGNI mese(1). Come per sopra, non si può selezionare solo il giorno (X rossa).

Il risultato é che abbiamo un bigtimer che funziona sempre. Escluso il sabato di ogni primo weekend del mese. Ed escluso il giorno di natale. 

Nei giorni inclusi manderà in output i msg scritti in  “on msg + ontext + topic” all’alba e alle 12.00. Mentre quelli di “off msg + offtext + topic” al tramonto e alle 13:00. 

Magari può non interessarvi che msg o topic manda. Vi basta l’impulso per accendere e spegnere una lampadina o un’irrigazione. 

 

Se siete nel giorno di esclusione noterete la scritta sotto al nodo “no action today”.

Programmazione da input

Il nodo Bigtimer può essere programmato anche da input (ciò ci permette perciò di programmarlo anche da interfaccia Home Assistant volendo).

Per iniziare a prendere confidenza iniziamo a trascinare dei nodi “inject” e dei “debug” nel flow.

Modificate gli “inject” come da foto e i debug impostateli all’interno come ” complete msg object”.

iniziamo a fare dei test.

Se Bigtimer riceve in input “manual” andrà in manuale. Perciò solo se riceve in ingresso “on” o “off” gli output emetteranno l’impulso. Apparirà sotto al nodo il quadrato verde con scritto “Man. override”.

“ON” o “OFF” in base a quello che avete clikkato.

Mentre, se clikkate su “auto”, andrà in automatico e sotto il nodo vi apparirà “on\off for ore e minuti”. Ciò significa, nel momento in cui scrivo questa guida, che “on” si manterrà per 6 ore e 39 minuti dopodiché scatterà “off”. Rispetterà perciò la programmazione interna.

Ora se clikkate su “on” vi apparirà “ON Temp. override.” viceversa se clikkate “off”.

Ciò significa che avete attivato manualmente “on” ma il nodo continua a rispettare anche la programmazione interna.

Il quadrato verde “pieno”, se il nodo é in automatico, significa che rispetta la programmazione interna.

Ora clikkiamo su ” on_override 8:18″ e noterete che il quadrato verde si riempirà di bianco. Clikkiamo su “off_override sunset” per programmare anche “off”. Il quadrato verde con riempimento bianco significa che il nodo rispetterà solo la programmazione ricevuta dall’esterno. Come se quella interna fosse cancellata. Questo vale per gli orari, non vale per le inclusioni\esclusioni giorni e le spunte di attivazione.

Cioé si attiverà “on” alle 8:18 e “off” al tramonto. 

Potete programmare come volete gli override. Inoltre, a differenza della programmazione interna che ha step di 15 min, con override possiamo programmare preciso al minuto.

Purtroppo se le potenzialità del bigtimer é la programmazione di due orari di on e due orari di off, con la programmazione override da input possiamo programmarne solo uno.

Mentre se clikkiamo su “timer 10” si avvierà un conto alla rovescia di 10 secondi dopodiché si attiverà “on”. Poi tornerà a rispettare la programmazione precedente.

Il timer é in secondi e naturalmente potete inserire i secondi che volete.

Differenza dei 3 output

Ora andiamo ad analizzare gli output. Come vi avevo detto, e come abbiamo rinominato i debug, dall’alto verso il basso gli chiamiamo 1-2-3:

OUTPUT 1: Dal primo output escono i “MSG e il TOPIC” programmati all’interno del nodo. Chiaramente se scatta on esce “msgon” (come da foto) se scatta off “msgoff”. Il topic c’é sempre. Inoltre troviamo altre informazioni che possono essere utili

OUTPUT 2: Questo output manda un impulso ogni minuto con un payload numerico “1”  e altre informazioni che possono essere utili.

OUTPUT 3: Questo output, come il primo, si attiva all’attivazione di on e off ma a differenza del primo fa fuoriuscire “TEXT e TOPIC” programmati all’interno del nodo senza alcuna informazione aggiuntiva.

ATTENZIONE: La programmazione da input “override”, ad ogni impulso di programmazione, fa emettere anche l’impulso in tutti e 3 gli output. Questo solo se il nodo é attivo nella giornata in cui lo state programmando. Perciò se si trova in “no action today” si programmerà ma non emetterà impulsi durante la programmazione.

Esempio: Ora sono le 12:00. Ho collegato all’output una call service di apertura tapparella. Vado a programmare da input (magari da interfaccia HA) “off_override sunset” perché voglio che si chiuda al tramonto. Appena mando l’impulso in input di programmazione override, arriva anche in output e la tapparella si aziona, anche se ora sono le 12:00. Credo che sia l’unica “pecca” di big timer che é facilmente risolvibile con un input_boolean di controllo che vedremo più avanti…

_______________

Siamo giunti alla fine di questo approfondimento. Ora potete utilizzare il Bigtimer in tutte le sue potenzialità!!

Nella prossima guida, con Bigtimer, creeremo un flow di accensione e spegnimento settimanale da interfaccia Home Assistant! 

 

2 risposte

  1. Avatar Mc Caslin ha detto:

    Un sentito grazie al creatore di queste guide, grazie al tuo lavoro sto riuscendo finalmente a comprendere la logica di node-red. Di materiale di qualità in italiano non se ne trovava in giro!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *