Project that aims to provide similar functionality to ESPHome, but for Zigbee devices.
dev
branch is for experiments and exploration.
It cannot be used to determine quality of resulting project.
Currently work is being carried to develop CLI application and adding sensors.
CLI can generate source, which can then be built and flashed.
"Source" includes C source code, app config(proj.conf
) and overlay (app.overlay
).
CLI can't build the application yet, as building it requires environment to be properly set up (nrf- and zephyr-specific).
CLI can flash already built application with a couple of methods:
- nrfutil
- mcuboot
- west
This project is being developed based on nRF52840 Dongle from Nordic Semiconductors
Initial goal of the project is to support nRF52840 based devices, with expansion to nRF53 series.
ZHA integration can figure out device capabilities without pre-defined configuration.
Firmware provided by this project is already working on the Dongle and reporting defined values when connected through ZHA.
Zigbee2MQTT requires to define device configuration before it can be useful, so for quick set-up it is not as useful.
Go CLI application available in /cli
will provide
necessary options to build and upload firmware based on provided configuration.
For this to work user would need to already have nRF Connect SDK set up, with west
and probably some flash tool applications available and working.
Defined flash tools are:
nrfutil
- already workingmcuboot
west
Default configuration file called zigbee.yml
will be loaded
and used to configure.
See bare example in cli/zigbee.yml
, or original configuration definition
in cli/config/device.go:Device
.
To flash the board with built firmware run
go run ./cli/cmd/zigbee firmware --workdir <path_to_project> flash
Users can flash built applications with nRF Connect for Desktop as well, if CLI tool is not suited for some cases.
This project needs nRF Connect SDK version 2.5.0. Other versions are not yet tested.
This project uses information from ZBOSS SDK, license for which can be found in zboss_license.txt
.
- nRF Connect SDK
- Zephyr project
- ESPHome
- Zigbee Cluster Library