Zum Hauptinhalt springen

Polar Smart-Home-Integration, kostenlos und Open Source

Polar-Integration für Gladys Assistant

Deine Polar-Uhr in Gladys: Aktivität, Schlaf, Nightly Recharge, Trainings und Szenen.

Überblick​

Diese Integration bringt die Daten deines Polar-Flow-Kontos (Polar-Uhren und Herzfrequenzsensoren) über die offizielle Polar-AccessLink-API in Gladys: heutige Aktivität, letzte Nacht, Nightly Recharge, Trainings und Cardio Load, als Gerät, Dashboard-Widgets und Szenen.

  • Ein Gerät pro verknüpftem Konto („Polar Marie“): Schritte, aktive Zeit, Kalorien, Strecke und Tagesziel; Schlafwert und Schlafdauer; Nightly-Recharge-Status, ANS-Ladung, Herzfrequenzvariabilität, Herz- und Atemfrequenz der Nacht; Cardio-Load-Status und -Verhältnis.
  • Widgets: heute (mit einer Taste Jetzt abrufen), letzte Nacht, letzte Trainings, letzte sieben Tage.
  • Szenen: Training synchronisiert, neue Nacht, neue Nightly Recharge, Aktivitätsziel erreicht; eine Aktion liest die letzten Werte (inklusive Gewicht) für eine Nachricht oder Bedingung.
  • Cloud: Deine Daten gehen zwischen den Servern von Polar und deinem Gladys hin und her, mit deinem eigenen AccessLink-Client; nichts läuft über einen Drittserver. Polar schickt Gladys keine Benachrichtigung: Die Integration fragt Polar alle 30 Minuten ab (einstellbar) und wenn du Jetzt abrufen drückst.
  • Nach der Synchronisierung der Uhr: Polar kennt nur, was die Uhr mit Polar Flow synchronisiert hat (App oder Computer). Eine Nacht erscheint nach der Synchronisierung am Morgen, ein Training nach seiner eigenen.

Community-Integration, nicht mit Polar Electro verbunden. Bisher nicht mit einem echten Polar-Konto getestet: Sag uns, was du siehst.

Die Polar-Widgets: heute, letzte Nacht, Trainings und die letzten sieben Tage (generierte Illustration, kein Screenshot)

Voraussetzungen​

  • Gladys 5.3.0 oder neuer.
  • Ein Polar-Flow-Konto mit einer Polar-Uhr oder einem Sensor, der mit Polar Flow synchronisiert.
  • Ein kostenloser AccessLink-API-Client, einmalig mit deinem Polar-Flow-Konto erstellt (etwa fünf Minuten). Polar bietet keinen gemeinsamen Schlüssel, und die Integration enthält keinen.

