[RELEASE] Cooper Eaton Aspire RFWC5 Keypad driver for Hubitat

IMPORTANT UPDATE: These RFWC5 drivers can now be installed from Hubitat Package Manager. This is the best way to make sure you keep up-to-date with bug fixes and new features.

Can you try something for me?

Disable all the automation that is firing off of the events. (So disable whatever is turning "Dave's Lamp" on and off.) This is so we can test the keypad in isolation.

Then retry your test and send me the new logs.

Looking forward to trying this device handler. I've got one of these devices on order.

dev:3612020-07-26 04:24:19.214 pm infoDave's Switch (Virtual Button) button 1 was pushed

dev:672020-07-26 04:24:19.181 pm debugpush

dev:672020-07-26 04:24:19.147 pm debugCMD: SceneActivationSet(dimmingDuration:0, sceneId:251)

dev:672020-07-26 04:24:19.144 pm debugDESCRIPTION: zw device: 03, command: 2B01, payload: FB 00 , isMulticast: false

dev:3612020-07-26 04:24:18.191 pm infoDave's Switch (Virtual Button) button 1 was pushed

dev:672020-07-26 04:24:18.139 pm debugpush

dev:672020-07-26 04:24:18.106 pm debugCMD: SceneActivationSet(dimmingDuration:0, sceneId:251)

dev:672020-07-26 04:24:18.103 pm debugDESCRIPTION: zw device: 03, command: 2B01, payload: FB 00 , isMulticast: false

Sorry for the delay, it does look like even with the rule paused, it still registers multiple pusches from a single physical press. I notice when I do it, too, it seems like the indicator light takes longer to go off.

Has anyone updated to 2.2.3.132+ on a C-7 hub and still have the keypads working? I'm using two separate keypads with @jwetzel1492's driver configured as virtual switches. I can turn the virtual switches ON by pressing the keypad but pressing them again to turn OFF does nothing to the virtual switches. I downgraded to 2.2.3.119 and it works great. Upgrading breaks it.

Here's the logs after physically pressing a button to turn it off on 2.2.3.119
1598943312963_image

Here's the same on 2.2.3.135
image

The IndicatorReport is not showing up in .135. I sent a message to hubitat support but they asked I check with the developer and ask them to confirm and have them let support know directly if it's suspected to be a platform, so here I am :slight_smile: @jwetzel1492 does it work for you on .135?

1 Like

It does work for me on .135 and .142, but I'm on a C4. I don't have a C7 hub. Have you tried .142 yet?

I have been having some problems, also. I'll post some additional details, but off the top of my head, if I try and configure child devices as virtual buttons, only on child device appears in the devices list and an error occurs in the log. There has also been inconsistent behaviour when configuring as virtual switches. As I say, I'll post more later, but any immediate thoughts? I'm running a C-5 with v2.2.3.118. The driver was installed using the Hubitat Package Manager and the device is a RFWC5D.

Thanks in advance for any assistance you can offer!

Oh, didn't see .142 yesterday. Just tried it and it works now! Thank you and thank you for making this driver! I made a smart app that uses the keypad with virtual switches to act as a Bathroom Fan timer (so button 1 is 5 min, next is 15, etc) and it works well!

1 Like

@ddalder, can you post the error?

I am having a similar problem to @tinypocket and I'm thinking I might have a faulty keypad. I have installed the @jwetzel1492 drivers and and configured it as virtual switches. I am using a RFWC5AW (the curvy one). I can view all the switches as devices and change the status with no problem, however, I can only turn the top switch off at the keypad. If I hit the "all off" button it turns all the LED's off but the switches still indicate on as a device. I cannot turn any of them back on at the keypad. The LED will turn on for a second but will not stay on and when I check the device status it shows the switch as "off" still. If I switch any of them on from the device list the switch LED will indicate on and remain on. I was running 2.2.3.132 and I just updated it to 2.2.3.148 on the C-7 but this didn't correct it. It seems the keypad does not want to change states from off to on for any of the switches and it will only turn from on to off for the top switch (switch 1). Any ideas?

I tried excluding it and re-discovering it and then went through the set up procedure.
When I hit configure, I went to the log page and it only got one line and an error. Any idea what I should do?
There error is "java.lang.NullPointerException: Cannot execute null+1 on line 512 (configure)"

What do you have in your "Scene Starting Index" preference?

251

I think I found something. Even though the 251 was pre-loaded, I never hit the "save preferences" button. I hit save preferences and then tried configure again. It looks like it's going through the configuration correctly now.

2 Likes

It all works correctly now except for the "all off" button. It turns the LED's off but the switches stay on. Not a big deal as all the switches work which is what I needed. Thanks for creating the code to run this.

Awesome! Yes, unfortunately the "all off" button doesn't send its own command back to the hub, so I can't detect it.

Joel, your code is amazing! Thanks for posting and updating it. As Steve pointed out, I also had the issue with 251 not working until hitting "save preferences". Can you add the "save preferences" to the instructions above? Thanks.

1 Like

Done!

Happy Holiday @jwetzel1492.

I was wondering if you could help me troubleshoot my RFWC5. The indicators, in the app, function intermittently.

You may recall, mine is actually RFWDC as indicated by the label on the back of the device. In any case, I'm not sure if there is any difference. It was working fine with my C-4 hub but I had uninstalled it a while back. I'm now attempting to get it working with my C-7 hub and seeing some funky stuff.

Following your instructions, I get all the way to the point where I just want to test the indicators, before creating any child devices. In testing, the indicators update correctly intermittently. More specifically, they always seem to respond correctly when turning and indicator off (0) but only intermittently when turning an indicator on (1).

When the HE Device Indicator doesn't update correctly, I'm seeing this in the log:

dev:6192020-12-26 11:28:19.247 am debugIgnore Duplicate SceneActivationSet (isMultiCast: true)
dev:6192020-12-26 11:28:19.241 am debugCLASSNAME: hubitat.zwave.commands.sceneactivationv1.SceneActivationSet
dev:6192020-12-26 11:28:19.234 am debugCMD: SceneActivationSet(dimmingDuration:0, sceneId:7)

When it works, the log shows this when pressing a keypad button On:

dev:6192020-12-26 11:02:08.261 am debugPARSED IndicatorReport(value:4) to: [['name':'Indicators', 'value':00100, 'descriptionText':Indicators: 00100, 'linkText':Indicators: 00100]]
dev:6192020-12-26 11:02:08.255 am debugCLASSNAME: hubitat.zwave.commands.indicatorv1.IndicatorReport
dev:6192020-12-26 11:02:08.249 am debugCMD: IndicatorReport(value:4)
dev:6192020-12-26 11:02:08.221 am debugPARSED SceneActivationSet(dimmingDuration:0, sceneId:7) to: []
dev:6192020-12-26 11:02:08.214 am debugCLASSNAME: hubitat.zwave.commands.sceneactivationv1.SceneActivationSet
dev:6192020-12-26 11:02:08.207 am debugCMD: SceneActivationSet(dimmingDuration:0, sceneId:7)

