Sonoff ZB Bridge roadmap

Hi,

Just curious if ESPHome team has any plans to integrate Sonoff ZB Bridge in near future. Currently it does not seem supported so had no option but to flash Tasmota for the time being.

Thanks,

Hi Drew,

Thanks for pointing me in the right direction. I followed the steps mentioned in above repo and during validation of the sonoff_zbbridge.yaml, I am getting following error:

INFO Reading configuration /config/esphome/sonoff_zbbridge.yaml...
ERROR Unable to load component serial_server.binary_sensor:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 162, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/esphome/custom_components/serial_server/binary_sensor.py", line 10, in <module>
    class_ = ns.class_('BinarySensor', binary_sensor.BinarySensor, cg.Nameable)
AttributeError: module 'esphome.codegen' has no attribute 'Nameable'
Failed config

binary_sensor.serial_server: [source /config/esphome/sonoff_zbbridge.yaml:36]
  
  Platform not found: 'binary_sensor.serial_server'.
  platform: serial_server
  name: Zigbee to serial

Since the binary sensor to monitor serial communication is optional, I commented it out in sonoff_zbbridge.yaml after which the file validates fine but at the install time throws following error:

INFO Reading configuration /config/esphome/sonoff_zbbridge.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing zigbeebridge (board: esp_wroom_02; framework: arduino; platform: platformio/espressif8266 @ 2.6.3)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 2MB Flash
Dependency Graph
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/serial_server/serial_server.cpp.o
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/uart/uart.cpp.o
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/uart/uart_component.cpp.o
Compiling /data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/uart/uart_component_esp32_arduino.cpp.o
In file included from src/esphome/components/serial_server/serial_server.cpp:21:0:
src/esphome/components/serial_server/serial_server.h:33:25: fatal error: ESPAsyncTCP.h: No such file or directory

*********************************************************************
* Looking for ESPAsyncTCP.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:ESPAsyncTCP.h"
* Web  > https://platformio.org/lib/search?query=header:ESPAsyncTCP.h
*
*********************************************************************

 #include <ESPAsyncTCP.h>
                         ^
compilation terminated.
*** [/data/zigbeebridge/.pioenvs/zigbeebridge/src/esphome/components/serial_server/serial_server.cpp.o] Error 1
========================== [FAILED] Took 2.20 seconds ==========================

If you have any idea what these errors mean, please let me know.
Thanks.

The project isn’t compatible with ESPHome 2021.12 at the moment. You could downgrade esphome a workaround

1 Like

@syssi thanks for the update. Downgrading ESPHome seems excessive and little backward as it is working really well with many other devices.

For the time being I am using Tasmota on Sonoff ZB Bridge which seems pretty stable on the device and hopefully ESPHome will catch up in 2022.

Know that WiFi-based remote Zigbee Coordinator is not recommended for ZHA or Zigbee2MQTT, see:

https://www.home-assistant.io/integrations/zha#warning-about-wi-fi-based-zigbee-to-serial-bridgesgateways

and

https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_sonoff_zbbridge.html#connect-to-a-remote-sonoff-zbbridge

If want a networked-attached Zigbee Coordinator maybe checkout ZB-GW03 with Ethernet instead:

https://community.home-assistant.io/t/zb-gw03-ewelink-ethernet-zigbee-gateway-now-hacked-with-tasmota-zbbridge-so-can-be-used-via-mqtt-or-as-a-remote-zigbee-adapter-with-home-assistant-zha-and-zigbee2mqtt/341223

and

https://github.com/syssi/esphome-zb-gw03/

Thanks @Hedda !

For now I am using the Sonoff ZB Bridge flashed with Tasmota. I have not configured it to post anything on MQTT but do I see a topic on MQTT for the ZB - it must’ve been created by the device itself.

So far the setup seems very stable and have been working like a charm for last few weeks. My only gripe with Tasmota is that the default binary does not have SSL support but likely not a big deal as all the IoTs are isolated on a LAN for my network.