SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA MAGGIORMENTE INDICATA PER: |
|
NOTE E DISCLAIMER
|
Abstract
Il plugin “homebridge-mi-hygrothermograph” è un plugin concepito per sfruttare le capacità Bluetooth LE del computer sul quale è in esecuzione Homebridge al fine di comunicare con il sensore di temperatura/umidità relativa della Xiaomi LCD Bluetooth, sensore particolarmente apprezzato per prezzo, design, funzionalità, precisione e grado di integrabilità domotica con i maggiori HUB personali.
Abbiamo testato con successo il funzionamento di questo plugin (di cui illustriamo le modalità di integrazione nella presente guida) su hardware Raspberry Pi; altresì non esiste particolare ostacolo nell’implementazione del plugin anche su computer tradizionali con Windows, macOS, Linux: l’importante è che sia presente un’antenna Bluetooth LE compatibile con la libreria open-source “Noble“.
Installazione
L’installazione, come tutti i plugin per Homebridge – è semplicissima.
Eseguire il seguente comando – su sistemi unix-based (linux, Raspberry ecc.) da terminale, da sistemi Windows su prompt dei comandi:
sudo npm install -g --unsafe-perm homebridge-mi-hygrothermograph
e attendere il termine della procedura. In caso di sistemi Windows, rimuovere il prefisso “sudo”.
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
Dopo l’installazione del plugin è necessario installare, in caso non siano già presenti, le librerie accessorie necessarie al suo funzionamento.
Eseguire pertanto il seguente comando:
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
In caso di sistemi Windows, rimuovere il prefisso “sudo”.
Configurazione
La configurazione del plugin prevede l’aggiunta al file di configurazione di Homebridge di uno o più accessori così configurati:
"accessories": [
{
"accessory": "Hygrotermograph",
"name": "Temperatura e umidità"
}
]
Spiegazione dei campi.
Campo | DEFAULT | Descrizione |
---|---|---|
accessory | Richiesto – Dev’essere necessariamente “Hygrotermograph”. | |
name | Richiesto – Nome dell’accessorio. | |
address |
Opzionale – Indica l’indirizzo MAC del sensore. Da utilizzare quando sono presenti più sensori. | |
timeout | 15 | Opzionale – Numero di minuti oltre i quali un sensore che non risponde venga considerato dalla domotica come “non disponibile”. Impostare 0 per disabilitare la funzionalità (oppure omettere la voce). |
humidityName |
“Humidity” | Opzionale – Nome del sensore dell’umidità presso l’app “Casa”. |
temperatureName | “Temperature” | Opzionale – Nome del sensore di temperatura presso l’app “Casa”. |
fakeGatoEnabled | false | Opzionale – Se riportare o meno informazioni storiche ad uso dell’app Elgato Eve. |
mqtt | Opzionale – Topic mqtt presso il quale pubblicare le letture storiche (interessante per un eventuale uso, per esempio, con Node-RED). Spiegato più avanti nella guida. | |
forceDiscovering |
true | Opzionale – Forza il discovery del dispositivo dopo un’eventuale perdita di connessione Bluetooth. |
forceDiscoveringDelay |
2500 | Opzionale – Tempo di attesa in millisecondi per l’eventuale discovery automatico dopo un’eventuale perdita di connessione Bluetooth. |
La configurazione dell’esempio permette a Homebridge di trovare e collegarsi automaticamente al sensore, senza necessità di indicare puntualmente l’indirizzo MAC del dispositivo.
In caso siano presenti più sensori è invece necessario utilizzare una configurazione analoga a quella che segue:
"accessories": [
{
"accessory": "Hygrotermograph",
"name": "Stanza 1",
"address": "4c:64:a8:d0:ae:65"
},
{
"accessory": "Hygrotermograph",
"name": "Stanza 2",
"address": "2c:34:b3:d4:a1:61"
}
]
la quale, appunto, elenca puntualmente gli indirizzi MAC dei vari dispositivi.
COME SCOPRIRE GLI INDIRIZZI MAC
Ovviamente per indicare gli indirizzi MAC in configurazione è necessario conoscerli.
A tal scopo si utilizzerà un tool software per effettuare uno scan dell’ambiente alla ricerca del MAC address del sensore che ci interessa.
L’uso di tale tool è descritto in questa breve guida:
In alternativa si possono utilizzare tool come:
- gli utenti Apple macOS possono utilizzare tool come Bluetooth Explorer;
- gli utenti Apple iOS possono utilizzare l’app (per iPhone/iPad) nRF Connect;
- gli utenti Google Android possono utilizzare l’app Bluetooth LE Scanner;
N.b. Gli indirizzi MAC rilevati in questi due ultimi casi (macOS e iOS) viene riportati con un formato del tipo “5C61F8CE-9F0B-4371-B996-5C9AE0E0D14B“. |
MQTT
Come suggerito precedentemente, questo plugin presenta anche l’interessante funzionalità di esporre le letture ricevute dal sensore verso topic MQTT da esso pubblicati presso un broker qualunque indicato in configurazione.
Per attivare questa funzionalità è sufficiente aggiungere alla configurazione dell’accessorio/i il seguente blocco:
{ "mqtt": { "url": "127.0.0.1:1883", "temperatureTopic": "sensors/temperatura", "humidityTopic": "sensors/umidita", "batteryTopic": "sensors/batteria", "username": "", "password": "" } }
Dove nel campo “url” viene indicato l’ip e porta del nostro broker, nei campi “temperatureTopic“, “humidityTopic e “batteryTopic” rispettivamente i topic da pubblicare contenenti le informazioni relative a temperatura, umidità e stato della batteria del sensore.
Infine, i campi opzionali “username” e “password” permettono di indicare eventuali credenziali d’accesso al broker.
Utilizzo
Gli accessori appaiono su HomeKit come due diversi sensori di temperatura e umidità. Essi possono essere utilizzato con le automazioni tipiche dell’ambiente domotico Apple, specialmente tramite l’app Elgato Eve.
Aggiornamento
Per aggiornare il package è sufficiente eseguire il seguente comando:
sudo npm update -g -dev homebridge-mi-hygrothermograph
avendo cura, precedentemente, di aver fermato eventuali esecuzioni di Homebridge in corso.
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. |