Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REQUEST] ESPHome firmware as a Zigbee to MQTT bridge/gateway on hardware like ITead Sonoff Zigbee Bridge (Sonoff ZBBridge) #681

Open
Hedda opened this issue Apr 16, 2020 · 6 comments

Comments

@Hedda
Copy link

Hedda commented Apr 16, 2020

Describe the problem you have/What new integration you would like

Please consider making ESPHome firmware as a Zigbee to MQTT bridge/gateway on hardware like ITead Sonoff Zigbee Bridge (Sonoff ZBBridge), i.e. features to use Zigbee Coordinator radio to connect Zigbee devices and allow control of them via MQTT.

The original inspiration for this request is that Itead has just launched "Sonoff ZBBridge" as an very inexpensive Zigbee Bridge/gateway which is based on a similar design as the Sonoff RF Bridge 433 (which I believe ESPHome firmware already has support for?).

https://www.itead.cc/sonoff-zbbridge.html

https://sonoff.tech/product/smart-home-security/zbbridge/

https://www.cnx-software.com/2020/04/16/sonoff-zbbridge-wifi-to-zigbee-gateway/

According to the teardown on notenoughtech.com it sounds as if it is based on Silicon Labs EFR32MG21 (EFR32 Mighty Gecko) for Zigbee 3.0 radio module support and ESP8266 (ESP8266EX) for WiFi and bridge/gateway/controller software

https://notenoughtech.com/home-automation/sonoff/sonoff-zigbee-bridge-preview/

From the images it even looks like they are reusing the same injection moulds as for the Sonoff RF Bridge 433 housing/enclosure

https://sonoff.tech/product/accessories/433-rf-bridge

https://www.itead.cc/sonoff-rf-bridge-433.html

https://www.itead.cc/wiki/Sonoff_RF_Bridge_433

Tasmota does something similar with Zigbee2Tasmota but by connecting an ESP8266 to a Texas Instrument CC2530 module instead however it too is using a serial communication protocol, see:

https://tasmota.github.io/docs/Zigbee/

EZSP (EmberZNet Serial Protocol) interface that Silicon Labs uses is also well documented and already used by open source projects, see example Home Assistant's ZHA integration component via zigpy and bellows:

https://github.com/zigpy/bellows

https://www.home-assistant.io/integrations/zha/

https://www.silabs.com/community/wireless/zigbee-and-thread/knowledge-base.entry.html/2017/05/25/build_an_ezsp-spiho-2VE8

https://www.silabs.com/documents/public/user-guides/ug100-ezsp-reference-guide.pdf

Please describe your use case for this integration and alternatives you've tried:

Additional context

The alternative today is to build your own Zigbee2Tasmota bridge with a ESP8266 and a TI CC2530 module, but that is not a complete hardware solution and the Zigbee module included in Sonoff ZBBridge is much more powerful than TI CC2530, plus the EFR32 based module in the Sonoff ZBBridge supports Zigbee 3.0 while TI CC253x only supports Zigbee Home Automation (HA) 1.2

https://tasmota.github.io/docs/Zigbee/

@Hedda Hedda changed the title [REQUEST] ESPHome firmware on the Sonoff Zigbee Bridge (Sonoff ZBBridge) [REQUEST] ESPHome firmware on the Sonoff Zigbee Bridge (Sonoff ZBBridge) as a MQTT bridge/gateway Apr 20, 2020
@Hedda
Copy link
Author

Hedda commented Apr 20, 2020

Please note that #681 and #688 are two sperate requests with different goals.

@Hedda Hedda changed the title [REQUEST] ESPHome firmware on the Sonoff Zigbee Bridge (Sonoff ZBBridge) as a MQTT bridge/gateway [REQUEST] ESPHome firmware as a Zigbee to MQTT bridge/gateway on hardware like ITead Sonoff Zigbee Bridge (Sonoff ZBBridge) Jun 13, 2022
@Hedda
Copy link
Author

Hedda commented Jun 13, 2022

FYI, there are now several ESP32 based gateways which contain either Silicon Labs EFR32MG21 or Texas Instruments CC2652P Zigbee Coordinator radio modules sold and many of them are open-source hardware with schematics for DIY builds. See example:

https://zig-star.com/projects/zigbee-gw-lan/

https://github.com/mercenaruss/zigstar_gateways

https://www.tubeszb.com

https://github.com/tube0013/tube_gateways/

Those have benefits of their makers being active members of the Home Assistant community and their support so far is great!

https://community.home-assistant.io/t/zigstar-zigbee-coordinators-and-routers/338586/

https://community.home-assistant.io/t/tubes-zb-coordinators-and-routers-was-zigbee-router-on-steroids/280896

ITead have also released a new ESP32 based product based ZBBridge-P (a.k.a. "ZB Bridge-P") with TI CC2652P Zigbee radio:

https://itead.cc/product/sonoff-zigbee-bridge-pro/

That "Sonoff Zigbee Bridge Pro" has already been hacked by the Tasmota community which can now use it with Zigbee2Tasmota:

arendst/Tasmota#14419

https://tasmota.github.io/docs/Zigbee/

@Hedda
Copy link
Author

Hedda commented Sep 30, 2022

