Scopi del PROGETTO:
Concetti affrontati:
|
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
Revisione progetto: 1.1 |
Abstract
Pur possedendo il pollice verde o meno, tutti sanno quanto gli elementi per il buono stato di salute di una pianta siano sostanzialmente tre: umidità del terriccio, fertilità dello stesso, quantità di luce ricevuta nell’arco di un dato tot di tempo.
Home Assistant, HUB per la gestione della propria domotica personale, può essere un valido alleato nella cura delle nostre piante: integrando in sé multi-sensori come per esempio lo Xiaomi Mi Flora Smart, oppure lo Xiaomi RoPot, consente di tenere sotto controllo gli indicatori di cui sopra.
Ma come sapere se la pianta sia in sofferenza o meno, e altro?
Certo: partendo dai singoli sensori potremmo scrivere delle automazioni che, al superamento di determinate soglie, ci avvisino della situazione; meglio ancora, però, sarebbe avere a disposizione un’entità virtuale che rappresenti lo stato complessivo di salute della pianta, così da poterla usare per essere avvisati di eventuali anomalie e innescare, volendo, qualche altro automatismo (come l’irrigazione automatica).
In questo progetto vedremo come utilizzare il componente “Plant Monitor” di Home Assistant a tale scopo.
Si parte
Assunti
Si assume di avere a disposizione dei sensori integrati a Home Assistant che forniscano, per la pianta oggetto del monitoraggio, le letture di uno o più (meglio tutti) i seguenti sensori:
- di umidità del terriccio;
- di temperatura ambientale;
- di fertilità del terriccio;
- di luminosità.
Inoltre, “Plant Monitor” di Home Assistant è in grado di monitorare anche un eventuale indicatore di batteria residua del multi-sensore.
Fermo restando che tali sensori possono essere il risultato dell’uso di una qualsiasi piattaforma di integrazione presente su Home Assistant, l’interezza di tali sensori specifici per piante si ottiene per esempio tramite l’integrazione di Xiaomi Mi Flora Smart e/o uno Xiaomi RoPot tramite piattaforma ufficiale d’integrazione o tramite BRIDGE/Gateway Bluetooth↔︎Wi-Fi ESPHome (o altre modalità).
Per gli esempi del presente progetto ipotizzeremo quindi di disporre, a valle dell’avvenuta integrazione, delle seguenti entità sensore:
- sensor.xiaomi_miflora_umidita
- sensor.xiaomi_miflora_temperatura
- sensor.xiaomi_miflora_conduttivita_terriccio
- sensor.xiaomi_miflora_illuminazione
- sensor.xiaomi_miflora_batteria
Come funziona Plant Monitor
Il componente “Plant Monitor” è in grado, tramite una configurazione ad hoc, di generare un’entità di tipo “plant“, la quale contiene nel suo stato la condizione complessiva della pianta (può assume gli stati “OK” e “Problema“), mentre negli attributi vengono elencati gli stati del sensori che stanno alla sua base (quelli elencati sopra) nonché l’eventuali cause della segnalazione di un problema.
Ogni sensore incluso nella sua configurazione prevede un range operativo entro il quale la pianta “è a suo agio”, per esempio l’umidità, la temperatura eccetera. Quando un indicatore esce dal range previsto, l’entità assume stato “Problema“, mentre il campo “problem” negli attributi contiene la motivazione, ovvero quale indicatore è fuori range.
Per quanto riguarda la luminosità, Plant Monitor consente di impostare tre valori:
- la luminosità minima e massima prima di segnalare un problema. Contrariamente agli altri valori, questi controlli non verificano la situazione istantanea, ma quella media degli ultimi giorni. Viene segnalato un problema solo quando la luminosità è stata fuori range. In pratica, questo indicatore serve per verificare se la pianta riceva abbastanza luce nel corso dell’arco temporale impostato;
- l’intervallo di valutazione, in giorni, ovvero quanti giorni tenere in considerazione per il calcolo dell’irraggiamento luminoso.
Infine, Plant Monitor permette anche di controllare la batteria del sensore, avvertendoci quando scende sotto una determinata soglia, anch’essa configurabile.
RACCOLTA INFORMAZIONI
Ovviamente, prima di concentrarsi sulla configurazione presso Home Assistant della propria pianta è necessario, per quest’ultima, raccogliere i range ideali per i vari indicatori.
Se si va integrando i sensori provenienti da un multi-sensore Xiaomi (che sia il sensore singolo piuttosto che il vaso), allora l’app Xiaomi Mi Home (per Android e iOS) oppure l’app Flower Care (per Android e iOS) ci consente di consultare il database di oltre 3000 piante censite avendo cura di identificarle tramite il proprio nome latino – in questo Google è nostro amico più di sempre.

