Ring Floodlight Cam - Turn Floodlight on and off

here is what I see. I also see the preview of the cameras on the main page.
I see all three of my camera’s but no light switch option.

Its okay.

bought smartthings hub. Ring flood lights work right out of the box. no extra setup needed. problem solved.

I’ve had this working for quite some time using the new custom_components. I don’t think a PR was ever made. It’s working in 92.1 for me.

@robpfis07, do you mind if I put a PR in to get this into Home Assistant officially?

I have not enabled the siren. Actually I’ve never set off my siren… bit afraid to. :slight_smile:

https://github.com/ryannazaretian/home-assistant/commit/b33571c3d46c9c70eaee0a390a8ba7dbd34c0895

No, I don’t mind at all! I just never had time to jump through the hoops to get it merged in. Got too busy. But I’d love to see it make it into the main home assistant stuff.

Hey all, I’m back…

So earlier in the thread @tsightler and @claytonjn helped me get my Ring Floodlight’s on/off light controls working within my Hassio on Pi setup.

As a refresher, I did this by:

  1. Adding light.py into config/custom_components/ring_light

  2. Adding the following to my configuration.yaml:

light:
  - platform: ring_light

It has indeed (mostly) worked since then—and still (mostly) does—through several Hassio updates.

However, when I say “(mostly) worked” above, there’s an oddity I’ve had since day 1, and continue to have today (below is a GIF, so it may take a moment to load on your end):

Hopefully the GIF above loaded for you and isn’t animated too quickly to follow along.

