-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GDKES-01TZXD switch doesn't work after the power failure. #3870
Comments
Can you try replacing |
yes, thank you, I will try to do that as soon as possible and will report the results |
What I tried today:
Most of the switches were ok, but two of them (which coincidentally were the closet to the coordinator) showed the same symptoms as before - two routes and an error in the log: |
Can you sniff the traffic of a failed command? https://www.zigbee2mqtt.io/how_tos/how_to_sniff_zigbee_traffic.html |
@r-vit When getting the 240 error the commands itself are indeed not send, however I expect the route requests to be send. I've updated https://gist.github.com/Koenkk/38934204fc14239f0ef8e8793d876965, with this can you reproduce the issue again and provide me the herdsman debug logging? To enable herdsman debug logging, see https://www.zigbee2mqtt.io/information/debug.html#zigbee-herdsman-debug-logging |
I tried to remove the lines that didn't look relevant to me from the log, but if you need I'll attach the full log. debug 2020-07-11 09:50:21: Received MQTT message on 'zigbee2mqtt/LightSwitchBalcony/set' with data 'ON' |
I think the previous log file shows different situation - that switch completely went off the network despite being shown on the network map. I will need to do another experiment. |
This is not the herdsman debug logging, note that the herdsman debug logging is not logged to the log files but only to STDOUT. Also provide me the log from the point where you execute the failing command until 1 minute after this and attach this as a file or post it on pastebin.com. |
log.txt |
Thanks, I cannot find the cause of the issue in the log yet, it seems that there is no response to the route discover request. Could you share me the sniff of the problem? https://www.zigbee2mqtt.io/how_tos/how_to_sniff_zigbee_traffic.html |
Sure log.txt Upd. nope, the wrong routes were not dropped |
Can you also send me your network key? (otherwise I cannot decrypt the sniff, in case you want to share it privately send it to me on telegram: @Koenkk) |
For others: @r-vit and me are testing a possible fix, to test:
cd /app/zigbee2mqtt/node_modules
rm -rf zigbee-herdsman
git clone https://github.com/Koenkk/zigbee-herdsman.git -b fix_enddevice_not_reachable
cd zigbee-herdsman
npm ci
npm run build
|
Fix is now in the dev branch |
Bug Report
What happened
I've got a bunch of GDKES-01TZXD switches. Most of the time they work pretty well, but every time after a power failure they stop responding. When I generate the map of the zigbee network I see that each of these switches get two connections - one to the coordinator with lqi=170 and the other to one of the routers.
It looks like the connections to the coordinator are not valid, so if I try to send a command to the switch, the device select route that doesn't exist.
The error in the log looks like that:
Publish 'set' 'state' to 'LightSwitchOffice' failed: 'Error: Command 0xec1bbdfffe66e506/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null}) failed (Error: Data request failed with error: 'MAC transaction expired' (240))'
At the same time if I press the switch manually the state in Home Assistant changes and reflects the actual state of the switch
After putting the device to the pairing mode it reconnects and starts working properly. But only till the next power failure.
It looks like when the power resumes but the coordinator hasn't started yet the switches connect to any available routers, but then when the zigbee2mqtt finally starts, the software believes that there's another route to the devices with better lqi (170), so it tries to send the commands that way.
Is there a way to 'expire' those routes?
What did you expect to happen
Devices resume working properly after the power restored
How to reproduce it (minimal and precise)
Debug Info
Zigbee2mqtt version: 1.14.1
Adapter hardware:
CC26X2R1
(it was the same with CC2531 as well)
Adapter firmware version: Coordinator firmware version: '{"type":"zStack3x0","meta":{"transportrev":2,"product":1,"majorrel":2,"minorrel":7,"maintrel":1,"revision":20200417}}'
The text was updated successfully, but these errors were encountered: