Aller au contenu principal

Intégration domotique Polar, gratuite et open source

Intégration Polar pour Gladys Assistant

Votre montre Polar dans Gladys : activité, sommeil, Nightly Recharge, entraînements, scènes.

Présentation​

Cette intégration amène dans Gladys les données de votre compte Polar Flow (montres et capteurs cardio Polar), par l’API officielle Polar AccessLink : activité du jour, dernière nuit, Nightly Recharge, entraînements et charge cardio, sous forme d’appareil, de widgets et de scènes.

  • Un appareil par compte lié (« Polar Marie ») : pas, temps actif, calories, distance et objectif du jour ; score et durée de sommeil ; statut Nightly Recharge, charge SNA, variabilité cardiaque, fréquence cardiaque et respiratoire de la nuit ; statut et ratio de charge cardio.
  • Widgets : aujourd’hui (avec un bouton Synchroniser), dernière nuit, derniers entraînements, sept derniers jours.
  • Scènes : entraînement synchronisé, nouvelle nuit, nouvelle Nightly Recharge, objectif d’activité atteint ; une action lit les dernières valeurs (poids compris) pour un message ou une condition.
  • Cloud : vos données transitent entre les serveurs de Polar et votre Gladys, avec votre propre client AccessLink ; rien ne passe par un serveur tiers. Polar n’envoie aucune notification à Gladys : l’intégration lit Polar toutes les 30 minutes (réglable) et quand vous appuyez sur Synchroniser.
  • Après la synchro de la montre : Polar ne connaît que ce que la montre a synchronisé avec Polar Flow (application mobile ou ordinateur). Une nuit apparaît après la synchro du matin, un entraînement après la sienne.

Intégration communautaire, sans lien avec Polar Electro. Pas encore testée avec un vrai compte Polar : dites-nous ce que vous voyez.

Les widgets Polar : aujourd’hui, dernière nuit, entraînements et sept derniers jours (illustration générée, pas une capture d’écran)

Prérequis​

  • Gladys 5.3.0 ou plus récent.
  • Un compte Polar Flow avec une montre ou un capteur Polar qui se synchronise avec Polar Flow.
  • Un client API AccessLink gratuit, créé une fois avec votre compte Polar Flow (environ cinq minutes). Polar ne propose pas de clé partagée et l’intégration n’en embarque aucune.

