lunedì 4 aprile 2022

Console Tasmota - Timer

 

I timers di Tasmota sono una di quelle cose che poche persone usano, ma che sono utilissimi!

Pensateci un momento, di base tutti usano il firmware Tasmota in accoppiata ad un hub domotico. Ma moltissime funzioni utili possono essere svolte direttamente da Tasmota, senza dover per forza coinvolgere Home Assistant, Domoticz o altro!

Una di queste funzioni utili, direi anche banali, è il timer.

Il comando Timer e le sue variabili.

Partiamo dicendo che ci sono sedici (16) timer indipendenti che possono essere programmati con il comando Timer seguito dal numero di timer e dai parametri.

Se si lancia il comando Timer seguito da un numero variabile da 1 a 16 si possono vedere le programmazioni di quello specifico timer.

Esempio :

07:21:20 CMD: timer3

07:21:20 RSL: tasmota/wm_test_02/stat/RESULT = {"Timer3":{"Enable":0,"Mode":1,"Time":"02:00","Window":0,"Days":"0110000","Repeat":0,"Action":3}}

Ora approfondiamo bene il tutto, così saremo capaci di creare tutti gli eventi temporizzati che vogliamo!


I comandi accessori di Timer

Il comando Timer vive con altri comandi accessori, vediamo quali sono e cosa fanno di preciso!

Latitude xx.xxxxxx = Setta la latitudine attuale.

Longitude xx.xxxxxx = Setta la longitudine attuale.

Timers 0 / 1 / 2

Il valore 0 disabilita tutti i timers, il valore 1 li abilita tutti. Il valore 2 cambia stato dei timer, quindi quelli attivi diventano disattivati e viceversa.

TimerX 1/16 

Lanciando il comando con uno zero cancella il timer selezionato.

Esempio :

07:20:32 CMD: timer3 0

07:20:32 RSL: tasmota/wm_test_02/stat/RESULT = {"Timer3":{"Enable":0,"Mode":0,"Time":"00:00","Window":0,"Days":"0000000","Repeat":0,"Action":0}}

Cancella la programmazione del timer 3, quello che abbiamo visto poco sopra.

Lanciando invece il comando con un numero compreso tra 1 e 16 e seguito da un numero compreso tra 1 e 16 copierà la programmazione di un timer su un'altro.

Per esempio, copiamo la programmazione del timer 3 sul timer 11

07:28:03 CMD: timer11 3

07:28:03 RSL: tasmota/wm_test_02/stat/RESULT = {"Timer11":{"Enable":0,"Mode":1,"Time":"02:00","Window":0,"Days":"0110000","Repeat":0,"Action":3}}

Per me, è poco intuitivo, trovo scomodo prima dover dichiarare il timer di destinazione e poi il timer di origine.Ma funziona così, ce ne faremo una ragione...

Lanciando invece il comando Timer seguito da un numero e dai parametri, si programmano i timer, ma lo vediamo meglio tra poco.

Nota : 

Lanciando i comandi Latitude e Longitude da soli si ottengono le coordinate di default. 


A me, le coordinate di default portavano direttamente qui : Torre Eiffel, 5 Avenue Anatole France, 75007 Paris, Francia


I parametri del comando Time

Tutti i parametri vanno passati dopo la dichiarazione del numero di timer e devono:

  • essere racchiusi tra parentesi graffe {}
  • ogni nome di parametro deve essere racchiuso tra le virgolette ""
  • ogni valore di parametro deve essere preceduto dai due punti :
  • ogni valore di parametro deve essere racchiuso tra le virgolette ""
  • ogni valore di parametro deve essere terminato da virgola ,

Ora vediamo i comandi accettati ed il loro valore :

Enable 0 / 1

Se il valore è 0 disabilita (o ferma) il timer, se è 1 abilita o avvia il timer.


Mode 0 / 1 / 2

Se è settato a 0 usa l'ora di sistema. Se è settato a 1 usa l'ora dell'alba ricavata dai dati del server NTP, se è 2 usa i dati del tramonto ricavati dal server NTP.


Time hh:mm /-hh:mm

Il valore hh va da 0 a 23 e sono le ore, il valore mm va da 0 a 59 e sono i minuti.Se viene preceduto dal segno "-" stabilisce quante ore o minuti levare prima dell'alba o del tramonto espresse dal Mode1 e dal Mode2. Se si specifica 00:00 non sarà levato alcun valore.


Window 0 / 15

Questo valore è compreso tra 0 e 15 ed aggiunge o sottrae un valore random al valore Time. Per esempio, se si specifica Time 22:10 e Window 10, il timer sarà con una finestra temporale di massimo 10 minuti prima o dopo le 22:10.

