Aller au contenu principal

Intégration domotique Ring, gratuite et open source

Intégration Ring pour Gladys Assistant

Sonnettes, caméras et alarme Ring : appuis, mouvements, instantanés, éclairages et sirènes.

Intégrez vos sonnettes vidéo, caméras et votre alarme Ring à Gladys : un appui sur la sonnette ou un mouvement déclenche vos scènes en temps réel, l'instantané de la caméra s'affiche sur votre tableau de bord, et vous pouvez allumer le projecteur ou déclencher la sirène depuis Gladys.

Développée sans le matériel : retours bienvenus. Cette intégration a été écrite et testée sur des données enregistrées de l'API Ring, pas sur de vrais appareils. Si quelque chose se comporte bizarrement avec votre modèle, ouvrez un ticket sur le dépôt GitHub ou écrivez sur le forum Gladys : vos retours la rendront fiable.

Sans lien avec Ring LLC ni Amazon, ni approuvée ou soutenue par eux. « Ring » est une marque de Ring LLC.

Ce que vous obtenez​

Appareil RingDans Gladys
Sonnettes vidéo (filaires, sur batterie, Pro, Elite, judas)Instantané, appui sonnette, mouvement, batterie (modèles sur batterie)
Stick Up Cam, Indoor CamInstantané, mouvement, batterie (modèles sur batterie)
Spotlight Cam, Floodlight CamInstantané, mouvement, batterie (modèles sur batterie), éclairage, sirène
Ring Alarm (centrale)Mode de l'alarme : Désarmée, Domicile, Absent (lecture seule sauf si vous l'autorisez)
Détecteurs d'ouverture Ring AlarmOuvert/fermé, sabotage, batterie
Détecteurs de mouvement Ring AlarmMouvement, sabotage, batterie
Détecteur d'inondation et de gel Ring Alarm, capteur d'eau RingFuite, gel (modèle inondation et gel), sabotage, batterie
Écouteur fumée et CO Ring Alarm, détecteur fumée/CO KiddeFumée, monoxyde de carbone
Détecteurs de fumée et de CO associés à Ring AlarmFumée ou monoxyde de carbone, sabotage, batterie

Chaque caméra affiche aussi sa connexion sur sa carte : Cloud quand elle est en ligne, Injoignable quand Ring la signale hors ligne.

En plus des appareils :

  • Déclencheurs de scène : Appui sur une sonnette Ring, Mouvement détecté par Ring (filtre sur ce qui a bougé : personne, véhicule, colis ou autre mouvement) et Mode de l'alarme Ring changé (depuis Gladys, l'application Ring ou un clavier).
  • Actions de scène : Prendre un instantané Ring et Changer le mode de l'alarme Ring.
  • Widget de tableau de bord Sonnette Ring : dernier instantané, heure du dernier appui et du dernier mouvement, batterie, connexion, et boutons pour rafraîchir l'instantané, allumer ou éteindre l'éclairage, et déclencher la sirène (avec confirmation).

Prérequis : Gladys Assistant 5.1 ou plus récent et un compte Ring. Aucun abonnement Ring Protect n'est nécessaire, sauf pour les alertes intelligentes de Ring (personne, véhicule, colis) : sans abonnement, tout mouvement est signalé comme « autre mouvement ».

Se connecter à Ring​

Ring impose la vérification en deux étapes sur tous les comptes : la connexion demande donc une étape de plus. Vous ne la faites qu'une fois : Ring renouvelle régulièrement le jeton, et l'intégration enregistre chaque jeton renouvelé dans son propre stockage, si bien qu'elle reste connectée après un redémarrage ou une mise à jour.

Option 1 : depuis Gladys (recommandée)​

  1. Ouvrez l'onglet Configuration de l'intégration.
  2. Renseignez E-mail du compte Ring et Mot de passe Ring, puis Enregistrez.
  3. Cliquez sur Envoyer un code de vérification. Ring vous envoie un code par SMS, e-mail ou application d'authentification, selon votre compte Ring ; le message sous le bouton indique où.
  4. Saisissez le code dans Confirmer le code de vérification et lancez l'action, sous 10 minutes.
  5. Le statut passe à connecté, et vos appareils apparaissent dans l'onglet Découverte.
  6. Vous pouvez maintenant vider le champ mot de passe et enregistrer : il ne sert plus.

Ring limite les codes de vérification à 10 toutes les 10 minutes : si vous en avez demandé trop, patientez un peu.

