Part of Home Assistant Ultimate Guide
Nest Cameras + Home Assistant
Cloud-based camera integration via Google SDM API
Complex Setup, Limited Features
Nest camera integration requires a Google Cloud project, Device Access Console registration ($5 fee), Pub/Sub configuration, and OAuth setup. After all that work, you get 720p streams and event clips only. For new camera purchases, we strongly recommend Reolink or UniFi Protect instead.
Quick Summary
- ! Cloud required: All data flows through Google's servers
- ! Setup cost: One-time $5 fee for Device Access Console
- ✗ Resolution: Capped at 720p regardless of camera hardware
- ✗ Continuous recording: Not available through HA (event clips only)
1. Supported Cameras
All current-generation Google Nest cameras and doorbells work through the SDM (Smart Device Management) API:
Indoor Cameras
- Nest Cam (indoor, wired): Motion and person detection events, live stream, battery N/A
- Nest Cam (indoor, battery): Same as wired plus battery level sensor
Outdoor Cameras
- Nest Cam (outdoor, wired): Motion, person, and vehicle detection events, live stream
- Nest Cam (outdoor, battery): Same as wired plus battery level sensor. Note: battery cameras only stream for limited periods to preserve battery.
- Nest Cam with Floodlight: Camera events plus floodlight entity (on/off)
Doorbells
- Nest Doorbell (wired, 2nd gen): Motion, person, and doorbell press events, live stream
- Nest Doorbell (battery): Same events plus battery sensor. Limited streaming duration.
Legacy devices not supported: Original Nest Cam (pre-Google), Dropcam, and Nest Cam IQ use the deprecated Works with Nest API and are NOT compatible with the current Home Assistant Nest integration. There is no migration path for these older devices.
2. Prerequisites
The Nest camera setup is the most complex of any Home Assistant integration. You'll need:
- Google account linked to your Nest devices in the Google Home app
- Google Cloud account (free tier is sufficient)
- $5 one-time fee for Google Device Access Console registration
- Home Assistant accessible via HTTPS (required for OAuth callback)
Already set up Nest Thermostat? If you've already configured the Nest integration for a thermostat using our Nest Thermostat guide, your cameras should appear automatically. The same SDM project, OAuth credentials, and Pub/Sub subscription handle all Nest devices. You can skip directly to verifying your camera entities.
3. Integration Setup
This setup involves three platforms: Google Cloud Console, Google Device Access Console, and Home Assistant. Allow 20-30 minutes for the full process.
Step 1: Create a Google Cloud Project
- Go to Google Cloud Console
- Create a new project (name it something like "Home Assistant")
- Enable the Smart Device Management API
- Enable the Cloud Pub/Sub API
Step 2: Configure OAuth Consent Screen
- Go to APIs & Services → OAuth consent screen
- Select External user type
- Fill in the required fields (app name, support email)
- Add the scope:
https://www.googleapis.com/auth/sdm.service - Add your Google account as a test user
Step 3: Create OAuth Credentials
- Go to APIs & Services → Credentials
- Create an OAuth 2.0 Client ID (Web application)
- Add authorized redirect URI:
https://my.home-assistant.io/redirect/oauth - Note down the Client ID and Client Secret
Step 4: Register with Device Access Console
- Go to Device Access Console
- Pay the one-time $5 registration fee
- Create a new project
- Enter your OAuth Client ID from Step 3
- Enable events (Pub/Sub) and note the Project ID
Step 5: Set Up Pub/Sub
Pub/Sub delivers real-time events (motion, person, doorbell press) to Home Assistant:
- In Google Cloud Console, go to Pub/Sub → Subscriptions
- The Device Access Console should have created a topic automatically
- Create a pull subscription linked to that topic
- Note the subscription ID
Pub/Sub API change (January 2025): Google changed how Pub/Sub event delivery works for the Nest SDM API. If you set up this integration before January 2025 and events stopped working, you may need to recreate your Pub/Sub subscription. Check the official HA Nest docs for the latest configuration guidance.
Step 6: Add to Home Assistant
- Go to Settings → Devices & Services
- Click + Add Integration → Nest
- Enter your Device Access Project ID
- Follow the OAuth flow to authorize with your Google account
- Select which Nest devices to include
4. Available Entities
After successful setup, each camera creates the following entities:
Camera Entities
- Live stream: 720p video feed viewable in HA dashboards
- Event image: Snapshot from the most recent event (motion, person, etc.)
Event Entities
- Motion: Fires when any motion is detected in the camera's field of view
- Person: Fires when a person is specifically identified (uses Google's on-device ML)
- Sound: Fires on significant sound events (indoor cameras)
- Doorbell press: Fires when someone presses the doorbell button (doorbell models only)
Sensor Entities
- Battery level: Current charge percentage (battery models only)
What You Won't Get
- Full-resolution streams (capped at 720p)
- Two-way audio (not supported through SDM API)
- Continuous recording to local storage
- Familiar face identification (Nest Aware feature, not exposed via API)
- Activity zones (configured in Google Home app, but events in HA are not zone-filtered)
5. Limitations
Resolution Cap
Google's SDM API caps camera streams at 720p. Your Nest camera may record at 1080p or higher to Google's cloud, but Home Assistant only receives the downscaled stream. This is a deliberate API limitation, not a bug.
Event Clips Only
Home Assistant receives 5-minute event clips triggered by motion, person, or sound detection. There is no way to access continuous video recording through the SDM API. For 24/7 recording, you must use Nest Aware through the Google Home app.
Cloud Dependency
Every aspect of the integration depends on Google's cloud infrastructure:
- OAuth tokens must be refreshed periodically
- Camera streams are proxied through Google's servers
- Events arrive via Google Pub/Sub
- If Google's services are down, you lose all camera access through HA
Battery Camera Limitations
Battery-powered Nest cameras and doorbells have additional restrictions. Live streams are limited to a few minutes at a time to preserve battery. Frequent streaming through HA dashboards will significantly reduce battery life. The camera may take 10-30 seconds to "wake up" for a live stream request.
6. Automation Ideas
Person Detected at Front Door
automation:
- alias: "Front door person alert"
trigger:
- platform: state
entity_id: event.front_door_camera_person
action:
- service: notify.mobile_app
data:
title: "Front Door"
message: "Person detected at the front door"
data:
image: /api/camera_proxy/camera.front_door_event_image Doorbell Press Notification with Snapshot
automation:
- alias: "Doorbell notification"
trigger:
- platform: state
entity_id: event.front_doorbell_chime
action:
- service: notify.mobile_app
data:
title: "Doorbell"
message: "Someone is at the front door"
data:
image: /api/camera_proxy/camera.front_doorbell_event_image
- service: light.turn_on
target:
entity_id: light.porch_lights Turn on Lights When Outdoor Motion Detected at Night
automation:
- alias: "Outdoor camera motion lights"
trigger:
- platform: state
entity_id: event.backyard_camera_motion
condition:
- condition: sun
after: sunset
before: sunrise
action:
- service: light.turn_on
target:
entity_id: light.backyard_flood
data:
brightness_pct: 100
- delay: "00:05:00"
- service: light.turn_off
target:
entity_id: light.backyard_flood Battery Low Alert
automation:
- alias: "Nest camera low battery"
trigger:
- platform: numeric_state
entity_id: sensor.outdoor_camera_battery
below: 20
action:
- service: notify.mobile_app
data:
title: "Camera Battery"
message: "Outdoor Nest camera battery at {{ states('sensor.outdoor_camera_battery') }} %" 7. Better Alternatives
For Home Assistant users, locally-controlled cameras provide a dramatically better experience:
| Feature | Nest (SDM API) | Reolink | UniFi Protect |
|---|---|---|---|
| Local control | No | Full | Full |
| Resolution in HA | 720p max | Up to 4K | Up to 4K |
| Continuous recording | No (events only) | Local NVR/SD | Local NVR |
| Two-way audio | No | Yes | Yes |
| Subscription | Nest Aware for full features | None | None |
| Setup complexity | High (Google Cloud + OAuth + Pub/Sub) | Low (auto-discovered) | Medium (requires NVR) |
If you already own Nest cameras and want them in Home Assistant, this guide gets you there. But for new purchases, the effort-to-reward ratio heavily favors local camera systems. See our Local vs Cloud Cameras comparison for a detailed breakdown.
8. Troubleshooting
OAuth Authorization Failed
- Verify the redirect URI in Google Cloud Console matches exactly:
https://my.home-assistant.io/redirect/oauth - Ensure your Google account is added as a test user in the OAuth consent screen (app is in testing mode)
- Check that the SDM API is enabled in your Google Cloud project
Camera Events Not Arriving
- Verify Pub/Sub subscription is active in Google Cloud Console
- Check that the Pub/Sub topic matches your Device Access project
- If events stopped after January 2025, recreate the Pub/Sub subscription per the updated API requirements
- Check Home Assistant logs for Pub/Sub connection errors
Live Stream Not Loading
- Camera streams expire after a timeout period. Refresh the dashboard to generate a new stream URL.
- Battery cameras may need to "wake up" (10-30 seconds)
- Check that your Home Assistant instance has outbound internet access to Google's media servers
Devices Not Appearing After Setup
- Make sure your Nest devices are linked to the same Google account you authorized
- Devices must be set up in the Google Home app (not the legacy Nest app)
- Try removing and re-adding the integration
9. Sources
This guide was compiled from official documentation:
- Home Assistant Nest Integration (official docs)
- Google Device Access API
Last verified: 2026-03-20 against Home Assistant 2026.1. If you find outdated information, let us know.
Frequently Asked Questions
Do I need Nest Aware for Home Assistant integration?
No, Nest Aware is not required for the Home Assistant integration. You can view live camera streams, receive motion/person/sound events, and monitor battery levels without any subscription. However, Nest Aware is still required for 24/7 continuous video history, familiar face detection, and extended event clip storage. Home Assistant only receives 5-minute event clips from the SDM API regardless of your subscription status.
What is the maximum camera resolution through Home Assistant?
The Nest SDM API streams video at a maximum of 1280x720 (720p) through Home Assistant, even if your camera supports 1080p or higher natively. This is a limitation of Google's Device Access API, not Home Assistant. For full-resolution viewing, you'll need to use the Google Home app. This resolution cap applies to both live streams and event clips.
Can I do continuous recording with Nest cameras through Home Assistant?
No. The Nest SDM API only provides event-based clips (up to 5 minutes when motion, person, or sound is detected). Continuous 24/7 recording is only available through Google's Nest Aware subscription and their cloud infrastructure. If you need continuous local recording, consider cameras that support RTSP streaming like Reolink or UniFi Protect.
Do Google Workspace accounts work with the Nest integration?
Google Workspace (formerly G Suite) accounts have historically had issues with the Nest SDM integration. The Device Access Console and Pub/Sub setup require specific permissions that Workspace admins may need to enable. We recommend using a personal Google account for the Nest integration to avoid these complications.
Is Reolink or UniFi better than Nest for Home Assistant?
For Home Assistant users, both Reolink and UniFi Protect offer a significantly better experience than Nest cameras. They provide full-resolution local streams, continuous recording to local storage, two-way audio through HA, no subscription costs, and no cloud dependency. Reolink offers the best value (cameras from $40-120), while UniFi Protect provides the most polished professional-grade system. Nest cameras are best left for Google Home ecosystems, not Home Assistant.
Want cameras with full local control?
We install Reolink, UniFi Protect, and other locally-controlled camera systems throughout Oklahoma. No subscriptions, full resolution, two-way audio.
Related Guides
Nest Thermostat + Home Assistant
Same SDM API setup, covers thermostat-specific entities
Reolink + Home Assistant
Full local camera control with no subscription
UniFi Protect + Home Assistant
Professional-grade local cameras and doorbells
Local vs Cloud Cameras
Ring vs UniFi vs Reolink vs Wyze comparison