Aggiungere un interruttore Sonoff a Homebridge usando Tasmota e MQTT

Scopi della guida
  • Aggiungere un interruttore Sonoff alla configurazione di Homebridge
  • Livello di difficoltà: basso
Concetti affrontati:
  • Installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Apple-200x200

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.

Abstract

La linea ITEAD Sonoff Smart Home è un insieme di prodotti domotici della ITEAD, tra i quali troviamo svariati sensori e attuatori/dispositivi. Molti di essi, a partire dal Sonoff Basic, offrono la funzionalità di smart switch, ovvero possono funzionare come “interruttori intelligenti”. Molti offrono funzionalità diverse: i Sonoff TH-10 e TH-16 fungono da sensori di temperatura e umidità, ma includono secondariamente anche la funzionalità sopra descritta di smart switch. La presente guida è volta a inserire qualunque dispositivo Sonoff che presenti tale funzionalità all’interno della configurazione Homebridge sotto forma di interruttori con funzione acceso/spento.
Per fare questo utilizzeremo il plugin “homebridge-mqtt-switch-tasmota“, il quale prevedere che il dispositivo Sonoff in questione sia abilitato al protocollo MQTT (cosa non supportata di fabbrica) e per far ciò è necessario aggiornarne il firmware ed utilizzare il Sonoff-Tasmota.

Nb.
Come indicato dalla lista prerequisiti, questa guida dà per scontato che esista sulla rete un broker MQTT installato (di cui si conosca IP, porta, eventuale username e password), che sulla medesima rete esista un Sonoff aggiornato a Sonoff-Tasmota di cui si conosca l’IP e infine che, sempre sulla medesima rete, esista un’istanza configurata e funzionante di Homebridge.

Procedimento

  1. Configurare il protocollo MQTT su Sonoff
  2. Modificare la configurazione di Homebridge
  3. Comandare l’interruttore
  4. Automazione
  5. Conclusioni

Configurare il protocollo MQTT su Sonoff

La prima cosa da fare è configurare l’interruttore intelligente Sonoff in modo che la sua componente MQTT si colleghi (e quindi cominci a ricevere comandi e rispondere con telemetrie) al broker MQTT.

