Google Nest Cam Outdoor with Floodlight

I’ve got Google Nest integration working with HA. I can access the camera feeds and even the doorbell seems to be working, very happy.

However, I can’t seem to add the floodlight feature of Nest Cam Outdoor to HA at all. It’s not showing up anywhere. I’ve got the Nest Cam Outdoor camera feed, but nothing else.

Can anyone help?

anyone? I have the same issue

I don’t think the floodlight can be added to HA through the Nest integration. The documentation from Google does not show the light as being accessible to developers.

I ended up getting the floodlight in HA by installing a Z-Wave smart switch, that’s set to always power the floodlight/camera. Then, use a Google Home automation to sync the status with HA. I can now control the floodlight with the physical switch or through HA automations. Note: I don’t sync brightness level, just on/off.

I think I’ve solved this issue in as elegant a way as is possible given the ridiculous restrictions put in place by Google.

Prerequisites:

  • Home Assistant Cloud (or another way to expose your devices to Google Assistant)
  • You need to be in the Google Home Public Preview (for some reason, on/off doesn’t show as an available starter for my HA lights in the Google Home app)
  • You need to be comfortable with editing the YAML configurations

Overview

  1. Create an Input Number and Input Boolean helper
  2. Create a template light switch using those helpers as data sources
  3. Expose the template switch to Google Assistant
  4. Create a special purpose ‘room’ and assign the template switch to it
  5. Create a syncing script in the Google Home on the Web portal

You can of course skip creating the template switch and use any dimmer switch in HA to sync the floodlight to.

I’m still trying to figure out the brightness component, I’ll update this post when I do.

Sample template light switch:

light:
 - platform: template
   lights:
     floodlight:
       friendly_name: "Floodlight"
       unique_id: "template-floodlight-01252025"
       level_template: "{{ states('input_number.floodlight_brightness')|int }}"
       value_template: "{% if is_state('input_boolean.floodlight_on_off', 'on') %}on{% else %}off{% endif %}"
       turn_on:
         service: input_boolean.turn_on
         target:
           entity_id: input_boolean.floodlight_on_off
         data: {}
       turn_off:
         service: input_boolean.turn_off
         target:
           entity_id: input_boolean.floodlight_on_off
         data: {}
       set_level:
         service: input_number.set_value
         data: 
           value: "{{ brightness }}"
           entity_id: input_number.floodlight_brightness

Sample Google Home automation:

metadata:
  name: GH<->HA Floodlight sync
  description: Synchronizes HA and GH floodlight entities' on/off states

# 'Floodlight - Backyard' is the real Nest Cam with Floodlight, 'Floodlight - Routine Device' is the template switch from Home Assistant

automations:
  #From GH
  - starters:
      - type: device.state.OnOff
        device: Floodlight - Backyard
        state: on
        is: false
    condition:
      type: device.state.OnOff
      device: Floodlight - Routine Devices
      state: on
      is: true
    actions:
      - type: device.command.OnOff
        devices: Floodlight - Routine Devices
        on: false
  - starters:
      - type: device.state.OnOff
        device: Floodlight - Backyard
        state: on
        is: true
    condition:
      type: device.state.OnOff
      device: Floodlight - Routine Devices
      state: on
      is: false
    actions:
      - type: device.command.OnOff
        devices: Floodlight - Routine Devices
        on: true
    # From HA
  - starters:
      - type: device.state.OnOff
        device: Floodlight - Routine Devices
        state: on
        is: false
    condition:
      type: device.state.OnOff
      device: Floodlight - Backyard
      state: on
      is: true
    actions:
      - type: device.command.OnOff
        devices: Floodlight - Backyard
        on: false
  - starters:
      - type: device.state.OnOff
        device: Floodlight - Routine Devices
        state: on
        is: true
    condition:
      type: device.state.OnOff
      device: Floodlight - Backyard
      state: on
      is: false
    actions:
      - type: device.command.OnOff
        devices: Floodlight - Backyard
        on: true
1 Like

I faced the same problem, this solution worked for me with the note that there is a noticeable time delay for the Google Home Automation to trigger and synchronize the states (a minute or more sometimes, but usually just 10-15 seconds).

I tried to get brightness working but it doesn’t seem feasible due to limitations in Google Home Automation as well as how Google exposes the floodlight with camera to developers, the lighting controls simply aren’t in the API so you have to use Google Home Automation to pass state data. However, Google Home Automation offers no mechanism to store or use the brightness value of one light in another one or to use any kind of dynamic values in automation.

One possible solution would be to setup 100 rules (1 for each brightness level), I can’t say how well Google Home Automation would handle this, it also seems like a recipe for synchronization issues as dozens of rules trigger every time you use the brightness slider