Für Aktivitäten von der Apple Watch gibt es mit RunGap, HealthFit oder Watchletic längst gute Wege von und nach Tredict. Die Vitalwerte, die die Uhr nebenbei sammelt, bleiben dabei allerdings im Apple-Ökosystem hängen. HRV, Schlafdauer und Ruhepuls kommen nicht mit.
Der Tredict-Benutzer Maximillian hat sich damit nicht abgefunden und ein paar Apple-Kurzbefehle gebaut, die genau diese drei Werte über die "Tredict Personal API" in Tredict hochladen. Und Maximillian ist so freundlich, diese Kurzbefehle allen Tredict-Nutzern zur Verfügung zu stellen. Vielen Dank dafür!
Die Kurzbefehle sind zur freien, nicht-kommerziellen Verwendung.
Die Kurzbefehle zum Herunterladen
Es gibt für HRV, Ruhepuls und Schlafdauer jeweils einen Kurzbefehl zur Übermittlung und zusätzlich einen sogenannten Lückenprüfer.
Übermittlung
Tredict-HRV-Export.shortcut
Tredict-HR_Rest-Export.shortcut
Tredict-Sleep-Export.shortcut
Lückenprüfer
Tredict-HRV-Gap_Detection-Export.shortcut
Tredict-HR_Rest_Gap_Detection-Export.shortcut
Tredict-Sleep_Gap_Detection-Export.shortcut
Einrichtung mit dem persönlichen Zugriffstoken
Die Kurzbefehle tauschen die Daten über die Tredict-API aus. Dafür brauchst Du einen persönlichen Zugriffstoken, den Du unter Einstellungen → Personal API / MCP erstellst. Als Berechtigungen genügen „bodyvaluesRead“ und „bodyvaluesWrite“. Wie das im Detail funktioniert, steht in der FAQ zur Tredict Personal API.
Der erste Schritt ist danach bei allen Kurzbefehlen gleich. Im obersten Textfeld muss der persönliche Token eingetragen werden. Ersetze dazu den Platzhalter „Hier bitte persönlichen Token einsetzen“ durch Deinen Token, danach sind die Kurzbefehle einsatzbereit.
Gib Deinen persönlichen Token nicht weiter. Wenn Du die Kurzbefehle selbst weiterverteilst, entferne vorher Deinen Token, so wie Maximillian das gemacht hat.
HRV
Der Kurzbefehl fragt die Tages-HRV über eine Eingabemaske ab und überträgt sie an Tredict. Nach der Übertragung meldet er den eingegebenen Wert, die von Tredict errechnete Durchschnitts-HRV, sofern vorhanden, sowie die Server-Rückmeldung zurück.
Der HRV-Kurzbefehl baut den JSON-Aufruf zusammen und schickt ihn an den Tredict-HRV-Endpunkt.
Maximillian merkt dazu an, dass Apple die HRV als SDNN erfasst, also als Standardabweichung der Herzschlagintervalle. Für die allgemeine Gesundheitseinschätzung ist das gut geeignet. Im Training gilt allerdings RMSSD als Standard, wie ihn auch Garmin-Sportuhren oder die Oura-Ringe verwenden. Für iOS ermitteln Drittanbieter-Apps wie Livity oder Athlytic aus den einzelnen Herzschlagintervallen ebenfalls eine RMSSD-HRV. Maximillian nutzt das so, es ist aber Geschmackssache.
Ruhepuls
Der einfachste der drei Kurzbefehle. Der Ruhepuls wird abgefragt und nach Tredict geschrieben. Die Rückmeldung zeigt den eingegebenen Wert und die Serverantwort.
Der Ruhepuls geht als „hrRestDynamic“ an den Körperdaten-Endpunkt.
Schlafdauer
Der komplexeste der drei Kurzbefehle. Die Tredict-API verlangt, dass die echte Schlafdauer nicht länger ist als das übermittelte Zeitfenster, also Schlafende minus Schlafbeginn.
Damit neben der Dauer nicht auch noch Schlafbeginn und Schlafende eingegeben werden müssen, arbeitet der Kurzbefehl mit einem festen Dummy-Fenster. Der Beginn liegt auf dem Vortag, sodass das Fenster mit 11 Stunden breit genug für jede realistische Nacht ist.
Die Schlafdauer selbst wird in zwei Schritten abgefragt, zuerst die Stunden und dann die Minuten, und anschließend in Sekunden umgerechnet, wie es die Tredict-API erwartet. Für die Rückmeldung der eingegebenen Schlafdauer ist noch ein kosmetischer Zwischenschritt notwendig. Sind die Minuten einstellig, wird eine Null vorangestellt, sonst würde statt „7:08h“ ein „7:8h“ zurückgemeldet werden.
Der Schlaf-Kurzbefehl legt zuerst das Dummy-Zeitfenster fest und fragt danach Stunden und Minuten ab.
Lückenprüfer für vergangene Tage
Für dieselben drei Werte gibt es zusätzlich die Lückenprüfer. Diese prüfen für einen wählbaren Vergangenheitszeitraum, ob es Tage gibt, für die keine Vitalwerte vorliegen. Voreingestellt sind 30 Tage, das lässt sich im Kurzbefehl anpassen.
Praktisch ist das zum Beispiel nach dem Urlaub, wenn man nicht täglich seine Werte erfassen möchte, oder um zu Beginn eine Historie aufzubauen. Von den Lückenprüfern gibt es wegen ihrer Länge keine Screenshots.
Die Rückmeldung nach dem Ausführen
Nach dem Ausführen der drei Übermittlungs-Kurzbefehle meldet jeder Kurzbefehl kurz zurück, was übertragen wurde und was der Server dazu gesagt hat.
Die Rückmeldung nach dem Ausführen der drei Übermittlungs-Kurzbefehle.
Wenn alles geklappt hat, findest Du die Vitalwerte anschließend in Tredict. HRV, Ruhepuls und Schlafdauer erscheinen bei einem entsprechenden Training, der Ruhepuls zusätzlich bei den Körperdaten und die HRV samt Zeitverlauf zusätzlich in der Formauswertung.
Die von der Apple Watch übertragene HRV im Zeitverlauf der Tredict-Formauswertung.
Anmerkung zu den Zeitstempeln
Alle Kurzbefehle verwenden einen festen Dummy-Zeitstempel, um sie nicht noch komplexer zu machen. Er liegt bewusst mitten in der Nacht, damit er die Tredict-Vorgaben erfüllt. Die HRV muss zum Beispiel vor einem Aktivitätsstart liegen, das Schlafende ebenso. Wundere Dich also nicht, wenn der Messzeitpunkt in Tredict als 4:00 Uhr MESZ erscheint.
Eine Einschränkung gibt es aber. Bei Aufenthalten im Ausland mit großer Zeitverschiebung können die Werte falsch zugeordnet werden. HRV und Ruhepuls werden immer mit demselben festen Zeitstempel geschrieben, und der passt dann nicht mehr zur tatsächlichen Ortszeit.
Viel Spaß damit
Ein schönes Beispiel dafür, was mit der "Tredict Personal API" möglich ist, und ein noch schöneres dafür, was passiert, wenn jemand aus der Community seine Lösung mit allen anderen teilt. Nochmal vielen Dank an Maximillian!
Wer selbst Lust bekommen hat, etwas mit den Tredict-Schnittstellen zu bauen, findet in der FAQ zur Tredict Personal API den Einstieg und in der Tredict API-Dokumentation alle Endpunkte.