Coder Social home page Coder Social logo

zigpy-cc's Introduction

zigpy

Build Coverage Status

zigpy is a hardware independent Zigbee protocol stack integration project to implement Zigbee standard specifications as a Python 3 library.

Zigbee integration via zigpy allows you to connect one of many off-the-shelf Zigbee Coordinator adapters using one of the available Zigbee radio library modules compatible with zigpy to control Zigbee based devices. There is currently support for controlling Zigbee device types such as binary sensors (e.g., motion and door sensors), sensors (e.g., temperature sensors), lights, switches, buttons, covers, fans, climate control equipment, locks, and intruder alarm system devices. Note that Zigbee Green Power devices currently are unsupported.

Zigbee stacks and hardware from many different hardware chip manufacturers are supported via radio libraries which translate their proprietary communication protocol into a common API which is shared among all radio libraries for zigpy. If some Zigbee stack or Zigbee Coordinator hardware for other manufacturers is not supported by yet zigpy it is possible for any independent developer to step-up and develop a new radio library for zigpy which translates its proprietary communication protocol into the common API that zigpy can understand.

zigpy contains common code implementing ZCL (Zigbee Cluster Library) and ZDO (Zigbee Device Object) application state management which is being used by various radio libraries implementing the actual interface with the radio modules from different manufacturers. The separate radio libraries interface with radio hardware adapters/modules over USB and GPIO using different native UART serial protocols.

The ZHA integration component for Home Assistant, the Zigbee Plugin for Domoticz, and the Zigbee Plugin for Jeedom (competing open-source home automation software) are all using zigpy libraries as dependencies, as such they could be used as references of different implementations if looking to integrate a Zigbee solution into your application.

Zigbee device OTA updates

zigpy have ability to download and perform Zigbee OTAU (Over-The-Air Updates) of Zigbee devices firmware. The Zigbee OTA update firmware image files should conform to standard Zigbee OTA format and OTA provider source URLs need to be published for public availability. Updates from a local OTA update directory also is also supported and can be used as an option for offline firmware updates if user provide correct Zigbee OTA formatted firmware files themselves.

Support for automatic download from existing online OTA providers in zigpy OTA provider code is currently only available for IKEA, Inovelli, LEDVANCE/OSRAM, SALUS/Computime, and SONOFF/ITEAD devices. Support for additional OTA providers for other manufacturers devices could be added to zigpy in the future, if device manufacturers publish their firmware images publicly and developers contribute the needed download code for them.

How to install and test, report bugs, or contribute to this project

For specific instructions on how-to install and test zigpy or contribute bug-reports and code to this project please see the guidelines in the CONTRIBUTING.md file:

This CONTRIBUTING.md file will contain information about using zigpy, testing new releases, troubleshooting and bug-reporting as, as well as library + code instructions for developers and more. This file also contain short summaries and links to other related projects that directly or indirectly depends in zigpy libraries.

You can contribute to this project either as an end-user, a tester (advanced user contributing constructive issue/bug-reports) or as a developer contributing code.

Compatible Zigbee coordinator hardware

Radio libraries for zigpy are separate projects with their own repositories and include bellows (for communicating with Silicon Labs EmberZNet based radios), zigpy-deconz (for communicating with deCONZ based radios from Dresden Elektronik), and zigpy-xbee (for communicating with XBee based Zigbee radios), zigpy-zigate for communicating with ZiGate based radios, zigpy-znp or zigpy-cc for communicating with Texas Instruments based radios that have Z-Stack ZNP coordinator firmware.

Note! Zigbee 3.0 support or not in zigpy depends primarily on your Zigbee coordinator hardware and its firmware. Some Zigbee coordinator hardware support Zigbee 3.0 but might be shipped with an older firmware which does not, in which case may want to upgrade the firmware manually yourself. Some other Zigbee coordinator hardware may not support a firmware that is capable of Zigbee 3.0 at all but can still be fully functional and feature complete for your needs, (this is very common as many if not most Zigbee devices do not yet Zigbee 3.0 or are backwards-compable with a Zigbee profile that is support by your Zigbee coordinator hardware and its firmware). As a general rule, newer Zigbee coordinator hardware released can normally support Zigbee 3.0 firmware and it is up to its manufacturer to make such firmware available for them.

Compatible zigpy radio libraries

  • Digi XBee based Zigbee radios via the zigpy-xbee library for zigpy.
  • dresden elektronik deCONZ based Zigbee radios via the zigpy-deconz library for zigpy.
  • Silicon Labs (EmberZNet) based Zigbee radios using the EZSP protocol via the bellows library for zigpy.
  • Texas Instruments based Zigbee radios with all compatible Z-Stack firmware via the zigpy-znp library for zigpy.
  • ZiGate based ZigBee radios via the zigpy-zigate library for zigpy.

Legacy or obsolete zigpy radio libraries

  • Texas Instruments with Z-Stack legacy firmware via the zigpy-cc library for zigpy.

Release packages available via PyPI

New packages of tagged versions are also released via the "zigpy" project on PyPI

Older packages of tagged versions are still available on the "zigpy-homeassistant" project on PyPI

Packages of tagged versions of the radio libraries are released via separate projects on PyPI

zigpy-cc's People

Contributors

adminiuga avatar gamester17 avatar hedda avatar lejoui avatar puddly avatar sanyatuning avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zigpy-cc's Issues

[REQUEST] Support for CC2538 / CC2538x chips with Z-Stack 3 firmware

Can zigpy-cc support CC2538 / CC2538x chips by Texas Instruments if use Z-Stack 3 based firmware?

CC2538 (in combination with CC2592 amplifier) will reportedly be much better than CC2531

For reference please see: Koenkk/zigbee2mqtt#1568

As you can read in the linked reference discussion, an inexpensive DIY-development board can be built by yourself with https://www.aliexpress.com/item/32880588264.html (in combination with a power step-down converter like https://www.aliexpress.com/item/32922450122.html ) or you can buy a complete development board from https://aliexpress.com/item/32836343416.html

Firmware can be found at https://github.com/antst/CC2538-ZNP-Coordinator-firmware

Please also see dependency request for Z-Stack 3 (3.x) firmware support #2

zig-a-zig-ah! CC2562R - cannot add in HA

Trying to get the prototype of zig-a-zig-ah! CC2562R stick working with ZHA but I'm getting this error message

2020-05-07 00:09:14 INFO (MainThread) [zigpy_cc.uart] Connection made
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy.appdb] Loading application state from /home/blak/.homeassistant/zigbee.db
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy.ota] Initialize OTA providers
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy_cc.zigbee.application] Starting zigpy-cc version: 0.3.1
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy_cc.api] --> SREQ SYS version tsn: None {}
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x00!\x02#'
2020-05-07 00:09:16 DEBUG (MainThread) [zigpy.ota.provider] OTA image directory '/home/blak/.homeassistant/zigpy_ota/' does not exist
2020-05-07 00:09:50 INFO (MainThread) [zigpy_cc.uart] Connection made
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy.appdb] Loading application state from /home/blak/.homeassistant/zigbee.db
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy.ota] Initialize OTA providers
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy_cc.zigbee.application] Starting zigpy-cc version: 0.3.1
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy_cc.api] --> SREQ SYS version tsn: None {}
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x00!\x02#'
2020-05-07 00:09:52 DEBUG (MainThread) [zigpy.ota.provider] OTA image directory '/home/blak/.homeassistant/zigpy_ota/' does not exist

Using HA 0.109.4 installed in venv on Manjaro linux. Tried with Z-Stack 3.X.0 CC26X2R1_20191106.hex and CC26X2R1_20200417.hex

Stick is working on zigbee2mqtt in venv installed on the same machine.

Using CC2652RB_20200417.hex i'm getting this:

2020-05-07 00:16:20 INFO (MainThread) [zigpy_cc.uart] Connection made
2020-05-07 00:16:21 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:21 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy.appdb] Loading application state from /home/blak/.homeassistant/zigbee.db
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy.ota] Initialize OTA providers
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy_cc.zigbee.application] Starting zigpy-cc version: 0.3.1
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy_cc.api] --> SREQ SYS version tsn: None {}
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x00!\x02#'
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:23 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:23 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event timer_out_of_sync[L]: seconds=1.378969931989559>
2020-05-07 00:16:23 DEBUG (MainThread) [zigpy.ota.provider] OTA image directory '/home/blak/.homeassistant/zigpy_ota/' does not exist
2020-05-07 00:16:25 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:25 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:26 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:26 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:28 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:28 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:30 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:30 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:31 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:31 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'
2020-05-07 00:16:33 DEBUG (MainThread) [zigpy_cc.uart] drop char
2020-05-07 00:16:33 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x00'

[SUGGESTION] Team up with Electrolama to beta-test the "Zig-a-zig-ah!" CC2652 adapter

@sanyatuning Can I suggest that you try to reach out to Omer Kilic a.k.a. @omerk at Electrolama about teaming up to beta-test his "Zig-a-zig-ah!" CC2652 adapter together with zigpy-cc for ZHA in Home Assistant?

https://electrolama.com/projects/zig-a-zig-ah/

https://github.com/electrolama/zig-a-zig-ah

As I understand both zig-a-zig-ah and zigpy-cc are only spare-time hobby projects but still I think that teaming up might give both projects some positive recognition in the Home Assistant community which might attract more developers and willing alpha/beta-testers from the community to come help out with both these projects which in the long run could benefit all users wanting ZHA to become more mature and working with more hardware than today.

https://www.home-assistant.io/components/zha/

Would also be nice to see collaboration with the guys working on zigpy-znp as an alternative

https://github.com/zha-ng/zigpy-znp

Cannot add new devices to ZHA in Home assistant

I posted this issue in zigpy/zigpy and home-assistant/core but have been asked to share it here too.
home-assistant/core#35004
zigpy/zigpy#398

I'm trying to add them to my ZHA on Home Assistant - hassio. It has a bunch of Tradfri and Aqara devices already paired - via a cc2531 (passed through to the hassio vm on a Proxmox node). Running core 0.109.1 (upgraded from 107.7 which had the same issues, no change), supervisor fully updated etc.

Every time I try to pair a new device it fails to find anything. and this error is spat out:

WARNING (MainThread) [zigpy_cc.zigbee.application] missing tsn from mgmtPermitJoinRsp, maybe not a reply

[REQUEST] Allow strength of "TX Power" configuration for modules with Power Amplifier (PA)

Please consider allowing setting "TX power" (TX PWR) on radio modules with Power Amplifier (PA).

Backstory: Some if not all TI CC radio modules feature integrated or external Power Amplifier (PA), a powered RF-amplification frontend, and the amp power that goes to that RF-amplifier should be controllable via software via a configuration setting. All however also have a default setting which is always automatically used if no custom setting is asked for.

For example; the default TX power (TX_PWR) for the CC1352P and CC2652P is 5 dBm, however, these chips support up to a max of 19 dBm (though technical specification says 20 dBm), if you allow the user to control this then they could potentially get better reception if the power to amplification is increased.

See Koenkk/zigbee2mqtt#2253 from Koenkk of Zigbee2mqtt which the same idea and already implemented it as a proof-of-concept to allows setting the transmit power of the adapter for future versions which works for all adapters with Power Amplifiers, including CC2531, CC2530, CC1352P-2 and CC26X2R1, (in his POC allowed values are -22 dBm as the min to 19 dBm as the max, default is 0 except for the CC2530 + CC2591 = 4 and CC2530 + CC2592 = 19).

TI CC modules/chips which features an integrated or external RF-amplifier (PA/LNA) as I understand:

  • CC1352P ("P" is for integrated Power Amplifier), example: LAUNCHXL-CC1352P
  • CC2652P ("P" is for integrated Power Amplifier)
  • CC2530 + CC2591 (where CC2591 is an external Power Amplifier chip)
  • CC2530 + CC2592 (where CC2592 is an external Power Amplifier chip)
  • CC2538 + CC2591 (where CC2591 is an external Power Amplifier chip)
  • CC2538 + CC2592 (where CC2592 is an external Power Amplifier chip)

PS: As I understand, the chips have their maximum dBm hardcoded within safe limits so that there is no way to destroy the HW through these settings. It is just that depending on the frequency band, too high dBm values may not be legal outdoors and/or indoors depending on your country regulations, and therefore TI has set a low default value so that it is legal in all countries if one does not increase the values.

cc2531 error when booting ha 108

Running a cc2531 on a Nuc with Ubuntu server as base.
I just updated to HA 108 and am getting an error in the logs when restarting homeassistant:

2020-04-09 10:20:53 ERROR (MainThread) [homeassistant.components.zha.core.gateway] Couldn't start TI CC coordinator
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 142, in async_initialize
    res = await self.application_controller.startup(auto_form=True)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/zigbee/application.py", line 64, in startup
    self.version = await self._api.version()
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 206, in version
    version = await self._command(Subsystem.SYS, "version", {})
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 84, in _command
    return await self.request(subsystem, command, payload)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 88, in request
    return await self.request_raw(obj, expectedStatus)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 105, in request_raw
    result = await waiter.wait()
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 35, in wait
    return await asyncio.wait_for(self.future, self.timeout / 1000)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 449, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
2020-04-09 10:20:53 WARNING (MainThread) [homeassistant.config_entries] Config entry for zha not ready yet. Retrying in 5 seconds.
2020-04-09 10:20:53 INFO (MainThread) [homeassistant.setup] Setting up zha_map
2020-04-09 10:20:53 INFO (MainThread) [homeassistant.setup] Setup of domain zha_map took 0.0 seconds.
2020-04-09 10:20:53 ERROR (MainThread) [homeassistant.setup] Setup failed for zha_map: Integration failed to initialize.

This in turn leads to an issue that zha_map integration cant be setup.
However when then using zha it works fine. New devices can be paired and status of devices is reported.

ZHA on HA: messages received but not being parsed?

I have several Aqara sensors that used to work, but suddenly they all show up as "unknown" device/model despite the last seem time being current. I'm seeing the following error message in the HA log:

zigpy_cc.exception.TODO: ('write %s', <ParameterType.LIST_NEIGHBOR_LQI: 15>)

Along with:

 Unhandled message: Subsystem.ZDO concentratorIndCb

Trying to re-pair the device doesn't change anything (still shows up as "unknown").

Any ideas?

[REQUEST] Support for CC2652R / CC2652 chips with Z-Stack 3 firmware

Can zigpy-cc support CC2652R / CC2652 chips by Texas Instruments if use Z-Stack 3 based firmware?

CC26x2R / CC26x2 chips are much faster and contain much more memory than the CC2531

Texas Instruments development board can be bought http://www.ti.com/tool/launchxl-cc26x2r1

CC2652R is supported Z-Stack firmware by Koenkk https://github.com/Koenkk/Z-Stack-firmware

For reference please see: Koenkk/zigbee2mqtt#1429

Please also see dependency request for Z-Stack 3 (3.x) firmware support #2

Logs full of errors

Hi,

My home assistant logs are full of the following:

2020-03-03 09:28:22 ERROR (MainThread) [homeassistant.core] Error doing job: Exception in callback SerialTransport._read_ready()
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.7/site-packages/serial_asyncio/__init__.py", line 106, in _read_ready
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/uart.py", line 140, in data_received
    self._api.data_received(frame)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 187, in data_received
    waiter.set_result(obj)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 38, in set_result
    self.future.set_result(result)
