openhab/org.openhab.binding.zigbee

Support for Z-Stack 3 (Z-Stack 3.0.x and Z-Stack 3.x.x) - Texas Instruments Zigbee 3.0 stack on adapters like CC2652 and CC1352

Closed this issue · 5 comments

Hedda commented

Outline

Is your feature request related to a problem? Please describe.

This is a feature request as there is today currently no support for Z-Stack 3 / Z-Stack 3.x.x (Texas Instruments Zigbee 3.x stack)?

Z-Stack 3 support is needed to be compliant with new adapters like CC2652/CC2652P/CC2652R/CC2652RB and CC1352/CC1352P.

https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/Z-Stack_3.x.0/bin/README.md

As it looks there is currently only support for the older and now obsolete/deprecated Z-Stack Home 1.2 from Texas Instruments?

https://www.ti.com/tool/Z-STACK-ARCHIVE

Texas Instruments USB adapters based on CC2652/CC2652P/CC2652R/CC2652RB are very popular as Zigbee 3.0 compliant Zigbee coordinators among other open source home automation projects/communities (inc. Zigbee2MQTT, IoBroker, and Home Assistant).

Personally, I can currently recommend Electrolama zzh (zig-a-zig-ah) CC2652R USB stick/dongle which is open-source hardware:

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

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

Describe the solution you'd like

Full support Texas Instruments USB adapter running Z-Stack 3 (Z-Stack 3.x) based firmware (Z-Stack 3.0.x and Z-Stack 3.x.x).

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

The primary goal would be to use the newer and more powerful USB adapter based on Texas Instruments CC2652/CC2652P/CC2652R/CC2652RB and CC1352/CC1352P.

Hopefully, that will later also lead to full Zigbee 3.0 compliance but that is only a secondary goal and probably not really a priority.

http://www.ti.com/lit/an/swra615a/swra615a.pdf

Describe alternatives you've considered

The primary alternative today, if you like to like a Zigbee 3.0 compliant Zigbee coordinator USB adapter for creating a Zigbee 3 network, is to go with a newer Silicon Labs EmberZNet based adapter like EFR32 (EFR32MG12 or EFR32MG21).

Additional context

While not recommended for a "production" Zigbee network it is possible for testing and development purposes to flash CC2538, CC2531 and CC2530 based USB adapters with Z-Stack 3.0.x firmware:

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.0.x/bin

If you today have a CC2531 USB adapter that is already flashed with Z-Stack Home 1.2 firmware then you can now actually upgrade to a Z-Stack 3.0.x firmware yourself quite easily via USB using zigpy-znp command-line tools (as a stand-alone tool):

https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md

Note! Be sure to do a backup before you upgrade from Z-Stack Home 1.2 firmware to Z-Stack 3.0.x firmware as you will need to restore that backup afterwards as the upgrade procedure will perform an initialization of the adapter.

https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md#backup-and-restore

https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md#nvram-backup

Configuration

Configuration Description
Coordinator used Electrolama zzh (zig-a-zig-ah) CC2652R USB stick
openHAB version OpenHAB 3 (openHABian 32-bit)
Hardware Raspberry Pi 4 Model B 4GB
Memory
Java version
Devices Provide all device types and their addresses

Logs

NA

PS: This is a cross-post of the issue zsmartsystems/com.zsmartsystems.zigbee#1226 for zsmartsystems/com.zsmartsystems.zigbee

PPS: I don't have the programming skills to code this myself, (plus OpenHAB is not the primary application that I use myself today).

PPPS: Zigbee2MQTT have lists of TI adapters that are made for Z-Stack 3 (Z-Stack 3.x.x) as well as precompiled firmware images:

https://www.zigbee2mqtt.io/information/supported_adapters.html

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

