2Sensori per piante MiFlora in Home Assistant

Ho citato in giudizio l'integrazione di MiFlora Home Assistant per ottenere dati su varie piante d'appartamento da un po' di tempo. Tuttavia lungo la strada ho dovuto superare vari ostacoli tra cui una gamma limitata di Bluetooth, problemi di durata della batteria, e ottenere i valori della batteria da segnalare. Alla fine mi sembra di aver risolto tutti questi problemi e ora ho un sistema che funziona in modo affidabile con molte piante in casa. Ho riassunto ciò che ho usato di seguito.

Hardware

La prima cosa da dire è che ho un bluetooth USB dongle collegato al mio sistema di assistente domestico. Questo monitora direttamente le piante nel raggio d'azione (i.e. quelli nella stessa stanza del box HA). Per monitorare più dispositivi a distanza ho utilizzato una scheda ESP32 con modulo bluetooth integrato che ho all'interno di una piccola custodia economica e ho alimentato con un vecchio micro-USB caricatore del telefono

  • USB Dongle: quello che ho ricevuto non è più disponibile - a causa dell'età - ma ci sono un sacco di amazon e altrove - assicurati solo che abbia il supporto in linux
  • Scheda ESP32: ho un JZK ESP32-S che è attualmente £ 6,49 su Amazon
  • Custodia per ESP32: Ho trovato la custodia per un NodeMCU Wroom-32D (antenna corta) montato sulla mia tavola - questo era £ 4,20 da ebay

Integrazioni per Home Assistant

Sebbene l'integrazione di base di MiFlora sia integrata nell'assistente domestico, ho scoperto che utilizza molta batteria se utilizzato in modo nativo. Invece io uso il Monitor Bluetooth a basso consumo energetico 3rd integrazione del partito che puoi installare facilmente utilizzando RITARDO
Ho poi installato anche il Integrazione ESPHome per l'assistente domestico per gestire il mio ripetitore ESP32 BLE
Finalmente, per visualizzare le piante in modo carino ho aggiunto un particolare fork della carta della pianta del lovelace addon tramite LAG

Configurazione

Una volta che BLE Monitor è stato installato e configurato con il mio dongle bluetooth, ha raccolto i sensori MiFlora nel raggio d'azione e li ha elencati nel suo menu a discesa "dispositivi", oltre a elencare i dispositivi e le entità sulla sua scheda nella configurazione HA
La cosa grandiosa del monitor BLE è che ascolta la trasmissione dei sensori, piuttosto che interrogarli attivamente, che scaricherebbero le batterie. tuttavia, i sensori non trasmettono informazioni sulla batteria, quindi per ottenerlo dobbiamo eseguire attivamente il polling. Sondaggio solo per questo, e l'ascolto passivo degli altri dati sembra essere il miglior compromesso se si desidera avere tutti i dati disponibili ma anche massimizzare la durata della batteria del sensore. Ho separato il mio configuration.yaml in più file separati per mantenere le cose un po' più facili da gestire, quindi ho solo la seguente riga nel mio configuration.yaml —

Quindi in sensori.yaml ho elencato ogni pianta come segue

Avanti: per far apparire bene le piante, ho una configurazione delle piante. Come prima, una singola riga in configuration.yaml per cominciare: 

E poi in plants.yaml ho quanto segue

Notare la sottile differenza tra il nome dell'entità per la batteria rispetto agli altri sensori. L'entità della batteria proviene dalla piattaforma miflora in sensori.yaml mentre l'altra 4 i sensori provengono dall'integrazione BLE. C'è un'entità batteria elencata dall'integrazione BLE, ma questo viene semplicemente visualizzato come "sconosciuto" per questo impianto. Questa configurazione è necessaria affinché la scheda della pianta mostri la pianta in un modo ben presentato
Quindi vai semplicemente nel punto in cui desideri aggiungere la tua pianta e aggiungi la carta della pianta lovelace. Dovrai "configurare" la scheda manualmente, ma ci vogliono solo 3 righe...

Si noti che la specie è elencata per 2 motivi. Per prima cosa visualizzerà il nome sulla carta, ma più import-antly, visualizzerà anche un'immagine della pianta se hai scaricato le immagini della pianta e le hai aggiunte in configwwwimagesplants usando i nomi latini — le informazioni sul database sono disponibili sulla documentazione della scheda della pianta di lovelace

Estendere la gamma

Finalmente, dobbiamo estendere la gamma che possiamo raggiungere. Per questo abbiamo bisogno del dispositivo ESP32. La prima cosa da fare è collegarlo al computer tramite USB e esegui il flashing con un'immagine ESPHome di base
Ho usato il Lampeggiatore ESPHome e la cp210x driver universale per Windows di SiLabs e ho seguito la guida fornita dall'integrazione di ESPHome HomeAssistant
La configurazione che ho usato per il mio dispositivo ESP32 è di seguito

Quindi salva e aggiorna sul tuo dispositivo esp32 tramite wifi. Il dispositivo ESP32 raccoglierà i dati dal sensore miflora e li 'spingerà' via wifi all'integrazione BLE che creerà automaticamente un dispositivo ed entità. I dispositivi spinti in questo modo sembrano mostrare il loro livello di batteria (grazie al codice in fondo alla sezione myhomeiot_ble_client credo). Quindi devi solo dare al dispositivo un bel nome (e lascia che anche le entità vengano rinominate) e quindi crea una voce in plants.yaml con le entità corrette

Ha ottenuto alcuni pensieri del proprio? Concedetevi sotto commentando! Se si desidera iscriversi si prega di utilizzare il link iscriviti sul menu in alto a destra. È inoltre possibile condividere con i tuoi amici usando i link sottostanti sociali. Saluti.

lascia un commento

2 Commenti

gravatarTony

Ciao, grazie per aver pubblicato questa fantastica soluzione.
Il gateway Bluetooth esp32 può trasmettere dati a più di un dispositivo Bluetooth o è necessario fornire un ESP 32 per ogni dispositivo Bluetooth di cui vogliamo estendere la portata?

rispondere
gravatarJon Scaife

Ciao Tony
L'ESP trasmetterà i dati per qualsiasi dispositivo BT entro il raggio, credo, anche se il mio è attualmente utilizzato solo per 1 Dispositivo BT non posso confermare 100% — ma questa è certamente la mia comprensione

rispondere