Z3 Gateway with Green Power Combo
This repository holds documentation and implementation on how to create a Linux based Zigbee 3.0 Gateway that supports Green Power Combo functionality
In order to proceed, you will need to download EmberZNet SDK through Simplicity Studio The SDK's access can only be requested using the serial number coming from this development kit : SLWSTK6000B
At the time of writing, this is done using Simplicity Studio v4 and GSDK 2.7.8
Description
Zigbee 3.0 Gateway Host implementation. Connects to an EZSP NCP target This project implements most of HA profiles a Gateway must on Endpoint 1 It also acts as a Green Power Combo, hence can handle Green Power Devices on its network
It has to be used with that NCP implementation
Build Instructions
You will need to add 2 files to Silicon Labs' SDK to build the project The 2 rijndael*.c files are open source files to be downloaded (those are not Silabs copyright, hence not included in SDK purposefully) and copied to the folder developer/sdks/gecko_sdk_suite/vX.X/platform/base/hal/micro/generic/aes.
You can find these files here
Also, 2 Libraries are necessary :
- libncurses
- libreadline
On Windows
Simplest way is by using Cygwin WSL can be used too if you find the dependencies packages and have a working tty to COM link
Fix an issue in the SDK that causes:
FATAL: Could not set pipe reader to non-blocking (22): Invalid argument
Z3_GatewayHost: ../../../../../SiliconLabs/SimplicityStudio/v4/developer/sdks/gecko_sdk_suite/v2.7/protocol/zigbee/app/util/serial/linux-serial.c:406: setNonBlockingFD: Assertion `false' failed.
Aborted (core dumped)
Edit gecko_sdk_suite/v2.7/protocol/zigbee/app/util/serial/linux-serial.c:406 to:
int status = fcntl(fd, F_SETFL, flags | O_NONBLOCK);
On Other platforms (Linux & Darwin)
Simply run make -j4 all
Run Instructions
Run using ./Z3_GatewayHost -n 0 -p COM14
Documentation
Official documentation can be found at our Developer Documentation page.
Disclaimer
Unless otherwise specified in the specific directory, all examples are considered to be EXPERIMENTAL QUALITY which implies that the code provided in the repos has not been formally tested and is provided as-is. It is not suitable for production environments. In addition, this code will not be maintained and there may be no bug maintenance planned for these resources.