Potrebbe partire alle 22:03 così come alle 22:14 ma mai prima delle 22:00 e mai oltre le 22:20


Days 1 / 0 / - 

Specifica in quali giorni della settimana si deve attivare il timer.Se viene specificato come valore "0" oppure "-" non verrà tenuto conto dei giorni. Se viene specificato 1 il timer per quello specifico giorno si attiverà

Siccome Tasmota è di base anglofono, la settimana inizia con domenica.

Per esempio "---1---" sta a significare "solo di mercoledì". Infatti, partendo da domenica, mercoledì è il quarto giorno.


Repeat 0 / 1

Se messo a 0 il timer sarà ripetuto una sola volta. Se messo a 1 il timer sarà ripetuto.


Output 1..16

Sceglie quale uscita usare, ovvero quale relè andare ad attivare.


Action 0 / 1 / 2 / 3

Specifica cosa deve fare la regola con il carico collegato.

Se 0 il carico andrà ad OFF quando parte il timer. Se messo a 1, il carico andrà ad ON. Se messo a 2, il carico cambierà di stato, mentre se messo a 3 avrà un comportamento interessante.

Se nel firmware sono state attivate le Rule, la regola che cita il timer partirà.

Se invece le Rule non sono attive, verrà eseguito un Blink fino al raggiungimento del valore BlinkCount.

Se non ti ricordi come funziona il comando Blink, non ti preoccupare!

Questo post ti sarà sicuramente utile : Console Tasmota : il comando Power Blink


Gli esempi del comando Time 

Credo fortemente che gli esempi siano una parte fondamentale per capire il funzionamento delle cose.

Ecco qui sotto degli esempi ed il relativo commento :


Timer1 {"Enable":1,"Time":"07:00","Window":0,"Days":"------S","Repeat":0,"Output":1,"Action":2}

Abilita il Timer1, parte alle 7 del mattino precise (infatti il valore di Window è 0) di sabato.

Viene ripetuto una sola volta, il carico è collegato al relè 1 e verrà fatto un cambio di stato del relè (infatti l'Action è a 2).


Timer5 {"Enable":1,"Mode":2,"Time":"17:30","Window":12,"Days":"1111111","Repeat":1,"Output":1,"Action":1}

Abilita il Timer1, parte alle 17:30 con uno scarto di più o meno 12 minuti massimi (Window è settato a 12). Viene eseguito tutti i giorni della settimana (Days è 1111111) e viene ripetuto tutti i giorni. Il relè coinvolto è l'1 ed il carico dovrà essere messo su ON.


Timer9 {"Enable":1,"Mode":0,"Time":"21:15","Window":8,"Days":"0010100","Repeat":1,"Output":2,"Action":3}}

Abilita il Timer9, parte alle 21:15 circa, con 8 minuti più o meno di scarto. Funziona solo nei giorni di Martedì e di Giovedì, viene ripetuta in virtù del valore Repeat a 1. Viene abilitato il carico sul relè2 e ne viene fatto il Blink.


Conclusioni

Ora che si è esplorata anche questa possibilità d'uso di Tasmota, cosa ne possiamo fare?

Per mio gusto trovo scomodo fare questi timer da console, è molto più comodo farli da web.

Se poi uno si sta addentrando nell'uso di Tasmota e vuole capirne le potenzialità, trovo ottimo questo strumento. Ma se si pensa di mettere un hub domotico, bisogna decidere cosa fare. O meglio, cosa fargli fare. Io trovo disorientante che i dispositivi collegati ad un hub abbiano delle loro regole. Preferisco centralizzare e gestire tutto da una sola parte.

Se poi si sta pensando di usare Tasmota come un dispositivo a se stante, oppure fare una sola azione tipo "accendi l'albero di Natale alle 17 e spegnilo alle 23", trovo questo comando utilissimo.

Ma io punto sempre a far comandare l'hub domotico e via! Se poi vuoi proseguire il discorso di Tasmota, ho scritto tantissimi post a riguardo, li trovi tutti qui!

Certo, ci possono essere situazioni nelle quali il dispositivo con il firmware Tasmota non è collegato ad un hub, eventualità che sto esplorando da qualche tempo.

Si può ovviamente usare l'avvio di un timer come evento scatenante di una Rule, ne parlavo proprio nel post "Rule Tasmota - Sintassi dei trigger". Se poi vuoi approfondire il discorso Rule, oramai trovi un sacco di post sull'argomento, li ho riuniti tutti in questo elenco.

Tu invece cosa ne pensi? Usi dei timer a bordo dei dispositivi con Tasmota? Raccontamelo, che sono curioso!!!

Nessun commento:

Posta un commento

Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?

Cerca nel blog

I post più letti di sempre