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
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?
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