1. Posts/

Langzeitmessung mit Home Assistant

  • Um die über MQTT empfangenen Sensordaten zu speichern und grafisch darzustellen bzw. später evtl. für Automationen zu verwenden, wollen wir diese Daten mit Home Assistant abgreifen.
  • Home Assistant ist eine Open Source Smart Home Zentrale mit Fokus auf Privacy. Home Assistant kann bspw. auf einem Raspberry Pi selbst gehostet werden und bietet durch seine Vielzahl an Geräte- und Protokollintegrationen nahezu unbegrenzte Möglichkeiten diese miteinander zu kombinieren, Automatisierungen zu bauen oder einfach nur Daten zu visualisieren.
  • Mehr zum Thema Home Assistant kann hier gefunden werden: https://www.home-assistant.io/
  • Um die Daten in Home Assistant einzuspeisen verwenden wir die zuvor formatierte Temperatur aus der Uplink JSON, welche wir via MQTT von der TTN Cloud bekommen.
  • Dazu konfigurieret man über Einstellungen -> Geräte & Dienste -> Integration hinzufügen -> MQTT -> MQTT, die MQTT Integration. Die MQTT Login Daten sind wie gewohnt in der TTN Konsole abrufbar
    MQTT Konfiguration
  • Nun erstellen wir einen Sensor in Home Assistant, welcher die Daten aus der JSON liest. Hierfür muss der configuration.yaml folgender Code hinzugefügt werden:
mqtt:
  sensor:
    name: Lora Temperature
    state_topic: v3/ps-w2022@ttn/devices/eui-70b3d57ed00575c7/up
    value_template: '{{ value_json["uplink_message"]["decoded_payload"]["temperature"] }}'
    unit_of_measurement: "°C"
  • Das state_topic gibt dabei das MQTT Topic für den Uplink Stream unseres Mikrocontrollers an. Dieses kann bspw. auch aus dem Mosquitto Sub Stream wie hier beschrieben, gelesen werden.
  • Das value_template ist dazu da den Temperaturwert aus der JSON herauszuschneiden
  • Um die Daten des Sensors zu visualisieren muss nur noch im Dashboard eine neue Sensorkarte hinzugefügt werden:
    Sensor Card
  • Es wurde eine Außentemperaturmessung über ca. 24h vorgenommen. Der Temperaturverlauf kann nun in Home Assistant eingesehen werden:
    Dashboard Ansicht
    Detailierte Ansichtl