11/**
22 * Aqara Button - models WXKG11LM (original & new revision) / WXKG12LM
33 * Device Handler for SmartThings - Firmware version 25.20 and newer ONLY
4- * Version 1.4.1b
4+ * Version 1.4.2b
55 *
66 * NOTE: Do NOT use this device handler on any SmartThings hub running Firmware 24.x and older
77 * Instead use the xiaomi-aqara-button-old-firmware device handler
@@ -77,7 +77,7 @@ metadata {
7777 attribute " lastReleased" , " string"
7878 attribute " lastReleasedCoRE" , " string"
7979 attribute " batteryRuntime" , " string"
80- attribute " buttonStatus" , " enum" , [" pushed" , " held" , " single-clicked" , " double-clicked" , " shaken" , " released" ]
80+ attribute " buttonStatus" , " enum" , [" pushed" , " held" , " single-clicked" , " double-clicked" , " triple-clicked " , " quadruple-clicked " , " shaken" , " released" ]
8181
8282 // Aqara Button - model WXKG11LM (original revision)
8383 fingerprint deviceId : " 5F01" , inClusters : " 0000,FFFF,0006" , outClusters : " 0000,0004,FFFF" , manufacturer : " LUMI" , model : " lumi.sensor_switch.aq2" , deviceJoinName : " Aqara Button WXKG11LM"
@@ -102,6 +102,8 @@ metadata {
102102 attributeState(" held" , label :' Held' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
103103 attributeState(" single-clicked" , label :' Single-clicked' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
104104 attributeState(" double-clicked" , label :' Double-clicked' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
105+ attributeState(" triple-clicked" , label :' Triple-clicked' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
106+ attributeState(" quadruple-clicked" , label :' Quadruple-clicked' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
105107 attributeState(" shaken" , label :' Shaken' , backgroundColor :" #00a0dc" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonPushed.png" )
106108 attributeState(" released" , label :' Released' , action : " momentary.push" , backgroundColor :" #ffffff" , icon :" https://raw.githubusercontent.com/bspranger/Xiaomi/master/images/ButtonReleased.png" )
107109 }
@@ -194,7 +196,7 @@ private Map parseReadAttrMessage(String description) {
194196
195197 if (cluster == " 0006" )
196198 // Process model WXKG11LM (original revision)
197- resultMap = parse11LMMessage(attrId, Integer . parseInt(valueHex))
199+ resultMap = parse11LMMessage(attrId, Integer . parseInt(valueHex[ 0 .. 1 ], 16 ))
198200 else if (cluster == " 0012" )
199201 // Process model WXKG11LM (new revision) or WXKG12LM button messages
200202 resultMap = mapButtonEvent(Integer . parseInt(valueHex[2 .. 3 ],16 ))
@@ -229,14 +231,17 @@ private parse11LMMessage(attrId, value) {
229231 def messageType = [1 : " single-clicked" , 2 : " double-clicked" , 3 : " triple-clicked" , 4 : " quadruple-clicked" ]
230232 def result = [:]
231233 value = (attrId == " 0000" ) ? 1 : value
234+ displayDebugLog(" : attrID = $attrId , value = $value " )
232235 if (value <= 4 ) {
233236 def descText = " was ${ messageType[value]} (Button $value pushed)"
234- updateLastPressed( " Pressed " )
237+ sendEvent( name : " buttonStatus " , value : messageType[value], isStateChange : true , displayed : false )
235238 runIn(1 , clearButtonStatus)
239+ updateLastPressed(" Pressed" )
236240 displayInfoLog(descText)
237241 result = [
238- name : ' pushed' ,
239- value : value,
242+ name : ' button' ,
243+ value : " pushed" ,
244+ data : [buttonNumber : value],
240245 isStateChange : true ,
241246 descriptionText : " $device . displayName $descText "
242247 ]
0 commit comments