lunedì 2 maggio 2022

Console Tasmota - PowerOnState

Un comando semplice che nasconde una grande potenzialità, oggi si parla di PowerOnState!

Il funzionamento standard

Il comando PowerOnState serve a controllare lo stato del relè al momento dell'accensione del dispositivo. Semplice e veloce, ma è davvero solo così?
Ma anche no!

Partiamo subito dicendo una cosa molto importante, ovvero il comportamento di base di un dispositivo con il firmware Tasmota a bordo.

Quando si va ad agire sul relè (che sia via MQTT, via console, via web, via seriale o con il pulsante di bordo) lo stato del carico viene segnato in memoria. Una volta che la scrittura in memoria è andata a buon fine, il relè viene azionato. Quando il dispositivo viene riacceso, il stato del relè viene ricercato in memoria e riproposto.

Pongo molta enfasi sul RIACCESO

Non vuol dire riavviato, chiaro?
Riacceso vuol dire senza corrente elettrica. 
Spina staccata. 
Consumo zero.

Sperando di essere stato abbastanza chiaro, andiamo avanti.

Quello sopra è il comportamento di default, ma si può forzare anche il fatto di NON salvare lo stato del relè.
Per fare questo si usa il comando Setoption0 0 mentre per riportare il funzionamento a default si lancia il comando Setoption0 1.

Nel momento che viene scritto lo stato del relè è l'esatto momento nel quale il trigger System#Save entra in azione. Se ti sei perso il post sui trigger delle rule, eccolo : Rule Tasmota - Sintassi dei trigger
https://minomodding.blogspot.com/2022/02/rule-tasmota-sintassi-dei-trigger.html

Le opzioni disponibili


Ora che abbiamo capito come funziona il PowerOnState vediamo nel dettaglio tutti i parametri che si possono passare dopo il comando e cosa fanno di preciso!

PoweronState 0
All'accensione, il relè viene spento.
Nota: Il numero 0 può anche essere sostituito da OFF. Io,personalmente, lo prediligo perchè aumenta la leggibilità del tutto, specie se si usa con il comando Backlog

PoweronState 1
All'accensione, il relè viene acceso.
Nota: Il numero 1 può anche essere sostituito da ON. Io,personalmente, lo prediligo perchè aumenta la leggibilità del tutto, specie se si usa con il comando Backlog

PoweronState 2
All'accensione, il relè cambia stato rispetto all'ultimo stato noto.
Nota: Il numero 2 può anche essere sostituito da TOGGLE. Io,personalmente, lo prediligo perchè aumenta la leggibilità del tutto, specie se si usa con il comando Backlog

PoweronState 3
All'accensione, il relè si porta all'ultimo stato noto.
Questo è il comportamento di default.

PoweronState 4
All'accensione, il relè viene messo su ON e viene disabilitata la possibilità di agire ulteriormente sul relè.
Non si potranno dare quindi comandi in nessun modo, nè via MQTT, via console, via web, via seriale o con il pulsante di bordo.
L'unico modo di poter mettere l'apparato in OFF è cambiare il PowerOnState ad un valore diverso da 4.

PoweronState 5
All'accensione si aspetta un periodo di tempo pari a PulseTime e poi il relè di bordo viene messo su ON. Diciamo che è una sorta di "ritardo all'avvio", potrebbe essere utile!


Nota:
Tutti gli argomenti qui sopra sono validi se non si è mai andati a modificare il comportamento con SetOption0.


Se non ti ricordi cosa faccia di preciso il comando PulseTime puoi leggere questo articolo per darti una rinfrescata alla memoria : "Console Tasmota - il comando PulseTime".


Qualche altro particolare da tenere a mente.


C'è un altro comando, SetOption63, che influisce sul funzionamento di PowerOnState.

Come dicevo prima, quando si cambia lo stato del relè viene prima salvato in memoria e poi eseguito.
All'avvio, Tasmota pesca questo stato e lo ripropone.
Viene anche fatto un controllo che lo stato del relè sia in accordo con quanto scritto in memoria. Se è difforme da quanto c'è in memoria, viene aggiornata la memoria mentre il relè resta immutato.
Ma qui casca l'asino.

A volte, andare a leggere lo stato di un pin di output genera risultati inattesi ed errati.

Per questo è nato il SetOption63
FONT.

Usando questo comando seguito da 1 si disabilita la scansione dei pin di output.
Il valore di default è 0, ovvero che viene fatta la scansione dei pin e mappato in memoria quanto rilevato.
Ah, dimenticavo, SetOption63  viene eseguito PRIMA di PowerOnState.


Conclusione


Adesso che hai scoperto quante cose permette il comando PowerOnState facciamo due ipotesi di utilizzo.

PoweronState 0
Io lo userei collegato ad una sega a disco o ad un trapano a colonna. In caso di blackout mentre si sta lavorando, si ha la certezza che al ripristino della tensione il macchinario resti spento.

PowerOnState 1 
Sempre in caso di blackout, accende un lampeggiatore che ti avvisa di andare a controllare il congelatore.

PowerOnState 5
L'evento viene scatenato dall'avvio della chiusura del box, dopo 7 secondi il box è a metà chiusura e si accende la luce.
Usato al posto del temporizzatore luce scale, se configurato con un relè "i" ovvero inverso.

Dato che sei arrivato a leggere fino a qui, ti interessano molto i comandi di Tasmota?


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