asyncio.base_futures.InvalidStateError: invalid state
2020-03-03 09:28:32 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/zigpy/device.py", line 172, in request
    use_ieee=use_ieee,
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/zigbee/application.py", line 184, in request
    await self._api.request_raw(obj)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 126, in request_raw
    result = await waiter.wait()
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 35, in wait
    return await asyncio.wait_for(self.future, self.timeout / 1000)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 449, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

Aqara relay. Only one channel works.

Hi. I am using cc2531 and have some problems with two channel aqara relay (LUMI lumi.relay.c2acn01). I can switch from frontend only first relay. If I press second channel switch there is no result and got this at log:

2020-06-23 22:26:25 DEBUG (MainThread) [homeassistant.components.zha.entity] light.lumi_lumi_relay_c2acn01_5bd84b04_on_off_2: turned off:
2020-06-23 22:26:25 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.AREQ subsystem=Subsystem.AF command=dataConfirm payload={'endpoint': 2, 'transid': 102}> future= timeout=10000 sequence=None>
2020-06-23 22:26:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xfaa2:2:0x0006]: command failed: on exception:
2020-06-23 22:26:27 DEBUG (MainThread) [homeassistant.components.zha.entity] light.lumi_lumi_relay_c2acn01_5bd84b04_on_off_2: turned on: {'on_off': TimeoutError()}

CC2531 + WXKG01LM unknown endpoint

Lumi round button WXKG01LM seems to pair ok but device is not registered:

homeassistant_1  | 2020-07-17 08:43:36 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=201 data=b'\xab&\xf3\xb7\x1c\x03\x00\x8d\x15\x00\x00\x00\x00' length=13 fcs=207>
homeassistant_1  | 2020-07-17 08:43:36 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO leaveInd tsn: None {'srcaddr': 0x26ab, 'extaddr': 00:15:8d:00:03:1c:b7:f3, 'request': 0, 'removechildren': 0, 'rejoin': 0}
homeassistant_1  | 2020-07-17 08:43:36 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: leaveInd
homeassistant_1  | 2020-07-17 08:43:37 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=202 data=b'\xce\xaa\xf3\xb7\x1c\x03\x00\x8d\x15\x00\x00\x00' length=12 fcs=36>
homeassistant_1  | 2020-07-17 08:43:37 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO tcDeviceInd tsn: None {'nwkaddr': 0xaace, 'extaddr': 00:15:8d:00:03:1c:b7:f3, 'parentaddr': 0x0000}
homeassistant_1  | 2020-07-17 08:43:37 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: tcDeviceInd
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=193 data=b'\xce\xaa\xce\xaa\xf3\xb7\x1c\x03\x00\x8d\x15\x00\x80' length=13 fcs=202>
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO endDeviceAnnceInd tsn: 0 {'srcaddr': 0xaace, 'nwkaddr': 0xaace, 'ieeeaddr': 00:15:8d:00:03:1c:b7:f3, 'capabilities': 128}
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy_cc.zigbee.application] New device joined: 0xaace, 00:15:8d:00:03:1c:b7:f3
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy.application] Device 0xaace (00:15:8d:00:03:1c:b7:f3) joined the network
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.application] Device 00:15:8d:00:03:1c:b7:f3 changed id (0x26ab => 0xaace)
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 0 endDeviceAnnceInd
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message endDeviceAnnceInd
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.zdo] [0xaace:zdo] ZDO request ZDOCmd.Device_annce: [0xaace, 00:15:8d:00:03:1c:b7:f3, 128]
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy.device] [0xaace] Requesting 'Node Descriptor'
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.util] Tries remaining: 2
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.device] [0xaace] Extending timeout for 0x0f request
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xaace, 0, <ZDOCmd.Node_Desc_req: 2>, 0, 0, 15, b'\x0f\xce\xaa', True, False)
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] waiting for 15 nodeDescReq
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO nodeDescReq tsn: 15 {'dstaddr': 0xaace, 'nwkaddrofinterest': 0xaace}
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x04%\x02\xce\xaa\xce\xaa#'
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=2 data=b'\x00' length=1 fcs=102>
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO nodeDescReq tsn: None {'status': 0}
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00\xce\xaa\x01\x01\x00<\x00<_^\x00\x00\x19\x18\x00\n\x05\x00B\x12lumi.sensor_switch\xce\xaa\x1d' length=45 fcs=194>
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xaace, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 60, 'securityuse': 0, 'timestamp': 6184764, 'transseqnumber': 0, 'len': 25, 'data': b'\x18\x00\n\x05\x00B\x12lumi.sensor_switch'}
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.device] Ignoring message (b'18000a050042126c756d692e73656e736f725f737769746368') on cluster 0: unknown endpoint or cluster id: 1
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00\xce\xaa\x01\x01\x009\x00K_^\x00\x00\x07\x18\x01\n\x01\x00 \n\xce\xaa\x1d' length=27 fcs=143>
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xaace, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 57, 'securityuse': 0, 'timestamp': 6184779, 'transseqnumber': 0, 'len': 7, 'data': b'\x18\x01\n\x01\x00 \n'}
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.device] Ignoring message (b'18010a0100200a') on cluster 0: unknown endpoint or cluster id: 1
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00\xce\xaa\x01\x01\x009\x00W_^\x00\x00\x1d\x1c4\x12\x02\n\x02\xffL\x06\x00\x10\x01!\xce\x0b!\xa8\x01$\x00\x00\x00\x00\x00!\x18\x00 W\xce\xaa\x1d' length=49 fcs=9>
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xaace, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 57, 'securityuse': 0, 'timestamp': 6184791, 'transseqnumber': 0, 'len': 29, 'data': b'\x1c4\x12\x02\n\x02\xffL\x06\x00\x10\x01!\xce\x0b!\xa8\x01$\x00\x00\x00\x00\x00!\x18\x00 W'}
homeassistant_1  | 2020-07-17 08:43:38 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
homeassistant_1  | 2020-07-17 08:43:38 DEBUG (MainThread) [zigpy.device] Ignoring message (b'1c3412020a02ff4c0600100121ce0b21a8012400000000002118002057') on cluster 0: unknown endpoint or cluster id: 1

On the other hand, Water Leak sensor SJCGQ11LM registered just fine:

homeassistant_1  | 2020-07-17 08:52:45 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=201 data=b'\xff\x19v\x14\x01\x04\x00\x8d\x15\x00\x00\x00\x00' length=13 fcs=152>
homeassistant_1  | 2020-07-17 08:52:45 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO leaveInd tsn: None {'srcaddr': 0x19ff, 'extaddr': 00:15:8d:00:04:01:14:76, 'request': 0, 'removechildren': 0, 'rejoin': 0}
homeassistant_1  | 2020-07-17 08:52:45 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: leaveInd
homeassistant_1  | 2020-07-17 08:52:46 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=202 data=b' \xfbv\x14\x01\x04\x00\x8d\x15\x00\x00\x00' length=12 fcs=167>
homeassistant_1  | 2020-07-17 08:52:46 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO tcDeviceInd tsn: None {'nwkaddr': 0xfb20, 'extaddr': 00:15:8d:00:04:01:14:76, 'parentaddr': 0x0000}
homeassistant_1  | 2020-07-17 08:52:46 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: tcDeviceInd
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=193 data=b' \xfb \xfbv\x14\x01\x04\x00\x8d\x15\x00\x80' length=13 fcs=246>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO endDeviceAnnceInd tsn: 0 {'srcaddr': 0xfb20, 'nwkaddr': 0xfb20, 'ieeeaddr': 00:15:8d:00:04:01:14:76, 'capabilities': 128}
homeassistant_1  | 2020-07-17 08:52:47 INFO (MainThread) [zigpy_cc.zigbee.application] New device joined: 0xfb20, 00:15:8d:00:04:01:14:76
homeassistant_1  | 2020-07-17 08:52:47 INFO (MainThread) [zigpy.application] Device 0xfb20 (00:15:8d:00:04:01:14:76) joined the network
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.application] Device 00:15:8d:00:04:01:14:76 changed id (0x19ff => 0xfb20)
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 0 endDeviceAnnceInd
homeassistant_1  | 2020-07-17 08:52:47 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message endDeviceAnnceInd
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.zdo] [0xfb20:zdo] ZDO request ZDOCmd.Device_annce: [0xfb20, 00:15:8d:00:04:01:14:76, 128]
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for None None (00:15:8d:00:04:01:14:76)
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {3} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {3} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {3} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} set()
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0xfb20:00:15:8d:00:04:01:14:76 entering async_device_initialized - is_new_join: False
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0xfb20:00:15:8d:00:04:01:14:76 has been reset and re-added or its nwk address changed
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] skipping discovery for previously discovered device - 0xfb20:00:15:8d:00:04:01:14:76
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): started configuration
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xfb20:ZDO](unk_model): 'async_configure' stage succeeded
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): completed configuration
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): stored in registry: ZhaDeviceEntry(name='LUMI lumi.sensor_wleak.aq1', ieee='00:15:8d:00:04:01:14:76', last_seen=1594965167.4942393)
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): started initialization
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xfb20:ZDO](unk_model): 'async_initialize' stage succeeded
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): power source: Battery or Unknown
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xfb20](unk_model): completed initialization
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00 \xfb\x01\x01\x00*\x00*\x8ex\x00\x00 \x18\x00\n\x05\x00B\x15lumi.sensor_wleak.aq1\x01\x00 \x04 \xfb\x1d' length=52 fcs=94>
homeassistant_1  | 2020-07-17 08:52:47 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xfb20, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 42, 'securityuse': 0, 'timestamp': 7900714, 'transseqnumber': 0, 'len': 32, 'data': b'\x18\x00\n\x05\x00B\x15lumi.sensor_wleak.aq1\x01\x00 \x04'}

Please point out where to dig?

Device support request: QBKG03LM + cc2530 only shows status, no control.

the switch QBKG03LM is successfully paired with cc2530 + cp2102, is shown in ZHA. When physically turning on / off, the status changes in the HA (0,108,2) interface. But changing the status from the HA interface does not lead to a physical switch. In addition, after a few seconds in the interface HA, the switch returns to its previous state.

https://user-images.githubusercontent.com/3389141/79025251-dc02d600-7b8d-11ea-9660-86faef44a830.png

[BUG] Aqara relay. Only one channel works

Hi. I am using cc2531 and have some problems with two channel aqara relay (LUMI lumi.relay.c2acn01). I can switch from frontend only first relay. If I press second channel switch there is no result and got this at log:

2020-06-23 22:26:25 DEBUG (MainThread) [homeassistant.components.zha.entity] light.lumi_lumi_relay_c2acn01_5bd84b04_on_off_2: turned off:
2020-06-23 22:26:25 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.AREQ subsystem=Subsystem.AF command=dataConfirm payload={'endpoint': 2, 'transid': 102}> future= timeout=10000 sequence=None>
2020-06-23 22:26:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xfaa2:2:0x0006]: command failed: on exception:
2020-06-23 22:26:27 DEBUG (MainThread) [homeassistant.components.zha.entity] light.lumi_lumi_relay_c2acn01_5bd84b04_on_off_2: turned on: {'on_off': TimeoutError()}

devices disappears when restart HA

was wondering i have tried the new integration in home assistant, ZHA using the CC2531 radio_type: ti_cc, all works great, it discoveries de devices but then for some reason when you restart homeassistant all devices are gone from ZHA, any toughts?

[SUGGESTION] Migrate zigpy-cc repository to upstream zigpy organization?

@sanyatuning can I suggest that you please consider talking to @Adminiuga & @dmulcahey about the possibility of you joining the zigpy organization @ https://github.com/zigpy/ and maybe also having your zigpy-cc repository here on GitHub moved to the zigpy organization @ https://github.com/zigpy/ so that the mainstream copy of this repo will stay there as its upstream instead and owned by the upstream zigpy organization?

Move repo from https://github.com/sanyatuning/zigpy-cc to https://github.com/zigpy/zigpy-cc

That way all developers that are members in the zigpy organization can have write access to one or more projects that it own for collaboration as a community? Hope that you could all come to an agreement that will make everyone happy with continuing with working on the zigpy-cc repository together without getting offended by any ownership conflicts.

PS: I also posted the same suggestion on zigpy repository by @zigpy org here zigpy/zigpy#295

[REQUEST] Ability to upgrade Texas Instrument coordinator firmware via zigpy-cc & ZHA GUI?

@sanyatuning Requesting this now as @puddly posted in zigpy/zigpy-znp#14 saying that he implemented the serial bootloader protocol (f67e8a4) used by the Windows utility mentioned in Koenkk/zigbee2mqtt#320 and was able to upgrade flash his already pre-flashed Texas Instruments CC adapter with a newer firmware without using any external tools, standalone to flash an adapter (in his case he tested it with a CC2531 adapter from ITead which is shipped with older firmware)

ip install zigpy-znp
$ python -m zigpy_znp.tools.flash_read /dev/serial/by-id/radio -o flash.bin
$ python -m zigpy_znp.tools.flash_write /dev/serial/by-id/radio -i flash.bin

Suggest considering adding ability to upgrade Texas Instrument coordinator firmware via zigpy-cc.

So not just backup and restore the firmware but update it if bought an adapter that has old firmware.

Best would probably be if users could have this ability if only they first manually download and rename firmware binary image file in a specific format to a predetermined file-name and then place that correctly formatted/named file in a specific directory before being able to issue an "upgrade coordinator firmware" command.

Even more awesome would then be to also add the ability to utilize that ability from HA ZHA GUI.

If so it would probably be best to first let the user manually download and unpack the firmware themselves so leave the responsibility to them to make sure it is in the correct format and then having a button in the ZHA UI for "upgrade coordinator firmware".

More user-friendly would then, of course, be if ZHA let you enter a URL source location for automatic download of firmware, like for example https://github.com/Koenkk/Z-Stack-firmware/

cp2102 + cc2530

Hi!
Please add to HA configiration for ZHA rtscts option.
I tried to add cc2530 to HA/ZHA with no success.
My config:
zha:
radio_type: ti_cc
usb_path: /dev/ttyUSB0
baudrate: 115200

At the same time, on the same host in the zigbee2mqtt (container), the cc2530+cp2102 stick works great if added the parameter in config rtscts: false.

Thank you!!!
BR, Vlad.

[HW RECOMMENDATIONS] CC1352P-2 verses CC26X2R1 (CC2652/CC2652P) verses CC2652R/CC2652RB-based Zig-a-zig-ah?

What hardware would you recommend someone to buy for Z-Stack 3.x Zigbee coordinator firmware?

Personally I am low on funds right now so thinking of just waiting for someone like Electrolama to start mass-producing and selling plug-and-play CC2652-based adapters such as their Zig-a-zig-ah ("ZZH") USB-stick at a lower price, but what hardware would you recommend today to someone who has enough funds now and is not willing to wait?

There are quite a few to choose from in Texas Instruments current SimpleLink multi-standard family:

http://www.ti.com/wireless-connectivity/simplelink-solutions/multi-standard/products.html

It looks like most people in the Zigbee2mqtt community who has made the lead is currently recommending the slightly more expensive CC13x2 based LAUNCHXL-CC1352P-2 development kit over the CC26x2 based LAUNCHXL-CC26X2R1 development kit for a number of reasons, though mainly because CC1352P-2 has a built-in RF-amplifier (PA/LNA) frontend as well as an SMA-connector for an external antenna and therefore has a much better link quality (people are even complaining that LAUNCHXL-CC26X2R1 has worse link quality than a CC2531 with an external antenna).

