Button Controller app broken?

Has something recently happened with the app? I had several set up for Inovelli switches and dimmers, for groups of Hue bulbs. I went to edit them last night, and it wouldn't let me edit it. After a shutdown+unplug and new bootup, I saw no difference and so I deleted to build them again from scratch. When I select the switch and then go and try to define the buttons, it will NOT give me any of the buttons to define.

The section: Define Actions for ______ will not have anything underneath it.

Is there a way to turn on debug to see where errors may be? I am running:

C-7 hub
v2.2.3.148

Thanks!
Brian

What does the device page for your button device (the Inovelli switch or dimmer) look like? From the description of your problem, it sounds like the "numberOfButtons" attribute (or at least its value) may have gone missing. You should see this in the upper right of the device page under "Current States," along with other attributes and their current values, like "switch: off" or whatnot.

If you don't see it, how to get it back depends on your driver. I assume Hubitat's built-in drivers send this event when first installed and possibly when saving the settings, so hitting "Save Preferences" might help. For Inovelli's custom drivers, that might help, but I think "Configure" also does for theirs.

This is what Button Controller uses, along with the capabilities the driver claims to implement, to show you the button action lists, so that's why this is my guess as to what's wrong.

that appears to have helped! Initially though, when I got in to the details of the switch, this is what showed, vs. the 2nd cut-paste is what shows AFTER I click the "Configure" button. Newbie question - was I supposed to click this for every switch after including it and loading the custom driver? If so, not sure how it originally worked then?

Current States
energy : 4.509
held : 1
lastActivity : 2020 Sep 23 Wed 11:38:20 AM
lastEvent : Tap ▲▲▲▲▲▲▲
power : 1
pushed : 7
switch : on

BELOW: after clicking "Configure"
Current States
energy : 4.509
held : 1
lastActivity : 2020 Sep 23 Wed 11:40:43 AM
lastEvent : Tap ▲▲▲▲▲▲▲
power : 1
pushed : 7
switch : on
numberOfButtons : 8
groups : 2
firmware : 1.19

If you switch drivers, it's usually a good idea to click the "Configure" button if there is one.

If you just added a device and it chose the correct driver, then the configure command should have been sent for you and it shouldn't be necessary. It's possible yours worked originally becaue they paired with Hubitat's driver. I know Inovelli's driver uses a different "numberOfButtons," though it's odd for that value to just totally disappear even if you just switch drivers...but in any case, glad you got it working!

thanks so much for your help!! So the issues just scoot further down the process now.

So for a quick/easy setup, I have it set up so...

  • Button 1 push (1 press up on the toggle) is to increase dimming +20%
  • Button 1 held (1 down up on the toggle) is to increase dimming -20%
  • Button 7 toggle is to on/off the lights.

Button 7 DOES work, but doing the button 1 presses is introducing errors now:

dev:4172020-09-23 12:55:54.559 pm debugOffice Can Lights - Inovelli: MeterReport(meterType: 1, precision: 1, scale: 2, size: 4, meterValue: [0, 0, 0, 107], rateType: 1, deltaTime: 0, previousMeterValue: [])

app:3302020-09-23 12:55:51.969 pm errorjava.lang.NullPointerException: Cannot execute null+-20 on line 1822 (buttonHandler)

app:3302020-09-23 12:55:51.958 pm infoAction: Adjust: Office - Hue Group by -20 for button 1 held

dev:4172020-09-23 12:55:51.840 pm debugOffice Can Lights - Inovelli: CentralSceneNotification(keyAttributes:0, sceneNumber:1, sequenceNumber:129)

app:3302020-09-23 12:55:45.771 pm errorjava.lang.NullPointerException: Cannot execute null+-20 on line 1822 (buttonHandler)

app:3302020-09-23 12:55:45.761 pm infoAction: Adjust: Office - Hue Group by -20 for button 1 held

dev:4172020-09-23 12:55:45.640 pm debugOffice Can Lights - Inovelli: CentralSceneNotification(keyAttributes:0, sceneNumber:1, sequenceNumber:128)

dev:4172020-09-23 12:55:34.536 pm debugOffice Can Lights - Inovelli: CentralSceneNotification(keyAttributes:1, sceneNumber:2, sequenceNumber:127)

dev:4172020-09-23 12:55:33.931 pm debugOffice Can Lights - Inovelli: CentralSceneNotification(keyAttributes:2, sceneNumber:2, sequenceNumber:126)

dev:5552020-09-23 12:55:27.456 pm infoGroup Office - Hue Group was turned on

app:3302020-09-23 12:55:27.202 pm infoAction: Toggle: Office - Hue Group for button 7 pushed

dev:4172020-09-23 12:55:27.035 pm debugOffice Can Lights - Inovelli: CentralSceneNotification(keyAttributes:0, sceneNumber:3, sequenceNumber:125)

dev:5552020-09-23 12:55:19.353 pm infoGroup Office - Hue Group was turned off

app:3302020-09-23 12:55:19.083 pm infoAction: Toggle: Office - Hue Group for button 7 pushed

Looks like "Office - Hue Group" might not show anything for the "level" attribute under "Current States" on the device page? Just guessing based on the errors. Manually doing a "Set Level" command on the device should at least put something there and might make this work. Doing a "Refresh" on the Hue Bridge device (the Bridge, not this group) should also do so if everything is working correctly, and that happens by default every minute (if you didn't change or eliminate Bridge polling in Hubitat's Hue integration app), which might be something else to consider, but otherwise I'm thinking the first suggestion might at least get you started.

thanks for your continued help. Yes, if you "set" it to be "50" with Button 1 press, that works. The issue is that I'd like to only use 1 button (and for WAF approval, make it somewhat like a dumb dimmer) by each press it goes up (in my case 20% each time). I want to save all the other buttons for scenes, change the color (i.e. button 3 held = change bulbs to blue, button 4 held to red, button 5 to green, etc.) which was working fine before I tinkered with all the other day. Is there a way in Hubitat to export logs and then I can sift through it all? I'd need to see from 4-5 days ago and I know the logs are pruned at some point.

Yeah, my suggestion was just to do a "Set Level" manually on the group device once to ensure it has a "level" attribute set. You should see that under "Current States." Again, this is on the device page, nothing within Button Controller.

If you do and that this still doesn't work, what driver are you using for the device? Maybe it's not reporting the "level" attribute value correctly. Button Controller should just read the current value, calculate what it needs to be, and issue a "Set Level" command with your new value. The logs you provided above make it sound like Button Controller is having problems reading the current level (the null+-20 thing, for example).

If your device looks OK, it's possible there's a bug in BC, but I just set up a similar automation to test this using virtual devices myself, and it looks fine. You could try re-creating this particular Button Controller instance, or you could re-do it in Rule Machine with a "Button Device" trigger ("Button Device," not "Button"; this will give you a BC-like UI to work with). But my guess is that something odd is happening on the device/driver side that would be a problem with any app.

yes, inside the device page (which is actually a Hue Group that I grab from the Hue Integration App) " Office - Hue Group" , it does correctly show the level at 50.

Hmm, not sure what to suggest. I just tried this with a Hue group from Hubitat's stock Bridge Integration app and an "Adjust by -20" action worked for me. Maybe try re-creating this particular Button Controller automation to see if you ca reproduce the problem?

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