Thank you for this suggestion and thank you @uberrob we are putting together a comprehensive report for our engineering team.
Issues with AduroSmart ERIA wireless dimmer
I lied - I tried it now. It doesnât seem to have registered as changed in the IDE - it still shows as the generic âZigbee Multi Functionâ as opposed to your âZigbee Eria Multi Button - cgmâ
To switch handlers, you should be able to go to the:
IDE > My Devices > Bathroom Speaker Control > Edit (at the bottom)
From this last page, you can change the Type, and then Update.
(Note: It may take a bit to update internally)
Yeah - thatâs what I did, but âBathroom Speaker Controlâ still isnât swapping to the new Type
My bad - I had to reset the device, repair it to smartthings, then I could change the device type.
And holy crapâŚthat did it! One button push = 1 event. Thanks @cgmckeever
Can I ask what change you made to the device driver?
Yep - I had to physically reset the switch then re-pair it to ST⌠I was able to switch the type after that. Odd, but it worked.
@cgmckeever Iâm happy to post my piston in the example section, but itâs going to require your device handler. If you give me the ok to include your DH, Iâll go ahead an post the example.
There was a bunch, but it all boiled down to having two (or multiple) subscriptions per button
I peeled out a lot of code for other devices that was lingering in there, until I came across it.
Notice that ADUROSMART_SPECIFIC_CLUSTER
now only cares about button 2 and 3. I think this also has something to do with allowing LONG PRESS and multiple events
if (descMap.clusterInt == zigbee.ONOFF_CLUSTER) {
log.debug âzigbee.ONOFF_CLUSTERâ
if (descMap.command == â01â) {
buttonNumber = 1
} else if (descMap.command == â00â) {
buttonNumber = 4
} else {
return [:]
}
} else if (descMap.clusterInt == zigbee.LEVEL_CONTROL_CLUSTER) {
// does this ever trigger?
log.debug âzigbee.LEVEL_CONTROL_CLUSTERâ
if (descMap.command == â02â) {
def data = descMap.data
def d0 = data[0]
if (d0 == â00â) {
buttonNumber = 2
}else if (d0 == â01â) {
buttonNumber = 3
}
}
} else if (descMap.clusterInt == ADUROSMART_SPECIFIC_CLUSTER) {
log.debug âADUROSMART_SPECIFIC_CLUSTERâ
def list2 = descMap.data
def button = (list2[1] as int) + 1
if (button == 2 || button == 3) { buttonNumber = button }
}
versus
if (descMap.clusterInt == zigbee.ONOFF_CLUSTER) { log.debug "zigbee.ONOFF_CLUSTER" if (descMap.command == "01") { buttonNumber = 1 } else if (descMap.command == "00") { buttonNumber = 4 } else { return [:] } } else if (descMap.clusterInt == zigbee.LEVEL_CONTROL_CLUSTER) { // does this ever trigger? log.debug "zigbee.LEVEL_CONTROL_CLUSTER" if (descMap.command == "02") { def data = descMap.data def d0 = data[0] if (d0 == "00") { buttonNumber = 2 }else if (d0 == "01") { buttonNumber = 3 } } } else if (descMap.clusterInt == ADUROSMART_SPECIFIC_CLUSTER) { log.debug "ADUROSMART_SPECIFIC_CLUSTER" def list2 = descMap.data def button = (list2[1] as int) + 1 if (button == 2 || button == 3) { buttonNumber = button } }
Ahhh. Nice catch - yeah, I suspect it was trying to be clever with a long press⌠I donât care about the long press, so itâs fine having that logic removed.
Long press works on 2 & 3 ⌠It was trying to have all 4 buttons do both on/off and long press so lots of events being fired âŚ
Gotcha - I thought you stripped long press from all of them.
Switch works great now - controls the google cast API perfectly.
YES! Post it!! ⌠putting it out there for all, as this is literally the best switch I have found, and was upset when it wasnt working - and noticed others were having the same issue.
Was glad it was fresh and you were able to do some testing of it as well âŚ
Never thought of this as a volume control till you mentioned it @uberrob⌠thats a great idea
Nice â I just pushed all the changes to the Device Handler and a README (earlier links should still work)
@uberrob and Future Travelers ⌠you may find this of interest, I found these rocker covers on Amazon (a bit pricey) . They do two things, keep people from turning off your smart lights, AND, these ERIA switches fit right over them and screw directly on. Nice mounting ability
I actually have those very things, they are excellent. I kept having the switch my nestcam is connected to turned off.