You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/_integrations/nest.markdown
+82-25Lines changed: 82 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -766,31 +766,88 @@ Changes for things like sensors or thermostat temperature set points should be i
766
766
767
767
##### Resolution
768
768
769
-
To learn more about how Google Pub/Sub works see the [Pull subscription workflow documentation](https://cloud.google.com/pubsub/docs/pull#pull-workflow). To investigate subscription related issues follow these steps:
770
-
771
-
- Check the logs for any relevant error messages.
772
-
- View stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list). The stats include the number of messages published by your devices, and how many have been acknowledged by your Home Assistant subscriber. You can also `View Messages` to see examples of published. Many old unacknowledged messages indicate the subscriber is not receiving the messages and working properly or not connected at all.
773
-
- Note that it is normal to see info messages such as *API error in streaming pull: 503 The service was unable to fulfill your request. Please try again* as part of the streaming pull flow. The pull requests are long
774
-
running requests that will send an error after a few minutes and then are retried as needed. These are described in more detail in the [Pull subscription workflow documentation](https://cloud.google.com/pubsub/docs/pull#pull-workflow).
775
-
- Enable verbose logging by adding some or all of these to your {% term "`configuration.yaml`" %} depending on where you are having trouble:
- To learn more about how Google Pub/Sub works see the [Pull subscription workflow documentation](https://cloud.google.com/pubsub/docs/pull#pull-workflow). The steps in the following section will:
770
+
771
+
1. Verify the Nest Device Access Console is configured with a Pub/Sub topic for publishing messages
772
+
2. (Optional) Verify topic message publishing. These steps are available for some topic configurations.
773
+
3. Verify Pub/Sub subscription message routing
774
+
4. Verify Home Assistant is receiving messages on the Pub/Sub subscription
775
+
776
+
- **Verify the Nest Device Access Console configuration**
777
+
778
+
1. Visit the [Device Access Console](https://console.nest.google.com/device-access/project-list)
779
+
2. Click the Home Assistant device access project
780
+
3. Verify the *Pub/Sub topic* is *Enabled*. If not, follow the integration configuration instructions.
781
+
4. If the Pub/Sub topic starts with `projects/<your cloud project>/topics/home-assistant-` then you are using a topic created by Home Assistant. You may follow the steps in the next section to verify the topic.
782
+
5. If the Pub/Sub topic starts with `projects/sdm-prod/topics` then you are using a topic created by the Device Access console. This is the old way, but works completely fine. You should skip the next section.
783
+
784
+
- **(Optional) Verify topic message publishing.** Skip this section if using a topic name starting with `projects/sdm-prod/topics`
785
+
786
+
1. Visit the Pub/Sub Topics [Cloud Console](https://console.cloud.google.com/cloudpubsub/topic/list)
787
+
2. Click the Home Assistant Topic ID matching the Device Access Console configuration.
788
+
3. View the *Subscriptions* tab and confirm there is a Subscription ID. This will be verified in the next section.
789
+
4. Click the *Metrics* tab and set the zoom to *6 hours* or *1 day*.
790
+
5. View the *Published message count*. This counts messages published by the device to the topic. If the number of messages is not what you expect then it indicates:
791
+
- A problem with the device connecting to Google: Verify the device works in the Google Home App.
792
+
- An issue with the SDM API: This requires [Device Access Support](https://developers.google.com/nest/device-access/support) to diagnose or address.
793
+
794
+
- **Verify Pub/Sub subscription message routing**
795
+
796
+
1. Visit the Pub/Sub Subscriptions [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list)
797
+
2. Click the Home Assistant Subscription ID
798
+
3. Confirm the *Topic name* is the same as in the Nest Device Access Console above.
799
+
4. View the *Metrics* tab in the bottom panel, which includes:
800
+
801
+
- *Delivery metrics*: The *Publish message count* shows messages are published on the topic that are routed to the subscription. You may need to scroll down to see this.
802
+
- *Oldest unacked message age* shows messages not being fully received by the Home Assistant nest integration. See the next section for diagnosing this.
803
+
804
+
5. Click the *Messages* tab
805
+
6. Click *Pull* to see a sample of received messages published on the topic. These correspond to messages optionally verified by the *Published message count* in the previous section. If there are no messages published then it indicates either:
806
+
807
+
- A Subscription misconfiguration: Confirm the *Topic ID* matches the Device Access Console. If they do not match, then follow the integration configuration instructions to resolve this.
808
+
- A problem with the device connecting to Google: Verify the device works in the Google Home App.
809
+
- An issue with the SDM API: This requires [Device Access Support](https://developers.google.com/nest/device-access/support) to diagnose or address.
810
+
811
+
7. Click the arrow for a received message to *View all row content* to make it easier to see the full contents of the received messages. You may confirm the message contains the information you expect to see and corresponds with messages received by Home Assistant in the next section.
812
+
813
+
- **Verify Home Assistant is receiving messages**
814
+
815
+
1. Enable debug logs for the Nest integration. See [Debug logs and diagnostics](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics) for instructions.
816
+
2. View the raw logs
817
+
3. Successfully received event messages will appear in debug logs similar to the following:
818
+
819
+
{% details "Example debug log: Received 1 message" %}
820
+
{% raw %}
821
+
```text
822
+
2025-11-08 09:15:57.620 DEBUG (MainThread) [google_nest_sdm.streaming_manager] Received 1 messages
4. Subscription pull requests are long running, and reconnect every few minutes. This is normal and you will see debug messages like `API error in streaming pull` and then `Event stream connection established`. The [Pull subscription workflow documentation](https://cloud.google.com/pubsub/docs/pull#pull-workflow) describes how this works in more detail. The following debug logs indicate the Subscription connection is working properly.
2025-11-08 09:19:50.827 DEBUG (MainThread) [google_nest_sdm.subscriber_client] API error in streaming pull: 503 The service was unable to fulfill your request. Please try again. [code=8a75]
837
+
2025-11-08 09:19:50.828 DEBUG (MainThread) [google_nest_sdm.streaming_manager] Disconnected from event stream: API error when streaming iterator: 503 The service was unable to fulfill your request. Please try again. [code=8a75]
838
+
2025-11-08 09:19:50.830 DEBUG (MainThread) [google_nest_sdm.streaming_manager] Reconnecting stream in 10.0 seconds
5. Confirm the Subscription ID from the `Sending streaming pull request` message in the debug logs match the Subscription ID verified above in the cloud console. If they do not match, then follow the integration configuration instructions to resolve this.
849
+
850
+
- When reporting issues for the Nest integration please include details such as messages published by the device and details from the debug log.
0 commit comments