Zigbee advice on devices sometimes not responding

Sorry for yet another post on help with Zigbee items not responding, but I’m really stuck and hope someone can give me some advice.

My setup currently is OH3.0.1 with a CC2531, 5 Sonoff plugs, and a sage doorbell. All seems to work very well, but then after a week or 2, it gets slow (2-10 seconds to respond, if at all). A reboot fixes the issue, however, I really want to get it as reliable as possible, as some of the devices are for security, for example, my curtains are controlled via the Sonoff power socket and I don’t want the curtain stuck open when I’m away.

Originally, I had thought the issue (maybe still is?) was with the range so I brought another CC2531 with an external aerial and a few more Zigbee power sockets spaced out around the house. But the issue has not gone away.

I understand wi-fi interference can also be an issue. I have it on Zigbee frequency 11, away from my wifi frequency of 5, the neighbor seems to have some sort of mesh wifi network with 4 access points on frequency 13. Could these cause interference? I have tried to space them apart, converting the Zigbee to wifi ranges.

Got up this morning and the curtains were still shut, after further investigation the Zigbee network is back to running slow and the plug was not responding. I turned on the debug logs and attempted to turn the curtain power socket ON, but nothing. I attach the logs which would seem to show the state=CANCELLED. I hope someone would be able to have a quick look and see what could be causing the issues.

==> /var/log/openhab/events.log <==
2021-04-12 09:06:10.908 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Curtains' received command ON
2021-04-12 09:06:10.909 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Curtains' predicted to become OFF

