SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA INDICATA a UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
| Revisione guida: 2.1 | |
Abstract
Home Assistant fornisce sin dalle prime versioni un supporto nativo al protocollo MQTT tramite un componente chiamato, per l’appunto, “MQTT”. In caso si possegga un sensore termico dotato di supporto MQTT (eg. un Sonoff TH-16/10 riprogrammato Tasmota), è possibile integrarne le metriche in modo molto semplice su Home Assistant.
In questa pagina vedremo come farlo utilizzando il componente “Sensor” di Home Assistant, nello specifico la piattaforma “MQTT Sensor“.
Affinché la configurazione che ci apprestiamo a realizzare funzioni, è necessario che il componente MQTT di Home Assistant sia già configurato e sia presente, sulla rete, un broker MQTT.
Per dotarsi di un broker e per attivare le funzioni client MQTT su Home Assistant si rimanda a questa guida.
| N.b. Se non si ha dimestichezza con il protocollo MQTT, si consiglia di leggere questa scheda ad esso dedicato e a quest’altra dedicata alla configurazione nel proprio ambiente. |
Configurazione
Il set minimale di configurazione da aggiungere al file “configuration.yaml“ di Home Assistant è il seguente:
mqtt:
sensor:
- name: "Temperatura"
state_topic: "topic_telemetrico_MQTT_relativo_al_vostro_sensore"
unit_of_measurement: "°C"
qos: 1
value_template: "stringa_template_JSON_relativo_al_vostro_sensore
Una volta salvata la configurazione e rilanciato/aggiornato Home Assistant, apparirà (come da configurazione d’esempio) un nuovo sensore termico:

Variabili di configurazione:
| name |
(stringa)(Opzionale) ll nome di attribuire al sensore |
| icon |
(stringa)(Opzionale) Icona per il sensore (eg. |
| state_topic |
(stringa)(Obbligatorio) Il topic MQTT da sottoscrivere da parte di Home Assistant per ricevere la telemetria in questione (letture di temperatura e umidità).
Nel caso di un sensore Sonoff TH-16/TH-10 (aggiornato Tasmota), lo state topic è solitamente analogo a “tele/Sonoff/SENSOR“, dove “Sonoff” è il friendly name dell’unità. |
| value_template |
(stringa)(Obbligatorio) Definisce la stringa template necessaria per estrapolare il valore d’interesse da dentro il payload JSON.
Nel caso di un sensore Sonoff TH-16/TH-10 (aggiornato Tasmota), il value template è solitamente analogo a “{{ value_json.AM2301.Temperature }}“. In questo caso simuliamo la presenza del sensore “AM2301” collegato all’unità THx. Sempre proseguendo nell’esempio di un Sonoff THx + Sensore AM2301, il payload (leggibile dalla console Tasmota) sarebbe qualcosa del tipo:
|
| unit_of_measurement | (stringa)(Opzionale) Definisce l’unità di misura del sensore, in questo caso “°C” |
| expire_after |
(intero)(Opzionale) Il numero di secondi entro il quale deve arrivare un nuovo valore dopodiché il valore viene considerato non più valido. |
| force_update |
(booleano)(Opzionale) Invia all’ambito Home Assistant l’evento “update” malgrado esso possa non aver ricevuto valori aggiornati. Comodo se si vuole mantenere un grafico forzatamente aggiornato in termini di rilevazioni. |
| availability_topic | (stringa)(Opzionale) Il topic MQTT da sottoscrivere da parte di Home Assistant per ricevere lo stato (in linea/non in linea) del sensore. Solitamente si utilizza il topic LWT. |
| payload_available |
(stringa)(Opzionale) Il payload che interpreta lo stato come “in linea” |
| payload_not_available |
(stringa)(Opzionale) Il payload che interpreta lo stato come “non in linea” |
| json_attributes |
(lista|stringa)(Opzionale) Lista della chiavi da estrarre dal dizionario del payload JSON e da impostare come attributi del sensore (in caso dil sensore sia più evoluto e fornisca più letture contemporaneamente).
|
| qos |
(intero)(Opzionale) Indica il quality-of-service da utilizzare. Valore di default: 0 (Cos’è QoS?) |
| unique_id |
(stringa)(Opzionale) Indica un ID che identifichi univocamente il sensore nell’ambito Home Assistant. In caso siano presenti due ID uguali, Home Assistant solleva un’eccezione d’errore. |
Volendo adesso creare un sensore di umidità relativa, sempre basandoci sull’esempio di un Sonoff TH-16/TH-10 che monti un sensore AM2301, si aggiungerà una configurazione come segue:
mqtt:
sensor:
- name: "Umidità"
state_topic: "tele/sensorAngolo/SENSOR"
unit_of_measurement: "%"
qos: 1
value_template: "{{ value_json.AM2301.Humidity }}"
MQTT nella domotica personale: come configurare il broker e i vari client
| 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. |

