Closed aircooledbeemer closed 1 year ago
Hey there @dmulcahey, @adminiuga, @puddly, mind taking a look at this issue as it has been labeled with an integration (zha
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
zha documentation zha source (message by IssueLinks)
smlight.me's response is incorrect. Joining new devices to a network is completely independent of the Zigbee integration and is handled 100% by the firmware, it doesn't matter if you are using ZHA or Z2M. The fact that you can't add it means that your coordinator is likely experiencing interference preventing it from being able to communicate properly.
Please upload the diagnostics information for the ZHA integration.
This is the log when I try to add a new device to the network (pressing router reconnect on the SLZB-06):
0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F2A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=14, profile_id=260, cluster_id=1026, data=Serialized[b'\x08\x87\n\x00\x00)\xa0\x07'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-76) [0x2F2A:1:0x0402] Received ZCL frame: b'\x08\x87\n\x00\x00)\xa0\x07' [0x2F2A:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=135, command_id=10, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1952))]) [0x2F2A:1:0x0402] Received command 0x0A (TSN 135): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1952))]) [0x2F2A:1:0x0402] Attribute report received: measured_value=1952 [0x2F2A:1:0x0402] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=135, command_id=<GeneralCommand.Default_Response: 11>, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F2A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=15, profile_id=260, cluster_id=1026, data=Serialized[b'\x08\x88\n\x00\x00)\x94\x07'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-77) [0x2F2A:1:0x0402] Received ZCL frame: b'\x08\x88\n\x00\x00)\x94\x07' [0x2F2A:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=136, command_id=10, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1940))]) [0x2F2A:1:0x0402] Received command 0x0A (TSN 136): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1940))]) [0x2F2A:1:0x0402] Attribute report received: measured_value=1940 [0x2F2A:1:0x0402] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=136, command_id=<GeneralCommand.Default_Response: 11>, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F2A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=16, profile_id=260, cluster_id=1029, data=Serialized[b'\x08\x89\n\x00\x00!\xd5\x12'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-78) [0x2F2A:1:0x0405] Received ZCL frame: b'\x08\x89\n\x00\x00!\xd5\x12' [0x2F2A:1:0x0405] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=137, command_id=10, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=4821))]) [0x2F2A:1:0x0405] Received command 0x0A (TSN 137): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=4821))]) [0x2F2A:1:0x0405] Attribute report received: measured_value=4821 [0x2F2A:1:0x0405] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=137, command_id=<GeneralCommand.Default_Response: 11>, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0405] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F2A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=17, profile_id=260, cluster_id=1026, data=Serialized[b'\x08\x8a\n\x00\x00)\xc8\x07'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-77) [0x2F2A:1:0x0402] Received ZCL frame: b'\x08\x8a\n\x00\x00)\xc8\x07' [0x2F2A:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=138, command_id=10, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1992))]) [0x2F2A:1:0x0402] Received command 0x0A (TSN 138): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1992))]) [0x2F2A:1:0x0402] Attribute report received: measured_value=1992 [0x2F2A:1:0x0402] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=138, command_id=<GeneralCommand.Default_Response: 11>, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F2A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=18, profile_id=260, cluster_id=1026, data=Serialized[b'\x08\x8b\n\x00\x00)\xe7\x07'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-77) [0x2F2A:1:0x0402] Received ZCL frame: b'\x08\x8b\n\x00\x00)\xe7\x07' [0x2F2A:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=139, command_id=10, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2023))]) [0x2F2A:1:0x0402] Received command 0x0A (TSN 139): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2023))]) [0x2F2A:1:0x0402] Attribute report received: measured_value=2023 [0x2F2A:1:0x0402] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=139, command_id=<GeneralCommand.Default_Response: 11>, direction=<Direction.Client_to_Server: 1>) [0x2F2A:1:0x0402] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC714), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=204, profile_id=260, cluster_id=1029, data=Serialized[b'\x18\x9a\n\x00\x00!\xa8\x16'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-86) Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC714), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=204, profile_id=260, cluster_id=1029, data=Serialized[b'\x18\x9a\n\x00\x00!\xa8\x16'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-86) [0xC714:1:0x0405] Received ZCL frame: b'\x18\x9a\n\x00\x00!\xa8\x16' [0xC714:1:0x0405] Received ZCL frame: b'\x18\x9a\n\x00\x00!\xa8\x16' [0xC714:1:0x0405] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=154, command_id=10, direction=<Direction.Client_to_Server: 1>) [0xC714:1:0x0405] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=154, command_id=10, direction=<Direction.Client_to_Server: 1>) [0xC714:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=5800))]) [0xC714:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=5800))]) [0xC714:1:0x0405] Received command 0x0A (TSN 154): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=5800))]) [0xC714:1:0x0405] Received command 0x0A (TSN 154): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=5800))]) [0xC714:1:0x0405] Attribute report received: measured_value=5800 [0xC714:1:0x0405] Attribute report received: measured_value=5800 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0xC714: Device seen - marking the device available and resetting counter 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False 0xC714: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0xC714: Device seen - marking the device available and resetting counter 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False 0xC714: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Device seen - marking the device available and resetting counter 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0x2F2A: Update device availability - device available: True - new availability: True - changed: False 0xC714: Device seen - marking the device available and resetting counter 0xC714: Device seen - marking the device available and resetting counter 0xC714: Update device availability - device available: True - new availability: True - changed: False 0xC714: Update device availability - device available: True - new availability: True - changed: False
There is not much in the console log of the SLZB-06: [302609] | Router reconnect
I used CC1352P2_CC2652P_other_router_20221102.hex to flash the stick, connection type of the stick is LAN mode.
smlight.me's response is incorrect. Joining new devices to a network is completely independent of the Zigbee integration and is handled 100% by the firmware, it doesn't matter if you are using ZHA or Z2M. The fact that you can't add it means that your coordinator is likely experiencing interference preventing it from being able to communicate properly.
Please upload the diagnostics information for the ZHA integration.
Hi, puddly!
When using SLZB-06+Z2M, everything works and another SLZB-06 in router mode is added to the network. This problem occurred when using SkyConnect+ZHA, so I thought the problem was with ZHA as it controls the coordinator. So is this a bug in the SkyConnect firmware?
So is this a bug in the SkyConnect firmware?
Unlikely. The moment the network key is sent to the device and it announces itself, the firmware's role is done.
@aircooledbeemer @Tarik2142 please attach the ZHA integration's diagnostic JSON.
Here is the ZHA debug information collected while trying to add the device to the network, hope it helps, the diagnostic is already available above.
@aircooledbeemer could you attach the diagnostic JSON from the integration itself? I included a screenshot above to show how to download it. It includes information that isn't in the debug log.
This is what I see when adding the device to Zigbee2MQTT:
Gerätename 0x00124b002578e957 Beschreibung
Zuletzt gesehen vor 3 Minuten Verfügbarkeit Online Geräte-Typ Router Zigbee Modell ti.router Zigbee Hersteller TexasInstruments Beschreibung Texas Instruments router Unterstützungsstatus
Unterstützt
IEEE Addresse 0x00124b002578e957 Netzwerk Adresse 0x2AD1 Firmware-Version 20221102 Hersteller Custom devices (DiY) Modell ti.router Spannungsversorgung Interview erfolgreich Wahr
Not sure if that helps....
And the diagnostic information collected just now... config_entry-zha-6edb310fa3a52773f016f840aa08aaa4.json.txt
For completeness, a ZZH stick flashed with router firmware joins both a normal SkyConnect Zigbee network and a Yellow multi-PAN network within 10s:
When using SLZB-06+Z2M, everything works and another SLZB-06 in router mode is added to the network.
One major difference is that Z2M always picks channel 11, while ZHA (before 2023.4.1) always picked channel 15. If you have noise on one and not the other, you will have problems joining new devices.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
The problem
I'm trying to add smlight SLZB-06 flashed as a router (Z-Stack firmware here: https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin) to a ZHA integration using HA SkyConnect coordinator. When trying to add a device and pressing "Router reconnect" nothing happens. The device is properly detected when adding to an existing ZIGBEE2MQTT network.
I would like to extend my ZHA network using the ethernet capability of the SLZB-06...
I contacted the folks at smlight.me and they say the issue is with ZHA not supportiing the firmware I f;lashed.
I will happily collect any documentation you ask me for.
What version of Home Assistant Core has the issue?
core-2023.4.5
What was the last working version of Home Assistant Core?
none
What type of installation are you running?
Home Assistant OS
Integration causing the issue
ZHA
Link to integration documentation on our website
https://www.home-assistant.io/integrations/zha
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response