mercoledì 12 gennaio 2022

Tasmota - Standarizzare i parametri


Standarizzare le installazioni di Tasmota nei dispositivi della propria rete è un concetto basilare. Se si definiscono a priori dei punti fermi ai quali attenersi, i benefici non tarderanno ad arrivare. Vediamo insieme cosa uniformare, come farlo e quali benefici se ne traggono!

Avevo fatto un cenno alle mie "linee guida" nell'articolo intitolato "Console Tasmota - Usare i dati di Status", vediamo di approfondire il concetto!

Con Tasmota possiamo avere mille configurazioni diverse, dove solo alcuni parametri saranno sempre uguali. Pensiamo, per esempio, ai parametri del server MQTT o della connessione wifi.

Oggi vediamo quali sono le strategie migliori per tenere uniformati questi parametri e per non cadere in confusione quando si fa manutenzione!
Questo perchè man mano che il "giocattolo" domotica cresce, possono crescere di pari passo i problemi. Se si parte subito con una strategia che incorpora una logica e ci si attiene a quella, la ricerca dei problemi sarà semplificata.

So che pensare ai problemi futuri quasi ancora prima di cominciare è un filo da paranoici.
Ma credo che pensare al backup una volta che il computer non si avvia sia una strategia fallimentare.

Per il mio modo di vede, pianificare prima risparmia un sacco di mal di testa dopo. Andiamo a vedere cosa possiamo fare con poco sforzo ed in maniera intelligente per standarizzare la nostra domotica e vivere belli sereni!


Configurazioni generali e specifiche

Una configurazione generale è intesa come configurazione che viene condivisa da tutti i dispositivi. Per esempio la LAN, il wifi, il server MQTT ed il server time saranno uguali per tutti.
Le configurazioni specifiche sono quelle per i singoli dispositivi, tipo cosa fare alla pressione del pulsante (per approfondire, vedi "Comandi supplementari -SwitchMode e SwitchTopic") o che messaggio erogare alla pressione di un pulsante supplementare (vedi, per esempio, la mia cassetta delle lettere smart ).

Per le configurazioni generali io consiglio sempre di fare un treno di comandi Backlog, la cosa la avevo affrontata in questi post:

Molto importante, è il setup dei parametri MQTT e dell'hostname, anche loro sono stati trattati in due post specifici:

Altro parametro spesso poco "considerato" è il TelePeriod,comando che ho trattato praticamente tra i primi.

Ora che si ha una base delle cose da fare, approfondiamo i singoli spezzoni delle configurazioni ed analizziamoli nel dettaglio!

Parametri wifi

Backlog SSID1 domotica_wifi; Password1 passdomotica; SSID2 retedicasa; Password2 passretedicasa

Collegandomi via seriale (se non sai come fare, c'è un post intitolato "Console Tasmota via Seriale"),dopo aver fatto il flash del firmare, questi sono i primi parametri che passo.
In questo modo si ha sempre la configurazione del wifi univoca e centralizzata. Se vuoi vedere i dettagli di tutto, puoi vedere il post relativo : Settare i parametri di rete con Backlog.

Per mio gusto, ho due reti wifi. Una dedicata solo agli apparati per la domotica e l'altra dedicata a tutto il resto. Metto comunque nella configurazione di base entrambi gli SSID e le password, così si può usare la rete secondaria come backup.


Parametri LAN

Backlog IPAddress1 192.168.1.29; IPAddress2 192.168.1.254; IPAddress3 255.255.255.0; IPAddress4 192.168.1.254;  FriendlyName  basic_test; DeviceName basic_test; restart 1

Altri parametri che io personalmente passo subito dopo il flash sono quelli relativi alla LAN. Se vuoi vedere le spiegazioni dettagliate di ogni voce, il post relativo è questo : Settare i parametri di rete con Backlog

Personalmente preferisco avere i miei dispositivi con Tasmota con un ip fisso e procedo in maniera incrementale. Aggiungo un dispositivo e gli assegno il primo indirizzo ip lbero.
Parlando con un amico, lui è allineato con me sull'idea dell'IP statico, ma anzichè andare in maniera incrementale come me, preferisce la divisione  in cluster. Lui, per esempio, usa questo schema:
 
Sonoff Basic sono tra l'indirizzo 20 e l'indirizzo 59.
Sonoff TH sono tra l'indirizzo 60 e l'indirizzo 89.
Sonoff POW sono tra l'indirizzo 110 e l'indirizzo 129.

Quando gli ho chiesto cosa fa se finisce gli indirizzi si è messo a ridere e mi ha detto che ha già finito lo spazio fisico in casa :-)

Tornando a noi, il DHCP è abilitato (sulla rete wifi "domotica_wifi") tra l'indirizzo 5 e l'indirizzo 10. In questo modo non devo fare lo sweep della LAN per vedere quale indirizzo è stato assegnato o aprire WinBox, mi basta fare una scansione di 5 indirizzi. Facile, no?

Per il FriendlyName ed il DeviceMName ne parliamo poco più sotto, dato che si inserisce in un discorso un pochino più articolato.


Parametri di time

Backlog NtpServer1 85.199.214.99; NtpServer2 192.204.114.232; TimeSTD 0,0,10,1,3,60; TimeDST 0,0,3,1,2,120; timezone 99; restart 1

Sempre subito dopo il flash, passo agli apparati anche questi comandi. In questo modo vado ad uniformare i server NTP di riferimento, il giorno di inizio e di fine dell'ora legale e forzo un riavvio. Qui c'è ben poco da dire, uniformare i server di riferimento è sempre utile per capire dove possono essere eventuali problemi.


