Integrare un sensore termico Tasmota via MQTT alla configurazione Home Assistant

3 minuti di lettura
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 MAGGIORMENTE INDICATA PER:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 2.0

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:

sensor:
  - platform: mqtt
    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:

sensor:
  - platform: mqtt
    name: "Umidità"
    state_topic: "tele/sensorAngolo/SENSOR"
    unit_of_measurement: "%"
    qos: 1
    value_template: "{{ value_json.AM2301.Humidity }}"

Come configurare MQTT sui dispositivi della propria domotica


ITEAD Sonoff Basic ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ai Sonoff (e più generalmente ai dispositivi ESP8266), per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.

Telegram News Channel