community italiana di domotica personale
 
Integrare un sensore termico Tasmota via MQTT a Home Assistant

Integrare un sensore termico Tasmota via MQTT a Home Assistant

SCOPI DELLA GUIDA:
  • Integrare un sensore MQTT alla configurazione di Home Assistant
  • Livello di difficoltà: basso
  • Categoria d’integrazione: Local Push
CONCETTI AFFRONTATI:
  • Installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
GUIDA INDICATA a UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Core v3
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
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:

Home Assistant Temperature Sensor

Variabili di configurazione:

name

(stringa)(Opzionale) ll nome di attribuire al sensore
Valore di default: MQTT Sensor

icon

(stringa)(Opzionale) Icona per il sensore (eg. mdi:radiator).

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:

tele/Sonoff/SENSOR = {“Time”:”2018-01-01T00:00:01″,”AM2301″:{“Temperature”:27,”Humidity”:41},”TempUnit”:”C”}

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.
Valore di default: 0 (disattivato)

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.
Valore di default: false

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”
Valore di default: “Online“. Solitamente si utilizza un payload LWT.

payload_not_available

(stringa)(Opzionale) Il payload che interpreta lo stato come “non in linea”
Valore di default: “Offline“. Solitamente si utilizza un payload LWT.

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.