Konfiguration​

  1. Öffne admin.polaraccesslink.com und melde dich mit deinem Polar-Flow-Konto an.

  2. Akzeptiere bei Nachfrage die AccessLink-Bedingungen und erstelle dann einen neuen Client (Anwendung): einen Namen („Gladys“), eine Beschreibung, eine Kontakt-E-Mail und, falls gefragt, eine Website (https://gladysassistant.com genügt).

  3. Als Autorisierungs-Weiterleitungs-URL (Callback) gibst du genau ein:

    https://my.gladysassistant.com/redirect/oauth

    Das ist die HTTPS-Seite von Gladys, die deinen Browser zu deiner Instanz zurückschickt, egal unter welcher Adresse. Wenn du Gladys über HTTPS erreichst und im Konfigurationsbildschirm die erweiterte Option „Instanzadresse“ aktiviert hast, trage stattdessen die dort angezeigte Adresse ein (oder beide: Polar akzeptiert mehrere URLs, die gesendete muss genau einer entsprechen).

  4. Speichere und kopiere dann die Client-ID und das Client-Secret des Clients.

2. In Gladys​

  1. Öffne die Integration Polar, füge Client-ID und Client-Secret ein und speichere.
  2. Klicke auf Mit Polar verbinden, melde dich bei Polar Flow an und stimme zu. Du kehrst verbunden zu Gladys zurück: Die Integration registriert dein Konto bei deinem Client und liest es.
  3. Gehe zu Entdecken und füge das Gerät „Polar …“ hinzu, dann die Widgets zu einem Dashboard.
  4. Synchronisiere deine Uhr mit Polar Flow: Polar teilt nur Daten, die nach der Verknüpfung synchronisiert wurden. Drücke dann Jetzt abrufen (oder warte auf die nächste Abfrage).
FeldStandardZweck
Client-ID—Die Client-ID deines AccessLink-Clients.
Client-Secret—Sein Secret, nie angezeigt und nie in die Protokolle geschrieben.
Mit Polar verbinden—Verknüpft dein Polar-Flow-Konto (nur Lesen: accesslink.read_all).
Abfrageintervall30 Min.15, 30, 60 oder 120 Minuten; jede Abfrage kostet 5 oder 6 Anfragen.
Sprache der TexteAutomatischGeräte- und Funktionsnamen, Cardio-Load-Status und Szenentexte.

Tasten: Jetzt abrufen (nicht zweimal innerhalb von zwei Minuten), Polar-Konto trennen (meldet es von deinem Client ab und vergisst das Token; das Gerät bleibt) und Diagnose (schreibt eine anonymisierte Zusammenfassung in den Tab Protokolle).

Verwendung​

Gerät​

FunktionEinheit / SkalaAktualisiert
Schritte heuteSchrittenach jeder Synchronisierung
Aktive Zeit heuteMinutennach jeder Synchronisierung
Kalorien heutekcalnach jeder Synchronisierung
Strecke heutekm (aus den Schritten)nach jeder Synchronisierung
Tägliches Aktivitätsziel% (kann 100 übersteigen)nach jeder Synchronisierung
Schlafwert1 bis 100nach der Synchronisierung morgens
SchlafdauerStundennach der Synchronisierung morgens
Nightly-Recharge-Status1 sehr schwach … 6 sehr gutnach der Synchronisierung morgens
ANS-Ladung-10 bis +10nach der Synchronisierung morgens
Herzfrequenzvariabilität (Nacht)ms (RMSSD)nach der Synchronisierung morgens
Herzfrequenz nachtsS/minnach der Synchronisierung morgens
AtemfrequenzAtemzüge pro Minutenach der Synchronisierung morgens
Cardio-Load-VerhältnisBelastung / Toleranznach einem Training
Cardio-Load-StatusTextnach einem Training

„Heute“ folgt der Zeitzone von Gladys. Vor der ersten Synchronisierung des Tages behalten die Aktivitätsfunktionen den letzten Wert von gestern (ihr Datum zeigt es). Gladys kennt keine Gewichtseinheit: Das Gewicht liefert nur die Szenenaktion.

Szenen​

AuslöserWannFilter
Training synchronisiertein neues Training ist in Polar Flow angekommenKonto, Sportart
Neue Nacht verfügbardie Nacht der letzten zwei Tage ist in Polar Flow angekommenKonto
Nightly Recharge verfügbardie Nightly Recharge der letzten zwei Tage ist angekommenKonto, Status 1-6
Aktivitätsziel erreichtdie heutige Aktivität hat 100 % des Ziels erreicht, einmal pro TagKonto

Jedes Ereignis trägt seine Werte ({{triggerEvent.data.sleep_score}}, duration_minutes, status_label…) und eine fertige summary. Für Daten, die beim Start der Integration schon da sind, wird nichts ausgelöst. Die Aktion Polar: letzte Daten lesen liefert heutige Aktivität, letzte Nacht, Nightly Recharge, Trainingsstatus, letztes Training und Gewicht aus der letzten Abfrage.

Beispiele:

  • Neue Nacht verfügbar → „{{triggerEvent.data.summary}}“ beim Aufwachen aufs Handy schicken.
  • Nightly Recharge verfügbar, Status 1 oder 2 → die Morgenbeleuchtung sanfter stellen und die Trainingserinnerung verschieben.
  • Training synchronisiert, Sportart „Laufen“ → den Handtuchheizkörper im Bad einschalten.

Fehlerbehebung​

  • Polar meldet „redirect_uri“ oder eine Fehlerseite nach dem Verbinden: Die Weiterleitungs-URL des Clients ist nicht identisch mit der von Gladys gesendeten. Prüfe https://my.gladysassistant.com/redirect/oauth (ohne Schrägstrich am Ende) im Client auf admin.polaraccesslink.com. Der Tab Protokolle zeigt die verwendete Weiterleitungs-URI.
  • „Polar hat die Verbindung abgelehnt (invalid_client)“: falsche Client-ID oder falsches Secret. Kopiere beide erneut und speichere vor dem Verbinden.
  • „Verbindung abgelehnt: Die Antwort passt nicht“: Die Autorisierung ist abgelaufen (10 Minuten) oder wurde doppelt geöffnet. Klicke erneut auf Mit Polar verbinden.
  • „Polar gibt die Daten nicht frei“ (HTTP 403): Akzeptiere die Pflichteinwilligungen deines Kontos auf account.polar.com und drücke dann Jetzt abrufen.
  • „Polar hat den Zugriff abgelehnt“: Das Token wurde widerrufen (in Polar Flow, durch Trennen oder nach etwa einem Jahr). Klicke erneut auf Mit Polar verbinden.
  • Nichts für heute: Synchronisiere zuerst die Uhr mit Polar Flow; Polar teilt nur Daten, die nach der Verknüpfung synchronisiert wurden.
  • Ein Problem melden: GitHub-Issues mit den Versionen von Gladys und der Integration, dem Uhrmodell und den Zeilen der Taste Diagnose (ohne Token und Namen).

Warum keine sofortige Benachrichtigung? Die Webhooks von Polar brauchen eine öffentliche Adresse, die Polar antwortet, und signierte Anfragen, deren Header Gladys Plus nicht weitergibt: Die Integration fragt Polar daher in ihrem eigenen Takt ab.

Konfigurationseinstellungen​

Diese Einstellungen fragt Polar in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
1. Dein AccessLink-API-ClientsectionNeinPolar stellt keinen gemeinsamen Schlüssel bereit: Melde dich mit deinem Polar-Flow-Konto bei admin.polaraccesslink.com an und erstelle einen kostenlosen API-Client (eine „Anwendung“). Als Autorisierungs-Weiterleitungs-URL gibst du genau https://my.gladysassistant.com/redirect/oauth ein. Kopiere dann seine Client-ID und sein Secret hier unten. Die Dokumentation beschreibt jeden Schritt.
Client-IDstringJaWird von admin.polaraccesslink.com nach dem Erstellen des Clients angezeigt.
Client-SecretsecretJaWird neben der Client-ID angezeigt. Nie in die Protokolle geschrieben.
2. Verbinde dein Polar-Flow-KontosectionNeinZuerst speichern, dann auf die Schaltfläche klicken und bei Polar Flow zustimmen. Polar teilt nur Daten, die nach dieser Verknüpfung synchronisiert werden: Synchronisiere danach deine Uhr mit Polar Flow. Verbinde dich erneut, wenn Gladys einen abgelehnten Zugriff meldet.
Mit Polar verbindenoauth2NeinGladys fragt nur Lesezugriff auf deine Daten an (accesslink.read_all) und ändert nichts in Polar Flow.
3. OptionensectionNein
AbfrageintervallselectNeinPolar schickt Gladys keine Benachrichtigung: Die Integration fragt Polar in diesem Takt ab (5 oder 6 Anfragen pro Abfrage) und bei jedem Tippen auf Jetzt abrufen.
Sprache der TexteselectNeinGeräte- und Funktionsnamen, Cardio-Load-Status und Szenentexte. Automatisch: die Sprache deines Dashboards, sobald ein Widget angezeigt wurde.

So installierst du Polar in Gladys​

  1. Öffne in Gladys Integrationen: Polar erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/william-de71/gladys-polar:0.1.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/William-De71/gladys-polar.

Polar benötigt Gladys >=5.3.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Polar ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von William-De71 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