Collegarsi tramite browser al Sonoff (in questo esempio utilizzeremo schermate relative a un Sonoff Basic aggiornato alla versione 5.14a di Sonoff-Tasmota chiamato “Tavolo“) indicando nell’indirizzo il suo IP (in questo esempio, 192.168.1.101.
Apparirà una schermata simile a questa:

ITEAD Sonoff Basic - Tasmota Home Page

Cliccare ora sulla voce “Configuration“:

ITEAD Sonoff Basic - configurazione Tasmota

Cliccare ora sulla voce “Configure MQTT“:

ITEAD Sonoff Basic - configurazione Tasmota MQTT

Impostare ora i seguenti campi:

  • alla voce “Host“, inserire l’IP del broker MQTT
  • alla voce “Port“, inserire la porta del broker MQTT (solitamente la 1833)
  • alla voce “Client“, inserire il nome che desiderate assegnare al Sonoff in ambito MQTT (in questo caso, “Tavolo”)
  • alla voce “Topic“, inserire il nome che desiderate assegnare al Sonoff in ambito MQTT (in questo caso, “Tavolo”)
  • alla voce “User“, inserire l’eventuale username per accedere al broker
  • alla voce “Password“, inserire l’eventuale username per accedere al broker

Lasciare invariati gli altri campi.
Cliccare infine su “Save“.

N.b. Si consiglia inoltre di leggere con attenzione anche la guida dedicata al tema della configurazione dei componenti MQTT nella propria domotica.

Modificare la configurazione di Homebridge

Recarsi ora presso il file config.json di Homebridge, avendo cura di interrompere l’eventuale esecuzione di Homebridge.

Nella sezione dedicata agli accessori (“accessories”), aggiungere il seguente accessorio:

{
  "accessory": "mqtt-switch-tasmota",
  "switchType": "light",
  "name": "NAME OF THIS ACCESSORY",

  "url": "mqtt://MQTT–BROKER-ADDRESS",
  "username": "MQTT USER NAME",
  "password": "MQTT PASSWORD",

 "topics": {
    "statusGet": "stat/Tavolo/RESULT",
    "statusSet": "cmnd/Tavolo/POWER",
    "stateGet": "tele/Tavolo/STATE"
  },
  "onValue": "ON",
  "offValue": "OFF",
	
  "activityTopic": "tele/Tavolo/LWT",
  "activityParameter": "Online",
    
  "startCmd": "cmnd/Tavolo/TelePeriod",
  "startParameter": "60"
}

Si inseriscano ora – correggendo la configurazione – i dati specifici al proprio accessorio:

  • alla voce “switchType“, inserire la tipologia di accessorio da mostrare su Apple HomeKit (“switch”, “light” o “outlet” – ovvero “interruttore”, “luce” o “spina” – in questo esempio utilizzeremo “light”, perché il Sonoff è collegato a una luce da tavolo)
  • alla voce “name“, inserire il nome che l’accessorio presenterà presso l’applicazione “Casa” di iOS
  • alla voce “url“, inserire l’indirizzo del broker MQTT (in caso sia in esecuzione sullo stesso dispositivo che ospita Homebridge, sarà sufficiente indicare http://127.0.0.1)
  • alla voce “username” e “password” inserire le (eventuali) credenziali di accesso al broker MQTT
  • alla voce “statusGet“, indicare il topic che il plugin utilizzerà per determinare lo stato (acceso/spento) ricevuto ciclicamente dal dispositivo
  • alla voce “statusSet“, indicare il topic che il plugin utilizzerà per comandare il cambio di stato del dispositivo (accensione/spegnimento)
  • alla voce “stateGet“, indicare il topic che il plugin utilizzerà per richiedere esplicitamente lo stato al dispositivo
  • le voci “onValue” e “offValue” rimangono come sono, ovvero “ON” e “OFF” (sono i parametri inviati al dispositivo tramite il topic “statusSet” per comandarne il cambio di stato)
  • la voce “activityTopic” va lasciata com’è, serve assieme al parametro “activityParameter” a far “comprendere” al plugin se il dispositivo sia funzionante oppure no
  • la voce “startCmd” e il parametro “startParameter” servono ad indicare un eventuale comando MQTT da inviare al dispositivo quando egli “si presenta” alla rete, ovvero quando è operativo. In questo esempio, il comando “cmnd/Tavolo/TelePeriod 60” imposta a 60 secondi l’intervallo tra una comunicazione di stato e la seguente da parte del dispositivo nei confronti della rete.

Salvata al configurazione (ricordarsi sempre di pre-validarla presso il sito jsonlint.org), rilanciare Homebridge.

Controllare l’interruttore

Se tutto sarà andato a buon fine, aprendo l’applicazione “Casa” di iOS si troverà un nuovo interruttore, come segue:

Homebridge Luce Apple HomeKit OFF

Premendo sul tasto, l’immagine dovrebbe cambiare come segue e il Sonoff dovrebbe attivarsi:

Homebridge Luce Apple HomeKit ON

Inoltre, tenendo premuto sul tasto si aprirà la schermata di gestione a pieno schermo:

Luce Apple HomeKit - Fullscreen

Premendo su “Dettagli”, si accederà ad un’ulteriore schermata dove personalizzare il tasto (nell’icona, nell’appartenenza ad una determinata stanza ecc.):

Luce Homekit - Modifica dettagli

Automazione

Per quanto riguarda l’automazione, gli abbiamo dedicato la guida apposita che merita.

Conclusioni

Come dimostra la presente guida, integrare un interruttore Sonoff alla configurazione Homebridge – sempre che il dispositivo in questione sia aggiornato a firmware Sonoff-Tasmota, è davvero un gioco da ragazzi.

Una volta integrato presso Homebridge, sarà possibile utilizzarlo con Siri, tramite attivazione manuale e, ovviamente, all’interno di qualunque automazione definita all’interno di “Casa”.

🔻 Clicca QUI per commentare l'articolo. 🔻