Option 2 : avec un jeton de rafraîchissement, depuis un ordinateur​

Si vous préférez ne pas saisir votre mot de passe dans Gladys, générez un jeton sur n'importe quel ordinateur où Node.js est installé :

npx -p ring-client-api ring-auth-cli

L'outil demande votre e-mail Ring, votre mot de passe et le code de vérification, puis affiche une ligne du type "refreshToken": "eyJydCI6...". Copiez le long jeton (entre les guillemets, sans eux ; coller la ligne entière fonctionne aussi) dans le champ Jeton de rafraîchissement de l'onglet Configuration, et enregistrez.

Où voir et révoquer l'accès​

Dans l'application Ring, l'intégration apparaît sous le nom Gladys Assistant dans Control Center → Authorized Client Devices (appareils clients autorisés). La retirer à cet endroit déconnecte Gladys.

« Ring a refusé le jeton »​

Ce message signifie que Ring n'accepte plus le jeton enregistré : il a été retiré dans le Control Center, le mot de passe du compte a changé, ou le jeton a été mal copié. Reconnectez-vous avec l'option 1 ou 2. L'intégration réessaie seule un jeton refusé toutes les 30 minutes, et une panne de Ring toutes les 5 minutes.

Ajouter vos appareils​

Ouvrez l'onglet Découverte et ajoutez les appareils voulus. Gladys garde les noms de fonctionnalités choisis à l'ajout d'un appareil : choisissez d'abord la Langue des noms d'appareils dans l'onglet Configuration (anglais, français, allemand ou espagnol).

L'instantané de la caméra apparaît dans la boîte caméra de Gladys et dans le widget Sonnette Ring.

