Saltar al contenido principal

Integración domótica Google Nest, gratuita y de código abierto

Integración Google Nest para Gladys Assistant

Unofficial connector: Nest thermostats, cameras and doorbells, with their events.

info

La documentación de esta integración la escribe su autor y, por ahora, solo está disponible en inglés.

Unofficial connector, not affiliated with Google. It brings your Google Nest thermostats, cameras, doorbells and Nest Hub Max into Gladys through Google's official Smart Device Management API (the Device Access program). Google Nest is a trademark of Google LLC.

What you get​

DeviceIn Gladys
Thermostattemperature, humidity, activity (heating / cooling / idle), mode (heat, cool, heat · cool, off), heating and cooling setpoints, Eco, fan timer
Camera, doorbell, Nest Hub Maxpicture, motion, person, doorbell press
Events (optional)instant thermostat updates, scene triggers "doorbell pressed", "motion detected", "person detected", "sound detected"

The "Take a Nest snapshot" scene action refreshes a camera picture before a "send a camera image" action.

Camera pictures: older cameras (Nest Cam IQ, Nest Cam Indoor/Outdoor on the Nest app, Nest Hub Max, wired Nest Hello) stream over RTSP, so Gladys gets a live picture on demand. Every newer camera and doorbell only streams over WebRTC: Gladys shows the picture of its last event (motion, person, ring), taken from the event's clip preview, and has no live picture.

Not supported by Google's API: Nest Protect, Nest x Yale, Nest Temperature Sensors, Learning Thermostats 1st and 2nd gen (dropped by Google on 2025-10-25), Google Workspace accounts.

Local first: Matter thermostats​

The Nest Thermostat (2020) and the Nest Learning Thermostat (4th gen) speak Matter: pair them with the Matter integration of Gladys, entirely local, with no Google account linking, no Device Access fee and no Internet needed afterwards. In the Google Home app, open the thermostat, Settings → Linked Matter apps & services → Link apps & services, and enter the pairing code in Gladys. Matter gives the essentials (temperature, setpoint, mode); Eco, fan, humidity and every camera need this connector.

Nest cameras, doorbells and the other thermostats have no local interface at all: Google's cloud API is the only way, below.

Setup​

Google requires your own Device Access project and your own Google Cloud OAuth client: allow 15 minutes, once. Nothing goes through Gladys Plus nor through a server of the author: each Gladys talks to Google with its owner's credentials.

1. Register for Device Access (US$5, once)​

Open the Device Access console with the personal Google account of your Nest devices, accept the terms and pay the one-time US$5 fee. Keep this tab open.

