Any way to expose the actual status of a device in Ring Integration?

I just installed a doorbell and I discovered that Ring doesn’t notify me if the device is offline for whatever reason. I then added the Ring Integration in HA in order to try to automate a notification if the device is offline, but the integration doesn’t expose the device status. Downloading the diagnostic json I can see that the status is actually available under health data, there are a few good candidates that switch when the device is offline (“connection”, “connected”, “uptime”, “status time”).

Is there any way to get that data into an automation? Or should I make a feature request? Or try to work out a PR.

Thanks!

1 Like

@quaqo did you get anywhere with this? it’s becoming the bane of my life at the minute

what causes your ring to go offline? battery?
mine doesn’t go offline hardly at all, so i can’t give you a definitive answer… but since no one else has for months, i’ll suggest to you that perhaps try instaling the ring2mqtt integration. this exposes a whole host of sensors, and i do have a set of sensors that report unavailable from one that i removed, so i’m guessing it’d report unavailable for you if it falls off too, but not sure how “real time” it is… or how real time you need.

Kind of. I’m currently away from home, so I’ll post a more detailed answer in the next days. I can say ATM that I noticed that some sensors exposed to HA by the integration can become “unavailable” if the device is offline, and I’m basing the automation on that and seems to work ok 'till now.

Battery is a primary concern for me, but also WiFi signal (or jamming).

Battery notification may go unnoticed in the family, or in one case the battery just failed so they didn’t report anything at all (abrupt loss of power). It was on a rarely activated camera so I didn’t notice for a few days.

great. seeing those extra sensors go unavailable is exactly what i’d do… for the battery, one of the things i used to do before getting it hardwired was to look at the main sensor which has batterylevel and batterylife as attributes. and trigger an email daily when they were too low.

there’;s also a wifi signal strength attribute on the sensor._info entity for your wifi case.

In the events I described unfortunately you can’t rely on what the device is currently reporting.

Battery failure and power loss doesn’t yeld any notification by Ring, that’s why I came up with a HA solution.

Also WiFi jamming or just interference relies on WiFi to report its status, so sudden loss of network doesn’t yeld any data.

That’s why I must assume the worst (also given the availability of other devices / sensors) and send notifications, or automate certain actions.

right… ring is not alerting on those. however home assistant can be configured to do so.

Just to update. It seems I was wrong, or an update (either on Ring’s part or HA) changed it. When the device is offline the last status continues to be reported by HA, unless the integration is restarted (last_updated and last_changed are also not of help here). So there’s no way to way to know without invoking an external script atm.

Yeah, when you restart the integration, the sensors initially say “unknown” but after a while, it shows the last status again. Even the wifi signal and battery say the cameras are up.
I’m thinking the current logic is to check every day at a specific time to see if the last status update is over a day, then raise an alert.
It’s not perfect but at least it takes a day to find out that the Ring cameras are off rather than a few days.
But I wonder why the Wifi is still showing a signal strength when it’s off and the battery is still showing off 100% when the power is off?

I ended up creating an automation to check every hour:

{% set sensor_time = states('sensor.my_front_lawn_last_activity') %}
{% if sensor_time != 'unknown' and sensor_time != None %}
  {% set sensor_datetime = as_datetime(sensor_time) %}
  {% set elapsed = (now() - sensor_datetime).total_seconds() / 3600 %}
  {{ elapsed > 8 }}
{% else %}
  false
{% endif %}

If last activity was more than 8 hours ago, then it sends me a notification to check the cameras.
It’s not ideal but at least I get notified in 8 hours of a potential problem instead of not knowing about the problem for 2 days.