LAUNCHXL-CC1352P-2

  • +1: Has a built-in RF-amplifier (PA/LNA) frontend for potentially better range (assuming Zigbee2mqtt will support enablement - enhancement is raised). RF design includes a shield.
  • +1: Has a built-in SMA antenna connector (although it's still necessary to de/re-solder a tiny SMD capacitor switch from PCB antenna to SMA. Should provide an increase in range.
  • +1: Can support sub 1GHz - opening the possibility for 868MHz (EU) and 915MHz (NA) Zigbee for better range (technically possible but no idea how many end devices support it) and possibly other applications in the future… IMO this “benefit” should not be a consideration at the point.
  • -1: Bigger PCB (~2cm) than the CC26X2R1
  • -1: A little ($10) more expensive than the CC26X2R1
    There are two versions with different RF suitability - The P-2 version favours 2.4GHz rather than sub 1GHz and this would be the recommended version to obtain for Zigbee2mqtt
  • +1: STL for 3D printed case here: https://www.thingiverse.com/thing:3928171

LAUNCHXL-CC26X2R1

  • +1: Seems to be the preferred board on this thread (maybe we need a poll?)
  • +1: Slightly smaller PCB than the CC1352P
  • +1: A little cheaper than the CC1352P and more sellers than just TI.
  • +1: There is an STL for 3D printed case: https://www.thingiverse.com/thing:3305478
  • +1: Another STL for 3D printed case here: https://www.thingiverse.com/thing:3928171
  • -1: Theoretically less range than CC1352P due to lack of RF-amplifier (PA/LNA) frontend
  • -1: Possibility to use external antenna (if de/re-solder the tiny SMD capacitor) but that requires a JSC-SMA antenna adaptor which is not cheap (~20 euros)
  • -1: No support for sub-1GHz but there is no clear advantage of this currently

Other notes:

  • There does not yet appear to be any more economical options from online China retailers like Aliexpress, etc. for either of these.
  • Both have built-in JTAG programmer so no need for an external programmer

[REQUEST] Feature for "backup and restore" to migrate from one Zigbee coordinator HW adapter to other hardware?

This idea came from developer discussion between @Adminiuga & @puddly in zigpy/zigpy-znp#10

Would it be possible to script a "backup and restore" migration feature/function built into zigpy radio libraries that allow users to relatively easily migrate from one Zigbee coordinator hardware adapter to a other Zigbee coordinator hardware adapter if use same radio library and maybe even if they are not using the exact same hardware MCU chip model/module?

Migrations such as these could become common as new more powerful adapters become available:

  • Any CC2530 based adapter hardware -> Any other CC2530 based adapter hardware
  • Any CC2531 based adapter hardware -> Any other CC2531 based adapter hardware
  • Any CC2538 based adapter hardware -> Any other CC2538 based adapter hardware
  • LAUNCHXL-CC26X2R1 development board -> Zig-a-zig-ah (ZZH) CC2652R1 based adapter
  • LAUNCHXL-CC1352P-2 development board -> Zig-a-zig-ah (ZZH) CC2652R1 based adapter
  • LAUNCHXL-CC26X2R1 development board -> LAUNCHXL-CC1352P-2 development board
  • Any CC2652R based adapter hardware -> Any CC2652P based adapter hardware
  • Any CC2652R based adapter hardware -> Any CC1352P based adapter hardware

Would be a more awesome feature if could also migrate from older TI chips to newer TI chips:

  • Any CC2530 based adapter hardware -> Any CC2531 based adapter hardware
  • Any CC2531 based adapter hardware -> Any CC2538 based adapter hardware
  • Any CC2530 based adapter hardware -> Any CC2652 or CC1352P based adapter hardware
  • Any CC2531 based adapter hardware -> Any CC2652 or CC1352P based adapter hardware
  • Any CC2538 based adapter hardware -> Any CC2652 or CC1352P based adapter hardware

Would really be an awesome feature to have if could be made user-friendly for integration like ZHA!

Hue motion sensor not work

Problem

When I add Hue motion sensor (SML001) thru ZHA integration, pairing process ends, but none of the sensor function work.
Illuminance, temperature, power is "unknown" state, occupancy is always "clear".

I noticed something strange during pairing operation. When I start adding new devices, after few minutes searching stops, logs stops, but when I only hit "search again", then process is continuing, new entry logs came's up.

Reset and reconfig doesn't help. Tried at HA 111.0, 111.4 and 112.0 version.

Adminiuga sugested this could be a zigpy-cc problem.
https://github.com/home-assistant/core/issues/36162

Environment
86395172-1ae18d00-bca0-11ea-9c84-d3b2e5721700
Zigbee module : CC2531 USB

ZHA log
Device 0xcf1a (00:17:88:01:06:f7:e9:9d) joined the network
[0xcf1a:zdo] ZDO request ZDOCmd.Device_annce: [0xcf1a, 00:17:88:01:06:f7:e9:9d, 128]
[0xcf1a] Requesting 'Node Descriptor'
Tries remaining: 2
[0xcf1a] Extending timeout for 0x03 request
[0xcf1a] Node Descriptor:
[0xcf1a] Discovering endpoints
Tries remaining: 3
[0xcf1a] Extending timeout for 0x05 request
[0xcf1a] Discovered endpoints: [2, 1]
[0xcf1a:2] Discovering endpoint information
Tries remaining: 3
[0xcf1a] Extending timeout for 0x07 request
[0xcf1a:2] Discovered endpoint information: <Optional endpoint=2 profile=260 device_type=263 device_version=0 input_clusters=[0, 1, 3, 1030, 1024, 1026] output_clusters=[25]>
[0xcf1a] Extending timeout for 0x09 request
[0xcf1a] Extending timeout for 0x0b request
[0xcf1a] Extending timeout for 0x0d request
[0xcf1a:2] Manufacturer: None
[0xcf1a:2] Model: None
[0xcf1a:1] Discovering endpoint information
Tries remaining: 3
[0xcf1a] Extending timeout for 0x0f request
[0xcf1a:1] Discovered endpoint information: <Optional endpoint=1 profile=49246 device_type=2128 device_version=2 input_clusters=[0] output_clusters=[0, 3, 4, 6, 8, 768, 5]>
[0xcf1a] Extending timeout for 0x11 request
[0xcf1a:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=17 command_id=Command.Read_Attributes_rsp>
[0xcf1a:1] Manufacturer: Philips
[0xcf1a:1] Model: SML001
Checking quirks for Philips SML001 (00:17:88:01:06:f7:e9:9d)
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1, 2}
Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
Fail because endpoint list mismatch: {3} {1, 2}
Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
device - 0xcf1a:00:17:88:01:06:f7:e9:9d entering async_device_initialized - is_new_join: True
device - 0xcf1a:00:17:88:01:06:f7:e9:9d has joined the ZHA zigbee network
0xcf1a: started configuration
0xcf1a:ZDO: 'async_configure' stage succeeded
[0xcf1a] Extending timeout for 0x13 request
[0xcf1a] Extending timeout for 0x15 request
[0xcf1a] Extending timeout for 0x17 request
[0xcf1a:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0xcf1a:1:0x0000]: finished channel configuration
[0xcf1a] Extending timeout for 0x19 request
[0xcf1a:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0xcf1a:1:0x0006]: finished channel configuration
[0xcf1a] Extending timeout for 0x1b request
[0xcf1a:1:0x0008]: bound 'level' cluster: Status.SUCCESS
[0xcf1a:1:0x0008]: finished channel configuration
[0xcf1a] Extending timeout for 0x1d request
[0xcf1a:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=25 command_id=Command.Read_Attributes_rsp>
[0xcf1a:1:0x0000]: initializing channel: from_cache: False
[0xcf1a] Extending timeout for 0x1f request
[0xcf1a:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0xcf1a:1:0x0006]: finished channel configuration
[0xcf1a] Extending timeout for 0x21 request
[0xcf1a:1:0x0005]: bound 'scenes' cluster: Status.SUCCESS
[0xcf1a:1:0x0005]: finished channel configuration
[0xcf1a] Extending timeout for 0x23 request
[0xcf1a:1:0x0300]: bound 'light_color' cluster: Status.SUCCESS
[0xcf1a:1:0x0300]: finished channel configuration
[0xcf1a] Extending timeout for 0x25 request
[0xcf1a:1:0x0000]: 'async_configure' stage succeeded
[0xcf1a:1:0x0006]: 'async_configure' stage succeeded
[0xcf1a:1:0x0008]: 'async_configure' stage succeeded
[0xcf1a:1:0x0006]: 'async_configure' stage succeeded
[0xcf1a:1:0x0005]: 'async_configure' stage succeeded
[0xcf1a:1:0x0300]: 'async_configure' stage succeeded
[0xcf1a:2:0x0001]: bound 'power' cluster: Status.SUCCESS
[0xcf1a] Extending timeout for 0x27 request
[0xcf1a:2:0x0402]: bound 'temperature' cluster: Status.SUCCESS
[0xcf1a] Extending timeout for 0x29 request
[0xcf1a:2:0x0400]: bound 'illuminance' cluster: Status.SUCCESS
[0xcf1a] Extending timeout for 0x2b request
[0xcf1a:1:0x0006] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=0 command_id=66>
[0xcf1a:1:0x0006] ZCL request 0x0042: [0, 3000, 0]
[0xcf1a:1:0x0006] No handler for cluster command 66
[0xcf1a:1:0x0006]: received 'on_with_timed_off' command with [0, 3000, 0] args on cluster_id '6' tsn '0'

SEARCHING NEW DEVICE STOPS HERE
BUT WHEN I CLICK ON "SEARCH AGAIN" BUTTON... IT CONTINUES...

[0xcf1a:2:0x0001]: failed to get attributes '['battery_size', 'battery_percentage_remaining', 'battery_voltage', 'battery_quantity']' on 'power' cluster:
[0xcf1a:2:0x0001]: initializing channel: from_cache: False
[0xcf1a] Extending timeout for 0x49 request
[0xcf1a:2:0x0402]: failed to get attributes '['measured_value']' on 'temperature' cluster:
[0xcf1a:2:0x0406]: initializing channel: from_cache: False
[0xcf1a] Extending timeout for 0x4b request
[0xcf1a:2:0x0400]: failed to get attributes '['measured_value']' on 'illuminance' cluster:
[0xcf1a] Extending timeout for 0x4d request
[0xcf1a:2:0x0001]: failed to get attributes '['battery_voltage', 'battery_percentage_remaining']' on 'power' cluster:
[0xcf1a:2:0x0019]: initializing channel: from_cache: False
[0xcf1a:2:0x0406]: failed to get attributes '['occupancy']' on 'occupancy' cluster:
[0xcf1a:2:0x0000]: initializing channel: from_cache: False
[0xcf1a:2:0x0001]: 'async_initialize' stage succeeded
[0xcf1a:2:0x0402]: 'async_initialize' stage succeeded
[0xcf1a:2:0x0400]: 'async_initialize' stage succeeded
[0xcf1a:2:0x0406]: 'async_initialize' stage succeeded
[0xcf1a:2:0x0000]: 'async_initialize' stage succeeded
[0xcf1a:2:0x0019]: 'async_initialize' stage succeeded
0xcf1a: power source: Battery or Unknown
0xcf1a: completed initialization

HASS log
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.zigbee.application] broadcast (0, 54, 0, 0, 0, 0, 1, b'\x01<\x00', <BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>)
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO mgmtPermitJoinReq tsn: 1 {'addrmode': 15, 'dstaddr': 0xfffc, 'duration': 60, 'tcsignificance': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%6\x0f\xfc\xff<\x00&'
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=54 data=b'\x00' length=1 fcs=82>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO mgmtPermitJoinReq tsn: None {'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO mgmtPermitJoinReq tsn: None {'addrmode': 15, 'dstaddr': <BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>, 'duration': 60, 'tcsignificance': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%6\x0f\xfc\xff<\x00&'
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=203 data=b'<' length=1 fcs=179>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO permitJoinInd tsn: None {'duration': 60}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=54 data=b'\x00' length=1 fcs=82>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO mgmtPermitJoinReq tsn: None {'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=182 data=b'\x00\x00\x00' length=3 fcs=240>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO mgmtPermitJoinRsp tsn: None {'srcaddr': 0x0000, 'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=182 data=b'\x00\x00\x00' length=3 fcs=240>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO mgmtPermitJoinRsp tsn: None {'srcaddr': 0x0000, 'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:39:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=202 data=b'\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x00\x00' length=12 fcs=77>
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO tcDeviceInd tsn: None {'nwkaddr': 0xcf1a, 'extaddr': 00:17:88:01:06:f7:e9:9d, 'parentaddr': 0x0000}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: tcDeviceInd
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=193 data=b'\x1a\xcf\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x80' length=13 fcs=18>
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO endDeviceAnnceInd tsn: 0 {'srcaddr': 0xcf1a, 'nwkaddr': 0xcf1a, 'ieeeaddr': 00:17:88:01:06:f7:e9:9d, 'capabilities': 128}
2020-07-03 20:39:32 INFO (MainThread) [zigpy_cc.zigbee.application] New device joined: 0xcf1a, 00:17:88:01:06:f7:e9:9d
2020-07-03 20:39:32 INFO (MainThread) [zigpy.application] Device 0xcf1a (00:17:88:01:06:f7:e9:9d) joined the network
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 0 endDeviceAnnceInd
2020-07-03 20:39:32 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message endDeviceAnnceInd
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy.zdo] [0xcf1a:zdo] ZDO request ZDOCmd.Device_annce: [0xcf1a, 00:17:88:01:06:f7:e9:9d, 128]
2020-07-03 20:39:32 INFO (MainThread) [zigpy.device] [0xcf1a] Requesting 'Node Descriptor'
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy.util] Tries remaining: 2
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x03 request
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Node_Desc_req: 2>, 0, 0, 3, b'\x03\x1a\xcf', True, False)
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] waiting for 3 nodeDescReq
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO nodeDescReq tsn: 3 {'dstaddr': 0xcf1a, 'nwkaddrofinterest': 0xcf1a}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x04%\x02\x1a\xcf\x1a\xcf#'
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=2 data=b'\x00' length=1 fcs=102>
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO nodeDescReq tsn: None {'status': 0}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=130 data=b'\x1a\xcf\x00\x1a\xcf\x02@\x80\x0b\x10Y?\x00\x00\x00?\x00\x00' length=18 fcs=85>
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO nodeDescRsp tsn: 3 {'srcaddr': 0xcf1a, 'status': 0, 'nwkaddr': 0xcf1a, 'logicaltype_cmplxdescavai_userdescavai': 2, 'apsflags_freqband': 64, 'maccapflags': 128, 'manufacturercode': 4107, 'maxbuffersize': 89, 'maxintransfersize': 63, 'servermask': 0, 'maxouttransfersize': 63, 'descriptorcap': 0}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 3 nodeDescRsp
2020-07-03 20:39:32 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message nodeDescRsp
2020-07-03 20:39:32 INFO (MainThread) [zigpy.device] [0xcf1a] Node Descriptor:
2020-07-03 20:39:32 INFO (MainThread) [zigpy.device] [0xcf1a] Discovering endpoints
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x05 request
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Active_EP_req: 5>, 0, 0, 5, b'\x05\x1a\xcf', True, False)
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] waiting for 5 activeEpReq
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO activeEpReq tsn: 5 {'dstaddr': 0xcf1a, 'nwkaddrofinterest': 0xcf1a}
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x04%\x05\x1a\xcf\x1a\xcf$'
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=5 data=b'\x00' length=1 fcs=97>
2020-07-03 20:39:32 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO activeEpReq tsn: None {'status': 0}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=133 data=b'\x1a\xcf\x00\x1a\xcf\x02\x02\x01' length=8 fcs=201>
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO activeEpRsp tsn: 5 {'srcaddr': 0xcf1a, 'status': 0, 'nwkaddr': 0xcf1a, 'activeepcount': 2, 'activeeplist': [2, 1]}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 5 activeEpRsp
2020-07-03 20:39:33 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message activeEpRsp
2020-07-03 20:39:33 INFO (MainThread) [zigpy.device] [0xcf1a] Discovered endpoints: [2, 1]
2020-07-03 20:39:33 INFO (MainThread) [zigpy.endpoint] [0xcf1a:2] Discovering endpoint information
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x07 request
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Simple_Desc_req: 4>, 0, 0, 7, b'\x07\x1a\xcf\x02', True, False)
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] waiting for 7 simpleDescReq
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO simpleDescReq tsn: 7 {'dstaddr': 0xcf1a, 'nwkaddrofinterest': 0xcf1a, 'endpoint': 2}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%\x04\x1a\xcf\x1a\xcf\x02&'
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=4 data=b'\x00' length=1 fcs=96>
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO simpleDescReq tsn: None {'status': 0}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=132 data=b'\x1a\xcf\x00\x1a\xcf\x16\x02\x04\x01\x07\x01\x00\x06\x00\x00\x01\x00\x03\x00\x06\x04\x00\x04\x02\x04\x01\x19\x00' length=28 fcs=214>
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO simpleDescRsp tsn: 7 {'srcaddr': 0xcf1a, 'status': 0, 'nwkaddr': 0xcf1a, 'len': 22, 'endpoint': 2, 'profileid': 260, 'deviceid': 263, 'deviceversion': 0, 'numinclusters': 6, 'inclusterlist': [0, 1, 3, 1030, 1024, 1026], 'numoutclusters': 1, 'outclusterlist': [25]}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 7 simpleDescRsp
2020-07-03 20:39:33 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message simpleDescRsp
2020-07-03 20:39:33 INFO (MainThread) [zigpy.endpoint] [0xcf1a:2] Discovered endpoint information: <Optional endpoint=2 profile=260 device_type=263 device_version=0 input_clusters=[0, 1, 3, 1030, 1024, 1026] output_clusters=[25]>
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x09 request
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 2, 2, 9, b'\x00\t\x00\x04\x00\x05\x00', True, False)
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 9 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 0, 'transid': 10, 'options': 0, 'radius': 30, 'len': 7, 'data': b'\x00\t\x00\x04\x00\x05\x00'}
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x11$\x01\x1a\xcf\x02\x02\x00\x00\n\x00\x1e\x07\x00\t\x00\x04\x00\x05\x00\xfa'
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:39:33 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:39:34 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02\n' length=3 fcs=207>
2020-07-03 20:39:34 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 10}
2020-07-03 20:39:34 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x0b request
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 2, 2, 11, b'\x00\x0b\x00\x04\x00', True, False)
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 11 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 0, 'transid': 12, 'options': 0, 'radius': 30, 'len': 5, 'data': b'\x00\x0b\x00\x04\x00'}
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x0f$\x01\x1a\xcf\x02\x02\x00\x00\x0c\x00\x1e\x05\x00\x0b\x00\x04\x00\xe7'
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02\x0c' length=3 fcs=201>
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 12}
2020-07-03 20:40:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=203 data=b'\x00' length=1 fcs=143>
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO permitJoinInd tsn: None {'duration': 0}
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.Off: 0>}
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x00,"
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:40:28 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x0d request
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 2, 2, 13, b'\x00\r\x00\x05\x00', True, False)
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 13 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 0, 'transid': 14, 'options': 0, 'radius': 30, 'len': 5, 'data': b'\x00\r\x00\x05\x00'}
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x0f$\x01\x1a\xcf\x02\x02\x00\x00\x0e\x00\x1e\x05\x00\r\x00\x05\x00\xe2'
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02\x0e' length=3 fcs=203>
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 14}
2020-07-03 20:40:30 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy.endpoint] [0xcf1a:2] Manufacturer: None
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy.endpoint] [0xcf1a:2] Model: None
2020-07-03 20:40:58 INFO (MainThread) [zigpy.endpoint] [0xcf1a:1] Discovering endpoint information
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x0f request
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Simple_Desc_req: 4>, 0, 0, 15, b'\x0f\x1a\xcf\x01', True, False)
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.api] waiting for 15 simpleDescReq
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO simpleDescReq tsn: 15 {'dstaddr': 0xcf1a, 'nwkaddrofinterest': 0xcf1a, 'endpoint': 1}
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%\x04\x1a\xcf\x1a\xcf\x01%'
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=4 data=b'\x00' length=1 fcs=96>
2020-07-03 20:40:58 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO simpleDescReq tsn: None {'status': 0}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=132 data=b'\x1a\xcf\x00\x1a\xcf\x18\x01^\xc0P\x08\x02\x01\x00\x00\x07\x00\x00\x03\x00\x04\x00\x06\x00\x08\x00\x00\x03\x05\x00' length=30 fcs=11>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO simpleDescRsp tsn: 15 {'srcaddr': 0xcf1a, 'status': 0, 'nwkaddr': 0xcf1a, 'len': 24, 'endpoint': 1, 'profileid': 49246, 'deviceid': 2128, 'deviceversion': 2, 'numinclusters': 1, 'inclusterlist': [0], 'numoutclusters': 7, 'outclusterlist': [0, 3, 4, 6, 8, 768, 5]}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 15 simpleDescRsp
2020-07-03 20:40:59 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message simpleDescRsp
2020-07-03 20:40:59 INFO (MainThread) [zigpy.endpoint] [0xcf1a:1] Discovered endpoint information: <Optional endpoint=1 profile=49246 device_type=2128 device_version=2 input_clusters=[0] output_clusters=[0, 3, 4, 6, 8, 768, 5]>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x11 request
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 1, 1, 17, b'\x00\x11\x00\x04\x00\x05\x00', True, False)
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 17 {'dstaddr': 53018, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 0, 'transid': 18, 'options': 0, 'radius': 30, 'len': 7, 'data': b'\x00\x11\x00\x04\x00\x05\x00'}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x11$\x01\x1a\xcf\x01\x01\x00\x00\x12\x00\x1e\x07\x00\x11\x00\x04\x00\x05\x00\xfa'
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x01\x12' length=3 fcs=212>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 1, 'transid': 18}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00\x1a\xcf\x01\x01\x00Y\x00G\xa7Q\x00\x00\x1a\x18\x11\x01\x04\x00\x00B\x07Philips\x05\x00\x00B\x06SML001\x1a\xcf\x1d' length=46 fcs=56>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xcf1a, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 89, 'securityuse': 0, 'timestamp': 5351239, 'transseqnumber': 0, 'len': 26, 'data': b'\x18\x11\x01\x04\x00\x00B\x07Philips\x05\x00\x00B\x06SML001'}
2020-07-03 20:40:59 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.zcl] [0xcf1a:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=17 command_id=Command.Read_Attributes_rsp>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.endpoint] [0xcf1a:1] Manufacturer: Philips
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.endpoint] [0xcf1a:1] Model: SML001
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for Philips SML001 (00:17:88:01:06:f7:e9:9d)
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {3} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2}
2020-07-03 20:40:59 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0xcf1a:00:17:88:01:06:f7:e9:9d entering async_device_initialized - is_new_join: True
2020-07-03 20:40:59 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0xcf1a:00:17:88:01:06:f7:e9:9d has joined the ZHA zigbee network
2020-07-03 20:40:59 DEBUG (MainThread) [homeassistant.components.zha.core.device] 0xcf1a: started configuration
2020-07-03 20:40:59 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] 0xcf1a:ZDO: 'async_configure' stage succeeded
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x13 request
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 19, b'\x13\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x00\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] waiting for 19 bindReq
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 19 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 0, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x00\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x85'
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x15 request
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 21, b'\x15\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x06\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] waiting for 21 bindReq
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 21 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 6, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x06\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x83'
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x17 request
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 23, b'\x17\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x08\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] waiting for 23 bindReq
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 23 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 8, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x08\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x8d'
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:40:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 19 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 19 bindRsp
2020-07-03 20:41:00 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
2020-07-03 20:41:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0000]: finished channel configuration
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x19 request
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 1, 1, 25, b'\x00\x19\x00\x07\x00', True, False)
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 25 {'dstaddr': 53018, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 0, 'transid': 26, 'options': 0, 'radius': 30, 'len': 5, 'data': b'\x00\x19\x00\x07\x00'}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x0f$\x01\x1a\xcf\x01\x01\x00\x00\x1a\x00\x1e\x05\x00\x19\x00\x07\x00\xe0'
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 21 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 21 bindRsp
2020-07-03 20:41:00 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
2020-07-03 20:41:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: finished channel configuration
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x1b request
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 27, b'\x1b\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x06\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] waiting for 27 bindReq
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 27 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 6, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x06\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x83'
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:00 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 23 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 23 bindRsp
2020-07-03 20:41:01 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:01 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0008]: bound 'level' cluster: Status.SUCCESS
2020-07-03 20:41:01 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0008]: finished channel configuration
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x1d request
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 29, b'\x1d\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x05\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] waiting for 29 bindReq
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 29 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 5, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x05\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x80'
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x01\x1a' length=3 fcs=220>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 1, 'transid': 26}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x00\x00\x1a\xcf\x01\x01\x00Y\x00N\xc0Q\x00\x00\x08\x18\x19\x01\x07\x00\x000\x03\x1a\xcf\x1d' length=28 fcs=126>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 0, 'srcaddr': 0xcf1a, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 89, 'securityuse': 0, 'timestamp': 5357646, 'transseqnumber': 0, 'len': 8, 'data': b'\x18\x19\x01\x07\x00\x000\x03'}
2020-07-03 20:41:01 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy.zcl] [0xcf1a:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=25 command_id=Command.Read_Attributes_rsp>
2020-07-03 20:41:01 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0000]: initializing channel: from_cache: False
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x1f request
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 31, b'\x1f\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x00\x03\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] waiting for 31 bindReq
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 31 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 1, 'clusterid': 768, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x01\x00\x03\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x86'
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 27 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 27 bindRsp
2020-07-03 20:41:01 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:01 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
2020-07-03 20:41:01 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: finished channel configuration
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x21 request
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 33, b'!\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x01\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] waiting for 33 bindReq
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 33 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 2, 'clusterid': 1, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x01\x00\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x87'
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:01 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 29 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 29 bindRsp
2020-07-03 20:41:02 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0005]: bound 'scenes' cluster: Status.SUCCESS
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0005]: finished channel configuration
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x23 request
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 35, b'#\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x02\x04\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] waiting for 35 bindReq
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 35 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 2, 'clusterid': 1026, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x02\x04\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x80'
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 31 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 31 bindRsp
2020-07-03 20:41:02 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0300]: bound 'light_color' cluster: Status.SUCCESS
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0300]: finished channel configuration
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x25 request
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 0, <ZDOCmd.Bind_req: 33>, 0, 0, 37, b'%\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x00\x04\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01', True, False)
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] waiting for 37 bindReq
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO bindReq tsn: 37 {'dstaddr': 0xcf1a, 'srcaddr': 00:17:88:01:06:f7:e9:9d, 'srcendpoint': 2, 'clusterid': 1024, 'dstaddrmode': 3, 'dstaddress': 00:12:4b:00:14:db:d0:1d, 'dstendpoint': 1}
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17%!\x1a\xcf\x9d\xe9\xf7\x06\x01\x88\x17\x00\x02\x00\x04\x03\x1d\xd0\xdb\x14\x00K\x12\x00\x01\x82'
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0000]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0008]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0005]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0300]: 'async_configure' stage succeeded
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=33 data=b'\x00' length=1 fcs=69>
2020-07-03 20:41:02 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO bindReq tsn: None {'status': 0}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 33 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 33 bindRsp
2020-07-03 20:41:03 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:03 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0001]: bound 'power' cluster: Status.SUCCESS
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x27 request
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 1, 2, 2, 39, b"\x00'\x06\x00 \x00 \x10\x0e0*\x01", True, False)
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 39 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 1, 'transid': 40, 'options': 0, 'radius': 30, 'len': 12, 'data': b"\x00'\x06\x00 \x00 \x10\x0e0*\x01"}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x16$\x01\x1a\xcf\x02\x02\x01\x00(\x00\x1e\x0c\x00'\x06\x00 \x00 \x10\x0e0*\x01\xf9"
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 35 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 35 bindRsp
2020-07-03 20:41:03 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:03 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0402]: bound 'temperature' cluster: Status.SUCCESS
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x29 request
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 1026, 2, 2, 41, b'\x00)\x06\x00\x00\x00)\x1e\x00\x84\x032\x00', True, False)
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 41 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 1026, 'transid': 42, 'options': 0, 'radius': 30, 'len': 13, 'data': b'\x00)\x06\x00\x00\x00)\x1e\x00\x84\x032\x00'}
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17$\x01\x1a\xcf\x02\x02\x02\x04*\x00\x1e\r\x00)\x06\x00\x00\x00)\x1e\x00\x84\x032\x00u'
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:41:03 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=161 data=b'\x1a\xcf\x00' length=3 fcs=50>
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO bindRsp tsn: 37 {'srcaddr': 0xcf1a, 'status': 0}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.zigbee.application] REPLY for 37 bindRsp
2020-07-03 20:41:04 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message bindRsp
2020-07-03 20:41:04 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0400]: bound 'illuminance' cluster: Status.SUCCESS
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x2b request
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 1024, 2, 2, 43, b'\x00+\x06\x00\x00\x00!\x1e\x00\x84\x03\x01\x00', True, False)
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 43 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 1024, 'transid': 44, 'options': 0, 'radius': 30, 'len': 13, 'data': b'\x00+\x06\x00\x00\x00!\x1e\x00\x84\x03\x01\x00'}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x17$\x01\x1a\xcf\x02\x02\x00\x04,\x00\x1e\r\x00+\x06\x00\x00\x00!\x1e\x00\x84\x03\x01\x00H'
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02(' length=3 fcs=237>
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 40}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02*' length=3 fcs=239>
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 42}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02,' length=3 fcs=233>
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 44}
2020-07-03 20:41:04 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:41:07 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=129 data=b'\x00\x00\x06\x00\x1a\xcf\x01\x01\x00Y\x00E\tR\x00\x00\x08\x01\x00B\x00\xb8\x0b\x00\x00\x1a\xcf\x1d' length=28 fcs=125>
2020-07-03 20:41:07 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF incomingMsg tsn: None {'groupid': 0, 'clusterid': 6, 'srcaddr': 0xcf1a, 'srcendpoint': 1, 'dstendpoint': 1, 'wasbroadcast': 0, 'linkquality': 89, 'securityuse': 0, 'timestamp': 5376325, 'transseqnumber': 0, 'len': 8, 'data': b'\x01\x00B\x00\xb8\x0b\x00\x00'}
2020-07-03 20:41:07 INFO (MainThread) [zigpy_cc.zigbee.application] handle_message incomingMsg
2020-07-03 20:41:07 DEBUG (MainThread) [zigpy.zcl] [0xcf1a:1:0x0006] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=0 command_id=66>
2020-07-03 20:41:07 DEBUG (MainThread) [zigpy.zcl] [0xcf1a:1:0x0006] ZCL request 0x0042: [0, 3000, 0]
2020-07-03 20:41:07 DEBUG (MainThread) [zigpy.zcl] [0xcf1a:1:0x0006] No handler for cluster command 66
2020-07-03 20:41:07 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:1:0x0006]: received 'on_with_timed_off' command with [0, 3000, 0] args on cluster_id '6' tsn '0'
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.zigbee.application] broadcast (0, 54, 0, 0, 0, 0, 71, b'G<\x00', <BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>)
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO mgmtPermitJoinReq tsn: 71 {'addrmode': 15, 'dstaddr': 0xfffc, 'duration': 60, 'tcsignificance': 0}
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%6\x0f\xfc\xff<\x00&'
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=54 data=b'\x00' length=1 fcs=82>
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO mgmtPermitJoinReq tsn: None {'status': 0}
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.api] --> SREQ ZDO mgmtPermitJoinReq tsn: None {'addrmode': 15, 'dstaddr': <BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>, 'duration': 60, 'tcsignificance': 0}
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x05%6\x0f\xfc\xff<\x00&'
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=203 data=b'<' length=1 fcs=179>
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO permitJoinInd tsn: None {'duration': 60}
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:42:56 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.ZDO command_id=54 data=b'\x00' length=1 fcs=82>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP ZDO mgmtPermitJoinReq tsn: None {'status': 0}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=182 data=b'\x00\x00\x00' length=3 fcs=240>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO mgmtPermitJoinRsp tsn: None {'srcaddr': 0x0000, 'status': 0}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=182 data=b'\x00\x00\x00' length=3 fcs=240>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO mgmtPermitJoinRsp tsn: None {'srcaddr': 0x0000, 'status': 0}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x01-"
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:42:57 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}
2020-07-03 20:42:58 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0001]: failed to get attributes '['battery_size', 'battery_percentage_remaining', 'battery_voltage', 'battery_quantity']' on 'power' cluster:
2020-07-03 20:42:58 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0001]: initializing channel: from_cache: False
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x49 request
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 1, 2, 2, 73, b'\x00I\x00 \x00!\x00', True, False)
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 73 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 1, 'transid': 74, 'options': 0, 'radius': 30, 'len': 7, 'data': b'\x00I\x00 \x00!\x00'}
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x11$\x01\x1a\xcf\x02\x02\x01\x00J\x00\x1e\x07\x00I\x00 \x00!\x00\xfb'
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02J' length=3 fcs=143>
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 74}
2020-07-03 20:42:58 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:42:59 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0402]: failed to get attributes '['measured_value']' on 'temperature' cluster:
2020-07-03 20:42:59 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0406]: initializing channel: from_cache: False
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x4b request
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 1030, 2, 2, 75, b'\x00K\x00\x00\x00', True, False)
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 75 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 1030, 'transid': 76, 'options': 0, 'radius': 30, 'len': 5, 'data': b'\x00K\x00\x00\x00'}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x0f$\x01\x1a\xcf\x02\x02\x06\x04L\x00\x1e\x05\x00K\x00\x00\x00\xe1'
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02L' length=3 fcs=137>
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 76}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:42:59 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0400]: failed to get attributes '['measured_value']' on 'illuminance' cluster:
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy.device] [0xcf1a] Extending timeout for 0x4d request
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0xcf1a, 260, 0, 2, 2, 77, b'\x00M\x00\x07\x00', True, False)
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 77 {'dstaddr': 53018, 'destendpoint': 2, 'srcendpoint': 2, 'clusterid': 0, 'transid': 78, 'options': 0, 'radius': 30, 'len': 5, 'data': b'\x00M\x00\x07\x00'}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\x0f$\x01\x1a\xcf\x02\x02\x00\x00N\x00\x1e\x05\x00M\x00\x07\x00\xe0'
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x02N' length=3 fcs=139>
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 2, 'transid': 78}
2020-07-03 20:42:59 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-03 20:43:26 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0001]: failed to get attributes '['battery_voltage', 'battery_percentage_remaining']' on 'power' cluster:
2020-07-03 20:43:26 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0019]: initializing channel: from_cache: False
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0406]: failed to get attributes '['occupancy']' on 'occupancy' cluster:
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0000]: initializing channel: from_cache: False
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0001]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0402]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0400]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0406]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0000]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xcf1a:2:0x0019]: 'async_initialize' stage succeeded
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.device] 0xcf1a: power source: Battery or Unknown
2020-07-03 20:43:27 DEBUG (MainThread) [homeassistant.components.zha.core.device] 0xcf1a: completed initialization
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.ZDO command_id=203 data=b'\x00' length=1 fcs=143>
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ ZDO permitJoinInd tsn: None {'duration': 0}
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.Off: 0>}
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.uart] Send: b"\xfe\x02'\n\x03\x00,"
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.UTIL command_id=10 data=b'\x00' length=1 fcs=108>
2020-07-03 20:43:57 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP UTIL ledControl tsn: None {'status': 0}

Waiter Timeout Errors

I am using Zigpy via the ZHA component in Home Assistant. I have set it up with my CC2531 USB stick running the latest Koenkk v1.2 source routing coordinator firmware.

Throughout the duration of the service being live, I am constantly getting error messages such as the below:

Waiter timeout: <Waiter matcher=<Matcher type=CommandType.AREQ subsystem=Subsystem.AF command=dataConfirm payload={'endpoint': 1, 'transid': 159}> future=<Future cancelled> timeout=10000 sequence=None>

These are coming from various endpoints - the one above is a Sonoff Basic ZB R3 which is located around 3 meters away from my coordinator.

At present, I have 12 devices on my network. 4 of them have routing capabilities (2 Sononff Basic ZB R3 and 2 CC2531 Router Firmwares).

What could be causing these timeouts, given that the endpoint device is in such close proximity to my coordinator, and mains powered?

[REQUEST] Capability to handle serial-port disconnects and reconnects

It is possible to implement some type of handling of serial port disconnects and reconnects?

I think that you can test this by unplugging the Zigbee coordinator adapter and then plug it back in after a minute to two.

Point is that zigpy-cc should somehow always be able to reconnect and recover connection after reconnecting.

My main reason for that is when using ser2net and socat to use serial device over the network.

Problem is if the network temporarily goes down then it can not reconnect to recover the connection.