2. Create a Google Cloud project​

  1. In the Google Cloud console, create a project (for example "gladys-nest"), with the same Google account. Note its project ID (lowercase letters, digits and hyphens, such as gladys-nest-123456): the events need it.
  2. APIs & Services → Library: enable the Smart Device Management API and the Cloud Pub/Sub API.
  3. APIs & Services → OAuth consent screen: choose External, give an app name and your email, and add yourself as a test user. Then click Publish app so that the status reads In production. Without it, Google disconnects Gladys every 7 days. Google then shows an "unverified app" warning when you connect: expected for a personal project, click "Continue".
  4. APIs & Services → Credentials → Create credentials → OAuth client ID, type Web application. Under Authorized redirect URIs, add the address Gladys shows under "Google account" on the Configuration screen of the integration (https://my.gladysassistant.com/redirect/oauth, or the address of your Gladys if you pick the instance option there). Copy the client ID and the client secret.

3. Create the Device Access project​

In the Device Access console, Create project: give a name, paste the OAuth client ID of step 2, and skip the events for now (step 5 comes back to them). Copy the project ID shown afterwards (a UUID like 32c4b0a1-…, not the Cloud project ID).

4. Connect Gladys​

  1. Install the integration from the store, open its Configuration screen.
  2. Fill in the Device Access project ID, the OAuth client ID and the client secret. Save.
  3. Click Connect under "Google account". Sign in with your Google account, select the homes and the devices to share, then allow both permissions (devices, and events through Pub/Sub). The browser comes back to Gladys and the status turns green.
  4. Open Discovery and create the devices you want.

Local connection (advanced): to go through no third-party page at all, not even the Gladys one, add https://www.google.com as an authorized redirect URI instead (step 2.4) and click Connect under "Google account (local)". Google ends on the www.google.com page: copy the whole address from the address bar (it contains code=), paste it into the Finish the connection action and run it. The code works once, for a few minutes.

5. Turn on the events (optional)​

Skip this step if you only want the thermostats, refreshed every few minutes.

  1. Fill in the Google Cloud project ID of step 2 and save. The integration creates the topic projects/<project>/topics/gladys-google-nest in your project, lets Google publish on it and creates its own subscription. The status now shows the topic name.
  2. In the Device Access console, open your project and enable the events with that topic name.
  3. From the next doorbell press, motion or thermostat change, the events flow and the hint of the status disappears.

Advanced: an existing topic, on which [email protected] holds the Pub/Sub Publisher role, or an existing subscription (projects/…/subscriptions/…) can be given instead, in "Existing Pub/Sub topic".

Options​

  • Refresh the devices: a full read of every device, on top of the events (every 5 minutes by default). Google allows 5 reads a minute.
  • Refresh the camera pictures: periodic live pictures of the RTSP cameras. Off by default: pictures come with the events and on request. Each live picture costs two of the 10 commands a minute Google allows.
  • Fan run time: how long the fan runs when turned on from Gladys.

The Test the connection button lists the devices Google shares, checks the Pub/Sub subscription.

Troubleshooting​

  • "redirect_uri_mismatch": the OAuth client must list, as an authorized redirect URI, the address shown under "Google account" (or https://www.google.com for the local connection), see step 2.4.
  • Disconnected every 7 days: the OAuth consent screen is still in "Testing": publish it (step 2.3), then connect again.
  • Connected but no device: click Connect again and tick your devices on Google's sharing screen.
  • "The Cloud Pub/Sub API is not enabled": step 2.2, then save again.
  • "The Google account cannot manage Pub/Sub": the connected account must own the Cloud project (create both with the same account), or hold the Pub/Sub Admin role on it.
  • No events: the topic must be entered in the Device Access project (step 5.2), and you must have allowed the Pub/Sub permission when connecting. The notification settings of the Google Home app also decide which camera events Google sends.
  • "Too many commands": Google limits each device to a few commands a minute; wait a minute.

Privacy​

The integration talks to Google directly, with your own credentials: no server of the author, no Gladys Plus. The tokens are exchanged and stored by your Gladys only; the client secret never leaves it. With the "Google account" button, the authorization code transits through the Gladys redirect page (a static page that stores nothing, see its source) or, with the instance option, through your own address only; that code is useless without your client secret. With the local connection, the code goes from Google's page to Gladys by your own copy and paste, and no third party sees it.

Parámetros de configuración​

Estos son los parámetros que Google Nest te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
1. Before you start (15 minutes, once)sectionNoUnofficial connector, not affiliated with Google. Google requires your own Device Access project (a one-time US$5 fee) and your own Google Cloud project: register with the Google account of your Nest devices, then follow sections 2 to 5 in order. The Nest Thermostat 2020 and Learning Thermostat 4th gen can instead be paired locally with the Matter integration of Gladys, free, without any Google account.
2. Your Google Cloud projectsectionNoIn the Cloud console, with the same Google account: create a project, enable the two APIs below, publish the OAuth consent screen (External, then "Publish app" so it reads "In production": otherwise Google disconnects you every 7 days; the "unverified app" warning is normal), then create an OAuth client of type "Web application" whose authorized redirect URI is the one shown in section 4. Keep its client ID and secret, and the project ID.
3. Your Device Access projectsectionNoIn the Device Access console, create a project with the OAuth client ID of section 2 (the events can wait, see section 5), then copy its ID and the client's ID and secret below. Save.
Device Access project IDstringSíThe UUID shown in the Device Access console, not the Google Cloud project ID.
OAuth client IDstringSíGoogle Cloud console > APIs & Services > Credentials, client of type "Web application".
OAuth client secretsecretSí
4. Connect your Google accountsectionNoOnce saved: add the redirect URI shown below to your OAuth client (section 2), click "Connect", select the homes and devices to share and allow both permissions. The browser comes back here and the status turns green; the devices appear in Discovery. The Gladys redirect page only sees a code that is useless without your client secret, which never leaves your Gladys.
Google accountoauth2NoOpens the Google consent: select the homes and devices to share and allow both permissions (devices, and events through Pub/Sub).
5. Real-time events (optional)sectionNoDoorbell presses, motion, persons, sounds and instant thermostat updates. Enter the ID of your Cloud project (section 2) and save: the integration creates the Pub/Sub topic "gladys-google-nest" and its permission itself, then the status shows the topic to enter in your Device Access project ("Enable events"). Without it, the thermostats are refreshed periodically and the cameras send nothing.
Google Cloud project IDstringNoThe project ID of the Cloud console (lowercase letters, digits, hyphens), where your OAuth client lives. The connected Google account must own it.
OptionssectionNo
Refresh the devicesselectNoA full read of every device, on top of the events. Google allows 5 reads a minute.
Refresh the camera picturesselectNoLive pictures only exist for RTSP cameras (older Nest Cams, Nest Hub Max, wired doorbell). Newer cameras show the picture of their last event.
Fan run timeselectNoHow long the fan runs when you turn it on from Gladys.
AdvancedsectionNoLocal connection, without any third-party page, not even the Gladys one: add https://www.google.com as an authorized redirect URI of your OAuth client, click "Connect" below, allow the access, then copy the address of the google.com page Google ends on and paste it in the "Finish the connection" action. An existing Pub/Sub topic or subscription can also replace the Cloud project ID.
Google account (local)account_linkNoSame Google consent; at the end, Google shows www.google.com: copy the whole address of that page.
Existing Pub/Sub topic (advanced)stringNoInstead of the project ID: a topic you created yourself, on which [email protected] can publish (the integration creates its subscription "gladys-google-nest" on it), or a subscription (projects/…/subscriptions/…).

Cómo instalar Google Nest en Gladys​

  1. En Gladys, abre Integraciones: Google Nest aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/lm1lc3n7/gladys-google-nest:1.1.2), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/LM1LC3N7/gladys-google-nest.

Google Nest requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Google Nest es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene LM1LC3N7, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