XZG Firmware unifies the best innovations from
previous Zigbee gateway projects into a single, comprehensive solution.
By focusing the community's efforts on enhancing one product, XZG aims to streamline development,
thereby improving the capabilities and efficiency of your Zigbee Gateways. π
Visit features page to get information
XZG.mp4
Visit Wiki page to get information
For a quick setup, use XZG Web Flasher for an easy plug-and-flash experience.
Please follow the installation guide tailored to your hardware.
- You need npm and Python installed
- Install Visual Studio Code (VSC)
- Install PlatformIO extension to VSC
- Clone this repository
git clone --recurse-submodules https://github.com/xyzroe/XZG.git
- Open
XZG.code-workspace
in VSC - Press "PlatformIO: Build" and wait until XZG*.bin are generated
- You need npm ad Python installed
- Install PlatformIO Core (it's in many package managers)
- Clone this repository
git clone --recurse-submodules https://github.com/xyzroe/XZG.git
- Use
pio run
to build default environment - Binaries output to .pio/build/name_of_env/
- Use
pio run -t upload
to build and upload firmware image - Use
-e
flag to select a specific build:pio run -e env_name -t upload
- LSP (e.g. clangd and Neovim) users need to run
pio run -t compiledb
to generate a "compile_commands.json"
- Fork this repository;
- Made your changes;
- Push a new tag to run workflow;
- Just wait and get new release;
Contributions are welcome! If you'd like to help improve the XZG Firmware, you can:
- Provide Pull Requests with enhancements or fixes. Please see our contribution guidelines.
- Test newly released features and report issues.
- Help expand our documentation for better user support.
Thanks to all the developers and contributors who make this project possible, and special thanks to @mercenaruss for Zig Star devices development.
Special thanks to all third-party library authors. Their work has significantly contributed to this project:
- espressif / arduino-esp32,
- esprfid / esp-rfid,
- fairecasoimeme / zigate-ethernet,
- bblanchon / arduinojson,
- rLOGDacco / circularbuffer,
- sstaub / ticker,
- vurtun / lib,
- Tinkerforge / WireGuard-ESP32-Arduino,
- sstaub / Ticker,
- Martin-Laclaustra / CronAlarms,
- xreef / WebServer-Esp8266-ESP32-Tutorial,
- marvinroger / async-mqtt-client
XZG Firmware is released under the GNU General Public License v3.0. See the LICENSE file for more details.
Third-party libraries used in this project are under their respective licenses. Please refer to each for more information.