This is a relatively common networked setup if don't want the radio close to Home Assistant, see:

https://www.zigbee2mqtt.io/how_tos/how_to_connect_to_a_remote_adapter.html

A real-world scenario would be if you have Home Assistant and running on a virtual machine on your NAS with UPS-backup-power-supply but have your Zigbee coordinator adapter installed somewhere else in your house on a Raspberry Pi without UPS-backup-power-supply then a power-outage will cause the Raspberry Pi to reboot and maybe also any network switch that you have in between.

I think that preferable it should be able to try to recover at least once every 60-seconds and that recovery should still be possible after as much as 10-minutes (or more) because that is reasonably how long a reboot can take after a short power outage.

Another problem scenario is if the user accidentally unplugs the Zigbee USB adapter when running, as seen in related issue:

#15

References:

https://community.home-assistant.io/t/add-network-protocol-support-to-zigbee-and-zwave-integrations/136056

Danielhiversen/pyRFXtrx#85

zigpy/bellows#183

zigpy/zigpy#297

[REQUEST] Support for CC13x2 / CC1352P chips with Z-Stack 3 firmware

Can zigpy-cc support CC13x2 / CC1352P chips by Texas Instruments if use custom Z-Stack 3 based firmware from the Zigbee2mqtt project?

CC13x2 / CC1352P chips are much faster and contain much more memory than the CC2531 / CC2530

Texas Instruments CC1352P-2 and CC13521 development board can be bought http://www.ti.com/tool/LAUNCHXL-CC1352P

Just to clarify compatibility as CC1352P is already supported custom Z-Stack firmware by Koenkk

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator

For reference please see: Koenkk/zigbee2mqtt#1429

Please also see dependency request for Z-Stack 3 (3.x) firmware support #2

[REQUEST] Z-Stack 3 (3.x) firmware support

Can you clarify and confirm if Z-Stack 3 (3.x) firmware will be supported or not by zigpy-cc as it is?

Don't own a CC2531 USB stick yet but would just like to clarify and confirm Z-Stack 3.x support ;)

No pressure or urgency but I am also indirectly asking to know if CC2538 and CC2652R can be supported in the future too as the Z-Stack 3 (3.x) firmware can also be used on those chips as well.

HASS reverts to zigpy-cc 0.1.0 on reboot

I follow the instructions to update zigpy-cc in my home assistant venv (hassbian):

Activate your python virtual env
Update package with pip
pip install zigpy-cc==x.x.x

but it doesn't remain after a reboot.
apols if this is a hass/venv issue rather than a zigpy-cc thing.

can anyone advise?

"No route found" with C26X2R1 on Z-Stack 3.x.0

With no clear cause, all dataRequest commands were immediately rejected with a 205 status code, a "no route found" error. Rebooting individual devices or even restarting the network had no effect.

The only solution I could find was to send out a route discovery broadcast message:

if obj.command == "dataRequest":
    # XXX: dataConfirm can arrive before dataRequest response

    payload = {
        "endpoint": obj.payload["destendpoint"],
        "transid": obj.payload['transid'],
    }
    waiter = self.wait_for(CommandType.AREQ, Subsystem.AF, "dataConfirm", payload)
    result = await waiter.wait()
    LOGGER.debug('Got a dataRequest response: %s', result)

    status = result.payload['status']

    if status != 0:
        # No route found
        if status == 205:
            BEACON_MAX_DEPTH = 0x0F
            DEF_NWK_RADIUS = (2 * BEACON_MAX_DEPTH)

            LOGGER.warning('Received a routing failure! Attempting to discover a new route before failing...')

            await self.request(Subsystem.ZDO, 'extRouteDisc', {
                'dstAddr': obj.payload['dstaddr'],
                'options': 0x01,
                'radius': DEF_NWK_RADIUS
            })

            await asyncio.sleep(5)

        raise CommandError(result.payload['status'], f'Received a bad dataRequest status: {result.payload["status"]}')

Only one request like this is necessary because the dstAddr is really replaced with 0xFFFC, though I'm not sure what the consequences are of enqueuing a bunch of these messages are (especially since all of the useful parts of the Z-Stack firmware are not open source).

[SUGGESTION] Suggest zigpy-cc and ZHA devs team-up with slaesh to test his CC2652RB stick as another reference adapter

Suggest zigpy-cc + zigpy-znp and ZHA devs team-up with @slaesh to test his new CC2652RB stick as another reference adapter.

@slaesh I believe that you already donated adapters to the Zigbee2mqtt project so wondering if you would also be willing to donate some of your CC2652RB stick adapters to @sanyatuning & @Adminiuga & @puddly & @dmulcahey for zigpy/zigpy-cc and zha-ng/zigpy-znp development as those Zigbee radio libraries is used via the zigpy project in Home Assistant's ZHA integration component for its native Zigbee support?

FYI; @slaesh has developed his new CC2652RB stick as an open source hardware designed similar to the CC2652R stick by Electrolama/omerk as a another friendly competition option, and as noted, slaesh stick is based on CC2652RB instead of CC2652R. His adapter is since recently listed as a supported reference adapter by Zigbee2MQTT on their project page.

https://github.com/slaesh/cc2652-stick

and

https://slae.sh/projects/cc2652/

Like omerk, slaesh is also based in Europe and is selling the finished product (unflashed) via Tindie

https://www.tindie.com/products/slaesh/cc2652-zigbee-coordinator-or-openthread-router/

[REQUEST] Zigbee 3.0 and/or Zigbee PRO network forming support in zigpy-cc?

This is a request/suggestion to make zigpy-cc support Zigbee 3.0 and/or Zigbee PRO network forming?

This directly relates to Zigbee 3.0 network supported requested in zigpy/zigpy#360 and zigpy/zigpy-znp#29 and zigpy/bellows#292

That is, make it possible for zigpy-cc with or without zigpy to form a Zigbee 3.0 network allowing newer devices to use a Zigbee 3.0 profile as an option instead of ZHA 1.2 profile in a Zigbee Home Automation 1.2 network if and when newer devices support Zigbee 3.0 profiles?

If I understand it correctly, some of not all newer Zigbee Stacks support Zigbee 3.0 (Z3.0) network forming which allow a Zigbee network formed which support multiple profiles at the same time, allowing Zigbee 3.0 devices to connect using a Zigbee 3.0 profile, Zigbee Light Link 1.x devices can connect using a ZLL 1.0 profile, and Zigbee Home Automation 1.2 devices can connect using a ZHA 1.2 profile, or?

  • Zigbee Cluster Library (ZCL) v7
  • Zigbee PRO 2017 (R22)
  • Child device management
  • Base Device Behavior (BDB)
  • Green Power

I know that bellows radio library just very recently got support for the later EZSP API versions used Silicon Labs EmberZNet Zigbee Stack firmware that supports Zigbee 3.0 and the zigpy-znp radio library supports the newer Texas Instruments chips use Z-Stack 3.0 Zigbee Stack firmware which all do support Zigbee 3.0 standard.

https://www.silabs.com/community/wireless/zigbee-and-thread/knowledge-base.entry.html/2018/04/24/how_to_form_zigbee3-zrzB

https://www.silabs.com/documents/public/application-notes/an1117-migrating-zigbee-profiles-to-z30.pdf

"At the core of Zigbee 3.0 is the Zigbee PRO 2017 (R22). Note that previously Zigbee Pro 2015 (R21) was required for Zigbee 3.0, which has now been replaced with the newer Zigbee Pro 2017 (R22) specification. Older implementation based on the R21 specification are still compatible with the new R22 specification. The Zigbee PRO Specification adds child device management, improved security features, and new network topology options to Zigbee networks. Commissioning devices into networks has also been improved and made more consistent through Base Device Behavior (BDB). Zigbee 3.0 furthermore requires Green Power Basic Proxy v1.1.1 functionality in all devices to further support Green Power capabilities and compiles all profile clusters into a single specification, Zigbee Cluster Library (ZCL) v7. Finally, it formalizes common Zigbee device application architecture nomenclature, expands on the Zigbee Lighting & Occupancy Device Specification, and comments towards Zigbee 3.0 certification. The following sections address each of these attributes."

https://www.ti.com/lit/swra615

PS: Previous versions of Silicon Labs firmware was also Zigbee PRO compatible, and the core of the Zigbee 3.0 standard is based on the Zigbee PRO 2015 specification, while the core of the Zigbee 3.1 standard will be based on the based on the Zigbee PRO 2017 specification.

[Request] a zigpy_cc server example

Hi there,
I need to access sensors' attributes programatically, not through any home automation platform.
I wonder whether there is any reliable template for server code using the sigpy_cc module (intialisation, instantiation of coordinator, on-boarding devices and instantiating their classes, reading attributes and sending commands to devices, etc.).

Many many thanks!

Error trying to add devices via router

I have a Trifaldi outlet paired in ZHA that I'm trying to use as a router. When I press "Add devices" I see the following error and nothing further:

[0x11e8] Delivery error for seq # 0x53, on endpoint id 0 cluster 0x0036: Couldn't enqueue send data request: SREQ 'mgmtPermitJoinReq' failed with status '2' (expected '[0]')
Couldn't open '00:0d:6f:ff:fe:fd:6d:e2' for joining: [0x11e8:0:0x0036]: Message send failure

