community italiana di domotica personale
 
Uso del comando “GROUPTOPIC” col firmware Tasmota

Uso del comando “GROUPTOPIC” col firmware Tasmota

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

Tutti gli ambienti

NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 1.3

Tasmota logoCome noto, l’adozione del firmware 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 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 “tasmotas“) la quale consente la definizione di gruppi di dispositivi MQTT.

NOTA IMPORTANTE

Fino alla versione 6 di Tasmota il “GROUPTOPIC” era impostato a “sonoffs” anziché a “tasmotas” com’è ora. Aggiornamenti vari, successivi, dei propri dispositivi potrebbero aver sovrascritto la configurazione di alcuni e di altri no (per varie ragioni): per riallineare tutti i dispostivi è sufficiente pubblicare sul broker MQTT il seguente topic di comando:

cmnd/sonoffs/GROUPTOPIC tasmotas

il che porterà tutti i dispositivi al “GROUPTOPIC” ora comunemente usato, ovvero “tasmotas“.

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 MQTT Comando di accensione 
Cucina cmnd/Cucina/POWER 1
Camera cmnd/Camera/POWER 1
Bagno cmnd/Bagno/POWER 1
Giardino cmnd/Giardino/POWER 1
Terrazzo cmnd/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: “tasmotas” (la “s” finale ricorda per l’appunto il plurale anglosassone).

Questo significa che inviando semplicemente un comando, il seguente:

cmnd/tasmotas/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, “tasmotas“).
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 MQTT Gruppo 
Cucina Interno
Camera Interno
Bagno Interno
Giardino Esterno
Terrazzo Esterno

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 “tasmotas” come valorizzazione di “GROUPTOPIC“) utilizzare un comando come:

cmnd/tasmotas/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.


Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa.