Integrare un sensore di temperatura Xiaomi Mijia LCD Bluetooth a Home Assistant

3 minuti di lettura
SCOPI DELLA GUIDA
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
DISPOSITIVI FISICI UTILIZZATI:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

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.
Revisione guida: 1.0

Abstract

Termometro/Igrometro LCD Bluetooth Xiaomi Mijia - Frontale

Il sensore di temperatura/umidità Xiaomi Mijia LCD Bluetooth è un piccolo componente domotico particolarmente apprezzato per design, prezzo e funzionalità.

Si tratta di un piccolo elemento circolare installabile a muro dotato di display LCD, il quale permette la facile lettura di parametri ambientali quali temperatura e umidità. La sua più interessante caratteristica sta nel fatto di essere dotato di antenna Bluetooth LE, la quale gli consente di collegarsi ai più comuni smartphone/tablet e quindi all’app di gestione della sua famiglia prodotti, la Xiaomi Smart Home.

Tale capacità di collegamento è sfruttabile anche per integrare tale componente ai più comuni HUB personali, tra i quali Home Assistant. A tale scopo, Home Assistant mette a disposizione una piattaforma ad hoc chiamata “Xiaomi BLE Temperature and Humidity sensor“.

In questa guida vediamo come implementare tale integrazione al fine di dotarci di sensori di temperatura e umidità relativa a partire dalle letture di questo piccolo sensore.

N.b. Purtroppo questa integrazione utilizza la libreria btlewrap, la quale non è disponibile su Windows/Mac, pertanto le istanze Home Assistant basate su questi sistemi non possono beneficare di tale integrazione. Esiste però – forse – un’alternativa.

Indirizzo MAC

Per integrare il sensore è necessario scoprirne l’indirizzo MAC bluetooth.
A tal scopo si utilizzerà un tool software per effettuare uno scan dell’ambiente alla ricerca del MAC address della testa che ci interessa.

RASPBIAN/LINUX

In caso si usi Raspbian su Raspberry e/o Linux è possibile utilizzare il tool hcitool.

In caso non lo si possegga, installarlo tramite i seguenti comandi:

sudo apt-get install bluetooth bluez bluez-tools rfkill rfcomm
sudo apt install expect
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service

Ciò fatto, il comando per effettuare lo scan è il seguente:

sudo hcitool lescan

il quale dovrebbe ritornare un output di questo tipo:

LE Scan ...
38:01:95:84:A8:B1 (unknown)
00:1A:22:0A:91:CF (unknown)
00:1A:22:0A:91:CF MJ_HT_V1

Solitamente i MAC address di questi sensori cominciano con “00:1A:22…“, e comunque sono riconosciute dal tool con l’etichetta “MJ_HT_V1

Un’alternativa è l’utilizzo del comando

bluetoothctl

Il quale dovrebbe ritornare un output di questo tipo:

[bluetooth]# scan on
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
[NEW] Device 4C:65:A8:D2:31:7F MJ_HT_V1

Integrazione

A questo punto è possibile configurare l’integrazione tra il sensore e Home Assistant.
La configurazione base della piattaforma presso il file configuration.yaml è piuttosto semplice.

Sarà infatti sufficiente inserire un’entry di questo tipo:

# Esempio di configurazione
sensor:
  - platform: mitemp_bt
    mac: 'xx:xx:xx:xx:xx:xx'
    name: Stanza da letto
    force_update: false
    median: 3
    monitored_conditions:
      - temperature
      - humidity
      - battery

Provvedere ora al riavvio di Home Assistant.

Nel caso dell’esempio sopra, la configurazione genererà tre entità di tipo “Sensor” così chiamate:

  • sensor.mitemp_bt_battery (friendly name “MiTemp BT Battery“)
  • sensor.mitemp_bt_humidity (friendly name “MiTemp BT Humidity“)
  • sensor.mitemp_bt_temperture (friendly name “MiTemp BT Temperature“)

Il primo è la rappresentazione del livello della batteria del sensore, il secondo il livello di umidità relativa e il terzo quello della temperatura.

Ovviamente in caso di più sensor sarà sufficiente indicare più MAC address:

# Esempio di configurazione
sensor:
  - platform: mitemp_bt
    mac: 'xx:xx:xx:xx:xx:xx'
    name: Stanza da letto
    force_update: false
    median: 3
    monitored_conditions:
      - temperature
      - humidity
      - battery
  - platform: mitemp_bt
    mac: 'yy:yy:yy:yy:yy:yy'
    name: Stanza da pranzo
    force_update: false
    median: 3
    monitored_conditions:
      - temperature
      - humidity
      - battery

N.b. il corretto funzionamento della piattaforma è subordinato alla copertura radio dell’attuatore da parte dell’antenna Bluetooth del computer sul quale è in esecuzione Home Assistant.

Rappresentazione e servizi

L’entità di tipo “Sensor” verrà rappresentata come un qualunque altro sensore (di temperatura, o di umidità relativa) integrato a Home Assistant:

Home Assistant - sensore di temperatura

 

il quale (o i quali) potrà essere utilizzato – oltre che come elemento da consultare – come trigger e/o condition nelle nostre automazioni o in altri scenari tipici di Home Assistant


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Please comment below