I've tried deleting and re-pairing the router as well as rebooting HA and reconnecting the CC2531.

Any ideas?

(I'm using zigpy-cc 0.3.2 BTW.)

[REQUEST] Energy detection scan with zigpy-cc for TI based adapters

Requesting an "energy detection scan" feature in zigpy-cc if possible matching what @puddly has recently added to zigpy-znp

Suggest implement similar channel energy scanning via some energy scanner tool but for CC253x based hardware and 1.2 firmware.

https://github.com/zha-ng/zigpy-znp

https://github.com/zha-ng/zigpy-znp/blob/dev/README.md

Energy scan

Perform an energy scan to find a quiet Zigbee channel:

$ python -m zigpy_znp.tools.energy_scan /dev/cu.usbmodem14101
Channel energy (mean of 1 / 5):
------------------------------------------------
 + Lower energy is better
 + Active Zigbee networks on a channel may still cause congestion
 + Using 26 in the USA may have lower TX power due to FCC regulations
 + Zigbee channels 15, 20, 25 fall between WiFi channels 1, 6, 11
 + Some Zigbee devices only join networks on channels 15, 20, and 25
------------------------------------------------
 - 11    61.57%  #############################################################
 - 12    60.78%  ############################################################
 - 13    12.16%  ############
 - 14    58.43%  ##########################################################
 - 15    57.65%  #########################################################
 - 16    29.80%  #############################
 - 17    38.82%  ######################################
 - 18    47.06%  ###############################################
 - 19    36.86%  ####################################
 - 20    10.98%  ##########
 - 21    16.47%  ################
 - 22    33.73%  #################################
 - 23    30.59%  ##############################
 - 24    20.39%  ####################
 - 25     5.88%  #####
 - 26*   20.39%  ####################

Can anyone confirm out-of-the-box compatibility with ITEAD CC2531 USB-dongle?

ITEAD has started selling this $4 US-dollar CC2531 USB-dongle pre-flashed with a coordinator firmware which they say is plug-and-play compatible with Zigbee2mqtt out-of-the-box. So wondering if anyone has got one and confirm the preflashed firmware is also compatible with zigpy-cc too?

Somewhat related is that someone has created a compatibility list for coordinators and devices here:

@sanyatuning I'm sure that ITEAD if contact would be willing to donate a bunch of them to developers of well-known open-source projects like Home Assistant and its ZHA integration with Zigpy by affiliation.

Regardless, might it good enough for most devs even if it is a model with an integrated antenna? Only me thinking out loud that it would be good if more Home Assistant developers had this hardware, might make them more willing to help with zigpy support for these cheap TI CC dongles?

Gledopto GL-C-007 2ID - issue with endpoint 15

How to reproduce:

  • use TI CC2531 USB
  • power up Gledopto GL-C-007 2ID (two devices in one)
  • Add it to Home Assistant with the ZHA integration
  • Device GL-C-007 with 2 entities should appear
  • Try turn on/off the entities

Expected results:

Entity A (with endpoint 11, RGB/color) will on/off, etc
Entity B (with endpoint 15, CCT/white) will on/off, etc

Actual results:

Entity A (with endpoint 11, RGB/color) will on/off, etc
Entity B (with endpoint 15, CCT/white) does not respond (see logs)

Relevant logs
https://pastebin.com/5UgBGLn7

device description:
https://pastebin.com/LwyfS8mL

Problem research
When I tried the zigbee2mqtt, then it worked properly. And the difference is, the zigbee2mqtt uses always source endpoint 1.
So it looks like the firmware in Gledopto have issue when the source endpoint 15 is used.

When I patched it in code and forced source endpoint to 1, then I was able to change visually both entities (A,B).
I.E. I was able to make send proper command, but response was not matched in code. And I'm not sure where to change it.

If you gave me some hints, I can try to change the code and made PR.

Zigbee groups don't switch Tradfri light bulbs

Hey folks,

first of all: thanks for your amazing work on supporting CC* in ZHA.
We, as the community, cannot appreciate the work of all the volunteers enough!

Setup

Home Assistant 0.112.3 (running on supervised Ubuntu)
zigpy 0.21.0
zigpy-cc 0.4.4
Controller: LAUNCHXL-CC26X2R1
Bulbs: TRADFRI bulb E14 CWS opal 600lm by IKEA of Sweden

Problem

Switching zigbee groups on or off does not change the state of the devices included in the group.

Device signature of one of the bulbs (all are the same)

{
  "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4476 maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=0 maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
  "endpoints": {
    "1": {
      "profile_id": 49246,
      "device_type": "0x0200",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x0b05",
        "0x1000"
      ],
      "out_clusters": [
        "0x0005",
        "0x0019",
        "0x0020",
        "0x1000"
      ]
    }
  },
  "manufacturer": "IKEA of Sweden",
  "model": "TRADFRI bulb E14 CWS opal 600lm",
  "class": "zigpy.device.Device"
}

Log

Turn group on

2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] multicast (0x0002, 260, 6, 1, 175, b'\x01\xaf\x01', 0, 3)
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 175 {'dstaddr': 2, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 6, 'transid': 176, 'options': 0, 'radius': 30, 'len': 3, 'data': b'\x01\xaf\x01'}
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\r$\x01\x02\x00\x01\x01\x06\x00\xb0\x00\x1e\x03\x01\xaf\x01.'
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\xcd\x01\xb0' length=3 fcs=187>
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 205, 'endpoint': 1, 'transid': 176}
2020-07-12 14:24:03 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-12 14:24:03 DEBUG (MainThread) [homeassistant.components.zha.entity] light.stehlampe_gastezimmer_zha: turned on: {'on_off': [1, <Status.SUCCESS: 0>]}

Turn group off

2020-07-12 14:24:11 DEBUG (MainThread) [zigpy_cc.zigbee.application] multicast (0x0002, 260, 6, 1, 177, b'\x01\xb1\x00', 0, 3)
2020-07-12 14:24:11 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 177 {'dstaddr': 2, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 6, 'transid': 178, 'options': 0, 'radius': 30, 'len': 3, 'data': b'\x01\xb1\x00'}
2020-07-12 14:24:11 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\r$\x01\x02\x00\x01\x01\x06\x00\xb2\x00\x1e\x03\x01\xb1\x003'
2020-07-12 14:24:11 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-07-12 14:24:11 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-07-12 14:24:12 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\xcd\x01\xb2' length=3 fcs=185>
2020-07-12 14:24:12 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 205, 'endpoint': 1, 'transid': 178}
2020-07-12 14:24:12 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm
2020-07-12 14:24:12 DEBUG (MainThread) [homeassistant.components.zha.entity] light.stehlampe_gastezimmer_zha: turned off: [0, <Status.SUCCESS: 0>]

Thanks so much for having a look at it.

Failed to connect to zzh! CC2652R

This is my first attempt at setting up ZHA.. for the CC2652R..

Steps to reproduce the behavior:

Specs

Supervisor
Version
supervisor-2021.03.9

Core
Version
core-2021.3.4

OS Version:               Home Assistant OS 5.12
Home Assistant Core:      2021.3.4

3.13.3
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.3
PRETTY_NAME="Alpine Linux v3.13"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

Linux a0d7b954-ssh 5.9.16 #1 SMP PREEMPT Thu Feb 18 13:23:21 UTC 2021 aarch64 Linux

Step 1 Flash

Installed pre-req for flashing

$ /usr/bin/python3 -m pip install --user pyserial intelhex
Collecting pyserial
Downloading https://files.pythonhosted.org/packages/07/bc/587a445451b253b285629263eb51c2d8e9bcea4fc97826266d186f96f558/pyserial-3.5-py2.py3-none-any.whl (90kB)
|████████████████████████████████| 92kB 2.5MB/s
Collecting intelhex
Downloading https://files.pythonhosted.org/packages/97/78/79461288da2b13ed0a13deb65c4ad1428acb674b95278fa9abf1cefe62a2/intelhex-2.3.0-py2.py3-none-any.whl (50kB)
|████████████████████████████████| 51kB 3.6MB/s
Installing collected packages: pyserial, intelhex
WARNING: The scripts pyserial-miniterm and pyserial-ports are installed in '/Users/usr/Library/Python/3.8/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed intelhex-2.3.0 pyserial-3.5
WARNING: You are using pip version 19.2.3, however version 21.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Confirm usb

usr-computer:cc2538-bsl-master usr$ ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port	/dev/tty.usbserial-1410

Flashing successfully

usr-computer:Downloads usr$ python3 ./cc2538-bsl-master/cc2538-bsl.py -p /dev/tty.usbserial-1410 -evw CC2652R_coordinator_20210120.zip
Opening port /dev/tty.usbserial-1410, baud 500000
Reading data from CC2652R_coordinator_20210120.zip
Cannot auto-detect firmware filetype: Assuming .bin
Connecting to target...
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:22:81:A4:38
Performing mass erase
Erasing all main bank flash sectors
Erase done
Writing 171020 bytes starting at address 0x00000000
Write 148 bytes at 0x00029B780
Write done
Verifying by comparing CRC32 calculations.
Verified (match: 0x6a270c43)
**Expected behavior**
A clear and concise description of what you expected to happen.

Step 2 Pair ZHA

USB serial by id

~ ls /dev/serial/by-id/
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

Visible in dmesg

[ 7490.744693] ch341 1-1.1:1.0: ch341-uart converter detected
[ 7490.745393] usb 1-1.1: ch341-uart converter now attached to ttyUSB0

Also Visible in hardware options under supervisor..

- name: ttyUSB0
sysfs: >-
/sys/devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.0/ttyUSB0/tty/ttyUSB0
dev_path: /dev/ttyUSB0
subsystem: tty
by_id: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
attributes:
DEVLINKS: >-
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
/dev/serial/by-path/platform-xhci-hcd.0.auto-usb-0:1.1:1.0-port0
DEVNAME: /dev/ttyUSB0
DEVPATH: >-
/devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.0/ttyUSB0/tty/ttyUSB0
ID_BUS: usb
ID_MODEL: USB_Serial
ID_MODEL_ENC: USB\x20Serial
ID_MODEL_ID: '7523'
ID_PATH: 'platform-xhci-hcd.0.auto-usb-0:1.1:1.0'
ID_PATH_TAG: platform-xhci-hcd_0_auto-usb-0_1_1_1_0
ID_REVISION: '0264'
ID_SERIAL: 1a86_USB_Serial
ID_TYPE: generic
ID_USB_DRIVER: ch341
ID_USB_INTERFACES: ':ff0102:'
ID_USB_INTERFACE_NUM: '00'
ID_VENDOR: 1a86
ID_VENDOR_ENC: 1a86
ID_VENDOR_ID: 1a86
MAJOR: '188'
MINOR: '0'
SUBSYSTEM: tty
TAGS: ':systemd:'
USEC_INITIALIZED: '7491091504'

Attempting Connection results in generic "failed to connect" error.

Step 3 ZHA Debug Logging

2021-04-07 07:23:15 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event timer_out_of_sync[L]: seconds=1.8326559760000123>
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.zigbee.application] Probing /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.uart] Connecting to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 at 115200 baud
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.uart] Opened /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 serial port
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.uart] Toggling RTS/CTS to skip CC2652R bootloader
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.uart] Connected to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 at 115200 baud
2021-04-07 07:23:19 DEBUG (MainThread) [zigpy_znp.api] Waiting 1s before sending anything
2021-04-07 07:23:20 DEBUG (MainThread) [zigpy_znp.api] Sending bootloader skip byte
2021-04-07 07:23:20 DEBUG (MainThread) [zigpy_znp.api] Waiting 1s or until a reset indication is received
2021-04-07 07:23:21 DEBUG (MainThread) [zigpy_znp.api] Testing connection to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
2021-04-07 07:23:21 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2021-04-07 07:23:24 DEBUG (MainThread) [zigpy_znp.api] Connection to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 failed, cleaning up
2021-04-07 07:23:24 DEBUG (MainThread) [zigpy_znp.uart] Closing serial port
2021-04-07 07:23:24 DEBUG (MainThread) [zigpy_znp.zigbee.application] Failed to probe ZNP radio with config {'path': '/dev/serial/by-id/usb-1a86_USB_Seri
al-if00-port0', 'flow_control': None, 'baudrate': 115200}
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/zigpy_znp/zigbee/application.py", line 159, in probe
    await znp.connect()
  File "/usr/local/lib/python3.8/site-packages/zigpy_znp/api.py", line 259, in connect
    self.capabilities = (await self.request(c.SYS.Ping.Req())).Capabilities
  File "/usr/local/lib/python3.8/site-packages/zigpy_znp/api.py", line 532, in request
    response = await response_future
asyncio.exceptions.CancelledError

Full gist: https://gist.github.com/kmassada/61d57ae4ca7116f3ebd852210798fca8

Step 4 Failing Test

➜  ~ sudo pip3 install pyserial
Collecting pyserial
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 3.7 MB/s
Installing collected packages: pyserial
Successfully installed pyserial-3.5
➜  ~ python3 znp-uart-test.py
Got 0 bytes in response to PING command: b''
FAIL|Expected length mismatch

Got unk_manufacturer unk_model while pairing Aqara Device

Hello!
Thank You for zigpy-cc module! I glad to see it in new Home Assistant release.
But I have issue with pairing devices.
Maybe it is not related with You project, then say me please right project for report about the issue)

I have two zigbee devices: Aqara Water Leak sensor (https://www.zigbee2mqtt.io/devices/SJCGQ11LM.html) and Aqara Wireless Switch (https://www.zigbee2mqtt.io/devices/WXKG11LM.html)
And I have Home Assistant 0.106 with USB module CC2351 runned under Ubuntu 18.04.4
I manually configured zha integration in configuration.yaml:

zha:
  radio_type: ti_cc
  usb_path: /dev/ttyACM0
  database_path: /config/zigbee.db

Firstly, each time after start Home Assistant I've got an error in homeassitant.log:

2020-02-27 23:19:55 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry /dev/ttyACM0 for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 215, in async_setup
    hass, self
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 103, in async_setup_entry
    await zha_gateway.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 137, in async_initialize
    await self.application_controller.startup(auto_form=True)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/zigbee/application.py", line 64, in startup
    self.version = await self._api.version()
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 206, in version
    version = await self._command(Subsystem.SYS, "version", {})
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 84, in _command
    return await self.request(subsystem, command, payload)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 88, in request
    return await self.request_raw(obj, expectedStatus)
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 105, in request_raw
    result = await waiter.wait()
  File "/usr/local/lib/python3.7/site-packages/zigpy_cc/api.py", line 35, in wait
    return await asyncio.wait_for(self.future, self.timeout / 1000)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 449, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

But I see the integration on integrations page.
Secondly, when I trying pairing any zigbee device, I see in homeassistant.log warnings like

2020-02-27 23:22:32 WARNING (MainThread) [homeassistant.components.zha.core.channels] [0x3c28:1:0x0000]: channel: 'async_configure' stage failed ex: 'NoneType' object has no attribute 'serialize'
2020-02-27 23:22:32 WARNING (MainThread) [homeassistant.components.zha.core.channels] [0x3c28:1:0x0006]: channel: 'async_configure' stage failed ex: 'NoneType' object has no attribute 'serialize'

And device added as unk_manufacturer unk_model
Creation of automations or scenarios not available for that device.

Can You help with this issue?
Thank You!)

