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?
Benissimo, ti lascio un elenco di tutti i post che hanno tra i tag la parola "tasmota".
Nessun commento:
Posta un commento
Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?