The problem you’ll see in the GIF goes like this:

  1. HA Floodlight Button = OFF (default state) AND Floodlight Physical Light = OFF (default state)

  2. HA Floodlight Button = ON (user toggled) AND Floodlight Physical Light = ON (light turns ON via HA Button user toggle)

  3. HA Floodlight Button = OFF (WITHOUT any user toggle—button state seemingly changes itself to OFF just moments later) AND Floodlight Physical Light = ON (light still ON via original HA Button user toggle)

  4. HA Floodlight Button = ON (user toggled) AND Floodlight Physical Light = ON (light still ON via original HA Button user toggle)

  5. HA Floodlight Button = OFF (user toggled) AND Floodlight Physical Light = OFF (light turns OFF via this LATEST HA Button user toggle)

  6. HA Floodlight Button = ON (WITHOUT any user toggle—button state seemingly changes itself to ON just moments later) AND Floodlight Physical Light = OFF (light still OFF via the LATEST HA Button user toggle from #5 directly above)

  7. HA Floodlight Button = OFF (user toggled) AND Floodlight Physical Light = OFF (still OFF via the LATEST HA Button user toggle from #5 above; essentially back to “default” state originally described in #1 above)

Note that while I’m using HomeKit/Home.app (where I have this on/off button forwarded via Home Assistant) in my GIF example above, the same exact issue/behavior occurs directly within Home Assistant when I toggle the Ring Floodlight on/of directly within HASS.

Any thoughts/ideas as to what’s happening here and/or how to fix it?

Thanks again for your time and help!

I could be wrong, but I don’t think there’s much that can be done about this because, unfortunately, the Ring API for controlling doorbells/cameras/lights is 100% polling based. This means that HA has to poll Ring servers at an interval to get device state and update the internal state machine. As written, the code polls every 10 seconds, although the Ring API can sometimes be quite sluggish responding as well.

So what happens, when you hit the button, the switch toggles and sends the command to Ring to turn on the light so that happens quite fast, however, the state machine still thinks the switch is off and will not be updated with it’s new state until the next polling interval so the visual effect is you see the switch toggle, and then quickly toggle back.

I see this exact behavior with the Tuya cloud component as well and it’s been described many times on other posts. Typically, if you wait at least the time of the polling interval (or, on average, about half the polling interval) then the switch should be updated to show the correct state.

Some vendors offer more realtime APIs, even Ring uses a websocket based API for their alarm sensors which lets me trigger events in near real time from alarm devices, but the API for doorbell/camera is still old school polling (their app works the same, it just fakes the status probably by updating the local state machine immediate or something until the next poll interval, but if you turn on the light with, for example, HA, while watching it in the Ring app, you will see it take seconds before the new status is reflected there, because of this very same polling.

Now, there may be some things that could be done, I don’t really know that much about how HA plugins work, perhaps you could force an immediate poll whenever button is pressed. Someone with more knowledge of the HA framework would have to answer that, I can just say I see this with other components as well and I just wait for the state updates.

@tsightler, that makes total sense.

I hadn’t realized that, but now I’m waiting on the HA button to let it restore itself to the correct state, and it’s indeed working.

Thanks for the tip!

By the way, just saw this on the Ring subreddit:

Link: https://www.reddit.com/r/Ring/comments/btaruz/update_ring_python_api_light_control_and_bug_fixes/

Wondering if that might be something we should all be looking into for updates?

This is a small program using the existing ring_doorbell API not an API in itself.

FYI, as of 0.97.0 some minor adjustments need to be made to get this to work. Is this in a repo anywhere that I can submit a PR?

Looks like they will be a standard component in 0.98:


1 Like

Does this Ring light platform require a Ring Bridge to be installed, or can it be controlled via Home Assistant directly without needing to authenticate with Ring’s cloud?

I believe that all operations need to go through Ring’s cloud. I have no idea what the Ring Bridge is, there’s nothing on Ring’s website about it that I can find. Perhaps you’re referring to the security base station?

This is the Ring Bridge I was referring to:

The Ring Bridge is for a completely different product set. This is purely for Floodlight Cams and Spotlight Cam products that don’t require a bridge to work.

1 Like

Following up on this… Did the ring floodlight camera lights ever officially become supported?

I just updated Home Assistant from 0.95 to 0.102.2 and am not seeing the light entities get registered.

The following are in my configuration.yaml file.

camera:
  - platform: arlo
  - platform: ring

...

light:
  - platform: ring

...

ring:
  username: !secret ring_username
  password: !secret ring_password

The logs seem to indicate that it’s setup properly

2019-12-01 12:29:44 [homeassistant.setup] Setup of domain ring took 10.8 seconds.
2019-12-01 12:29:44 [homeassistant.setup] Setup of domain cover took 10.2 seconds.
2019-12-01 12:29:44 [homeassistant.components.binary_sensor] Setting up binary_sensor.ring
2019-12-01 12:29:44 [homeassistant.components.sensor] Setting up sensor.ring
2019-12-01 12:29:44 [homeassistant.components.camera] Setting up camera.ring
2019-12-01 12:29:44 [homeassistant.components.light] Setting up light.ring

Once started up, I see the floodlight camera, binary_sensor, and sensor entities all show up in the device state list, but the light entity is not appearing.

Mine show up normally and can be turned off and on.

Check your “States” under Developer Tools, it should be named “light.device_name” where device_name is whatever you have it named in your Ring app. It should be called the same as your camera,

yea, like I mentioned, I see the floodlight camera, binary_sensor, and sensor entities in the device state list, but the light entity is not appearing.

The following entities are there:

  • binary_sensor.ring_side_door_motion
  • camera.side_door
  • sensor.ring_side_door_battery
  • sensor.ring_side_door_last_activity
  • sensor.ring_side_door_last_motion
  • sensor.ring_side_door_volume
  • sensor.ring_side_door_wifi_signal_category
  • sensor.ring_side_door_wifi_signal_strength

but no light components show up when i search for: ring, side, or door.

The light is functional, responding to motion, and able to be toggled from the ring app. but not from home assistant.

You haven’t broken your configuration.yaml up into separate files have you?
Otherwise, I don’t see anything wrong with the configuration. That’s basically what I have and I get lights for both of mine.

Derek, what version of HA are you running?

My configuration.yaml has been broken up into lots of files for at least a year and I’m running HA 0.102.2. The only thing I can think of is that I have a custom component for Lutron lights that may be interfering?

Here is my config: https://github.com/broox/home-assistant-config