[REQUEST] Automagically auto-detect port-path and discover radio-type?

This is a feature request that I'm not exactly sure if it belongs to the Home Assistant core, the ZHA integration for Home Assistant, to zigpy, to each and every radio library for zigpy, or in many of all those mentioned in order to be achieved. Anyway, my main point with this feature request is this:

Is it possible to add some kind of "auto-detect" scanning option for automatic discovery/detection of port-path and radio-type (with recommended select) to achieve an even more plug-and-play experience of the initial install/configuration of the ZHA integration in Home Assistant or a zigpy implementation in any other software for that matter? An option for a so-called "next next next" installation process if you will.

From an end-users point-of-view the ZHA integration implementation of zigpy I think that it would be absolutely awesome if the installation process could automagically detect exactly which type of Zigbee adapter(s) you have plugged in and which USB-port(s) that the Zigbee adapter(s) is plugged into. Is this possible?

I think nicest would probably be if the user would be greeted by an option for "auto-detect and recommend Zigbee adapter(s)" that you could then simply click for automagic plug-and-play configuration of your Zigbee stick hardware instead of having to manually type the full port-path and the radio-type as you have to do today in ZHA.

Such an automagical auto-detect port-path and discover radio-type would make the ZHA integration component in Home Assistant even easier to install and configure for first-time ZHA users by removing the need for end-user to manually configure port-path and radio-type.

I believe that a plug-and-play oriented hardware configuration could be the last piece that is missing to make the ZHA in Home Assistant a much more user-friendly initial installation and configuration process experience.

[DEPENDENCY] The pre-commit/mirrors-isort mirror repository is deprecated so should use isort directly instead?

Probably need to update dependencies in setup.cfg plus possibly other source for isort or in other way seperate isort dependency for all zigpy libraries as upstream repo for isort has moved?

@Adminiuga This is only to bring this to your attention as I don't know the best solution for this, I just happened to stumble on the fact that the mirror of isort package for pre-commit is deprecated and that upstream isort has also recently been moved. I think that this applies to all zigpy libraries, including zigpy, bellows, zigpy-cc, zigpy-deconz, zigpy-xbee, zigpy-zigate, and zha-device-handlers, plus zigpy-znp as well?

For reference, updated now in zigpy, zigpy-deconz, and bellows:

zigpy/zigpy#488

zigpy/zigpy-deconz#124

zigpy/bellows#349

See comment in https://github.com/pre-commit/mirrors-isort where is says that the pre-commit mirror for isort repository is deprecated, and to instead use isort directly.

Mirror of isort package for pre-commit split and moved

For pre-commit: see https://github.com/pre-commit/pre-commit

For isort: see https://github.com/PyCQA/isort

Also note that isort upstream recently moved from https://github.com/timothycrosley/isort to https://github.com/PyCQA/isort

Currently, the latest release is 5.5.0 (as of September 3, 2020) and since isort 5.0.0 and later it now requires Python 3.6 or later:

https://pycqa.github.io/isort/CHANGELOG/

Some more information should be available at https://pycqa.github.io/isort/

PS: If you decide on changing this then please also remember to reflect the changes in the CONTRIBUTING.md file for zigpy:

https://github.com/zigpy/zigpy/blob/dev/CONTRIBUTING.md

zigpy/zigpy#490

OTA fails with Tradfri outlet

I'm using HA 0.111.0 with a CC2531 dongle and trying to update an IKEA Tradfri outlet (firmware 2.0.019) following this guide but I get the following when I issue the image_notify command:

2020-06-11 09:36:25 DEBUG (MainThread) [zigpy.zcl] [0x3040:1:0x0019] Schema and args lengths do not match in reply
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.zigbee.application] request (0x3040, 260, 25, 1, 1, 79, b'\x19O\x00', False, False)
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.api] --> SREQ AF dataRequest tsn: 79 {'dstaddr': 12352, 'destendpoint': 1, 'srcendpoint': 1, 'clusterid': 25, 'transid': 80, 'options': 0, 'radius': 30, 'len': 3, 'data': b'\x19O\x00'}
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.uart] Send: b'\xfe\r$\x01@0\x01\x01\x19\x00P\x00\x1e\x03\x19O\x00Z'
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.SRSP subsystem=Subsystem.AF command_id=1 data=b'\x00' length=1 fcs=100>
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.api] <-- SRSP AF dataRequest tsn: None {'status': 0}
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.uart] Frame received: <UnpiFrame type=CommandType.AREQ subsystem=Subsystem.AF command_id=128 data=b'\x00\x01P' length=3 fcs=150>
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.api] <-- AREQ AF dataConfirm tsn: None {'status': 0, 'endpoint': 1, 'transid': 80}
2020-06-11 09:36:25 DEBUG (MainThread) [zigpy_cc.zigbee.application] message ignored: dataConfirm

Nothing else seems to happen.

Same issue was reported here with an IKEA bulb.

cc2530 + QBKG03LM. only shows status, no control.

the switch QBKG03LM is successfully paired with cc2530 + cp2102, is shown in ZHA. When physically turning on / off, the status changes in the HA (0,108,2) interface. But changing the status from the HA interface does not lead to a physical switch. In addition, after a few seconds in the interface HA, the switch returns to its previous state.

