Home Assistant, MiFlora: Sensori Piante

2 minuto/i di lettura

In questo tutorial parleremo di Mi Flora, un sensore per le piante di Xiaomi, che possiamo integrare in Home Assistant per poterne leggere gli stati e le variazioni di luminosita’, qualita’ del terreno, acqua e temperatura.

Potete acquistarlo su AliExpress o su Amazon dipende da quanto volete spendere/attendere.

Quello che dobbiamo inizialmente fare e’ utilizzare l’app ufficiale per ios e android, impostare il sensore ed assegnargli la pianta scegliendola nel vasto database presente, questo ci servira’ per avere i valori di riferimento di ogni pianta.

Una volta fatta questa prima operazione possiamo passare a configurare il sensore con Home Assistant.

Una piccola premessa: il sensore e’ un dispositivo bluetooth LE, abbiamo quindi bisogno di un raspberry pi 3 o successivo o comunque di un dongle bluetooth LE, al momento il sensore non e’ compatibile con istanze di Home Assistant che girano su OsX o Windows.

Colleghiamoci al nostro server (nel mio caso un raspberry pi) via ssh, lo stack bluetooth e’ gia’ installato di default su quasi tutte le moderne distribuzioni, se cio’ non fosse installiamolo (bluez, bluetooth ecc… Dipende dalla vosta distribuzione), possiamo ora andare a cercare il nostro sensore con il comando

sudo hcitool lescan

Il terminale ci restituira’ un output simile

pi@raspberrypi:~ $ sudo hcitool lescan
LE Scan ...
4B:98:51:61:2F:72 (unknown)
4B:98:51:61:2F:72 (unknown)
E8:BB:41:06:E0:3B SMI-X3
45:41:83:4B:B5:93 (unknown)
45:41:83:4B:B5:93 (unknown)
78:0B:F2:0D:B9:4E (unknown)
78:0B:F2:0D:B9:4E (unknown)
C4:7C:8D:66:21:8E (unknown)
C4:7C:8D:66:21:8E Flower care
C4:7C:8D:66:22:57 (unknown)
F8:87:B0:39:B6:78 SMI-X3
C4:7C:8D:66:22:57 Flower care
F8:87:B0:39:B6:78 (unknown)

Il dispositivo che ci interessa e’ quello che si chiama Flower care (o in alcuni casi Flower Mate), dobbiamo copiare il mac address e tenerlo da parte.

Sulla configurazione di Home Assistant andiamo ad aprire il file sensors.yaml e ad aggiungere il sensore in questo modo:

- platform: miflora
  mac: 'C4:7C:8D:66:21:8E'
  name: Geranio
  force_update: false
  median: 3
  monitored_conditions:
    - moisture
    - light
    - temperature
    - conductivity
    - battery

In name metteremo il nome della nostra pianta, median e’ impostato a 3 poiche’ per avere una lettura coerente faremo una medi su 3 misurazioni per evitare di avere delle condizioni passeggere (tipo il sole che va via per 2 minuti) che vadano a mal interpretare il sensore magari triggerando notifiche non veritiere, force_update a false serve per non consumare troppo in fretta la batteria (io posseggo i sensori da 4 mesi ormai e sono ancora al 99%).

Monitored condition sono invece i parametri che andremo a monitorare.

Riavviamo Home Assistant ed in Home Assistant - developer options - states sinceriamoci che siano presenti i sensori con la dicitura sensor.nomedellapianta_condizione (nel mio caso sensor.geranio_battery, sensor.geranio_light e cosi’ via).

Andiamo adesso ad inserire all’interno di una view le nostre piante: in groups.yaml aggiungiamo la seguente view:

Plants:
  view: yes
  icon: mdi:flower
  entities:
    - group.geranio

e, sempre in groups.yaml definiamo il gruppo group.geranio cosi’:

geranio:
  name: Geranio
  entities:
    - sensor.geranio_battery
    - sensor.geranio_conductivity
    - sensor.geranio_light_intensity
    - sensor.geranio_moisture
    - sensor.geranio_temperature

Facciamo un refresh dei gruppi da su Impostazioni - General - Reload Groups, sulla home page troveremo il gruppo piante identificato dall’icona della pianta (icon: mdi:flower).

Facendo una media di 3 misurazioni e misurando una volta ogni 20 minuti dovremmo attendere almeno 40 minuti prima di vedere qualcosa.

View Piante

Una volta ottenuti i valori possiamo anche creare delle notifiche che ci possono informare delle necessita’ delal nostra pianta, riferendoci alla precedente guida sulle notifiche Telegram andremo ad impostare una notifica numeric_state utilizzando above e below come parametri per il trigger

Iscrivetevi al canale telegram per rimanere aggiornati sulle novita’ e commentate qui sotto per avere informazioni o delucidazioni.