Configuration​

  1. Ouvrez admin.polaraccesslink.com et connectez-vous avec votre compte Polar Flow.

  2. Acceptez les conditions AccessLink si elles sont demandées, puis créez un nouveau client (application) : un nom (« Gladys »), une description, une adresse e-mail de contact et, si demandé, un site web (https://gladysassistant.com convient).

  3. Comme URL de redirection d’autorisation (callback), saisissez exactement :

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

    C’est la page HTTPS de Gladys qui renvoie votre navigateur vers votre instance, quelle que soit son adresse. Si vous accédez à Gladys en HTTPS et avez activé l’option avancée « adresse de l’instance » de l’écran de configuration, déclarez plutôt l’adresse affichée par cet écran (ou les deux : Polar accepte plusieurs URL, celle envoyée doit être identique à l’une d’elles).

  4. Enregistrez, puis copiez le Client ID et le Client secret affichés pour le client.

2. Dans Gladys​

  1. Ouvrez l’intégration Polar, collez le Client ID et le Client secret, puis enregistrez.
  2. Cliquez sur Se connecter avec Polar, connectez-vous à Polar Flow et acceptez. Vous revenez dans Gladys, connecté : l’intégration inscrit votre compte auprès de votre client et le lit.
  3. Allez dans Découverte et ajoutez l’appareil « Polar … », puis ajoutez les widgets à un tableau de bord.
  4. Synchronisez votre montre avec Polar Flow : Polar ne partage que les données synchronisées après la liaison. Appuyez ensuite sur Synchroniser (ou attendez la lecture suivante).
ChampPar défautRôle
Client ID—Le Client ID de votre client AccessLink.
Client secret—Son secret, jamais affiché ni écrit dans les journaux.
Se connecter avec Polar—Lie votre compte Polar Flow (lecture seule : accesslink.read_all).
Intervalle de lecture30 min15, 30, 60 ou 120 minutes ; chaque lecture coûte 5 ou 6 requêtes.
Langue des textesAutomatiqueNoms de l’appareil et des fonctionnalités, statut de charge cardio, textes des scènes.

Boutons : Synchroniser maintenant (pas deux fois en deux minutes), Délier le compte Polar (le désinscrit de votre client et oublie le jeton ; l’appareil reste) et Diagnostic (écrit un résumé anonymisé dans l’onglet Journaux).

Utilisation​

Appareil​

FonctionnalitéUnité / échelleMise à jour
Pas du jourpasaprès chaque synchro du jour
Temps actif du jourminutesaprès chaque synchro du jour
Calories du jourkcalaprès chaque synchro du jour
Distance du jourkm (d’après les pas)après chaque synchro du jour
Objectif d’activité du jour% (peut dépasser 100)après chaque synchro du jour
Score de sommeil1 à 100après la synchro du matin
Durée de sommeilheuresaprès la synchro du matin
Statut Nightly Recharge1 très faible … 6 très bonneaprès la synchro du matin
Charge SNA-10 à +10après la synchro du matin
Variabilité cardiaque (nuit)ms (RMSSD)après la synchro du matin
Fréquence cardiaque nocturnebpmaprès la synchro du matin
Fréquence respiratoirerespirations par minuteaprès la synchro du matin
Ratio de charge cardioeffort / toléranceaprès un entraînement
Statut de charge cardiotexteaprès un entraînement

« Aujourd’hui » suit le fuseau horaire de Gladys. Avant la première synchro du jour, les fonctionnalités d’activité gardent la dernière valeur de la veille (leur date l’indique). Gladys n’a pas d’unité de poids : le poids n’est donné que par l’action de scène.

Scènes​

DéclencheurQuandFiltres
Entraînement synchroniséun nouvel entraînement est arrivé dans Polar Flowcompte, sport
Nouvelle nuit disponiblela nuit des deux derniers jours est arrivée dans Polar Flowcompte
Nightly Recharge disponiblela Nightly Recharge des deux derniers jours est arrivéecompte, statut 1-6
Objectif d’activité atteintl’activité du jour a atteint 100 % de l’objectif, une fois par jourcompte

Chaque événement porte ses valeurs ({{triggerEvent.data.sleep_score}}, duration_minutes, status_label…) et un summary tout fait. Rien ne se déclenche pour les données déjà présentes au démarrage de l’intégration. L’action Polar : lire les dernières données donne l’activité du jour, la dernière nuit, la Nightly Recharge, le statut d’entraînement, la dernière séance et le poids de la dernière lecture.

Exemples :

  • Nouvelle nuit disponible → envoyer « {{triggerEvent.data.summary}} » sur votre téléphone au réveil.
  • Nightly Recharge disponible, statut 1 ou 2 → adoucir les lumières du matin et reporter le rappel d’entraînement.
  • Entraînement synchronisé, sport « Course à pied » → allumer le sèche-serviettes de la salle de bain.

Dépannage​

  • Polar signale « redirect_uri » ou une page d’erreur après Se connecter : l’URL de redirection du client n’est pas identique à celle envoyée par Gladys. Vérifiez https://my.gladysassistant.com/redirect/oauth (sans barre finale) dans le client sur admin.polaraccesslink.com. L’onglet Journaux affiche l’URI de redirection utilisée.
  • « Polar a refusé la connexion (invalid_client) » : Client ID ou secret erroné. Recopiez-les et enregistrez avant de vous connecter.
  • « Connexion refusée : la réponse ne correspond pas » : l’autorisation a expiré (10 minutes) ou a été ouverte deux fois. Cliquez à nouveau sur Se connecter avec Polar.
  • « Polar refuse de partager les données » (HTTP 403) : acceptez les consentements obligatoires de votre compte sur account.polar.com, puis Synchroniser.
  • « Polar a refusé l’accès » : le jeton a été révoqué (sur Polar Flow, par Délier, ou après environ un an). Cliquez à nouveau sur Se connecter avec Polar.
  • Rien pour aujourd’hui : synchronisez d’abord la montre avec Polar Flow ; Polar ne partage que les données synchronisées après la liaison.
  • Signaler un problème : issues GitHub avec les versions de Gladys et de l’intégration, le modèle de montre et les lignes du bouton Diagnostic (sans jeton ni nom).

Pourquoi pas de notification instantanée ? Les webhooks de Polar exigent une adresse publique qui répond à Polar et des requêtes signées dont Gladys Plus ne transmet pas l’en-tête : l’intégration lit donc Polar à son propre rythme.

Paramètres de configuration​

Voici les paramètres demandés par Polar dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
1. Votre client API AccessLinksectionNonPolar ne fournit pas de clé partagée : connectez-vous à admin.polaraccesslink.com avec votre compte Polar Flow et créez un client API gratuit (une « application »). Comme URL de redirection d’autorisation, saisissez exactement https://my.gladysassistant.com/redirect/oauth. Copiez ensuite son Client ID et son secret ci-dessous. La documentation détaille chaque étape.
Client IDstringOuiAffiché par admin.polaraccesslink.com une fois le client créé.
Client secretsecretOuiAffiché à côté du Client ID. Jamais écrit dans les journaux.
2. Connectez votre compte Polar FlowsectionNonEnregistrez d’abord, puis cliquez sur le bouton et acceptez sur Polar Flow. Polar ne partage que les données synchronisées après cette liaison : synchronisez ensuite votre montre avec Polar Flow. Reconnectez-vous si Gladys signale un accès refusé.
Se connecter avec Polaroauth2NonGladys demande seulement à lire vos données (accesslink.read_all) ; elle ne modifie rien dans Polar Flow.
3. OptionssectionNon
Intervalle de lectureselectNonPolar n’envoie aucune notification à Gladys : l’intégration le lit à ce rythme (5 ou 6 requêtes par lecture), et chaque fois que vous appuyez sur Synchroniser.
Langue des textesselectNonNoms de l’appareil et des fonctionnalités, statut de charge cardio et textes des scènes. Automatique : la langue de votre tableau de bord, dès qu’un widget a été affiché.

Comment installer Polar dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Polar apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/william-de71/gladys-polar:0.1.0), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/William-De71/gladys-polar.

Polar nécessite Gladys >=5.3.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

Polar est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par William-De71, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