pairing part:
Device 0x32ab (00:15:8d:00:01:4a:95:d6) joined the network
Device 00:15:8d:00:01:4a:95:d6 changed id (0x930e => 0x32ab)
[0x32ab:zdo] ZDO request ZDOCmd.Device_annce: [0x32ab, 00:15:8d:00:01:4a:95:d6, 132]
Checking quirks for LUMI lumi.ctrl_neutral2 (00:15:8d:00:01:4a:95:d6)
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
Fail because endpoint list mismatch: {3} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
Fail because endpoint list mismatch: {1, 2} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
Fail because endpoint list mismatch: {1, 2} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2, 3, 4, 5, 6, 8}
Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5, 6, 8}
device - 0x32ab:00:15:8d:00:01:4a:95:d6 entering async_device_initialized - is_new_join: False
device - 0x32ab:00:15:8d:00:01:4a:95:d6 has been reset and re-added or its nwk address changed
skipping discovery for previously discovered device - 0x32ab:00:15:8d:00:01:4a:95:d6
0x32ab: started configuration
0x32ab:ZDO: 'async_configure' stage succeeded
[0x32ab:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=0 command_id=Command.Report_Attributes>
[0x32ab:1:0x0000] ZCL request 0x000a: [[<Attribute attrid=5 value=>, <Attribute attrid=1 value=>]]
[0x32ab:1:0x0000] Attribute report received: model=lumi.ctrl_neutral2, app_version=1
[0x32ab:2:0x0006] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=1 command_id=Command.Report_Attributes>
[0x32ab:2:0x0006] ZCL request 0x000a: [[<Attribute attrid=0 value=>, <Attribute attrid=61440 value=>]]
[0x32ab:2:0x0006] Attribute report received: on_off=Bool.false, 61440=50331392
[0x32ab:3:0x0006] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=2 command_id=Command.Report_Attributes>
[0x32ab:3:0x0006] ZCL request 0x000a: [[<Attribute attrid=0 value=>, <Attribute attrid=61440 value=>]]
[0x32ab:3:0x0006] Attribute report received: on_off=Bool.false, 61440=50331392
[0x32ab:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x32ab:1:0x0000]: finished channel configuration
[0x32ab:1:0x0000] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=71 command_id=Command.Read_Attributes_rsp>
[0x32ab:1:0x0000]: initializing channel: from_cache: False
[0x32ab:1:0x0019]: bound 'ota' cluster: Status.SUCCESS
[0x32ab:1:0x0019]: finished channel configuration
[0x32ab:1:0x0000]: 'async_configure' stage succeeded
[0x32ab:1:0x0019]: 'async_configure' stage succeeded
[0x32ab:2:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x32ab:3:0x0006]: Failed to bind 'on_off' cluster:
[0x32ab:4:0x0012]: Failed to bind 'multistate_input' cluster:
[0x32ab:4:0x0012]: finished channel configuration
[0x32ab:zdo] ZDO request ZDOCmd.Bind_rsp: [<Status.SUCCESS: 0>]
[0x32ab:zdo] Unsupported ZDO request:ZDOCmd.Bind_rsp
[0x32ab:2:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster:
[0x32ab:2:0x0006]: finished channel configuration
[0x32ab:2:0x0006]: 'async_configure' stage succeeded
[0x32ab:zdo] ZDO request ZDOCmd.Bind_rsp: [<Status.TABLE_FULL: 140>]
[0x32ab:zdo] Unsupported ZDO request:ZDOCmd.Bind_rsp
[0x32ab:4:0x0006]: Failed to bind 'on_off' cluster:
[0x32ab:3:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster:
[0x32ab:3:0x0006]: finished channel configuration
[0x32ab:3:0x0006]: 'async_configure' stage succeeded
[0x32ab:zdo] ZDO request ZDOCmd.Bind_rsp: [<Status.TABLE_FULL: 140>]
[0x32ab:zdo] Unsupported ZDO request:ZDOCmd.Bind_rsp
[0x32ab:5:0x0006]: Failed to bind 'on_off' cluster:
[0x32ab:5:0x0012]: Failed to bind 'multistate_input' cluster:
[0x32ab:5:0x0012]: finished channel configuration
[0x32ab:4:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster:
[0x32ab:4:0x0006]: finished channel configuration
[0x32ab:4:0x0012]: 'async_configure' stage succeeded
[0x32ab:4:0x0006]: 'async_configure' stage succeeded
[0x32ab:zdo] ZDO request ZDOCmd.Bind_rsp: [<Status.TABLE_FULL: 140>]
[0x32ab:zdo] Unsupported ZDO request:ZDOCmd.Bind_rsp
[0x32ab:5:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster:
[0x32ab:5:0x0006]: finished channel configuration
[0x32ab:5:0x0006]: 'async_configure' stage succeeded
[0x32ab:5:0x0012]: 'async_configure' stage succeeded
[0x32ab:zdo] ZDO request ZDOCmd.Bind_rsp: [<Status.TABLE_FULL: 140>]
[0x32ab:zdo] Unsupported ZDO request:ZDOCmd.Bind_rsp
[0x32ab:6:0x0006]: Failed to bind 'on_off' cluster:
[0x32ab:6:0x0012]: Failed to bind 'multistate_input' cluster:
[0x32ab:6:0x0012]: finished channel configuration
[0x32ab:8:0x000c]: Failed to bind 'analog_input' cluster:
[0x32ab:8:0x000c] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=99 command_id=Command.Configure_Reporting_rsp>
[0x32ab:8:0x000c]: reporting 'present_value' attr on 'analog_input' cluster: 30/900/1: Result: '[[, ]]'
[0x32ab:8:0x000c]: finished channel configuration
[0x32ab:8:0x000c]: 'async_configure' stage succeeded
[0x32ab:6:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster:
[0x32ab:6:0x0006]: finished channel configuration
[0x32ab:6:0x0006]: 'async_configure' stage succeeded
[0x32ab:6:0x0012]: 'async_configure' stage succeeded
0x32ab: completed configuration
0x32ab: stored in registry: ZhaDeviceEntry(name='LUMI lumi.ctrl_neutral2', ieee='00:15:8d:00:01:4a:95:d6', last_seen=1586554352.0505073)
[0x32ab:1:0x0003] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=101 command_id=Command.Default_Response>
[0x32ab:1:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUP_CLUSTER_COMMAND: 129>]
[0x32ab:1:0x000a] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=3 command_id=Command.Read_Attributes>
[0x32ab:1:0x000a] ZCL request 0x0000: [[0]]

Log then i try to turn on light:
2020-04-10 21:36:14 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x03D\x80\x00\x03'
2020-04-10 21:36:14 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\xfe'
2020-04-10 21:36:14 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\x01d'
2020-04-10 21:36:14 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\xfe'
2020-04-10 21:36:15 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\xfe'
2020-04-10 21:36:15 INFO (MainThread) [zigpy_cc.uart] Bytes received: b'\xfe'

BR,
Vladislav

Tag release versions and make PyPi release(s) of zigpy-cc?

A friendly reminder to tag an initial release version of zigpy-cc and make PyPi release of zigpy-cc

@sanyatuning I guess that you might not yet be ready to make your first release of this zigpy-cc library but I just wanted to add a friendly reminder here under issues for tracking purposes only, so there is no rush.

An initial PyPi release version tag (like for example v0.0.1) and then continues versions/releases of newer version if and when code is added or changed will make it much easier for projects like Home Assistant and Linux OS distributions like Hass.io and Raspbian or others to update and make use of each new versions of this library.

Version tagging and PyPi release(s) is something that is already available for the zigpy library as well as similar radio libraries that it depends on such as; bellows, zigpy-deconz, zigpy-xbee, and zigpy-zigate. My thinking is that the more people are testing this early on then more developers will eventually also get interested and will be able to help you out with the development of zigpy-cc

https://github.com/zigpy/zigpy/releases
https://github.com/zigpy/bellows/releases
https://github.com/zigpy/zigpy-xbee/releases
https://github.com/zigpy/zigpy-deconz/releases
https://github.com/doudz/zigpy-zigate/releases

https://pypi.org/project/zigpy
https://pypi.org/project/bellows
https://pypi.org/project/zigpy-xbee
https://pypi.org/project/zigpy-deconz
https://pypi.org/project/zigpy-zigate

Off-topic but maybe could talk @Adminiuga about the possibility of maybe having your zigpy-cc repository move the GitHub repo to the zigpy organization @ https://github.com/zigpy/ so that more than one person has access to all your zigpy related projects for collaboration? Hope that you could all come to an agreement that will make everyone happy with continuing with zigpy-cc

[REQUEST] Add same PyPa workflow as the other zigpy projects

PyPa has a GitHub Action for publishing pre-built distribution packages to PyPI.

Consider adding PyPa workflow in the same unified way as other zigpy libraries, see:

and

Also, consider adding a long description to PyPi index by pointing to the README.md

Keeping this and other methods the same in all zigpy libraries can help unify them.

Others features/functions which code could be reused and kept the same include:

  • New zigpy initialization
  • Support for radio lib configuration schemas
  • Implement radio probe / API probe method
  • USB reconnect (reconnect serial port on disconnects)

IMHO keep code for same functions/features the same to help the finding of issues.

This, in turn, could help existing and developers to which on all libraries for zigpy.

[Device Support Request] Philips Hue Motion Sensor SML001

Is your feature request related to a problem? Please describe.
My ZHA won't recognize the Motion sensor SML001

Describe the solution you'd like
Support for the Hue Motion Sensor (SML001).

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.

[0x3ed7:11:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=145 command_id=Command.Read_Attributes_rsp>
[0x3ed7:11:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=147 command_id=Command.Read_Attributes_rsp>
[0x3ed7:11:0x0008]: received attribute: 0 update with value: 254
[0x3ed7:11:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=149 command_id=Command.Read_Attributes_rsp>
Device 0x7d79 (00:17:88:01:08:64:16:9b) joined the network
[0x7d79:zdo] ZDO request ZDOCmd.Device_annce: [0x7d79, 00:17:88:01:08:64:16:9b, 128]
[0x7d79] Requesting 'Node Descriptor'
Tries remaining: 2
[0x7d79] Extending timeout for 0x97 request
[0x7d79] Node Descriptor: <Optional byte1=2 byte2=64 mac_capability_flags=128 manufacturer_code=4107 maximum_buffer_size=89 maximum_incoming_transfer_size=63 server_mask=0 maximum_outgoing_transfer_size=63 descriptor_capability_field=0>
[0x7d79] Discovering endpoints
Tries remaining: 3
[0x7d79] Extending timeout for 0x99 request
[0x229e:1:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=77 command_id=Command.Report_Attributes>
[0x229e:1:0x0402] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=int16s, value=2582>>]]
[0x229e:1:0x0402] Attribute report received: measured_value=2582
[0x229e:1:0x0405] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=78 command_id=Command.Report_Attributes>
[0x229e:1:0x0405] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=5771>>]]
[0x229e:1:0x0405] Attribute report received: measured_value=5771
[0x229e:1:0x0403] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=79 command_id=Command.Report_Attributes>
[0x229e:1:0x0403] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=int16s, value=1012>>, <Attribute attrid=20 value=<TypeValue type=int8s, value=-1>>, <Attribute attrid=16 value=<TypeValue type=int16s, value=10124>>]]
[0x229e:1:0x0403] Attribute report received: measured_value=1012, 20=-1, 16=10124
[0x7d79] Discovered endpoints: [2, 1]
[0x7d79:2] Discovering endpoint information
Tries remaining: 3
[0x7d79] Extending timeout for 0x9b request
[0x7d79:2] Discovered endpoint information: <Optional endpoint=2 profile=260 device_type=263 device_version=0 input_clusters=[0, 1, 3, 1030, 1024, 1026] output_clusters=[25]>
[0x7d79] Extending timeout for 0x9d request
[0x7d79] Extending timeout for 0x9f request
light.woonkamer: polling current state - from cache: False
[0xc749:11:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=161 command_id=Command.Read_Attributes_rsp>
[0xc749:11:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=163 command_id=Command.Read_Attributes_rsp>
[0xc749:11:0x0008]: received attribute: 0 update with value: 119
[0xc749:11:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=165 command_id=Command.Read_Attributes_rsp>
[0x7d79] Extending timeout for 0xa7 request
light.keuken1: polling current state - from cache: False
[0x44dc:11:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=169 command_id=Command.Read_Attributes_rsp>
[0x44dc:11:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=171 command_id=Command.Read_Attributes_rsp>
[0x44dc:11:0x0008]: received attribute: 0 update with value: 254
[0x44dc:11:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=173 command_id=Command.Read_Attributes_rsp>
[0x7d79:2] Manufacturer: None
[0x7d79:2] Model: None
[0x7d79:1] Discovering endpoint information
Tries remaining: 3
[0x7d79] Extending timeout for 0xaf request
[0x7d79:1] Discovered endpoint information: <Optional endpoint=1 profile=49246 device_type=2128 device_version=2 input_clusters=[0] output_clusters=[0, 3, 4, 6, 8, 768, 5]>
[0x7d79] Extending timeout for 0xb1 request
[0x7d79:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=177 command_id=Command.Read_Attributes_rsp>
[0x7d79:1] Manufacturer: Philips
[0x7d79:1] Model: SML001
Checking quirks for Philips SML001 (00:17:88:01:08:64:16:9b)
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1, 2}
Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
Fail because endpoint list mismatch: {3} {1, 2}
Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
device - 0x7d79:00:17:88:01:08:64:16:9b entering async_device_initialized - is_new_join: True
device - 0x7d79:00:17:88:01:08:64:16:9b has joined the ZHA zigbee network
[0x7d79](SML001): started configuration
[0x7d79:ZDO](SML001): 'async_configure' stage succeeded
[0x7d79] Extending timeout for 0xb3 request
[0x7d79] Extending timeout for 0xb5 request
[0x7d79] Extending timeout for 0xb7 request
[0x7d79:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x7d79:1:0x0000]: finished channel configuration
[0x7d79] Extending timeout for 0xb9 request
[0x7d79:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x7d79:1:0x0006]: finished channel configuration
[0x7d79] Extending timeout for 0xbb request
[0x7d79:1:0x0008]: bound 'level' cluster: Status.SUCCESS
[0x7d79:1:0x0008]: finished channel configuration
[0x7d79] Extending timeout for 0xbd request
[0x7d79:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=185 command_id=Command.Read_Attributes_rsp>
[0x7d79:1:0x0000]: initializing channel: from_cache: False
[0x7d79] Extending timeout for 0xbf request
[0x7d79:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x7d79:1:0x0006]: finished channel configuration
[0x7d79] Extending timeout for 0xc1 request
[0x7d79:1:0x0005]: bound 'scenes' cluster: Status.SUCCESS
[0x7d79:1:0x0005]: finished channel configuration
[0x7d79] Extending timeout for 0xc3 request
[0x7d79:1:0x0300]: bound 'light_color' cluster: Status.SUCCESS
[0x7d79:1:0x0300]: finished channel configuration
[0x7d79] Extending timeout for 0xc5 request
[0x7d79:1:0x0000]: 'async_configure' stage succeeded
[0x7d79:1:0x0006]: 'async_configure' stage succeeded
[0x7d79:1:0x0008]: 'async_configure' stage succeeded
[0x7d79:1:0x0006]: 'async_configure' stage succeeded
[0x7d79:1:0x0005]: 'async_configure' stage succeeded
[0x7d79:1:0x0300]: 'async_configure' stage succeeded
[0x7d79:2:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x7d79:2:0x0000]: finished channel configuration
[0x7d79] Extending timeout for 0xc7 request
[0x7d79:2:0x0402]: bound 'temperature' cluster: Status.SUCCESS
[0x7d79] Extending timeout for 0xc9 request

Additional context
As seen in the integrations pages (https://zigbee.blakadder.com/Philips_SML001.html), the motion sensor from Philips Hue isn't quite integrated in ZHA yet. The weird thing is, is that the outside sensor is set as integrated. Is it possible to have the indoor sensor working as well? My Bulbs from Philips are all connected flawless. Please tell me if you guys need any log or something and how to do it. Should be awesome to have that motion sensor included as well for everyone :)

[Device Support Request] Lonsonho 2 Gang wall switch

Is your feature request related to a problem? Please describe.
Device almost works good without quirk but HA cannot control second (right) switch at the moment

Describe the solution you'd like
Control second switch as the first one. Currently issuing any commands to it results in timout error (stactrace below)

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.
Full log

Device 0xa474 (bc:33:ac:ff:fe:65:5c:e2) joined the network
[0xa474:zdo] ZDO request ZDOCmd.Device_annce: [0xa474, bc:33:ac:ff:fe:65:5c:e2, 142]
[0xa474] Requesting 'Node Descriptor'
Tries remaining: 2
[0xa474] Extending timeout for 0x15 request
[0xa474] Node Descriptor: <Optional byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=0 maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264 maximum_outgoing_transfer_size=82 descriptor_capability_field=0>
[0xa474] Discovering endpoints
Tries remaining: 3
[0xa474] Discovered endpoints: [1, 2]
[0xa474:1] Discovering endpoint information
Tries remaining: 3
[0xa474:1] Discovered endpoint information: <Optional endpoint=1 profile=260 device_type=256 device_version=0 input_clusters=[0, 3, 4, 5, 6] output_clusters=[25]>
[0xa474:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=27 command_id=Command.Read_Attributes_rsp>
[0xa474:1] Manufacturer: _TYZB01_6sadkhcy
[0xa474:1] Model: TS0002
[0xa474:2] Discovering endpoint information
Tries remaining: 3
[0xa474:2] Discovered endpoint information: <Optional endpoint=2 profile=260 device_type=256 device_version=0 input_clusters=[0, 3, 4, 5, 6] output_clusters=[25]>
Checking quirks for _TYZB01_6sadkhcy TS0002 (bc:33:ac:ff:fe:65:5c:e2)
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1, 2}
Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
Fail because endpoint list mismatch: {3} {1, 2}
Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
Fail because profile_id mismatch on at least one endpoint
Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
Fail because profile_id mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
device - 0xa474:bc:33:ac:ff:fe:65:5c:e2 entering async_device_initialized - is_new_join: True
device - 0xa474:bc:33:ac:ff:fe:65:5c:e2 has joined the ZHA zigbee network
[0xa474](TS0002): started configuration
[0xa474:ZDO](TS0002): 'async_configure' stage succeeded
[0xa474:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0xa474:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0xa474:1:0x0000]: finished channel configuration
[0xa474:1:0x0019]: bound 'ota' cluster: Status.SUCCESS
[0xa474:1:0x0019]: finished channel configuration
[0xa474:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=37 command_id=Command.Default_Response>
[0xa474:1:0x0006]: reporting 'on_off' attr on 'on_off' cluster: 0/900/1: Result: '[6, <Status.UNSUP_GENERAL_COMMAND: 130>]'
[0xa474:1:0x0006]: finished channel configuration
[0xa474:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=39 command_id=Command.Read_Attributes_rsp>
[0xa474:1:0x0000]: initializing channel: from_cache: False
[0xa474:2:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0xa474:1:0x0006]: 'async_configure' stage succeeded
[0xa474:1:0x0000]: 'async_configure' stage succeeded
[0xa474:1:0x0019]: 'async_configure' stage succeeded
[0xa474:2:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0xa474:2:0x0000]: finished channel configuration
[0xa474:2:0x0019]: bound 'ota' cluster: Status.SUCCESS
[0xa474:2:0x0019]: finished channel configuration
[0xa474:2:0x0006]: failed to set reporting for 'on_off' attr on 'on_off' cluster: 
[0xa474:2:0x0006]: finished channel configuration
[0xa474:2:0x0000]: initializing channel: from_cache: False
[0xa474:2:0x0006]: 'async_configure' stage succeeded
[0xa474:2:0x0000]: 'async_configure' stage succeeded
[0xa474:2:0x0019]: 'async_configure' stage succeeded
[0xa474](TS0002): completed configuration
[0xa474](TS0002): stored in registry: ZhaDeviceEntry(name='_TYZB01_6sadkhcy TS0002', ieee='bc:33:ac:ff:fe:65:5c:e2', last_seen=1597344000.3796937)
[0xa474:1:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=51 command_id=Command.Default_Response>
[0xa474:1:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUP_CLUSTER_COMMAND: 129>]
[0xa474](TS0002): started initialization
[0xa474:ZDO](TS0002): 'async_initialize' stage succeeded
[0xa474:1:0x0019]: initializing channel: from_cache: False
[0xa474:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=53 command_id=Command.Read_Attributes_rsp>
[0xa474:1:0x0006]: initializing channel: from_cache: False
[0xa474:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=55 command_id=Command.Read_Attributes_rsp>
[0xa474:1:0x0000]: initializing channel: from_cache: False
[0xa474:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=59 command_id=Command.Read_Attributes_rsp>
[0xa474:2:0x0006]: initializing channel: from_cache: False
[0xa474:2:0x0000]: initializing channel: from_cache: False
[0xa474:2:0x0019]: initializing channel: from_cache: False
[0xa474:2:0x0006]: failed to get attributes '['on_off']' on 'on_off' cluster: 
[0xa474:2:0x0006]: 'async_initialize' stage succeeded
[0xa474:2:0x0000]: 'async_initialize' stage succeeded
[0xa474:2:0x0019]: 'async_initialize' stage succeeded
[0xa474:1:0x0006]: failed to get attributes '['on_off']' on 'on_off' cluster: 
[0xa474:1:0x0006]: 'async_initialize' stage succeeded
[0xa474:1:0x0000]: 'async_initialize' stage succeeded
[0xa474:1:0x0019]: 'async_initialize' stage succeeded
[0xa474](TS0002): power source: Mains
[0xa474](TS0002): completed initialization
[0xa474:1:0x0006]: attempting to update onoff state - from cache: False
[0xa474:2:0x0006]: attempting to update onoff state - from cache: False
[0xa474:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=65 command_id=Command.Read_Attributes_rsp>
None: polling current state
None: polling current state

Signature of paired dervice

{
  "node_descriptor": "<Optional byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=0 maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264 maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TYZB01_6sadkhcy",
  "model": "TS0002",
  "class": "zigpy.device.Device"
}

Additional context
Same device in Koenkk/zigbee-herdsman-converters devices

https://github.com/Koenkk/zigbee-herdsman-converters/blob/f0882b47a7d4df564ef00248364d5a687b07ee35/devices.js#L1215-L1234

for reference

timeout error stacktrace

Уровень: ERROR
Logger: homeassistant.components.websocket_api.http.connection.281473257193424
Source: components/zha/core/device.py:549
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 22:04:57 (2 occurrences)
Last logged: 22:08:13

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1295, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 518, in admin_handler
    await result
  File "/usr/src/homeassistant/homeassistant/components/zha/api.py", line 925, in issue_zigbee_cluster_command
    manufacturer=manufacturer,
  File "/usr/src/homeassistant/homeassistant/components/zha/core/device.py", line 549, in issue_cluster_command
    command, *args, manufacturer=manufacturer, expect_reply=True
  File "/usr/local/lib/python3.7/site-packages/zigpy/device.py", line 210, in request
    result = await asyncio.wait_for(req.result, timeout)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 449, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError

LED Warning On CC2530 / CC2591 USB Devices

A fix that I believe was introduced in commit 3855695 to (en/dis)able the onbard LED seems to be conflicting with USB CC2530 / CC2591 devices that use the CP2102 UART to USB chip. I don't believe these devices have LED's mapped to the same pins as the other CC devices.

See below debug logs:

2020-08-14 09:07:48 2020-08-14 09:07:48 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.SRSP subsystem=Subsystem.UTIL command=ledControl payload={}> future=<Future cancelled> timeout=6000 sequence=None> 2020-08-14 09:07:42 2020-08-14 09:07:42 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.Off: 0>} 2020-08-14 09:06:48 2020-08-14 09:06:48 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.SRSP subsystem=Subsystem.UTIL command=ledControl payload={}> future=<Future cancelled> timeout=6000 sequence=None> 2020-08-14 09:06:48 2020-08-14 09:06:48 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.SRSP subsystem=Subsystem.UTIL command=ledControl payload={}> future=<Future cancelled> timeout=6000 sequence=None> 2020-08-14 09:06:48 2020-08-14 09:06:48 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.SRSP subsystem=Subsystem.UTIL command=ledControl payload={}> future=<Future cancelled> timeout=6000 sequence=None> 2020-08-14 09:06:42 2020-08-14 09:06:42 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>} 2020-08-14 09:06:42 2020-08-14 09:06:42 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>} 2020-08-14 09:06:42 2020-08-14 09:06:42 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.On: 1>} 2020-08-14 09:01:31 2020-08-14 09:01:31 WARNING (MainThread) [zigpy_cc.api] Waiter timeout: <Waiter matcher=<Matcher type=CommandType.SRSP subsystem=Subsystem.UTIL command=ledControl payload={}> future=<Future pending cb=[_release_waiter(<Future finished result=None>)() at /usr/local/lib/python3.8/asyncio/tasks.py:429]> timeout=6000 sequence=None> 2020-08-14 09:01:24 2020-08-14 09:01:24 DEBUG (MainThread) [zigpy_cc.api] --> SREQ UTIL ledControl tsn: None {'ledid': 3, 'mode': <LedMode.Off: 0>}

proxmox - cc2531 cant connect any zigbee sensors

Hi, I am not able to connect ZigBee sensors when I am using cc2531 with proxmox VM. I am able to pass through dongle but cant connect any sensors however if i use same dongle on RPI3 or virtual box I am able to pair them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.