FYI, Espressif themselves now seems to focus on ESP's one-stop Zigbee Gateway solution, i.e., the two chips solution using an ESP32-S3 Wi-Fi SoC for the Zigbee Gateway/Bridge application part paired together via UART-serial to an ESP32-H 802.15.4 SoC as a dedicated radio chip for Zigbee (or Thread/OpenThead), where a typical use case example would be a Zigbee to Matter Bridge (or Thread/OpenThead to Matter Bridge).

and

or

and for optionally adding Matter support on top of that see Project-CHIP:

Note that even with that type of combination solution with a dedicated 802.15.4 radio chip for Zigbee (or Thread/OpenThead), there is still an option to use an alternative third-party 802.15.4 SoC such as Nordic Semiconductor nRF5/nRF52 (nRF52840), Texas Instruments CC2652/CC1352, or Silicon Labs EFR32MG21/EFR32MG24, instead of the new ESP32-H 802.15.4 SoC.

@lachesis
Copy link

What about the ESP32-C6 RISC-V with built in Zigbee?

@Hedda
Copy link
Author

Hedda commented Jun 20, 2023

What about the ESP32-C6 RISC-V with built in Zigbee?

Check out this separate feature request for ESP32-C6 support (which requires the upcoming ESP-IDF 5.1 to be released) -> #2176

Also check this other feature request for Zigbee (and Thread) support on ESP32-H2 which has the same 802.15.4 radio -> #1397

The hurdle with those is they require support for ESP ZBOSS 3.0 binary libraries supporting the Zboss Zigbee 3.0 stack for ESP32.

Or for Home Assistant's ZHA integration pass-through support need a ZBOSS radio library for zigpy (e.g. zigpy-zboss), check out:

https://github.com/kardia-as/zigpy-zboss

ESP ZBOSS 3.0 Libraries

This repository contains binary libraries supporting the Zboss Zigbee 3.0 stack for ESP32 series chips.

https://github.com/espressif/esp-zboss-lib

Packages from this repository are uploaded to Espressif’s component serivce. You can add them to your project via idf.py add-dependency

More information about idf-component-manager can be found in Espressif API guide or PyPi registry.

There now looks to be some Zigbee examples in Espressif’s IoT Development Framework (ESP-IDF):

https://components.espressif.com/component/espressif/esp-zboss-lib

https://www.espressif.com/en/products/sdks/esp-idf

https://github.com/espressif/esp-idf

https://github.com/espressif/esp-idf/tree/master/examples/zigbee

Those examples include; Zigbee coordinator ("light coordinator"), "Zigbee RCP (radio co-processor"), and "Zigbee gateway":

https://github.com/espressif/esp-idf/tree/master/examples/zigbee/light_sample/light_coordinator

"light_coordinator is a light coordinator example demonstrating Zigbee Coordinator role. It provides a formation of the Zigbee network. It runs on an 802.15.4 SoC like ESP32-H2. For more details to see the example readme file."

https://github.com/espressif/esp-idf/tree/master/examples/zigbee/esp_zigbee_rcp

https://github.com/espressif/esp-idf/tree/master/examples/zigbee/esp_zigbee_gateway

Wondering if "RPC" works similar to Silicon Labs RPC which works like a dumb radio requiring external ESP ZBOSS 3.0 libraries?

https://components.espressif.com/component/espressif/esp-zboss-lib

"This test code shows how to configure Zigbee rcp (radio co-processor) device. Rcp doesn't function alone, it needs to work together with Zigbee gateway (see esp_zigbee_gateway example)"

"After rcp starts up, it will send its own MAC ieee address and Zigbee stack version number to the Zigbee gateway and start working together with Zigbee gateway via UART communication"

ESP32-H2 has apparently now also already been certified as a “Zigbee Compliant Platform” by CSA¨
:

@Hedda
Copy link
Author

Hedda commented Jun 20, 2023

What about the ESP32-C6 RISC-V with built in Zigbee?

Check out this separate feature request for ESP32-C6 support (which requires the upcoming ESP-IDF 5.1 to be released) -> #2176

Also check this other feature request for Zigbee (and Thread) support on ESP32-H2 which has the same 802.15.4 radio -> #1397

The hurdle with those is they require support for ESP ZBOSS 3.0 binary libraries supporting the Zboss Zigbee 3.0 stack for ESP32.

Or for Home Assistant's ZHA integration pass-through support need a ZBOSS radio library for zigpy (e.g. zigpy-zboss), check out:

https://github.com/kardia-as/zigpy-zboss

FYI, that is now a new ESP32-H2 + ESP32-C3 combo development board kit and ESP Thread Boarder Router SDK that can be used as reference hardware. It has as been certified as a Thread Border Router (TBR) / OpenThread Border Router (OTBR) which can be used for Matter based on the Thread 1.3 standard, alternatively be used as an as Zigbee gateway/hub or bridge, and they also got an optional Ethernet Sub-Board

https://www.cnx-software.com/2023/06/20/espressif-esp-thread-border-router-board-combines-esp32-h2-esp32-c3-wireless-chips/

https://github.com/espressif/esp-thread-br

https://docs.espressif.com/projects/esp-thread-br/en/latest/esp32/

https://www.aliexpress.us/item/1005005688193617.html

PS: An earlier two-board ESP Thread Border Router solution was previously available as an example project for reference:

https://github.com/espressif/esp-idf/tree/master/examples/openthread/ot_br

https://openthread.io/guides/border-router/espressif-esp32

image

and optional Optional Ethernet Sub Board

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants