[Re-release] Hubitat Ring Integration (Unofficial)

Thanks @SoundersDude, I went back many steps and started fresh.

  1. Sign out or Ring, delete all the devices, deleted the Ring Integration App.
  2. Restarted HE
  3. Reinstalled Ring Integration App through Package Manager
    a. Enabled all logging options
  4. SIgned in
  5. Discover Devices

Same result as before, it does through installing everything successfully, then gives errorjava.lang.NullPointerException: Cannot get property 'name' on null object on line 748 (method parse), at which point it stops trying to include anything.

If I do a create devices or refresh on the Ring API Virtual Device, it goes straight to throwing that same error.

If I do an initialize on the Ring API Virtual Device, it lists 4 contact sensors and the flood-freeze sensor as "Couldn't find device NAME of type sensor.contact or sensor.flood-freeze with zid ZID.

There are also some unsupported switches, but I don't care about those as I am changing them anyway.

Line 748 from Ring API Virtual Device reads
746 if (!d) {
747 //devices that have drivers that store in devices
748 log.warn "Creating a ${DEVICE_TYPES[deviceInfo.deviceType].name} (${deviceInfo.deviceType}) with dni: ${getFormattedDNI(deviceInfo.zid)}"
try {

Comparing the trace logging for a sensor that connects and one that doesn' tthere is no difference except the serial and the zid, which seems to be what it should do.

FWIW, I too am having these same problems. Yesterday I finally started adding some of the contact sensors. I have 12 added in Ring (about 12 more to add in next few days). HE is only finding 5. I also only have 1 Range Extender of the 2 discovered.

I am receiving the same line 748 null name error as well.

Thank you both.
So in the code right before that error, you should see information about the device that is triggering that exception through the tracelog

See: Lines 724-726

 def createDevice(deviceInfo) {
  logDebug "createDevice(deviceInfo)"
  logTrace "deviceInfo: ${deviceInfo}"

Are you seeing anything interesting or unique between the contact sensors that work v.s. the ones that are throwing an error?

An alternative could be to just comment out that logTrace e.g.

//devices that have drivers that store in devices
//log.warn "Creating a ${DEVICE_TYPES[deviceInfo.deviceType].name} (${deviceInfo.deviceType}) with dni: ${getFormattedDNI(deviceInfo.zid)}"

And see if that results in a better error further down in the try{ logic for us to debug.

Comparing the trace log between sensors that load and don't load reveal no differences except the SN and ZID, as would be expected.

Commenting 748 leads to the following error:

java.lang.NullPointerException: Cannot get property 'name' on null object on line 767 (method parse)

I tried commenting this line, but then the driver code gives errors when trying to save.

Thank you.
Another stupid question. Are you seeing the "name" empty/null?
None of my contact sensors are empty, and have the names that are assigned to them in the Ring App (e.g. Front Door, Back Door, Window 1, etc.).

I've seen null for type: switch.multilevel.beams and group.light-group.beams but that is really all.

Maybe @morse.caleb or @knbanner have other ideas

No, It returns the name from Ring. Thanks for the help.

Thank you. Just DM'd you with 2 line code changes to check for this null state and print an error hoping that can help us narrow down the issue to get you up and running.

@SoundersDude , again I appreciate your help on this, and wish I would've seen your response sooner. I decided to just bruteforce and removed everything that was showing an error in Hubitat from my Ring App, then started adding them back in 1 at a time. Once I did this, the errors were resolved and the devices showed up as expected. So something in there was causing the error with the name parameter, and causing it to completely stop instead of trying the rest of the devices. Thanks again!

1 Like

No problem at all. Glad it is now working for you!

@morse.caleb

On Beta I'm seeing the following errors on few of my devices.

Ring Virtual Beams Bridge:

Ring Virtual Beams Motion Sensor:


On the Unofficial Ring Connect app, I always see this a lot

If I comment these lines out, it gets rid of it but doesn't appear to effect functionally:

 }
    else {
      log.warn "HTTP Exception received on ${type}"
      log.warn "method: $method with params $params"
      log.warn "exception: ${ex} cause: ${ex.getCause()}"
    }```

Not sure if you could look into removing this out or if there's a way to fix this so the Warning logs don't display but unless I comment this out, these warning display for me every time the hub gets the snapshots.

@dunckerp , two questions

  1. Are you still getting this:
    [error](http://192.168.4.50/device/edit/999)java.lang.NullPointerException: Cannot get property 'name' on null object on line 748 (method parse)
  2. Are you using a regular Ring Alarm or the new Pro Ring Alarm. I am on the Pro version.

@SoundersDude I am willing to work through some debugging. You sent some details to dunckerp, interested in trying with me?

I just removed all none connecting devices and started by re-adding my range extender (to hopefully build out the network. Immediately it starts warning as before:
[warn](http://192.168.4.50/device/edit/999)Couldn't find device HW Range Extender of type range-extender.zwave with zid df035865-9106-47f2-9b12-redacted

Hi All,

This is a super long thread with a lot of good work in it. I am considering a Hubitat, and one of my use cases would be triggering Lutron Radio RA lighting based on a Ring alarm being triggered. On a scale of 1-10, how well is this integration functioning for that?

How reliably does it work for triggering based on the state of a motion sensor or contact sensor?

Many thanks!!

You will need to have the right Lutron hub for the integration to work. I have Casseat with the Pro 2 hub and it works great. I understand others have the Radio RA.

Remember however that this is an unofficial integration and as such could stop functioning without warning, so there is an element of risk.

Device motion (contact or motion sensor paired with Ring Alarm) is part of the integration and works great.

Camera Motion can be shared from Ring to Hubitat either via IFTTT or via Amazon Echo. This last option requires a virtual device and setting up a routine, but is not too complex to setup - it is what I have done.

1 Like

Thanks for sharing. I'm still awaiting the verdict as to if RadioRA3 will be supported by Hubitat, though assuming somehow that will get worked out.

RA3 already supports motion from Ring doorbells, but not motion from security motion sensors or if the system goes into an alarm state. It sounds like this unofficial (also unpredictable) integration currently works well in those respects.

Thank you!

1 Like

Will shoot you a DM. For reference what @dunckerp did (from my understanding per the response above) was remove their items from the actual ring app, and re-added them one-by-one and they were picked up by this integration. There seems to be something odd when connecting a bunch at the same time.

It's much quicker than I would have guessed. I have Alexa announce when any of my doors are unlocked or opened and also when windows are opened or closed. It's really quick. I would say generally under two seconds. And that includes the amount of time it takes for the voice prompt to go through Amazon's cloud and back to my home.

2 Likes

I'm noticing a bunch of errors this morning in my logs, which may have been there for some time and i just saw them.

Callouts to 'Ring Virtual CO alarm' and 'Ring Virtual Smoke Alarm' and 'Ring Virtual Panic Button' drivers

I'm seeing calls to drivers that are different than what is listed here.

'Ring Virtual Alarm Smoke & CO Listener', i don't see a panic button driver.

I browsed through the instructions, reinstalled and installed the app again through HPM. Am i missing something that needs to be updated? Has something changed?

EDIT: After going back in history a bit, I did go to the github and installed the missing drivers. Waiting to see if that clears things up. But also noticed devices were not found.

I stopped getting the error after removing my devices from the ring app, then adding them back in one at a time. I removed all of the ones that were showing errors first, then added one at a time. When adding them back, initially it would give the couldn't find device error, then within a minute or two they added correctly after using "createdevices"

1 Like

yea, after i updated the drivers the devices showed up again in about 10 minutes. I'll close that ticket in my Queue....

Onto my next ring/inovelli notification attempt. :slight_smile:

1 Like