diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index 7ffddf48d8d..97fae31e48f 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -23,40 +23,23 @@ ha_platforms: - sensor --- -The `nest` integration allows you to integrate your [Google Nest](https://store.google.com/us/category/connected_home?) devices in Home Assistant. This integration uses the [Smart Device Management](https://developers.google.com/nest/device-access/api) API and Google's Cloud Pubsub to efficiently listen for changes in device state or other events. +The `nest` integration allows you to integrate your [Google Nest](https://store.google.com/us/category/connected_home?) devices in Home Assistant. This integration uses the [Smart Device Management](https://developers.google.com/nest/device-access/api) API and Google's Cloud Pubsub to efficiently listen for changes in device state or other events. See [Supported Devices](https://developers.google.com/nest/device-access/supported-devices) for all devices supported by the SDM API. There is currently support for the following device types within Home Assistant: -- [Camera](#camera) - [Climate](#climate) - [Sensor](#sensor) +- [Camera](#camera) -Cameras and Doorbells support [Automation and Device Triggers](#automation-and-device-triggers) and a [Media Source](#media-source) for viewing recent events. - -
-The Nest Smart Device Management (SDM) API *requires a US$5 fee*. -
- -## Overview: Supported Devices - -Home Assistant is integrated with the following devices through the SDM API: - -- Thermostat Devices - - Every thermostat is exposed as a `climate` entity - - A Temperature `sensor` entity. Note: Additional Nest Temperature Sensors are not supported by the SDM API. - - A Humidity `sensor` entity. - - Example devices: All Google Nest Thermostat models -- Display, Camera, and Doorbell Devices - - The camera live stream is available as a `camera` entity - - Device Triggers for use in automations such as Person detected, Motion detected and Doorbell pressed - - Example devices: All wired & battery Google Nest Cam models, wired & battery Nest Doorbells, and Google Nest Hub Max. +Cameras and Doorbells use [Automation and Device Triggers](#automation-and-device-triggers) for events and a [Media Source](#media-source) for capturing media images on supported devices. Other device types like Smoke and CO Alarms or Security systems are not currently supported by the SDM API. You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow. -Others devices like Smoke and CO Alarms or Security systems are not currently -supported by the SDM API. +
-The full detailed instructions for account setup are available in the [Device Access Registration](https://developers.google.com/nest/device-access/registration) Quick Start Guide. The instructions below are included to make this complex setup process a bit easier to follow. +The Nest Smart Device Management (SDM) API **requires a US$5 fee**. + +
## Device Access Registration @@ -184,7 +167,7 @@ nest: project_id: PROJECT_ID ``` -Then make sure to restart Home Assistant under _**Server Controls**_. {% my server_controls badge %} +Then make sure to restart Home Assistant under _**Server Controls**_. {% my server_controls badge %} {% configuration %} client_id: @@ -229,7 +212,7 @@ your Home Assistant to access your account and Nest devices. In this section you will authorize Home Assistant to access your account by generating an *Authentication Token*. -1. Choose **OAuth for Apps** since you created *Desktop App* credentials above in the Google Cloud Console. Note that *OAuth for Web* still exists if you previously created *Web Application* credentials and want to keep using them. +1. Choose **OAuth for Apps** since you created *Desktop App* credentials above in the Google Cloud Console. Note that *OAuth for Web* still exists if you previously created *Web Application* credentials and want to keep using them. ![Screenshot of Integration setup on OAuth type step](/images/integrations/nest/integration_oauth_type.png) @@ -337,16 +320,6 @@ logger: google.cloud.pubsub_v1: debug ``` -## Camera - -All Google Nest Cam models, Google Nest Doorbell models, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API. - -Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. - -Cameras either support an `RTSP` stream served via `HLS` by Home Assistant, or support a `WebRTC` stream. See the [Nest SDM API: CameraLiveStream Schema](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) for details on which camera devices support which types of streams. WebRTC cameras do not support image previews or stream recording in Home Assistant as the stream communication is client-side, directly from the browser to the device. - -See [Automation and Device Triggers](#automation-and-device-triggers) and [Media Source](#media-source) below for additional camera features. - ## Climate All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber. @@ -362,6 +335,29 @@ All Google Nest Thermostat models have traits exposed from the SDM API. The init Given a thermostat named `Upstairs` then sensors are created with names such as `sensor.upstairs_temperature` or `sensor.upstairs_humidity`. +Note: Additional Nest Temperature Sensors are not supported by the SDM API. + +## Camera + +Home Assistant supports all SDM API features. However, every Camera or Doorbell device has a different set of built-in capabilities. A Camera device has one of the following live stream types: + +- **RTSP**: These devices have an HLS stream served by the Home Assistant Core. These cameras support server-side `camera` services like stream recording or image preview. See [Low Latency HLS](/integrations/stream#ll-hls) as a great option to enable to reduce stream latency. +- **WebRTC**: These devices support direct browser to camera communication and a super low latency stream. Live image previews and the `camera` services like stream recording are *not supported*. + +All cameras have motion and person triggers, however only some support capturing snapshots for events. The table below summarizes the [Supported SDM API features](https://developers.google.com/nest/device-access/supported-devices) for each device. + +| Device | Live Stream | Triggers / Events | Media Source
for Triggers / Events | +| ------ | :---------: | :------: | :--------------------: | +| Nest Cam (indoor, wired)
Nest Cam (outdoor, battery) | WebRTC | Motion
Person | N/A | +| Nest Cam Indoor
Nest Cam IQ Indoor
Nest Cam IQ Outdoor
Nest Cam Outdoor | RTSP
Recording | Motion
Person
Sound | Snapshot (jpg) | +| Nest Cam with floodlight | WebRTC | Motion
Person | N/A | +| Nest Doorbell (battery) | WebRTC | Motion
Person
Chime | Clip Preview (mp4) | +| Nest Doorbell (wired) | RTSP
Recording | Motion
Person
Sound
Chime | Snapshot (jpg) | +| Nest Hub Max | RTSP
Recording | Motion
Person
Sound
* [SDM API known issue](https://github.com/home-assistant/core/issues/58482) | Snapshot (jpg) | + +Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. + + ## Automation and Device Triggers The Nest integration makes [device triggers](/docs/automation/trigger/#device-triggers) available to enable automation @@ -369,22 +365,6 @@ in Home Assistant. You should review the [Automating Home Assistant](/getting-st ![Screenshot Device Triggers](/images/integrations/nest/device_triggers.png) -All Google Nest Cam models and the Google Nest Hello Video Doorbell support device triggers: - -- **Motion detected** -- **Person detected** -- **Sound detected** -- **Doorbell pressed** *for Doorbell only* - -The lower level Pub/Sub subscriber receives events in real time and internally fires `nest_event` events within Home Assistant: - -| Device Trigger | Pub/Sub Event | `nest_event` | -| -------------- | ----- | ------------- | -| Motion detected | [CameraMotion](https://developers.google.com/nest/device-access/traits/device/camera-motion#events) | `motion_detected` | -| Person detected | [CameraPerson](https://developers.google.com/nest/device-access/traits/device/camera-person#events) | `person_detected` | -| Sound detected | [CameraSound](https://developers.google.com/nest/device-access/traits/device/camera-sound#events) | `sound_detected` | -| Doorbell pressed | [DoorbellChime](https://developers.google.com/nest/device-access/traits/device/doorbell-chime#events) | `doorbell_chime` | - ## Example This automation will trigger when a `nest_event` event type with a type of `camera_motion` is received from the specified `device_id`. @@ -410,11 +390,9 @@ The action in this section uses the [Android Companion App](https://companion.ho ## Media Source -The Nest [Media Source](/integrations/media-source) platform allows you to browse clips for recent camera events. Home Assistant is not intended to be a Network Video Recorder (NVR) platform, however, basic support for capturing recent events is supported. +The Nest [Media Source](/integrations/media_source) platform allows you to browse clips for recent camera events. Home Assistant is not intended to be a Network Video Recorder (NVR) platform, however, basic support for capturing recent events is supported. -See [Device Access: Supported Devices](https://developers.google.com/nest/device-access/supported-devices) for details on Image Support for various devices in the API. Not all cameras support event snapshots, and the Nest Doorbell battery camera supports 10-frame video clips for events. - -The Nest media source only displays the most recent event for each camera at the moment. +The table above describes which devices support event image snapshots or 10-frame mp4 video clips for recent events. ## Manual Pub/Sub subscription