zigpy-zigate icon indicating copy to clipboard operation
zigpy-zigate copied to clipboard

Homeassistant zigbee 2022.10.0 not starting with zigpy error

Open guirem opened this issue 2 years ago • 17 comments

Hi,

Zigbee Homeassistant component is no longer starting since latest upgrade yesterday on version 2022.10. I'm using a zigate dongle.

Hard to see from the logs if it originates int zigpy or zigpy-zigate as both got recent update.

  • ZiGate USB-TTL dongle - 3.1d
  • Home Assistant 2022.10.0
  • Supervisor 2022.09.1
  • Operating System 9.0
  • Version requirements for hass 2022.10
# homeassistant.components.zha
zigpy-zigate==0.10.0
# homeassistant.components.zha
zigpy==0.51.2

I'm opening an issue in zigpy repo as well.

Screenshot below and full log attached.

image

zigpy-bug.txt

guirem avatar Oct 06 '22 11:10 guirem

Associated zigpy issue: https://github.com/zigpy/zigpy/issues/1067

guirem avatar Oct 06 '22 11:10 guirem

Could you include a debug log of it correctly starting up with the last-working release?

puddly avatar Oct 06 '22 19:10 puddly

I downgraded to previous release 2022.9.7 and it's working again.

Below the logs zigpy-bug2.txt

guirem avatar Oct 06 '22 20:10 guirem

It appears that even in this version, every single packet is failing to send but the error is being ignored:

2022-10-06 22:07:13.621 DEBUG (MainThread) [zigpy_zigate.zigbee.application] APS Data confirm Fail 196 Status.unknown_0xD4

What hardware specifically are you using? Is this a ZiGate or ZiGate+?

puddly avatar Oct 06 '22 20:10 puddly

ZiGate first version

guirem avatar Oct 06 '22 20:10 guirem

Can you try to update your ZiGate's firmware? It looks like the latest version is now 3.21: https://github.com/fairecasoimeme/ZiGate/releases

puddly avatar Oct 06 '22 21:10 puddly

Do you know if I can safely upgrade from 3.1d to 3.21 without having to repair all devices ? I've got about 40 devices and I can't do that easily.

guirem avatar Oct 06 '22 21:10 guirem

I don't own a first generation ZiGate so I am not sure.

@pipiche38 any ideas? Is this error code expected?

puddly avatar Oct 06 '22 22:10 puddly

It seems that 3.21 is for v2 only. I'm not that far off with my current version 3.1d.

guirem avatar Oct 06 '22 22:10 guirem

I don't own a first generation ZiGate so I am not sure.

@pipiche38 any ideas? Is this error code expected?

I don't know what you mean is this code expected. In fact these are linked to 0x8011 and 0x8012 APS Success/Failure. 3.1d for me is an old stuff and 3.21 which is also almost 1 year old is the best to take for ZiGate V1 ( https://github.com/fairecasoimeme/ZiGate/releases/ )

Last you will have to check with @fairecasoimeme if you don't need to re-initialise the Zigate due to the newest firmware version ? and so re-pair all devices

pipiche38 avatar Oct 07 '22 07:10 pipiche38

I'm referring to this:

# Sending a `permit(0)` broadcast
2022-10-06 10:15:54.101 DEBUG (MainThread) [zigpy_zigate.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=10, profile_id=0, cluster_id=<ZDOCmd.Mgmt_Permit_Joining_req: 0x0036>, data=Serialized[b'\n\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)

# Corresponding ZiGate command
2022-10-06 10:15:54.101 DEBUG (MainThread) [zigpy_zigate.api] Sending CommandId.SEND_RAW_APS_DATA_PACKET (b'\x04\xff\xfc\x00\x00\x006\x00\x00\x00\x00\x03\n\x00\x00'), waiting for status: True, waiting for response: None
2022-10-06 10:15:54.101 DEBUG (MainThread) [zigpy_zigate.uart] Send: 0x0530 b'04fffc0000003600000000030a0000'
2022-10-06 10:15:54.102 DEBUG (MainThread) [zigpy_zigate.uart] Frame to send: b'\x050\x00\x0f\x02\x04\xff\xfc\x00\x00\x006\x00\x00\x00\x00\x03\n\x00\x00'
2022-10-06 10:15:54.102 DEBUG (MainThread) [zigpy_zigate.uart] Frame escaped: b'\x02\x150\x02\x10\x02\x1f\x02\x12\x02\x14\xff\xfc\x02\x10\x02\x10\x02\x106\x02\x10\x02\x10\x02\x10\x02\x10\x02\x13\x02\x1a\x02\x10\x02\x10'
2022-10-06 10:15:54.104 DEBUG (MainThread) [zigpy_zigate.api] Wait for status to command CommandId.SEND_RAW_APS_DATA_PACKET
2022-10-06 10:15:54.191 DEBUG (MainThread) [zigpy_zigate.uart] Frame received: 8000000714a6000530000000

# Received an unknown 0xA6 status
2022-10-06 10:15:54.191 DEBUG (MainThread) [zigpy_zigate.api] data received 0x8000 b'a60005300000' LQI:0
2022-10-06 10:15:54.192 DEBUG (MainThread) [zigpy_zigate.zigbee.application] zigate_callback_handler ResponseId.STATUS [<Status.unknown_0xA6: 166>, 0, 1328, b'\x00\x00']
                                                                                                                                ^^^^^^^^^^^^

According to https://www.nxp.com/docs/en/user-guide/JN-UG-3113.pdf:

0xA6: zps_APL_APS_E_INVALID_PARAMETER

@guirem's log shows that every single request fails with this same error code (which zigpy-zigate was ignoring), yet the network is functional.

puddly avatar Oct 07 '22 08:10 puddly

to be check with @fairecasoimeme, that is pure ZiGate firmware related things and even more in a RAW Mode manner. In all cases you shouldn't have any differences between HW version of ZiGate.

pipiche38 avatar Oct 07 '22 08:10 pipiche38

I've downgraded my ZiGate+ to 3.1e (the earliest firmware available for it) and it still works as before. It must be some problem with 3.1d.

puddly avatar Oct 07 '22 20:10 puddly

I'm confirm this is a firmware problem. I have no problem with ZiGate V1 USB TTL on firmware 3.21.

You really should upgrade

doudz avatar Oct 08 '22 07:10 doudz

@doudz can I safely upgrade from 3.1d to 3.21-legacy without having to repair all devices?

guirem avatar Oct 08 '22 08:10 guirem

Yes you could upgrade without repairing devices but you just have to take care to not erase the EEPROM

doudz avatar Oct 08 '22 08:10 doudz

I really tried to upgrade my PiZigate v1 w/o success (I have been successful in the past). I booted on an official image of RPi Debian Bullseye 64bits.

I find the documentation of zigate.fr difficult to browse so after many clicks I collected these steps:

  1. sudo nano /boot/config.txt to add enable_uart=1
  2. sudo nano /boot/cmdline.txt to remove console=serial0,115200

After the reboot, the blue light still low. I don't know if it's OK.

  1. It isn't possible anymore to install the required https://project-downloads.drogon.net/wiringpi-latest.deb package :/

  2. I tried to reproduce the Flash instructions by using:

raspi-gpio set 0 op
raspi-gpio set 2 op
raspi-gpio set 2 dh
raspi-gpio set 0 dl
raspi-gpio set 0 dh
  1. flash with v0.7(r56124)
sudo JennicModuleProgrammer -V 6 -P 115200 -f ZiGate_v3.21-legacy.bin -s /dev/ttyAMA0

Error setting baudrate...

stephane avatar Oct 09 '22 21:10 stephane