And this when pressing a keypad indicator Off (which seems to always work fine:

dev:6192020-12-26 11:02:08.261 am debugPARSED IndicatorReport(value:4) to: [['name':'Indicators', 'value':00100, 'descriptionText':Indicators: 00100, 'linkText':Indicators: 00100]]
dev:6192020-12-26 11:02:08.255 am debugCLASSNAME: hubitat.zwave.commands.indicatorv1.IndicatorReport
dev:6192020-12-26 11:02:08.249 am debugCMD: IndicatorReport(value:4)
dev:6192020-12-26 11:02:08.221 am debugPARSED SceneActivationSet(dimmingDuration:0, sceneId:7) to: []
dev:6192020-12-26 11:02:08.214 am debugCLASSNAME: hubitat.zwave.commands.sceneactivationv1.SceneActivationSet
dev:6192020-12-26 11:02:08.207 am debugCMD: SceneActivationSet(dimmingDuration:0, sceneId:7)

Furthermore, here is what the logged showed during the Configuration phase:

dev:6192020-12-26 10:12:11.368 am debugUNPARSED CMD: AssociationReport(groupingIdentifier: 5, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:12:11.362 am debugCLASSNAME: hubitat.zwave.commands.associationv3.AssociationReport
dev:6192020-12-26 10:12:11.356 am debugCMD: AssociationReport(groupingIdentifier: 5, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:11:50.307 am debugUNPARSED CMD: SceneControllerConfReport(dimmingDuration:0, groupId:4, sceneId:254)
dev:6192020-12-26 10:11:50.301 am debugCLASSNAME: hubitat.zwave.commands.scenecontrollerconfv1.SceneControllerConfReport
dev:6192020-12-26 10:11:50.295 am debugCMD: SceneControllerConfReport(dimmingDuration:0, groupId:4, sceneId:254)
dev:6192020-12-26 10:11:46.877 am debugUNPARSED CMD: AssociationReport(groupingIdentifier: 4, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:11:46.870 am debugCLASSNAME: hubitat.zwave.commands.associationv3.AssociationReport
dev:6192020-12-26 10:11:46.864 am debugCMD: AssociationReport(groupingIdentifier: 4, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:11:25.748 am debugUNPARSED CMD: SceneControllerConfReport(dimmingDuration:0, groupId:3, sceneId:253)
dev:6192020-12-26 10:11:25.742 am debugCLASSNAME: hubitat.zwave.commands.scenecontrollerconfv1.SceneControllerConfReport
dev:6192020-12-26 10:11:25.736 am debugCMD: SceneControllerConfReport(dimmingDuration:0, groupId:3, sceneId:253)
dev:6192020-12-26 10:11:22.248 am debugUNPARSED CMD: AssociationReport(groupingIdentifier: 3, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:11:22.242 am debugCLASSNAME: hubitat.zwave.commands.associationv3.AssociationReport
dev:6192020-12-26 10:11:22.236 am debugCMD: AssociationReport(groupingIdentifier: 3, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:11:01.544 am debugUNPARSED CMD: SceneControllerConfReport(dimmingDuration:0, groupId:2, sceneId:252)
dev:6192020-12-26 10:11:01.538 am debugCLASSNAME: hubitat.zwave.commands.scenecontrollerconfv1.SceneControllerConfReport
dev:6192020-12-26 10:11:01.532 am debugCMD: SceneControllerConfReport(dimmingDuration:0, groupId:2, sceneId:252)
dev:6192020-12-26 10:10:57.752 am debugUNPARSED CMD: AssociationReport(groupingIdentifier: 2, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:10:57.746 am debugCLASSNAME: hubitat.zwave.commands.associationv3.AssociationReport
dev:6192020-12-26 10:10:57.740 am debugCMD: AssociationReport(groupingIdentifier: 2, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:10:38.086 am debugUNPARSED CMD: SceneControllerConfReport(dimmingDuration:0, groupId:1, sceneId:251)
dev:6192020-12-26 10:10:38.080 am debugCLASSNAME: hubitat.zwave.commands.scenecontrollerconfv1.SceneControllerConfReport
dev:6192020-12-26 10:10:38.074 am debugCMD: SceneControllerConfReport(dimmingDuration:0, groupId:1, sceneId:251)
dev:6192020-12-26 10:10:37.202 am debugUNPARSED CMD: SceneControllerConfReport(dimmingDuration:0, groupId:1, sceneId:251)
dev:6192020-12-26 10:10:37.198 am debugCLASSNAME: hubitat.zwave.commands.scenecontrollerconfv1.SceneControllerConfReport
dev:6192020-12-26 10:10:37.192 am debugCMD: SceneControllerConfReport(dimmingDuration:0, groupId:1, sceneId:251)
dev:6192020-12-26 10:10:33.178 am debugUNPARSED CMD: AssociationReport(groupingIdentifier: 1, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:10:33.172 am debugCLASSNAME: hubitat.zwave.commands.associationv3.AssociationReport
dev:6192020-12-26 10:10:33.166 am debugCMD: AssociationReport(groupingIdentifier: 1, maxNodesSupported: 232, reportsToFollow: 0, nodeId: [1])
dev:6192020-12-26 10:10:15.486 am infoPlease Wait this can take a few minutes...
dev:6192020-12-26 10:10:15.481 am info[850401, 850101, 7004010132, 2D0101FB00, 85010101, 850201, 2D0201, 850402, 850102, 7004020132, 2D0102FC00, 85010201, 850202, 2D0202, 850403, 850103, 7004030132, 2D0103FD00, 85010301, 850203, 2D0203, 850404, 850104, 7004040132, 2D0104FE00, 85010401, 850204, 2D0204, 850405, 850105, 7004050132, 2D0105FF00, 85010501, 850205, 2D0205]
dev:6192020-12-26 10:10:15.475 am infoassociating group for button:5: 1
dev:6192020-12-26 10:10:15.470 am infosetting scene commands for button:5 scene:255 dimmingduration:0
dev:6192020-12-26 10:10:15.465 am infosetting configuration commands for button:5 Level:[50]
dev:6192020-12-26 10:10:15.461 am infoassociating group for button:5: []
dev:6192020-12-26 10:10:15.456 am infoassociating group for button:4: 1
dev:6192020-12-26 10:10:15.451 am infosetting scene commands for button:4 scene:254 dimmingduration:0
dev:6192020-12-26 10:10:15.445 am infosetting configuration commands for button:4 Level:[50]
dev:6192020-12-26 10:10:15.440 am infoassociating group for button:4: []
dev:6192020-12-26 10:10:15.436 am infoassociating group for button:3: 1
dev:6192020-12-26 10:10:15.431 am infosetting scene commands for button:3 scene:253 dimmingduration:0
dev:6192020-12-26 10:10:15.426 am infosetting configuration commands for button:3 Level:[50]
dev:6192020-12-26 10:10:15.422 am infoassociating group for button:3: []
dev:6192020-12-26 10:10:15.418 am infoassociating group for button:2: 1
dev:6192020-12-26 10:10:15.413 am infosetting scene commands for button:2 scene:252 dimmingduration:0
dev:6192020-12-26 10:10:15.408 am infosetting configuration commands for button:2 Level:[50]
dev:6192020-12-26 10:10:15.404 am infoassociating group for button:2: []
dev:6192020-12-26 10:10:15.385 am infoassociating group for button:1: 1
dev:6192020-12-26 10:10:15.380 am infosetting scene commands for button:1 scene:251 dimmingduration:0
dev:6192020-12-26 10:10:15.345 am infosetting configuration commands for button:1 Level:[50]
dev:6192020-12-26 10:10:15.334 am infoassociating group for button:1: []
dev:6192020-12-26 10:10:15.305 am infoKitchen Keypad.configure() - setting the Z-Wave configuration on the physical keypad device.

Several times I've tried to exclude/include, factory reset, scene clear the the device as well as performed z-wave repair and rebooted the hub. Each time I end back with the condition described above.

One other thing I tried was updating the device code from basicv1 to basicv2, something you had me do before (earlier in this thread), but that didn't seem to help.

Anyway, tried to figure out on my own for a while so thought it was about time I asked the expert.

Thanks again! Glenn

@jwetzel1492, Commented out the following section in the device code seems to have resolved the issue. The HE device indicators are performing perfectly and immediately, at least for the moment.

    if ("$cmd".toLowerCase().indexOf("sceneactivationset") >= 0) {
        if ("$description".toLowerCase().indexOf("ismulticast: true") >= 0) {
            log "Ignore Duplicate SceneActivationSet (isMultiCast: true)"
            return []
        }
    }*

I'll add the child device and continue to test.

Thanks, Glenn

3 Likes