Options​

  • Rafraîchir les instantanés : toutes les 10, 30 (par défaut) ou 60 minutes, ou seulement sur événement et à la demande. En plus, l'instantané de chaque appui et de chaque mouvement est récupéré aussitôt quand Ring en a joint un, et l'ouverture d'une caméra sur le tableau de bord en demande un frais. Les caméras sur batterie sont ménagées : un instantané demandé moins de 10 minutes après le précédent est réutilisé au lieu de réveiller la caméra, ce qui viderait la batterie.
  • Autoriser Gladys à armer et désarmer l'alarme Ring : désactivé par défaut. Désactivé, le mode de l'alarme est seulement affiché. Activé, quiconque peut utiliser vos tableaux de bord et vos scènes Gladys peut désarmer votre alarme : ne l'activez que si c'est bien ce que vous voulez. Certains capteurs (une fenêtre ouverte à l'armement) demandent une exclusion que seule l'application Ring peut accorder : Gladys indique alors que le mode n'a pas pu être appliqué.

Idées de scènes​

  • On sonne, photo sur mon téléphone : déclencheur Appui sur une sonnette Ring → action Prendre un instantané Ring sur cette sonnette → action Envoyer l'image d'une caméra de la même caméra.
  • Quelqu'un dans l'allée la nuit : déclencheur Mouvement détecté par Ring, caméra = Allée, ce qui a bougé = Personne → condition sur l'heure → allumer le projecteur (sa fonctionnalité Éclairage) et vos lumières Gladys.
  • Alarme Ring armée → mode absent dans Gladys : déclencheur Mode de l'alarme Ring changé, nouveau mode = Absent → armer l'alarme de la maison Gladys, éteindre les lumières et le chauffage.

Dans les messages d'une scène, {{triggerEvent.data.device_name}} est le nom de la caméra, et {{triggerEvent.data.detection}} ce qui a bougé (person, vehicle, package ou motion).

Comment l'intégration parle à Ring, et à quel rythme​

Ring n'a pas d'API publique. L'intégration utilise ring-client-api, la bibliothèque libre derrière Homebridge Ring, qui parle au cloud Ring comme le fait l'application Ring. Tout passe par le cloud : les appareils Ring n'offrent aucun accès local.

  • Appuis et mouvements arrivent en temps réel par notifications push, le canal de l'application Ring (Firebase Cloud Messaging). Il faut des connexions sortantes vers mtalk.google.com sur le port TCP 5228 : si votre pare-feu ou votre bloqueur de publicité DNS les bloque, les appuis et mouvements n'arriveront pas.
  • État des caméras (batterie, éclairage, sirène, en ligne) : une requête toutes les 60 secondes pour tout le compte, le rythme de l'intégration Home Assistant.
  • Ring Alarm : poussée en temps réel par une WebSocket, sans interrogation.
  • Instantanés : une requête par caméra à l'intervalle choisi, plus une par événement et par demande du tableau de bord (une demande moins de 30 secondes après la précédente la réutilise).

Ring ne publie aucun quota pour cette API. Ces rythmes sont ceux des intégrations établies ; merci de ne pas les modifier.

L'intégration tient largement dans le bac à sable de 256 Mo de Gladys : environ 120 Mo au repos, environ 190 Mo au pire pendant la réduction d'un gros instantané (mesuré sous Node 22).

Limites​

  • Ni vidéo en direct ni enregistrements : Gladys affiche des instantanés, pas des flux, et les enregistrements demandent un abonnement Ring Protect. Les deux sont hors périmètre.
  • Une caméra dont la détection de mouvement est désactivée (dans l'application Ring ou par un mode Ring) ne prend pas d'instantané : Ring le refuse. Une caméra sur batterie ne peut pas prendre d'instantané pendant qu'on regarde son direct.
  • Les instantanés au-delà de la limite de Gladys (150 Ko) sont réduits avant d'être affichés.
  • Ring Alarm : le clavier, la station de base, le prolongateur, le détecteur de bris de vitre, les boutons d'urgence, les serrures et les thermostats ne sont pas pris en charge. Ring Smart Lighting, les carillons (Chime), l'interphone et les caméras tierces non plus.
  • Gladys n'a pas de catégorie « gel » : la détection de gel du détecteur d'inondation et de gel est une entrée binaire générique. Sa carte d'appareil et les scènes affichent « Gel », mais le tableau de bord montre le libellé générique « État de l'entrée ».
  • La détection de fumée et de CO est un confort, pas un système de sécurité : l'alerte n'arrive dans Gladys que si le cloud Ring, votre réseau et Gladys fonctionnent. Gardez la télésurveillance Ring et la sirène du détecteur comme filet de sécurité.
  • L'intégration n'a pas de réglage d'unités : elle affiche des pourcentages, et des dates dans le fuseau horaire de Gladys.
  • Un appui reste actif sur la carte de l'appareil 15 secondes ; un mouvement reste détecté une minute après la dernière notification de Ring.

Vos données​

Le jeton Ring et l'identifiant matériel envoyé à Ring sont stockés dans le dossier propre de l'intégration sur votre machine Gladys (/data), jamais dans un journal. Le mot de passe, si vous en avez saisi un, reste dans la configuration de Gladys jusqu'à ce que vous le vidiez. Rien n'est envoyé ailleurs qu'à Ring.

Crédits​

Construite sur ring-client-api de Dusty Greif et ses contributeurs (MIT). Le fonctionnement de l'intégration Ring de Home Assistant (Apache 2.0) a servi de référence.

Paramètres de configuration​

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

ParamètreTypeObligatoireDescription
Connexion à RingsectionNonRing impose la vérification en deux étapes. Collez un jeton de rafraîchissement obtenu sur un ordinateur avec « npx -p ring-client-api ring-auth-cli », ou renseignez l'e-mail et le mot de passe de votre compte Ring, enregistrez, puis lancez les deux actions « Envoyer un code de vérification » et « Confirmer le code de vérification » ci-dessous. L'intégration conserve le jeton que Ring renouvelle : vous ne vous connectez qu'une fois.
Jeton de rafraîchissementsecretNonAffiché par ring-auth-cli. Laissez vide pour vous connecter avec l'e-mail et le mot de passe ci-dessous.
E-mail du compte RingstringNon
Mot de passe RingsecretNonUtilisé seulement par les actions de connexion. Vous pouvez le vider une fois connecté.
OptionssectionNonLes instantanés des caméras sur batterie sont réutilisés 10 minutes, pour que leur rafraîchissement ne vide pas la batterie.
Rafraîchir les instantanésselectNon
Autoriser Gladys à armer et désarmer l'alarme RingbooleanNonDésactivé : le mode de l'alarme est affiché, jamais modifié. Activé : quiconque utilise vos tableaux de bord et scènes Gladys peut la désarmer.
Langue des noms d'appareilsselectNonGladys garde les noms de fonctionnalités choisis à l'ajout d'un appareil.

Comment installer Ring dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Ring 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/guim31/gladys-ring:1.2.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/guim31/gladys-ring.

Ring nécessite Gladys >=5.1.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​

Ring 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 guim31, 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 🙂