Diversamente, basterà cercare su Internet i necessari dettagli sulla propria pianta per capire quali siano i range ottimali per luminosità, temperatura dell’aria, umidità e conduttività del terriccio.

Configurazione
Per configurare Plant Monitor su Home Assistant è sufficiente e necessario aggiungere una o più voci (in base a quante piante vengono monitorate) al proprio file di configurazione in notazione YAML.
Un esempio:
plant:
ficus_benjamin:
sensors:
moisture: sensor.xiaomi_miflora_umidita
temperature: sensor.xiaomi_miflora_temperatura
conductivity: sensor.xiaomi_miflora_conduttivita_terriccio
brightness: sensor.xiaomi_miflora_illuminazione
battery: sensor.xiaomi_miflora_batteria
min_battery: 10
min_moisture: 20
max_moisture: 60
min_conductivity: 350
max_conductivity: 2000
min_temperature: 10
max_temperature: 32
min_brightness: 200
max_brightness: 7000
check_days: 5
In pratica, l’entità derivante da questa configurazione, chiamata plant.ficus_benjamin, virerà dallo stato “OK” a “Problema” quando si verificherà una o più delle seguenti condizioni:
- batteria al di sotto del 10%;
- umidità inferiore al 20% o maggiore del 60;
- temperatura inferiore ai 10 gradi o superiore ai 32;
- luminosità media, sui cinque giorni, inferiore ai 200 lux o superiore ai 7000.

Automazioni
La più semplice delle automazioni è quella che ci avvisa di un potenziale problema. Ovviamente, nel blocco action è possibile indicare ciò che meglio si crede; nell’esempio che riportiamo, proponiamo per esempio una notifica verso uno smartphone dotato di app Home Assistant Companion:
automation:
- alias: "Ficus benjamin"
trigger:
platform: state
entity_id: plant.ficus_benjamin
to: "Problem"
condition: []
action:
service: notify.marco
data:
title: Domotica
message: "Attenzione, Rilevato problema {{ trigger.to_state.attributes.problem }} su {{ trigger.to_state.attributes.friendly_name }}"
Quest’automazione si limita a fornire l’indicazione “grezza” del problema indicato dall’entità plant. Ovviamente è possibile scrivere automazioni ben più strutturate:
automation: - alias: "Ficus benjamin" trigger: platform: state entity_id: plant.ficus_benjamin to: "Problem" condition: [] action: service: notify.marco data: title: Domotica message: > {% if trigger.to_state.attributes.problem = 'moisture_high' %} Umidità eccessiva nella pianta {% elif trigger.to_state.attributes.problem = 'moisture_low' %} Terriccio troppo secco nella pianta ...eccetera {% endif %}
Oppure una che attivi un innaffiatoio integrato a Home Assistant, per esempio:
automation: - alias: "Ficus benjamin" trigger: platform: state entity_id: plant.ficus_benjamin value_template: "{{ state.attributes.problem }}" to: "moisture_low" condition: [] action: - service: switch.turn_on entity_id: switch.annaffiatoio - delay: minutes: 15 - service: switch.turn_off entity_id: switch.annaffiatoio
Come al solito, il limite è la fantasia.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
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. Se ti sei perso, a tua disposizione c'è la mappa. |