Ring Floodlight Cam - Turn Floodlight on and off

Hi guys, I’m new to Home Assistant and just getting my setup done. One of the biggest things I’d like to have though is for my Ring Floodlight cams to be able to have the lights turned on and off via Home Assistant. From some searching here, in discord, and on google, it doesn’t appear that anyone is currently working on this functionality, so I was hoping to build it myself. I found a groovy example of how someone accomplished it on SmartThings, and am currently looking through the Home Assistant code for how switches are programmed in HA. Is anyone with more experience in HA interested in working on this with me? Or even just willing to answer questions as I make my way through it? I think this should be really easy if I could just understand the HA structure a little better. Thanks in advance! and here is the link to the article I’ll be using to build the functionality: https://philipnye.com/2017/12/29/control-your-ring-spotlight-with-alexa-with-smart-things/

So it looks like the PyPI library used for the Ring stuff already has code for turning on the lights. so I shouldn’t even need the groovy script I found. I think I just need to add a ring.py file to either “light” or “switch” and loop through the ring items like they do in the “camera” ring.py and add them.

Not at home to try this right now, but just wanted to post an update. I assume someone else has the ring floodlights or spotlights too and will be interested in this thread. I’ll continue to report back as I make progress.

Also have a couple of Flood Light Cams and would love to see this happen. Looking forward to an update on your progress.

I got it all working for the lights. Going to clean it up and submit a Pull Request this weekend, hopefully. I’d also really like to get a ‘Switch’ integration setup in home assistant for the siren on the floodlight cams. That way when my security alarm goes off, outside sirens go as well as the inside one built into my old security system.

I’m realizing though that the ring cams (and nest, for that matter) are not great for HA, since it’ll only show images of the last motion, not current views. But it would be nice if we could have the image of the last motion, then when you tap the camera view on HA, it opens the Live View. Not sure thats possible, since they don’t even allow it through the ring website from what I can see, but I’m going to see if I can sniff the packets and try some stuff. fingers crossed…

Do you have a Ring Alarm, too?
If so, I found this on Git-Hub. If you can translate the Smart Things for the Ring Flood light, is the alarm much different? Sorry I’m not technical, but looking for somebody who is!

Hey did you get this done, I would like to give it a go just picked up the ring flood light.

Would love to know if this pull request took place as well! been waiting ages to be able to control the lights and add automations based on the motion sensor!

Have you had a chance to clean this up? I too am very interested in controlling my Ring Floodlights via Home Assistant. Especially since Ring doesn’t have any native dusk/dawn settings for scheduling the lights to turn off/on. This seems like a rather simple task for Home Assistant if only it could control the light operation.

Sorry all for the delay. I looked into upstreaming it, but it appears that’s more work than I’m able to invest in this project right now. Here is a link to the .py file. You can just drop this in “config/custom_components/light/”. I’ve been using it like this since November 1 with no issues.

1 Like

Wow that’s great, thanks for uploading. Does this allow for controlling the lights and siren or just the lights? Like you it’s mainly the siren for the alarm I’m using it for. I’m going to try it when I get home.

You should be easily able to modify this .py file and make it detect sirens and add them as switches.

Should the floodlight appear as a switch or light in HA when the ring.py file is placed in the “config/custom_components/light/” directory and restarting HA?

It should show in lights I believe. You do need to add an entry to your config for:

Ring:
Username:
Password:
Light:
Platform: ring

1 Like

It works perfectly! Thank you!

Awesome thank you!!!

THis works perfectly and was my first HA integration so thank you very much for this!

I did notice one error in the logs which i think may be caused be the newest HA update. “Integrations need to be in their own folder. Change light/ring.py to ring/light.py. This will stop working soon.” Can I simply reverse this like the log says or do i need to modify something in the python as well? Wouldn’t this also cause a conflict with the main “RING” integration?

I haven’t updated my HA, so I can’t directly test this for you, but my understanding is that it wouldn’t interfere with the main ring integration because the main one (last I checked) doesn’t support lights? Unfortunately I haven’t kept up on the changes to HA, so I’m not sure how or why they are changing the naming structure. But it does seem that renaming the items as mentioned in the log would be all you need to do.

If for some reason it interferes with the base ring integration, you could probably just rename the integration to something like “ringLight” or “ringCustom” to avoid the conflict. The only conflict I could possibly see is a namespace issue in config, so renaming it like this would fix the issue for you. But I’d definitely save this for last. Try just reversing the order as the error suggests first.

1 Like

I have this setup correctly and made the changes suggested in the log with the most recent version and it works when I go into HA to turn on or off the light. I can then go into the Ring app and see that it has turned it on/off. However, when you manually turn on the floodlight inside of the Ring App or if motion is detected and it comes on, it is still listed as being turned off in HA. Any suggestions?

So i just upgraded to the new HA version and it totally stopped working.

My configuration yaml looks like this:
# ring integration
ring:
username: !secret ring_username
password: !secret ring_password

# ring floodlight
light:
  - platform: ring

If i change the folder / file to ring and light.py it gives an error saying that “Ring” does not support “light”

If i try renaming the folder to ringlight then check config i get this error “Component not found: ringlight”. There must be something no longer detecting it as a custom component i guess? Any help would be appreciated. This was working so well!

Based on what I understand, in .89 and newer, custom components are required to override the entire component (all ring devices), not just a single platform of a component (only lights for Ring).

My super hackish fix for this was to drop the ring.py custom component into the main home assistant component directory, which in my case was /srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/light

Probably the better thing to do would be to copy all of the ring.py files from the home assistant platforms to custom_component directory but I was too lazy!