Good Morning Everyone,
We would like to give a thank you to the community with a special shout out to @uberrob for creating this thread and @cgmckeever for his solution of modifying the handler. Here are the changes we suggest making to the Handler to address this issue:
private Map parseAduroSmartButtonMessage(Map descMap){
def buttonState = "pushed"
def buttonNumber = 0
if (descMap.clusterInt == zigbee.ONOFF_CLUSTER) {
if (descMap.command == "01") {
buttonNumber = 1
} else if (descMap.command == "00") {
buttonNumber = 4
}
} else if (descMap.clusterInt == ADUROSMART_SPECIFIC_CLUSTER) {
def list2 = descMap.data
buttonNumber = (list2[1] as int) + 1
}
if (buttonNumber != 0) {
def childevent = createEvent(name: "button", value: "pushed", data: [buttonNumber: 1], isStateChange: true)
sendEventToChild(buttonNumber, childevent)
def descriptionText = "$device.displayName button $buttonNumber was $buttonState"
return createEvent(name: "button", value: buttonState, data: [buttonNumber: buttonNumber], descriptionText: descriptionText, isStateChange: true)
} else {
return [:]
}
}