zigpy / bellows

A Python 3 project to implement EZSP for EmberZNet devices
GNU General Public License v3.0
179 stars 87 forks source link

EZSP v10 (EZSP PROTOCOL VERSION 10) support in bellows? #528

Closed Hedda closed 1 year ago

Hedda commented 1 year ago

FYI, read someone noticed that EZSP protocol version has been incremented to EZSP v10 in Gecko SDK v4.2 / Zigbee EmberZNet v7.2 and that EZSP v10 was not mentioned in the latest UG100 (EZSP Reference Guide) documentation from Silicon Labs which SiLabs only updated for EZSP v9 and state that no additions was added between EmberZNet PRO Release 7.1.1 and 7.2.0:

https://github.com/SiliconLabs/gecko_sdk/blob/gsdk_4.2/protocol/zigbee/app/util/ezsp/ezsp-protocol.h

https://www.silabs.com/documents/public/user-guides/ug100-ezsp-reference-guide.pdf)

Does it look like there are many differences between these protocol framing with additions or changes in EZSP v10?

Gecko SDK v4.2:

Gecko SDK v4.1:

Gecko SDK v4.0:

For reference, Nabu Casa is already officially offering downloads for both "stable" EmberZNet 7.1.x.x (EZSP v9) firmware images as well as "beta" EmberZNet 7.2.x.x (EZSP v10) firmware image for their recently released Home Assistant SkyConnect adapter/dongle/stick:

https://www.home-assistant.io/skyconnect/

https://github.com/NabuCasa/silabs-firmware/tree/main/EmberZNet

https://github.com/NabuCasa/silabs-firmware/tree/main/EmberZNet/beta

xsp1989 is also offering EmberZNet 7.1.x.x (EZSP v9) and EmberZNet 7.2.x.x (EZSP v10) firmware image builds for his ZB-GW04 USB stick (a.k.a. "easyiot Zigbee dongle") that he designed based on "SM-011 V1.x" (ZYZBP008) radio module from CoolKit-Technologies (which in turn has an EFR32MG21 SoC).

https://github.com/xsp1989/zigbeeFirmware/tree/master/firmware/Zigbee3.0_Dongle-NoSigned/EZSP

https://www.aliexpress.com/item/1005002791666029.html

PS: xsp1989's firmware images for ZB-GW04 are also compatible with Sonoff ZBDongle-E by ITead even though not optimized for it:

https://itead.cc/product/zigbee-3-0-usb-dongle/

TheJulianJES commented 1 year ago

There weren't any breaking changes, so bellows falls back to v9 and handles everything just fine.

PR for fully implementing v10: