Uso del comando “GROUPTOPIC” col firmware Sonoff-Tasmota

3 minuti di lettura
SCOPI DELLA GUIDA
  • Imparare ad utilizzare il comando “GROUPTOPIC” del firmware Sonoff-Tasmota
  • Livello di difficoltà: basso
CONCETTI AFFRONTATI:
  • configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • qualunque componente domotico riprogrammato con firmware Sonoff-Tasmota (qui una MASTERGUIDE sulla procedura di riprogrammazione)
GUIDA maggiormente indicata per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.
Revisione guida: 1.1

Tasmota logoCome noto, l’adozione del firmware Sonoff-Tasmota sui dispositivi basati su SOC ESP8266 (come quelli, per esempio, della famiglia ITEAD Sonoff “Smart Home” abilita tutta una serie di funzionalità che, di fabbrica, non sarebbero previste.

Innanzitutto, questo approccio libera questi dispositivi domotici dalla “gabbia” indirettamente imposta dal produttore nell’uso esclusivo della propria app “eWeLink” per configurarli e controllarli; inoltre, apre a funzionalità non previste (si pensi, banalmente, all’implementazione del protocollo MQTT) nonché ad ampissime possibilità di configurazione, ben oltre quelle di fabbrica.

Il firmware Sonoff-Tasmota mette a disposizione, infatti, una lunga lista di comandi i quali possono essere utilizzati per personalizzare in modo molto puntuale il comportamento del proprio dispositivo, con specificità diverse da modello a modello (eg. non sarà possibile utilizzare i comandi relativi alla gestione di temperatura e umidità su modelli che non offrano queste funzionalità).

In questa occasione ci concentreremo sul comando “GROUPTOPIC“,

Ogni dispositivo dotato di firmware Tasmota (e relative fork) e che abbia configurato il protocollo MQTT possiede di un proprio “nome” il quale si proietta conseguentemente sui topic MQTT da esso accettati come comandi o da esso inviati come risposte (telemetrie).

Un topic di comando solitamente è definito da un prefisso “cmnd“, da un suffisso che rappresenta il nome del dispositivo, dal comando stesso e infine da un’eventuale payload (o carico utile, parametri utili all’esecuzione del comando). I topic di risposta (temeletrici), invece, solitamente presentano il prefisso “stat“.

Un esempio di topic di comando è il seguente:

Tasmota MQTT Topic

Va da sé che, a parità di tipologia di topic e di comando, variando il nome del dispositivo “target” il destinatario del comando stesso varierà di conseguenza.

Ciò che molti non sanno è che, nel firmware Tasmota, esiste una variabile “GROUPTOPIC” (con valore di default “sonoffs“) la quale consente la definizione di gruppi di dispositivi MQTT.

Poniamo l’esempio di cinque attuatori Sonoff Basic dotati di firmware Tasmota, configurati con MQTT, che presentino i seguenti nomi e relativi comandi di accensione:

Nome MQTTComando di accensione 
Cucinacmnd/Cucina/POWER 1
Cameracmnd/Camera/POWER 1
Bagnocmnd/Bagno/POWER 1
Giardinocmnd/Giardino/POWER 1
Terrazzocmnd/Terrazzo/POWER 1

L’unico modo di eseguire i cinque comandi è pubblicare tramite un client MQTT i cinque topic di comando presso il Broker MQTT.

Se non precedentemente personalizzati in termini di GROUPTOPIC, i cinque attuatori condividono però un secondo nome, comune a tutti: “sonoffs” (la “s” finale ricorda per l’appunto il plurale anglosassone).

Questo significa che inviando semplicemente un comando, il seguente:

cmnd/sonoffs/POWER 1

tutti e cinque gli attuatori si accenderanno all’unisono.
In pratica tutti i firmware Tasmota dispongono di questo secondo nome allo scopo di “raggruppare” logicamente i dispositivi con lo stesso “GROUPTOPIC“, il quale è appunto una variabile ma anche un comando che permette di:

  • consultarne la valorizzazione;
  • variarne la valorizzazione.

Eseguendo infatti un comando come:

cmnd/Cucina/GROUPTOPIC

si ottiene in risposta la valorizzazione impostata (di default, come detto, “sonoffs”).
Un comando come

cmnd/Cucina/GROUPTOPIC  NuovoGroupTopic

imposta invece il “GROUPTOPIC” a alla nuova stringa (in questo caso “NuovoGroupTopic“.

Questa funzionalità è particolarmente gradita al fine di definire più gruppi i quali possano poi magari essere integrati presso gli HUB personali come fossero singoli interruttori (i quali però abbiano effetto su più componenti):

Nome MQTTGruppo 
CucinaInterno
CameraInterno
BagnoInterno
GiardinoEsterno
TerrazzoEsterno

A questo punto inviando il comando:

cmnd/Interno/POWER 1

si accenderanno i dispositivi “Cucina”, “Camera”, “Bagno”; mentre con:

cmnd/Esterno/POWER 1

si accenderanno “Giardino” e “Terrazzo”.


Ovviamente l’uso di un nome MQTT di gruppo si applica a qualsiasi comando accettato dal dispositivo, il che rende particolarmente utile tale funzione. Si pensi per esempio di avere più di 10 dispositivi collegati alla Wi-Fi e volere cambiare a tuttiil “TelePeriod” per impostarlo a 300 secondi.

Sarà sufficiente (dando per scontato che tutti condividano “sonoffs” come valorizzazione di “GROUPTOPIC“) utilizzare un comando come:

cmnd/sonoffs/TelePeriod 300

per far sì che tutti, contemporaneamente, attuino tale comando.

N.b. Quest’ultimo concetto dovrebbe far riflettere: “GROUPTOPIC” è sì una funzione comoda e potente, ma proprio per questo bisogna portare particolare attenzione a quando lo si utilizza, dato l’effetto “massivo” di ciò che esegue.


ITEAD Sonoff BasicATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ai Sonoff (e più generalmente ai dispositivi ESP8266), per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Please comment below