Adapter TI Chip/Module Used Firmware to Flash BSL Trigger Pin (1) Auto-BSL (2) RF Switch Control Pins (3) LED(s)
TI LAUNCHXL-CC26xR1 CC2652R CC2652R_*.zip DIO_13 No N/A DIO_6 (Red)DIO_7 (Green)
TI LAUNCHXL-CC1352P-2 CC1352P CC1352P2_CC2652P_launchpad_*.zip DIO_15 No DIO_28: 2.4GhzDIO_29: 20dBm PADIO_30: Sub-1GHz DIO_6 (Red)DIO_7 (Green)
Electrolama zzh CC2652R CC2652R_*.zip DIO_13 No N/A DIO_7 (Pink)
Electrolama zzhp-lite CC2652P(Ebyte E72) CC1352P2_CC2652P_other_*.zip DIO_15 Yes DIO_5: 20dBm PA ??DIO_6: 2.4GHz ?? DIO_7 (Pink)
Electrolama zzhp CC2652P CC1352P2_CC2652P_other_*.zip DIO_15 Yes DIO_5: 20dBm PA ??DIO_6: 2.4GHz ?? DIO_7 (Pink)
Electrolama zoe2 CC1352P(Ebyte E79) CC1352P2_CC2652P_other_*.zip DIO_15 No DIO_5: 20dBm PA ??DIO_6: 2.4GHz ?? DIO_7 (Pink)
Slaesh's CC2652RB stick CC2652RB CC2652RB_*.zip DIO_13 Yes N/A DIO_7 (Blue)
ZigStar Stick v4 CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 Only for CH340C ver. DIO_28: 2.4GhzDIO_29: 20dBm PA DIO_6 (Green)DIO_7 (Red)
Tube's CC2652P2 USB Coordinator CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 N/A DIO_28: 2.4GhzDIO_29: 20dBm PA N/A
Tube's Zigbee Gateways (CC2652P2 variant) CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 N/A DIO_28: 2.4GhzDIO_29: 20dBm PA N/A
Tube's Zigbee PoE (Power Over Ethernet) Serial Coordinator (CC2652P2 variant) CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 N/A DIO_28: 2.4GhzDIO_29: 20dBm PA N/A
Egony Stick V4 (Ebyte ver.) CC2652P(Ebyte E72-2G4M20S1E) CC1352P2_CC2652P_other_*.zip DIO_15 Yes(from Rev.2.0) DIO_5: 20dBm PADIO_6: 2.4GHz DIO_8 (Green)DIO_7 (Red)
Gio-dot Z-Bee Duo with CC2652P CC2652P(Ebyte E72-2G4M20S1E) CC1352P2_CC2652P_other_*.zip DIO_15 Yes(from Rev.2.0) DIO_5: 20dBm PADIO_6: 2.4GHz DIO_8 (Green)DIO_7 (Red)
Egony Stick V4 (RFSTAR ver.) CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 Yes DIO_28: 2.4GhzDIO_29: 20dBm PA DIO_7 (Green)DIO_6 (Red)
cod.m Zigbee CC2652P RPi Module CC2652P(RFSTAR RF-BM-2652P2) CC1352P2_CC2652P_launchpad_*.zip DIO_15 Yes DIO_28: 2.4GhzDIO_29: 20dBm PA DIO_7 (Green)DIO_6 (Red)
Gio-dot Z-Bee Duo with CC2652P CC2652P (Ebyte E72-2G4M20S1E) CC1352P2_CC2652P_other_*.zip DIO_15 Yes (from Rev.2.0) DIO_5: 20dBm PA DIO_8 (Green) DIO_7 (Red)
cyijun OpenZ3Gateway CC2652P (RFSTAR RF-BM-2652P2 SMA Ant.) CC1352P2_CC2652P_launchpad_*.zip DIO_15 No DIO_28: 2.4Ghz DIO_29: 20dBm PA DIO_7 (Green) DIO_6 (Red)
SONOFF Zigbee 3.0 USB Dongle Plus CC2652P CC1352P2_CC2652P_launchpad_*.zip ? No ? ?

More information on those adapters here -> https://www.zigbee2mqtt.io/information/supported_adapters.html

Isn't this a duplicate of #605?

Hedda commented

Isn't this a duplicate of #605?

hmm, probably in spirit but technically no since the Z-Stack version is not strictly bound to MCU hardware model like CC2562.

You could say that Z-Stack 3 is currently synonyms with CC2652 and CC1352 in the community since those are the MCU models mostly used by new Texas Instruments Zigbee Coordinator adapters today,

Note however that you can run Z-Stack 3.x.x versions on the older CC253x (CC2530, CC2531 or CC2538) chips just as you can CC2652 (CC2652P/CC2652R/CC2652RB) and CC1352 (CC1352P/CC1352R) can technically run the older either the older Z-Stack Home 1.2.x versions or the newer Z-Stack 3 stack, and in that case, CC2562 could in theory already work with openHAB if flashed with Z-Stack Home 1.2.x firmware.

As the hardware is not bound to Z-Stack version this issue title with a subject that specifically requests support for Z-Stack 3 (Z-Stack 3.0.x and Z-Stack 3.x.x) is more correct than requesting support for CC2652 (or CC1352) hardware.

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

If support for Z-Stack 3.x API is added to openHAB then you gain support for all CC25x2 and CC13x2 as it is default on them.

Adding support for Z-Stack 3.x API to openHAB will as such also mean that it will support Z-Stack 3.0.x on CC253x as well.

Again though, there will be not any support added directly to the binding - this needs to be done through the zigbee libraries at per zsmartsystems/com.zsmartsystems.zigbee#1226. I think we should close this - if the support is added to the library, then it will also be supported here.

I will close this as a duplicate of the other mentioined above.

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/discussion-about-ti-z-stack-3-x-and-cc2652-and-cc1352/129385/1