[RELEASE] Ring Alarm Range Extender Gen2 driver

A few interesting things there:

  • It says you have hardware version 3. This is the first I've seen anything other than version 1. Further, I unable to find a Z-Wave certification for version 2, let alone version 3. Given that the firmware version (1.11) matches that of hardware version 1, and that there appears to be no certification for version 2/3, the reported hardware version could simply be an error. Discomforting either way... unless of course you are a beta tester for Ring. :slight_smile:
  • I see an "initialized" State Variable in the device state. This indicates that the driver was not installed at the point of inclusion, and the stock driver initialized the device instead. While I am not aware of any specific issue arising from this, it's better to have the driver installed prior to inclusion.
  • I don't see a "powerLevel" state. This indicates a significant issue. This state should be populated any time a refresh occurs with my driver. That there is no powerLevel would imply that the device was switched from the stock driver to my driver, but neither Initialize not Refresh have been run since the switch.

I would recommend that you exclude the device, perform a factory reset [Using a paperclip or similar object, insert it into the pinhole, press and hold the button down for 10 seconds], and then re-include the device using classic inclusion without security [Press and hold the button on the front of the device for ~3 seconds].

When you do the inclusion, it would be very kind of you to post the debug log entries for the device that will be automatically produced. I would like to have a look at the device reporting to examine the hardware and firmware version information. Thanks.

NB: Instructions above in [brackets] come from the Z-Wave technical manual for the Ring 2nd gen extender available here.

1 Like

Your driver was not installed when I paired the unit. Installed it after the fact and have done several refresh's and Initialize's since.

Refresh works fine as far as giving me whether it is on battery or mains.

I will have to wait till tomorrow to try the exclusion, etc.

Was able to go ahead and do the re-pair. Here is the data.

dev:30622023-09-26 02:51:01.809 PMdebugConfigurationReport: ConfigurationReport(parameterNumber: 1, size: 1, configurationValue: [70], scaledConfigurationValue: 70)

dev:30622023-09-26 02:51:01.805 PMdebugparse: zw device: 72, command: 7006, payload: 01 01 46 , isMulticast: false

dev:30622023-09-26 02:51:01.425 PMdebugManufacturer Specific Report: DeviceSpecificReport(deviceIdType:1, deviceIdDataFormat:0, deviceIdDataLengthIndicator:16, deviceIdData:[71, 55, 81, 49, 68, 48, 48, 51, 49, 52, 53, 55, 48, 55, 84, 78])

dev:30622023-09-26 02:51:01.418 PMdebugparse: zw device: 72, command: 7207, payload: 01 10 47 37 51 31 44 30 30 33 31 34 35 37 30 37 54 4E , isMulticast: false

dev:30622023-09-26 02:51:01.233 PMdebugVersionReport: VersionReport(zWaveLibraryType:3, zWaveProtocolVersion:7, zWaveProtocolSubVersion:12, firmware0Version:1, firmware0SubVersion:11, hardwareVersion:3, firmwareTargets:0, targetVersions:[])

dev:30622023-09-26 02:51:01.188 PMdebugparse: zw device: 72, command: 8612, payload: 03 07 0C 01 0B 03 00 , isMulticast: false

dev:30622023-09-26 02:51:01.138 PMdebugConfigure

dev:30622023-09-26 02:51:00.548 PMdebugConfigurationReport: ConfigurationReport(parameterNumber: 1, size: 1, configurationValue: [70], scaledConfigurationValue: 70)

dev:30622023-09-26 02:51:00.544 PMdebugparse: zw device: 72, command: 7006, payload: 01 01 46 , isMulticast: false

dev:30622023-09-26 02:51:00.354 PMdebugPowerLevelTestNodeReport: PowerlevelTestNodeReport(statusOfOperation:0, testFrameCount:0, testNodeid:0)

dev:30622023-09-26 02:51:00.342 PMdebugparse: zw device: 72, command: 7306, payload: 00 00 00 00 , isMulticast: false

dev:30622023-09-26 02:51:00.158 PMinfoTransmit power level is normal

