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.
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
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:
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:
Es wurde eine Außentemperaturmessung über ca. 24h vorgenommen. Der Temperaturverlauf kann nun in Home Assistant eingesehen werden: