community italiana di domotica personale
 
Rendere un Sonoff compatibile HomeKit via Homebridge (con Tasmota e MQTT)

Rendere un Sonoff compatibile HomeKit via Homebridge (con Tasmota e MQTT)

Scopi della guida:
  • Aggiungere un interruttore Sonoff alla configurazione di Homebridge (e quindi ad Apple HomeKit)
  • Livello di difficoltà: basso
  • Categoria d’integrazione: Local Push
Concetti affrontati:
  • Installazione e configurazione software
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Apple-200x200

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;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • 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: 2.1

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 Tasmota.

N.b. 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 Tasmota di cui si conosca l’IP e infine che, sempre sulla medesima rete, esista un’istanza configurata e funzionante di Homebridge.

Si parte

  1. Configurare il protocollo MQTT su Sonoff
  2. Installazione del plugin
  3. Modificare la configurazione di Homebridge
  4. Comandare l’interruttore
  5. Automazione
  6. 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 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 quindi i seguenti campi:

  • alla voce “Host“, inserire l’IP del broker MQTT;
  • alla voce “Port“, inserire la porta del broker MQTT (solitamente la 1883);
  • 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.

Installazione del plugin

Il “homebridge-mqtt-switch-tasmota” è un plugin nato per integrare i dispositivi della linea ITEAD Sonoff Smart Home dotati di switch (interruttore intelligente) opportunamente aggiornati e configurati con il firmware opensource Tasmota.

Tali switch possono essere configurati in modo da “impersonare”, presso Apple HomeKit, tre tipologie di accessori diversi (con la medesima funzione):

  • interruttore semplice;
  • presa elettrica;
  • luce.

L’installazione, come tutti i plugin – è semplicissima.
Eseguire il seguente comando – su sistemi unix-based (linux, Raspberry ecc.) da terminale, da sistemi windows su prompt dei comandi:

npm install -g homebridge-mqtt-switch-tasmota

e attendere il termine della procedura.
Nb. In caso Homebridge sia già in esecuzione come servizio (come descritto nelle nostre guide di installazione), provvedere a interromperlo prima dell’installazione tramite il comando:

sudo systemctl stop homebridge

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 (solitamente si utilizza il topic LWT);
  • 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 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”.


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. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.