dev:30622023-09-26 02:51:00.154 PMdebugPowerLevelReport: PowerlevelReport(powerLevel:0, timeout:0)

dev:30622023-09-26 02:51:00.142 PMdebugparse: zw device: 72, command: 7303, payload: 00 00 , isMulticast: false

dev:30622023-09-26 02:50:59.952 PMinfoBattery is 100%

dev:30622023-09-26 02:50:59.948 PMdebugBatteryReport: BatteryReport(batteryLevel:100, chargingStatus:2, rechargeable:true, backupBattery:true, overheating:false, lowFluid:false, replaceRecharge:0, disconnected:false)

dev:30622023-09-26 02:50:59.943 PMdebugparse: zw device: 72, command: 8003, payload: 64 B0 00 , isMulticast: false

dev:30622023-09-26 02:50:59.749 PMinfoOn mains

dev:30622023-09-26 02:50:59.745 PMdebugNotificationReport: NotificationReport(v1AlarmType: 0, v1AlarmLevel: 0, notificationStatus: 255, notificationType: 8, event: 3, sequence: false, eventParametersLength: 0, eventParameter: [], sequenceNumber: 0)

dev:30622023-09-26 02:50:59.742 PMdebugparse: zw device: 72, command: 7105, payload: 00 00 00 FF 08 03 00 , isMulticast: false

dev:30622023-09-26 02:50:59.546 PMdebugNotificationReport: NotificationReport(v1AlarmType: 0, v1AlarmLevel: 0, notificationStatus: 255, notificationType: 8, event: 0, sequence: false, eventParametersLength: 1, eventParameter: [2], sequenceNumber: 0)

dev:30622023-09-26 02:50:59.539 PMdebugparse: zw device: 72, command: 7105, payload: 00 00 00 FF 08 00 01 02 , isMulticast: false

dev:30622023-09-26 02:50:59.488 PMdebugRefresh

dev:30622023-09-26 02:50:58.455 PMdebugInitialize

1 Like

Thank you. It does appear to be identifying itself as hardware version 3. I'm curious about that to say the least. Where did you buy it, and how long ago?

Setting that aside, everything else looks normal. I see that it responded with a power level report, which seemed to be missing previously.

Please unplug and see if it reports mains->battery immediately. If it does, that's good and problem solved. Functioning as expected.

If it doesn't report immediately, could you please try the unplug test with debug logging enabled and let me know if it produces any log messages. Thank you again.

1 Like

It works as intended now.

Bought it last week from Amazon.

2 Likes

Fantastic. Thank you for all your help.

Now I don't need to buy a new one for testing. :slight_smile:

1 Like

I noticed in my logs today it said 'Software Reset'. What does that mean?

That's one of the "System Software Failure" conditions reported by the Ring. The Ring manual (linked above) says "Software Reset (Not triggered by failure)". The other System Software Failures are "Watchdog", "Software Fault (Ring)" and "Software Fault (SDK)".

Unfortunately, they don't provide any more detail. However, that the notification is in the System Software Failure class says that something went wrong and required a restart of the device.

My interpretations of the failures are as follows:

  • Watchdog: Pretty straightforward -- the device hung.
  • Software Fault (Ring): Something in Ring's code generated a hard fault. A hard fault is something like an illegal processor instruction or attempting to access memory that doesn't exist.
  • Software Fault (SDK): Something in the SDK (SiLabs' code) generated a hard fault.
  • Software Reset: Everything else. Something unexpected happened, but we don't know what it is or how it happened. When you see something like this in code, there is usually a comment on the previous line that says "This should never happen..." :slight_smile:

Long story short, it's a firmware or hardware bug. I've not seen any firmware updates for the device, and the firmware on your hardware rev 3 is the same as the firmware on my hardware rev 1s (very surprising), so I assume that there are no firmware updates available. Ring support has not been responsive at all to generic Z-Wave use issues, so unless you have a Ring Alarm system there isn't much you can do there.

If the reset is happening regularly, I would return the device. If it happens very seldomly, and the general features continue to function, you might keep it.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.