Parametri MQTT

Backlog MqttHost 192.168.1.176; mqttport 1883; MqttUser mosquittouser; MqttPassword mosquittopassword; MqttClient basic_test; Topic basic_test; fulltopic tasmota/%topic%/%prefix%/; Setoption53 1; teleperiod 600

Altra cosa che di base passo sempre sono i parametri per il server MQTT di riferimento. Intanto il server è sempre lo stesso, login e password pure.


Parametri di nome e di topic

Per tenere uniformità sia a livello di dispositivi che a livello di mappa di rete e di lettura dei log MQTT ho stabilito alcune semplici regole.


La struttura dei nomi
Queste sono le mie regole, non è detto che siano perfette, ma io mi ci trovo bene.
Vediamo per punti cosa ho deciso e le motivazioni!

  • Ogni dispositivo deve avere il nome che inizia con due/tre lettere che identifichino il tipo di device.
Riprendendo l'elenco di prima :

Sonoff Basic = il nome inizia con sw_
Sonoff TH = il nome inizia con th_
Sonnoff POW = il nome inizia con pow_
Wemos = il nome inizierà con wd_

  • A seguire, verrà esplicato il tipo di dispositivo che comandano, per esempio:
pow_congelatore
sw_opctopi
th_calorifero_sala

  • Per ultimo, se necessario, sarà riportato il luogo del dispositivo.
In questo modo a colpo d'occhio mi aiuto nella ricerca sapendo già la famiglia del dispositivo e cosa comanda, per arrivare al dove è locato.

Oltre a questo, ho stabilito che :

  • il FriendlyName deve essere uguale al MqttClient, all'hostname, al DeviceName ed al Topic.

Questo perchè si tratta dello stesso dispositivo, trovo assurdo che abbia due o più nomi diversi, quindi ho deciso di tenere tutto uguale. Non sono solito usare il comando Hostname
per fare questo, preferisco vedere le ultime cifre del MAC Address in modo da fare un controllo incrociato con un eventuale scanner di rete.
Si, lo so, è da paranoico, ma preferisco sempre avere un dato in più che un dato in meno.
Uso inoltre il comando Setoption53 per vedere sull'interfaccia web l'hostname e l'indirizzo ip in modo da averli sempre presenti.

Altra regola personale :
  • il TelePeriod deve essere quanto più possibile uniformato
Del TelePeriod ne ho parlato davvero molto tempo fa, assieme a diversi altri comandi e ritengo che sia un parametro da tenere standard.
Io di base setto il tempo di comunicazione parametri a 600 secondi, ovvero 10 minuti. Non ho particolari esigenze di essere "sul pezzo" a loggare la temperatura o il consumo energetico per intervalli più ravvicinati, quindi ho tenuto come standard 600 secondi.

Ultima convenzione che ho stabilito per la mia rete:
  • il fulltopic deve riportare la tipologia di firmware del dispositivo.
Anche in questo caso, voglio semplificarmi la vita. Ora come ora ho in LAN solo dei dispositivi con Tasmota, ma non ho idea di cosa inserirò in futuro. Magari proverò EspEasy o chissà cosa, quindi ho deciso di anteporre al pacchetto MQTT FullTopic la scritta Tasmota.
Infatti il mio FullTopic è il seguente : tasmota/%topic%/%prefix%/

Costa poco mettere una manciata di lettere davanti, ma questo potrebbe fare la differenza nella ricerca di errori nei log.
Ripeto, forse sono cose da paranoico, ma per me la domotica è un passatempo. Se riesco a massimizzare il tempo nel quale "gioco" e minimizzare il tempo nel quale "cerco i problemi" per me è un vantaggio.

Tutti questi standard che ho stabilito per la mia LAN servono proprio a questo, meno tempo a cercare problemi e più tempo a divertirmi :-)

I backup


Senza nulla togliere ai diversi strumenti di backup per Tasmota, nessuno usa Google Keep?

Basta salvare qualche nota con dentro i varii comandi di backlog e siete a posto! Anche qui, strumento veloce, semplice, a costo zero e con accessiblità pressochè totale da qualsiasi dispositivo :-)

Tirando le somme


Alla fine, le regole che ho stabilito per la mia installazone domotica sono qui elencate :

  • Parametri wifi standarizzati
  • Parametri LAN standarizzati
  • Ip fissi
  • DHCP ristretto
  • Parametri di time standarizzati 
  • Parametri MQTT standarizzati
  • Uniformità dei nomi del dispositivo tra friendlyname, hostname, MqttClient e Topic
  • Visualizzare l'indirizzo ip, le ultime cifre del MAC Address ed il nome del dispositivo via http
  • Avere un solo TelePeriod
  • Avere un metodo che esplichi il tipo di firmware installato anche nei log
Tutto sommato non ci vuole molto, basta solo sedersi un momento a tavolino, pensare a cosa si vuole ottenere ed a quale metodo offre il miglior risultato con il minor sbattimento :-)

Se poi vuoi leggere robe molto più veloci per sbattersi di meno, ho scritto la serie MSP che è l'acronimo di Minimo Sbattimento Possibile!

Ora che anche tu sai come poter standarizzare la tua installazione domotica, che ne pensi? Se hai bisogno di una mano o se hai un dubbio, scrivilo nei commenti e sarò ben felice di spiegarti !


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