Problem with Refresh Custom Action

@bravenel, itā€™s still broken in an odd and perhaps related way. No need to fix this weekend, obviously, itā€™s fine for it to stay broken until you get time next week to investigate. Apparently this has been broken for some time (at least 2.3.0.124), but I didnā€™t discover it until investigating the issue of this thread.

Issue: no refresh() custom actions for actuators can be edited or created for certain types of devices. Not sure the complete list of devices, but it at least includes Ring Alarm Extender Gen 2 devices. If you try to create a new custom action for an actuator capability of refresh, the range extender devices do not appear in the actuator list of devices (but other devices do appear).

I donā€™t know when precisely this issue appeared because my rules havenā€™t been edited in months. Itā€™s not a corrupt database because new rules can be created to refresh other types of devices, just not Ring Extenders Gen 2, which donā€™t appear in the actuator capability list. Iā€™ve got database backups for every firmware release back for a couple of years, but no way to load the older platform versions. I have tested 2.3.1.134, 2.3.1.133, 2.3.1.130, 2.3.0.124. All have the problem. Iā€™ve even tried soft resets before loading the backups. No earlier platform versions appear on the hub for installation, so I canā€™t go back further. None of the older endpoints (of which I am aware) (HubIP/hub/advanced/downloadxxx) for downloading older platform versions not on the hub seem to work - all give a 404 error.

Here is a screenshot of the start of my systemStart rule. Editing the first action will produce a Broken Action because the Ring Range Extenders do not appear in the Actuator capability list (but other devices do, including devices with refresh capability).

No big deal, I will just wait for it to get investigated and fixed.

Have a great weekend.

This is not related to the other topic where you posted it. That topic was specific to setting variables to device attributes.

Please show the right side of the device page for one of the Ring Range Extender devices, where it shows the device states. Also, what driver are these using?

I think I know what the problem is, and a fix is trivial. For the next hot fix... I'm assuming these devices have capability Refresh, correct?

One of mine:

So you can get to the refresh() command for this with the Actuator capability. I don't know why your action is broken, but why don't you delete it, and recreate it?

All that custom action is looking for is a capability with which it can pull up a list of devices. Once a device is selected, it presents its commands.

Works for me:

My apology, thanks for moving to a new topic.

Not sure what you want here, but here in successive screenshots is the full device page for one of the 6 devices. All are similar.

These happen to be using Denny Pageā€™s (@dennypageā€™s) driver found here:

I had been using the built-in driver, but refresh hasnā€™t worked on that driver for over a year. I turned in a couple of identical PM bug reports to Bryan Copeland (@bcopeland ) (an initial one and then a follow-up inquiry many months later), who said he would take a look at it but apparently never did. I realize that he and all of you have been very busy on more important things, so I switched to Denny Pageā€™s driver because the refresh capability works in Denny Pageā€™s driver. I donā€™t need or use any of the additional features in Denny Pageā€™s driver, but I do need the refresh capability in order to restore the mains/battery power source status of the Ring Extender after a power fail comeback because the hub, being shut down, misses the ā€œreturn to mainsā€ event of the Ring Extenders.

metadata
{
    definition (
        name: "Ring Alarm Range Extender gen2", namespace: "cococafe", author: "Denny Page"
    )
    {
        capability "Configuration"
        capability "Refresh"
        capability "Battery"
        capability "PowerSource"

If you will re-read my problem statement, I indicated that not only would the action become broken if any attempt was made to edit it, but also that no new action with refresh could be created, even in a new rule with an attempt to create such an action.

I canā€™t explain why it seems to work for you. I will try switching the devices to the built-in driver, see if I can create a refresh action with that driver.

It worked for me because I used the built-in driver and Actuator. Try Power Source, see if it offers those devices up. Or add capability "Actuator" to the driver.

It all depends on what capability you select to create the Custom Action. It has to be one that pulls up those devices.

I believe thatā€™s it.

(1) I changed the driver to built-in, and was able to add the refresh through the Actuator capability.

(2) the issue seems to be that Power Source, the capability that Denny Page used, no longer appears in the Capability drop down for Run Custom Action. Could that possibly have been deleted somewhere along the line?

(3) adding Capability Actuator to the driver works as a workaround.

Thanks.

Yep, looks like Power Source is not there. That's a trivial fix. This code was reorganized some time ago, and probably that just got missed in the list.

2 Likes

Looking further, there is a new action type of:
Capture/Restore, Device Refresh or Polling
and Refresh for the Ring Extenders (using Denny Pageā€™s driver) shows up there in the device list.

Thanks so much Bruce, adding Actuator works. Sorry to disturb your weekend.

I can confirm that firmware 2.3.1.135 fixes this, Power Source is now back on the Run Custom Action drop down, even though this fix is not noted in the Release Notes.

Thanks, @bravenel.

2 Likes