Intégration domotique Google Nest, gratuite et open source

Connecteur non officiel : thermostats, caméras et sonnettes Nest, avec leurs événements.
Connecteur non officiel, sans lien avec Google. Il amène vos thermostats, caméras, sonnettes et Nest Hub Max Google Nest dans Gladys via l'API officielle Smart Device Management de Google (programme Device Access). Google Nest est une marque de Google LLC.
Ce que vous obtenez
| Appareil | Dans Gladys |
|---|---|
| Thermostat | température, humidité, activité (chauffe / refroidit / repos), mode (chauffage, climatisation, chauffage · climatisation, arrêt), consignes de chauffage et de climatisation, Eco, minuterie du ventilateur |
| Caméra, sonnette, Nest Hub Max | image, mouvement, personne, appui sur la sonnette |
| Événements (optionnels) | mises à jour instantanées des thermostats, déclencheurs de scène « appui sur une sonnette », « mouvement détecté », « personne détectée », « son détecté » |
L'action de scène « Prendre un instantané Nest » rafraîchit l'image d'une caméra avant une action « envoyer l'image d'une caméra ».
Images des caméras : les anciennes caméras (Nest Cam IQ, Nest Cam Indoor/Outdoor sur l'application Nest, Nest Hub Max, Nest Hello filaire) diffusent en RTSP, donc Gladys obtient une image en direct à la demande. Toutes les caméras et sonnettes récentes ne diffusent qu'en WebRTC : Gladys affiche l'image de leur dernier événement (mouvement, personne, sonnerie), tirée de l'aperçu vidéo de l'événement, sans image en direct.
Non pris en charge par l'API de Google : Nest Protect, Nest x Yale, capteurs de température Nest, Learning Thermostat 1re et 2e génération (abandonnés par Google le 25/10/2025), comptes Google Workspace.
Le local d'abord : thermostats Matter
Le Nest Thermostat (2020) et le Nest Learning Thermostat (4e génération) parlent Matter : appairez-les avec l'intégration Matter de Gladys, entièrement en local, sans lier de compte Google, sans frais Device Access et sans Internet ensuite. Dans l'application Google Home, ouvrez le thermostat, Paramètres → Applis et services Matter associés → Associer des applis et services, et saisissez le code d'appairage dans Gladys. Matter donne l'essentiel (température, consigne, mode) ; Eco, ventilateur, humidité et toutes les caméras demandent ce connecteur.
Les caméras, sonnettes et autres thermostats Nest n'ont aucune interface locale : l'API cloud de Google est le seul moyen, ci-dessous.
Installation
Google impose votre propre projet Device Access et votre propre client OAuth Google Cloud : comptez 15 minutes, une seule fois. Rien ne passe par Gladys Plus ni par un serveur de l'auteur : chaque Gladys parle à Google avec les identifiants de son propriétaire.
1. S'inscrire à Device Access (5 $ US, une fois)
Ouvrez la console Device Access avec le compte Google personnel de vos appareils Nest, acceptez les conditions et payez les 5 $ US uniques. Gardez cet onglet ouvert.
2. Créer un projet Google Cloud
- Dans la console Google Cloud, créez un
projet (par exemple « gladys-nest »), avec le même compte Google. Notez
son ID de projet (minuscules, chiffres et tirets, du type
gladys-nest-123456) : les événements en ont besoin. - API et services → Bibliothèque : activez la Smart Device Management API et la Cloud Pub/Sub API.
- API et services → Écran de consentement OAuth : choisissez Externe, donnez un nom d'application et votre e-mail, ajoutez-vous comme utilisateur test. Cliquez ensuite sur Publier l'application pour que l'état indique En production. Sinon, Google déconnecte Gladys tous les 7 jours. Google affiche alors un avertissement « application non validée » à la connexion : c'est normal pour un projet personnel, cliquez sur « Continuer ».
- API et services → Identifiants → Créer des identifiants → ID client
OAuth, type Application Web. Sous URI de redirection autorisés,
ajoutez l'adresse que Gladys affiche sous « Compte Google » sur l'écran
Configuration de l'intégration (
https://my.gladysassistant.com/redirect/oauth, ou l'adresse de votre Gladys si vous y choisissez l'option « instance »). Copiez l'ID client et le code secret du client.
3. Créer le projet Device Access
Dans la console Device Access, Create project : donnez un nom, collez
l'ID client OAuth de l'étape 2 et passez les événements pour l'instant
(l'étape 5 y revient). Copiez l'ID du projet affiché ensuite (un UUID du
type 32c4b0a1-…, pas l'ID du projet Cloud).
4. Connecter Gladys
- Installez l'intégration depuis le store, ouvrez son écran Configuration.
- Renseignez l'ID du projet Device Access, l'ID client OAuth et le code secret du client. Enregistrez.
- Cliquez sur Connecter sous « Compte Google ». Connectez-vous avec votre compte Google, cochez les maisons et appareils à partager, puis autorisez les deux accès (appareils, et événements via Pub/Sub). Le navigateur revient dans Gladys et l'état passe au vert.
- Ouvrez Découverte et créez les appareils voulus.
Connexion locale (avancée) : pour ne passer par aucune page tierce, pas
même celle de Gladys, ajoutez plutôt https://www.google.com comme URI de
redirection autorisée (étape 2.4) et cliquez sur Connecter sous « Compte
Google (local) ». Google termine sur la page www.google.com : copiez
l'adresse complète depuis la barre d'adresse (elle contient code=),
collez-la dans l'action Terminer la connexion et lancez-la. Le code ne
sert qu'une fois, quelques minutes.
5. Activer les événements (facultatif)
Passez cette étape si vous ne voulez que les thermostats, rafraîchis toutes les quelques minutes.
- Renseignez l'ID du projet Google Cloud de l'étape 2 et enregistrez.
L'intégration crée le sujet
projects/<projet>/topics/gladys-google-nestdans votre projet, autorise Google à y publier et crée son propre abonnement. L'état affiche alors le nom du sujet. - Dans la console Device Access, ouvrez votre projet et activez les événements avec ce nom de sujet.
- Dès le prochain appui de sonnette, mouvement ou changement de thermostat, les événements arrivent et l'indication de l'état disparaît.
Avancé : un sujet existant, sur lequel [email protected] a
le rôle Éditeur Pub/Sub, ou un abonnement existant
(projects/…/subscriptions/…) peut être donné à la place, dans « Sujet
Pub/Sub existant ».
Options
- Rafraîchir les appareils : une lecture complète de tous les appareils, en plus des événements (toutes les 5 minutes par défaut). Google autorise 5 lectures par minute.
- Rafraîchir les images des caméras : images en direct périodiques des caméras RTSP. Désactivé par défaut : les images arrivent avec les événements et à la demande. Chaque image en direct coûte deux des 10 commandes par minute autorisées par Google.
- Durée de ventilation : combien de temps le ventilateur tourne quand vous l'allumez depuis Gladys.
Le bouton Tester la connexion liste les appareils partagés par Google, vérifie l'abonnement Pub/Sub.
Dépannage
- « redirect_uri_mismatch » : le client OAuth doit lister, comme URI de
redirection autorisée, l'adresse affichée sous « Compte Google » (ou
https://www.google.compour la connexion locale), voir l'étape 2.4. - Déconnecté tous les 7 jours : l'écran de consentement OAuth est encore en « Test » : publiez-le (étape 2.3), puis reconnectez-vous.
- Connecté mais aucun appareil : cliquez de nouveau sur Connecter et cochez vos appareils sur l'écran de partage de Google.
- « L'API Cloud Pub/Sub n'est pas activée » : étape 2.2, puis enregistrez de nouveau.
- « Le compte Google ne peut pas gérer Pub/Sub » : le compte connecté doit être propriétaire du projet Cloud (créez les deux avec le même compte), ou avoir le rôle Administrateur Pub/Sub dessus.
- Aucun événement : le sujet doit être saisi dans le projet Device Access (étape 5.2), et vous devez avoir autorisé l'accès Pub/Sub à la connexion. Les réglages de notification de l'application Google Home décident aussi des événements de caméra envoyés par Google.
- « Too many commands » : Google limite chaque appareil à quelques commandes par minute ; patientez une minute.
Confidentialité
L'intégration parle directement à Google, avec vos propres identifiants : aucun serveur de l'auteur, pas de Gladys Plus. Les jetons sont échangés et stockés par votre Gladys seulement ; le code secret du client ne la quitte jamais. Avec le bouton « Compte Google », le code d'autorisation transite par la page de redirection de Gladys (une page statique qui ne conserve rien, voir sa source) ou, avec l'option « instance », par votre seule adresse ; ce code est inutilisable sans votre code secret. Avec la connexion locale, le code passe de la page de Google à Gladys par votre propre copier-coller, et aucun tiers ne le voit.
Paramètres de configuration
Voici les paramètres demandés par Google Nest dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| 1. Avant de commencer (15 minutes, une fois) | section | Non | Connecteur non officiel, sans lien avec Google. Google impose votre propre projet Device Access (5 $ US une fois) et votre propre projet Google Cloud : inscrivez-vous avec le compte Google de vos appareils Nest, puis suivez les sections 2 à 5 dans l'ordre. Le Nest Thermostat 2020 et le Learning Thermostat 4e génération peuvent plutôt être appairés en local avec l'intégration Matter de Gladys, gratuitement, sans compte Google. |
| 2. Votre projet Google Cloud | section | Non | Dans la console Cloud, avec le même compte Google : créez un projet, activez les deux API ci-dessous, publiez l'écran de consentement OAuth (Externe, puis « Publier l'application » pour qu'il indique « En production » : sinon Google vous déconnecte tous les 7 jours ; l'avertissement « application non validée » est normal), puis créez un client OAuth de type « Application Web » dont l'URI de redirection autorisée est celle affichée à la section 4. Gardez son ID client, son code secret, et l'ID du projet. |
| 3. Votre projet Device Access | section | Non | Dans la console Device Access, créez un projet avec l'ID client OAuth de la section 2 (les événements attendront, voir la section 5), puis copiez son ID ainsi que l'ID et le code secret du client ci-dessous. Enregistrez. |
| ID du projet Device Access | string | Oui | L'UUID affiché dans la console Device Access, pas l'ID du projet Google Cloud. |
| ID client OAuth | string | Oui | Console Google Cloud > API et services > Identifiants, client de type « Application Web ». |
| Code secret du client OAuth | secret | Oui | |
| 4. Connecter votre compte Google | section | Non | Une fois enregistré : ajoutez l'URI de redirection affichée ci-dessous à votre client OAuth (section 2), cliquez sur « Connecter », cochez les maisons et appareils à partager et autorisez les deux accès. Le navigateur revient ici et l'état passe au vert ; les appareils apparaissent dans Découverte. La page de redirection de Gladys ne voit qu'un code inutilisable sans votre code secret, qui ne quitte jamais votre Gladys. |
| Compte Google | oauth2 | Non | Ouvre le consentement Google : cochez les maisons et appareils à partager et autorisez les deux accès (appareils, et événements via Pub/Sub). |
| 5. Événements en temps réel (facultatif) | section | Non | Appuis de sonnette, mouvements, personnes, sons et mises à jour instantanées des thermostats. Saisissez l'ID de votre projet Cloud (section 2) et enregistrez : l'intégration crée elle-même le sujet Pub/Sub « gladys-google-nest » et son autorisation, puis l'état affiche le sujet à saisir dans votre projet Device Access (« Enable events »). Sans cela, les thermostats sont rafraîchis périodiquement et les caméras n'envoient rien. |
| ID du projet Google Cloud | string | Non | L'ID du projet de la console Cloud (minuscules, chiffres, tirets), celui de votre client OAuth. Le compte Google connecté doit en être propriétaire. |
| Options | section | Non | |
| Rafraîchir les appareils | select | Non | Une lecture complète de tous les appareils, en plus des événements. Google autorise 5 lectures par minute. |
| Rafraîchir les images des caméras | select | Non | Les images en direct n'existent que pour les caméras RTSP (anciennes Nest Cam, Nest Hub Max, sonnette filaire). Les caméras récentes affichent l'image de leur dernier événement. |
| Durée de ventilation | select | Non | Combien de temps le ventilateur tourne quand vous l'allumez depuis Gladys. |
| Avancé | section | Non | Connexion locale, sans aucune page tierce, pas même celle de Gladys : ajoutez https://www.google.com comme URI de redirection autorisée de votre client OAuth, cliquez sur « Connecter » ci-dessous, autorisez l'accès, puis copiez l'adresse de la page google.com où Google s'arrête et collez-la dans l'action « Terminer la connexion ». Un sujet ou abonnement Pub/Sub existant peut aussi remplacer l'ID du projet Cloud. |
| Compte Google (local) | account_link | Non | Même consentement Google ; à la fin, Google affiche www.google.com : copiez l'adresse complète de cette page. |
| Sujet Pub/Sub existant (avancé) | string | Non | À la place de l'ID du projet : un sujet créé par vous, sur lequel [email protected] peut publier (l'intégration y crée son abonnement « gladys-google-nest »), ou un abonnement (projects/…/subscriptions/…). |
Comment installer Google Nest dans Gladys
- Dans Gladys, ouvrez Intégrations : Google Nest apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/lm1lc3n7/gladys-google-nest:1.1.2), 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). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-google-nest.
Google Nest 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
Google Nest 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 LM1LC3N7, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations externes
- Découvrir les intégrations natives intégrées à Gladys
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation