Binding is not cleared when removing a group
What happened?
If a switch is bound to a group, and the group is deleted, the binding remains on the list, and can't be deleted.
What did you expect to happen?
When a group is deleted all bindings to the group are cleaned up.
How to reproduce it (minimal and precise)
- Create a group
- Add a light to the group
- Bind a switch to the group
- Delete the group
- Spot the binding to the group still listed on the device page. The binding cannot be removed.
Zigbee2MQTT version
1.36.0
Adapter firmware version
20200211
Adapter
CC2652
Setup
Z2M in docker container, running on x64 Linux computer
Debug log
Zigbee2MQTT:debug 2024-03-28 16:16:44: Received MQTT message on 'zigbee2mqtt/bridge/request/group/remove' with data '{"id":"test_group","transaction":"9hwzl-11"}' Zigbee2MQTT:info 2024-03-28 16:16:44: Removing group 'test_group' (force: false) zigbee-herdsman:controller:endpoint ZCL command 0x003c84fffecd6a11/1 genGroups.remove({"groupid":1234}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) +8s zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x003c84fffecd6a11:44503/1 (0,0,1) +8s zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":44503,"destendpoint":1,"srcendpoint":1,"clusterid":4,"transid":17,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[17,9,3,210,4]}} +8s zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,215,173,1,1,4,0,17,0,30,5,17,9,3,210,4,147] +8s zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100] +8s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100 +0ms zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0} +8s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +0ms zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,17,215] +6ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,17,215] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,17] - 215 +0ms zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":17} +8s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +1ms zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,26,68,129,0,0,4,0,215,173,1,1,0,68,0,131,22,53,0,0,6,25,9,3,0,210,4,215,173,29,225] +15ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,26,68,129,0,0,4,0,215,173,1,1,0,68,0,131,22,53,0,0,6,25,9,3,0,210,4,215,173,29,225] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 26 - 2 - 4 - 129 - [0,0,4,0,215,173,1,1,0,68,0,131,22,53,0,0,6,25,9,3,0,210,4,215,173,29] - 225 +0ms zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":4,"srcaddr":44503,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":68,"securityuse":0,"timestamp":3479171,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[25,9,3,0,210,4]}} +17ms zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":9,"manufacturerCode":null,"commandIdentifier":3},"Payload":{"status":0,"groupid":1234},"Command":{"ID":3,"parameters":[{"name":"status","type":32},{"name":"groupid","type":33}],"name":"removeRsp"}},"address":44503,"endpoint":1,"linkquality":68,"groupID":0,"wasBroadcast":false,"destinationEndpoint":1}' +8s zigbee-herdsman:controller:log Skipping command 'removeRsp' because it is missing from the lookup +0ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +1ms zigbee-herdsman:controller:database:log Writing database to '/home/grafalex/Projects/zigbee2mqtt/data/database.db' +22s zigbee-herdsman:controller:database:log Writing database to '/home/grafalex/Projects/zigbee2mqtt/data/database.db' +12ms Zigbee2MQTT:info 2024-03-28 16:16:44: MQTT publish: topic 'zigbee2mqtt/test_group', payload '' Zigbee2MQTT:info 2024-03-28 16:16:44: Successfully removed group 'test_group' (force: false) Zigbee2MQTT:info 2024-03-28 16:16:44: MQTT publish: topic 'zigbee2mqtt/bridge/response/group/remove', payload '{"data":{"force":false,"id":"test_group"},"status":"ok","transaction":"9hwzl-11"}' zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,27,68,129,0,0,6,0,215,173,1,1,0,63,0,34,47,53,0,0,7,8,54,10,0,0,16,1,215,173,29,224] +2s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,27,68,129,0,0,6,0,215,173,1,1,0,63,0,34,47,53,0,0,7,8,54,10,0,0,16,1,215,173,29,224] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 27 - 2 - 4 - 129 - [0,0,6,0,215,173,1,1,0,63,0,34,47,53,0,0,7,8,54,10,0,0,16,1,215,173,29] - 224 +0ms zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - incomingMsg - {"groupid":0,"clusterid":6,"srcaddr":44503,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":63,"securityuse":0,"timestamp":3485474,"transseqnumber":0,"len":7,"data":{"type":"Buffer","data":[8,54,10,0,0,16,1]}} +2s zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":0,"manufacturerSpecific":false,"direction":1,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":54,"manufacturerCode":null,"commandIdentifier":10},"Payload":[{"attrId":0,"dataType":16,"attrData":1}],"Command":{"ID":10,"name":"report","parameters":[{"name":"attrId","type":33},{"name":"dataType","type":32},{"name":"attrData","type":1000}]}},"address":44503,"endpoint":1,"linkquality":63,"groupID":0,"wasBroadcast":false,"destinationEndpoint":1}' +2s zigbee-herdsman:controller:endpoint ZCL command 0x003c84fffecd6a11/1 genOnOff.defaultRsp({"cmdId":10,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":54,"writeUndiv":false}) +2s zigbee-herdsman:adapter:zStack:adapter sendZclFrameToEndpointInternal 0x003c84fffecd6a11:44503/1 (0,0,1) +2s zigbee-herdsman:adapter:zStack:znp:SREQ --> AF - dataRequest - {"dstaddr":44503,"destendpoint":1,"srcendpoint":1,"clusterid":6,"transid":18,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,54,11,10,0]}} +2s zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,15,36,1,215,173,1,1,6,0,18,0,30,5,24,54,11,10,0,112] +2s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +2ms Zigbee2MQTT:debug 2024-03-28 16:16:46: Received Zigbee message from 'small_lamp', type 'attributeReport', cluster 'genOnOff', data '{"onOff":1}' from endpoint 1 with groupID 0 Zigbee2MQTT:info 2024-03-28 16:16:46: MQTT publish: topic 'zigbee2mqtt/small_lamp', payload '{"brightness":254,"color_mode":"xy","color_temp":422,"color_temp_startup":65535,"linkquality":63,"state":"ON","update":{"installed_version":69635,"latest_version":69635,"state":"idle"},"update_available":false}' zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,1,100,1,0,100] +14ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,1,100,1,0,100] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 1 - 3 - 4 - 1 - [0] - 100 +0ms zigbee-herdsman:adapter:zStack:znp:SRSP <-- AF - dataRequest - {"status":0} +2s zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +0ms zigbee-herdsman:adapter:zStack:unpi:parser <-- [254,3,68,128,0,1,18,212] +3ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [254,3,68,128,0,1,18,212] +0ms zigbee-herdsman:adapter:zStack:unpi:parser --> parsed 3 - 2 - 4 - 128 - [0,1,18] - 212 +0ms zigbee-herdsman:adapter:zStack:znp:AREQ <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":18} +19ms zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext [] +0ms
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days
This is pretty annoying. Can there be an option to just clear all bindings of a switch so I can start fresh?
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days
just because it has no activity, doesn't mean it's not still an issue
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days
Keepalive
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days
This probably won't fix itself
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days