Apple Health bündelt je nach eigener Einstellung die Gesundheits- und Fitnessdaten unterschiedlicher Quellen in einer App bzw. Datenbank. Apple Fitness Tracker können sowohl das iPhone als auch die Apple Watch sein. Um die Daten außerhalb des Apple Ökosystem nutzen zu können gibt es prinzipiell zwei Ansätze. Der eine ist die Daten über eine Schnittstelle (API) auszulesen. Das ist aufgrund des Datenschutzes bei Apple nicht ohne weiteres möglich, weshalb es keine Home Assistant Integration gibt. Der zweite ist die Daten zu exportieren. Und genau diesen nutzen wir, um die Daten nach dem automatisierten Export in Home Assistant zu importieren. Die Daten werden in Home Assistant über das Add-On InfluxDB in einer seriellen Datenbank gespeichert. Mit dem zweiten Add-On Grafana werden die Daten anschließend entsprechend aufbereitet sprich visualisiert.
Wie ich das genau gemacht habe erfährst du in diesem Beitrag.
Datenexport mit Health Auto Export
Zuerst werden die Daten mittels der App Health Auto Export exportiert. Diese ist leider nicht kostenlose aber aus meiner Sicht den Invest Wert! Bei meiner Recherche bin ich immer wieder auf diese App gestoßen. Eine alternative dazu habe ich nicht wirklich gefunden. Die App macht Ihren Job sehr gut. Insbesondere gibt es verschiedene Wege die Daten zu exportieren. Der Export geht per:
- REST API
- Dropbox
- Google Drive
- Home Assistant
- MQTT
Als Home Assistant Nutzer habe ich mich daher auf die Home Assistant Methode festgelegt. Im Netz findet sich aber auch eine gute Anleitung per REST API und Node-Red.
Der Export wird mittels einer Automation konfiguriert. Für die Kommunikation mit Home Assistant benötigt es einen Longlife Token. Dieser wird in Home Assistant über das Profil erstellt. Einmal auf das Profilbild klicken und im Dialog ganz nach unten scrollen
Mit Klick auf Create Token wird der Token erstellt. Zu beachten ist, dass der Token nur einmal während des erstellens kopiert werden kann. Folglich sollte darauf geachtet werden, dass dieser komplett kopiert wird! Ist das nicht der Fall bleibt nur die Option einen neuen zu erstellen!
- Mit Mobilfunk bleibst du verbunden, auch ohne dein...
- Streame oder synchronisiere deine Musik, Podcasts...
- Richte für jedes Familienmitglied eine Apple...
- Der Termperatursensor macht rückblickende...
- Miss den Sauerstoffgehalt in deinem Blut mit einem...
Apple Health Export Automation konfigurieren
Der wichtigste Schritt ist die Konfiguration der Automation, welche die Daten an Home Assistant sendet und fehleranfällig sein kann. Vor allem aufgrund der zum Zeitpunkt des Artikels existierend falschen Dokumentation!
Insbesondere der wichtigste Teil, die Definition des Key-Value Paares hat mich Nerven gekostet. In der Doku steht folgendes:
Das Beispiel zeigt, dass „Authorization“ gefolgt von einem Doppelpunkt und dem „Bearer Longlife Token“ in Anführungszeichen gesetzt werden soll. Damit schlägt der Export aber fehl. Folgende Konfiguration nutze ich:
Also weder die Anführungszeichen noch der Doppelpunkt wird benötigt!
InfluxDB installieren und konfigurieren
Ist der Export und damit Import nach Home Assistant erfolgt stehen eine ganze Reihe neuer Entitäten abhängig der gewählten Einstellung für den Export zur Verfügung. Da es sich aber um Entitäten handelt könne die Informationen nicht ohne weiteres für Visualisierungen mit Home Assistant Graphen genutzt werden. Hierzu werden Sensoren benötigt.
An dieser Stelle kommt nun InfluxDB zum Einsatz. Der Vorteil ist nicht nur, dass alle Daten je nach gewählter Einstellung unendlich gespeichert werden. Mittels Grafana lassen sich die Daten sehr einfach und schön aufbereiten, sodass Trends und Analysen mit verhältnismäßig wenig Einarbeitungszeit erstellt werden können.
InfluxDB wird über den Add-On Store installiert. Nach der Installation kann in Home Assistant das Frontend aufgerufen werden. Über das Menü den Bereich Influx Admin aufrufen. Als erstes wird eine leere Datenbank benötigt.
Mit Klick auf Create Database wird der Dialog geöffnet. Als nächstes lediglich einen Datenbank Namen vergeben und bei Bedarf über Edit die Rentention Time anpassen. Standard ist unendlich.
Als nächstes wird über das Menü Users und dem Dialog Create User ein Benutzer angelegt:
Die Permissions auf ALL setzen
Zum Schluss noch in der configuration.yaml die Verbindung von Home Assistant zu InfluxDB erstellen und Home Assistant Neustarten.
influxdb:
host: Deine-Host-IP
port: 8086
database: homeassistant
username: homeassistant
password: homeassistant
max_retries: 3
default_measurement: state
Die Host-IP ist die IP der Home Assistant Instanz. Der Port 8086 ist der Standard Port von InfluxDB. Datenbank sowie Benutzername und Password sind die Daten, die im Schritt zuvor erstellt wurden. Das war schon die Konfiguration von InfluxDB.
Übrigens speichere ich die Daten meiner Home Assistant VM und auch InfluxDB auf einem QNAP NAS.
Grafana installieren und konfigurieren
Grafana wird ebenfalls über den Add-On Store installiert. Anschließend über die UI öffnen, um die Anbindung der InfluxDB zu erstellen. Das geht im Menü über:
Configuration > Data Sources > Add Data Sources
Anschließend bei der Auswahl der verfügbaren Datenquellen InfluxDB auswählen.
Im oberen Bereich der Einstellungen wird ein Name für die Datenquelle vergeben und im Bereich HTTP die URL der Home Assistant Instanz mit dem Standard Port 8086 eingetragen.
Als nächstes im unteren Bereich die InfluxDB Datenbank samt Benutzer und Passwort eintragen.
Mit Save & Test die Einstallungen speichern. Es sollte eine Meldung kommen, dass die Verbindung erfolgreich hergestellt wurde.
Grafana Datenvisualisierung erstellen
Technisch sind nun alle Voraussetzungen erfüllt, um das erste Dashboard erstellen zu können. Viele meiner Visualisierungen für Health Daten basieren auf dem maximalen Wert eines Tages. So habe ich zum Beispiel einen Trend erstellt, wie viele Schritte ich über einen bestimmten Zeitraum pro Tag gelaufen bin. Die Abfrage dazu sieht wie folgt aus:
Fazit Apple Health
Ich hoffe du kommst mit dieser Anleitung ebenfalls an das Ziel deine Apple Health Daten in Home Assistant darstellen zu können. Falls du noch Fragen dazu hast kannst du hier oder im zugehörigen Youtube Video gerne einen Kommentar hinterlassen.
Weitere Beiträge zu Home Assistant findest du in dieser Auflistung.
Pingback: How to Visualize Apple Health data in Home Assistant: Tutorial by Udo Berndt on the YouTube channel smart-live.net – PETER GAMMA (Director & Physiologist), MEDITATION RESEARCH INSTITUTE SWITZERLAND (MRIS)
Pingback: Are you a YouTube video maker looking for a new topic? We suggest to attach the circuit of How To Electronics to Home Assistant (which supports InfluxDB & Grafana) – PETER GAMMA (Director & Physiologist), MEDITATION RESEARCH INSTITUTE SWITZ