“homebridge-mqtt-humidity-tasmota”: installare e configurare il plugin per Homebridge

Scopi della guida
Concetti affrontati:
  • Installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
Progetto maggiormente indicato 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.

Sonoff TH-16 TH-10 e sensori

Abstract

homebridge-mqtt-humidity-tasmota” è un plugin sviluppato dall’ottimo MacWyznawca al fine di censire rapidamente e in modo semplice l’umidità relativa di un certo ambiente tramite utilizzo di sensori ITEAD Sonoff TH-16 o TH-10 che siano stati preventivamente e opportunamente aggiornati a firmware Sonoff-Tasmota.

Quest’ultimo assunto relativo all’aggiornamento del firmware è d’obbligo perché, come noto, il firmware originale non consente di interrogare il sensore in modo diretto, ma solo tramite l’applicazione eWeLink, concepita appositamente da produttore per interfacciarsi a tutta la famiglia di prodotti ITEAD Sonoff Smart Home. L’adozione del firmware Sonoff-Tasmota, invece, abilita l’utente nelllo sfruttare i topic MQTT al fine di censire direttamente le letture rilevate.

Questo plugin è concepito espressamente per estrarre dal topic MQTT prodotto da un Sonoff TH-16/TH-10 con firmware Sonoff-Tasmota. In realtà potrebbero essere utilizzati anche altri plugin – sempre in grado di leggere queste telemetrie – ma il vantaggio dell’adozione di questo plugin specifico è la sua predisposizione nell’estrarre il dato numerico dal topic telemetrico senza bisogno che l’utente configuri manualmente una stringa di parsing ad hoc.

Configurazione lato Sonoff

Prima di addentrarci nella configurazione del plugin è necessario predisporre l’attuatore/sensore Sonoff in modo che misuri ciclicamente l’umidità e la invii al broker MQTT, quindi a chiunque sia iscritto (in ascolta) al quel topic (nel nostro caso, il nostro plugin e quindi la nostra domotica).

Nb. Se non si è pratici di MQTT, si consiglia di leggere questa nostra pagina, è molto più semplice da capire di quanto non si creda.

Colleghiamoci dunque al Sonof in questione utilizzando la sua interfaccia web. Quello che utilizzeremo in questa guida sarà un Sonoff TH-16 dotato di sensore AM2301.
Una volta connessi, cliccare su “Configuration” e poi “Configure Module“.

La schermata che si presenterà ci permetterà di selezionare il “Module Type” (selezionare “Sonoff TH”) e indicare, sul connettore GPIO14, quale tipo di sensore sia in uso, in questo caso l’AM2301.

Sonoff-Tasmota Module Configuration - Sensor-AM2301

Una volta impostata questa configurazione, cliccare su Save e, dopo il riavvio del dispositivo, tornare a menu principale.
Come si noterà, in testa alla home saranno apparse le letture di temperatura e umidità:

Sonoff-Tasmota TH-16 TH-10 Temperatura e Umidità - RES1

Come si nota, la risoluzione del dato di temperatura e umidità è al decimo di grado e di percentuale.
Questo è un aspetto importante che cureremo nel proseguo della guida.

Installazione del plugin

Provvediamo ora ad installare il plugin. Come per 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-humidity-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

Configurazione presso Homebridge

La configurazione del plugin prevede l’aggiunta al file di configurazione di Homebridge  di uno o più accessori così configurati:

"accessories": [
  {
    "accessory": "mqtt-humidity-tasmota",
    "name": "Umidità",
    "url": "mqtt://127.0.0.1",
    "username": "xxx",
    "password": "xxx",
    "topic": "tele/Sonoff/SENSOR",
    "startCmd": "cmnd/Sonoff/TelePeriod",
    "startParameter": "120",
    "sensorPropertyName": "AM2301",
    "manufacturer": "ITEAD",
    "model": "Sonoff TH-16",
  }
]

Spiegazione dei campi.

Campo Descrizione
accessory Richiesto – Dev’essere necessariamente “mqtt-humidity-tasmota” (tutto minuscolo).
name Richiesto – Nome dell’accessorio
url Richiesto – Indirizzo del broker MQTT. In questo caso è indicato l’indirizzo localhost in quanto tale ruolo risiede sullo stesso computer che ospita Homebridge
username Opzionale – Il nome utente per accedere al broker MQTT, se configurato.
password Opzionale – La password utente per accedere al broker MQTT, se configurato.
topic Richiesto – Il topic telemetrico da quale attingere l’informazione relativa all’umidità
startCmd Opzionale – Comando da inviare all’avvio di Homebridge (quello indicato nell’esempio indica al Sonoff di inviare una lettura ogni tot secondi, definiti nel parametro “StartParameter“)
StartParameter
Opzionale – Parametro inviato col comando impostato nel campo “startCmd
sensorPropertyName Opzionale – Una stringa descrittiva del sensore
manufactorer
Opzionale – Una stringa descrittiva del produttore
model Opzionale -Una stringa descrittiva del modello Sonoff in uso

Utilizzo

Avviando Homebridge, l’accessorio che apparirà figurerà come segue:

Questo slideshow richiede JavaScript.

Arrotondamento del valore di umidità

AGGIORNAMENTO:
quanto segue nel paragrafo è superato a partire dalla versione 12 di iOS, uscita nel settembre 2018. Tale versione introduce (alleluia) la risoluzione al decimo di grado nelle percentuali di umidità relativa. Quanto segue rimane valido solo per chi continua ad utilizzare versioni di iOS inferiori alla 12.

Purtroppo, alla data di redazione della presente guida il plugin presenta un difetto stupido ma abbastanza significativo. Come si intuisce dalle immagini di cui sopra, la risoluzione del dato esposta da Apple HomeKit sull’app “Casa” è precisa al grado, non al decimo di grado (eg. 31 gradi anziché 31,4).

Si potrebbe facilmente intuire che il plugin, ricevendo un dato preciso al decimo di grado, provveda ad arrotondarlo (per difetto entro 0,4 e per eccesso da 0,5 in su). Purtroppo il difetto (perché di difetto bisogna parlare) sta nel fatto che viene arrotondato dal plugin, che si limita a troncare la parte decimale. Ciò significa che, ricevendo per esempio un’umidità del 51,7%, esporrà 51 gradi, ma si tratta di un’inesattezza, perché sarebbe molto più corretto esporre 32 gradi.

Per risolvere questo problema ci viene in aiuto il firmware Sonoff-Tasmota, il quale può essere istruito ad arrotondare il valore di umidità, arrotondarlo in modo corretto, intendiamo. Così facendo, si aggira il difetto che, si spera, venga corretto quanto prima possibile da parte dello sviluppatore (lo abbiamo segnalato su GitHub).

Per impostare il Sonoff con una risoluzione al grado, arrodondata, è necessario recarsi da intefaccia web presso la “Console”.

Nella buca di inserimento comandi inserire:

cmnd/Sonoff/HumRes 1

e premere invio (ovviamente “Sonoff” è il friendy name del dispositivo dell’esempio. In caso l’abbiate modificato, modificate di conseguenza il comando).

A questo punto tornando in home page si noterà come la risoluzione del dato sia stata cambiata:

Sonoff-Tasmota-TH-16 TH-10 Temperatura e Umidità - Um RES0

Da qui in poi, anche HomeKit esporrà un dato corretto.

Aggiornamento

Per aggiornare il package è sufficiente eseguire il seguente comando:

sudo npm update -g -dev homebridge-mqtt-humidityt-tasmota

avendo cura, precedentemente, di aver fermato eventuali esecuzioni di Homebridge in corso.


ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ai Sonoff, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.
Dubbi? Perplessità? Fai un salto sul FORUM o sulla CHAT @DISCORD!
Questa pagina è coperta dalla licenza Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseil che significa che puoi liberamente condividerlo, senza modificarlo, citando il link della fonte.