==> /var/log/openhab/openhab.log <==
2021-04-12 09:06:10.917 [DEBUG] [ng.zigbee.handler.ZigBeeThingHandler] - 00124B0022413C0F: Command for channel zigbee:device:stick1:00124b0022413c0f:00124B0022413C0F_1_switch --> ON [OnOffType]
2021-04-12 09:06:10.920 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: Added transaction to queue, len=1, transaction=ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=0, state=WAITING, sendCnt=0, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=--]]
2021-04-12 09:06:10.921 [DEBUG] [transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=1, sleepy=0/3
2021-04-12 09:06:10.922 [DEBUG] [transaction.ZigBeeTransactionManager] - A453/1: Sending ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=3, state=WAITING, sendCnt=0, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:10.923 [DEBUG] [transaction.ZigBeeTransactionManager] - transactionListenerAdded: 1 outstanding
2021-04-12 09:06:10.924 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX CMD: OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]
2021-04-12 09:06:10.925 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=false, manufacturerCode=0, sequenceNumber=191, commandId=1]
2021-04-12 09:06:10.926 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress=0000/1, destinationAddress=A453/1, profile=0104, cluster=0006, addressMode=DEVICE, radius=8, apsSecurity=false, ackRequest=true, apsCounter=85, rssi=--, lqi=--, payload=01 BF 01]
2021-04-12 09:06:10.927 [DEBUG] [31.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsystem=null, length=13, apiId=24 01, data=FE 0D 24 01 53 A4 01 01 06 00 85 30 08 03 01 BF 01 D8, checksum=D8, error=false) 
2021-04-12 09:06:10.928 [DEBUG] [converter.ZigBeeBaseChannelConverter] - 00124B0022413C0F: Channel zigbee:device:stick1:00124b0022413c0f:00124B0022413C0F_1_switch waiting for response to ON
2021-04-12 09:06:10.943 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
2021-04-12 09:06:10.944 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX STA: msgTag=BF state=TX_ACK
2021-04-12 09:06:10.944 [DEBUG] [transaction.ZigBeeTransactionManager] - notifyTransactionProgress: TID=BF, state=TX_ACK, outstanding=1
2021-04-12 09:06:10.945 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction state changed: nwk=A453, TID=BF, event=TX_ACK, state=TRANSMITTED
2021-04-12 09:06:18.946 [DEBUG] [transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=8026, state=FAILED, sendCnt=1, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:18.946 [DEBUG] [transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
2021-04-12 09:06:18.947 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: transactionComplete, state=FAILED, outstanding=0
2021-04-12 09:06:18.948 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: Added transaction to queue, len=1, transaction=ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=8028, state=WAITING, sendCnt=1, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:18.948 [DEBUG] [transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=1, sleepy=0/3
2021-04-12 09:06:18.949 [DEBUG] [transaction.ZigBeeTransactionManager] - A453/1: Sending ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=8030, state=WAITING, sendCnt=1, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:18.950 [DEBUG] [transaction.ZigBeeTransactionManager] - transactionListenerAdded: 1 outstanding
2021-04-12 09:06:18.951 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX CMD: OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]
2021-04-12 09:06:18.951 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=false, manufacturerCode=0, sequenceNumber=191, commandId=1]
2021-04-12 09:06:18.952 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress=0000/1, destinationAddress=A453/1, profile=0104, cluster=0006, addressMode=DEVICE, radius=8, apsSecurity=false, ackRequest=true, apsCounter=86, rssi=--, lqi=--, payload=01 BF 01]
2021-04-12 09:06:18.953 [DEBUG] [31.network.impl.CommandInterfaceImpl] - ->  AF_DATA_REQUEST (Packet: subsystem=null, length=13, apiId=24 01, data=FE 0D 24 01 53 A4 01 01 06 00 86 30 08 03 01 BF 01 DB, checksum=DB, error=false) 
2021-04-12 09:06:18.967 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-  AF_DATA_SRSP (FE 01 64 01 00 64)
2021-04-12 09:06:18.968 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX STA: msgTag=BF state=TX_ACK
2021-04-12 09:06:18.969 [DEBUG] [transaction.ZigBeeTransactionManager] - notifyTransactionProgress: TID=BF, state=TX_ACK, outstanding=1
2021-04-12 09:06:18.969 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction state changed: nwk=A453, TID=BF, event=TX_ACK, state=TRANSMITTED
2021-04-12 09:06:25.420 [DEBUG] [31.network.impl.CommandInterfaceImpl] - <-- AF_DATA_CONFIRM (FE 03 44 80 E9 01 86 A9)
2021-04-12 09:06:25.421 [DEBUG] [31.network.impl.CommandInterfaceImpl] - Received Async Cmd: AF_DATA_CONFIRM(Endpoint=1, Status=Z_MAC_NO_ACK(233), TransID=134)
2021-04-12 09:06:25.421 [DEBUG] [tsystems.zigbee.ZigBeeNetworkManager] - RX STA: msgTag=BF state=RX_NAK
2021-04-12 09:06:25.422 [DEBUG] [transaction.ZigBeeTransactionManager] - notifyTransactionProgress: TID=BF, state=RX_NAK, outstanding=1
2021-04-12 09:06:25.423 [DEBUG] [transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=14504, state=FAILED, sendCnt=2, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:25.424 [DEBUG] [transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
2021-04-12 09:06:25.425 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: transactionComplete, state=FAILED, outstanding=0
2021-04-12 09:06:25.425 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: transactionComplete exceeded max retries 2
2021-04-12 09:06:25.426 [DEBUG] [zigbee.transaction.ZigBeeTransaction] - Transaction cancelled: ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=14507, state=CANCELLED, sendCnt=2, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:25.427 [DEBUG] [transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=00124B0022413C0F queueTime=14507, state=CANCELLED, sendCnt=2, command=OnCommand [On/Off: 0000/0 -> A453/1, cluster=0006, TID=BF]]
2021-04-12 09:06:25.427 [DEBUG] [converter.ZigBeeBaseChannelConverter] - 00124B0022413C0F: Channel zigbee:device:stick1:00124b0022413c0f:00124B0022413C0F_1_switch received TIMEOUT in response to ON
2021-04-12 09:06:25.427 [DEBUG] [transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
2021-04-12 09:06:25.428 [DEBUG] [converter.ZigBeeBaseChannelConverter] - 00124B0022413C0F: Channel zigbee:device:stick1:00124b0022413c0f:00124B0022413C0F_1_switch received ERROR in response to ON
2021-04-12 09:06:25.428 [DEBUG] [e.transaction.ZigBeeTransactionQueue] - 00124B0022413C0F: transactionComplete but not outstanding, state=CANCELLED, outstanding=0

I have run the log through ZigBee Log Viewer but it doesn’t really mean much to me.

I’m a little stuck on what to try next. Has anyone else had similar issues and did something to fix them? Any advice would be massively appreciated. I do have a spare CC2531 (without the aerial), could this be used as a repeater? I had also looked at zigbee2mqtt that I think will make the setup more complex, but wonder if it will be more reliable?

Thank again all and sorry for the long post.

By way of explanation only for this part, zigbee binding vetoes autoupdate’s usual predictions. It expects timely updates from devices instead, to keep Item state up to date.

Of course, if something goes wrong with zigbee business, the update never comes.

Hi,

I have used the cc2531 for a while but experienced similar issues. For me, it was enough to restart zigbee2mqtt once in a while, which will also reset the cc2531. After that, the issue was gone for some days. But it always came back, so I needed a change.
After a lot of searching and trying I found that the cc2531 is very unreliable for larger networks. And with larger, I’d say anything above 8.
I replaced it with a TI cc26x2r1 and now my zigbee network is snappy and reliable with over 40 devices.

So my recommendation would be to not use the cc2531!

Thanks for the information, I had hoped it would just be something obvious from the logs, oh well, I’ll look into the cc26x2r1.

If you’re using the zigbee binding, as I think you are, I would strongly recommend to use a coordinator with an Ember chipset rather than the TI chipset. This has more support and is used by most of the supported commercial users.

1 Like

Ok thanks. Yes the zigbee binding. Would you have any recomendations on an Ember one? I was hoping to pick up one of the ITead Zigbee 3.0 USB Dongle when they come back in stock as they are very affordable. The ones on the binding page seem to be hard to get for the UK or expensive.

I have also just got a Zigbee Saswell TRV and that is not detected, so wonder if a better coordinator may also fix this issue. I’m having such a nightmare with zigbee, hopefully i’ll get there in the end :frowning:

The ITead one is probably a good bet. I’ve not used it myself, and can’t currently purchase one due to moving from the UK to NZ, but it should be fine. Once I can get my hands on one I will likely look to produce custom firmware for it to improve performance.

I’m not familiar with this, but if you get an Ember stick with new(ish) firmware, it is most likely to succeed as it will support some of the new Zigbee network functions that older devices don’t support and this may help your problems (maybe).

1 Like