Hi everyone,
I have been working on an open-source hardware and firmware project that allows selected Home Assistant entities to appear as ordinary Zigbee devices on another Zigbee network.
The main use case is connecting Home Assistant to a Zigbee gateway that does not provide a suitable local API or native Home Assistant integration.
Instead of integrating the other gateway into Home Assistant, the project works in the opposite direction:
Home Assistant → Virtual Zigbee Bridge → another Zigbee coordinator
The external gateway therefore sees the selected Home Assistant entities as regular Zigbee devices.
Current hardware
The prototype consists of:
- Waveshare ESP32-P4-POE-ETH for Ethernet, the web interface and Home Assistant communication
- Waveshare ESP32-H2-Zero-M acting as the Zigbee radio and Zigbee router
- A UART connection between the two boards
The ESP32-P4 communicates with Home Assistant through its API and WebSocket interface. It synchronizes the configured entities and their states with the ESP32-H2, which exposes them as Zigbee endpoints.
Current functionality
The current MVP supports:
- Mapping Home Assistant
switchentities to Zigbee Mains Power Outlet devices - Mapping Home Assistant
lightentities to Zigbee On/Off Light devices - Home Assistant state changes reported to the Zigbee network
- Zigbee On/Off commands forwarded back to Home Assistant
- Explicit Zigbee pairing from the web interface
- Guided first-run configuration
- Entity mapping and device-state monitoring
- Ethernet connectivity
- English and Czech web interface
- Signed stable and beta OTA update channels
- Updating the ESP32-H2 firmware through the ESP32-P4 web interface
I am currently testing it with a Somfy TaHoma Switch , where the mapped Home Assistant entities can be discovered and controlled as ordinary Zigbee devices.
Planned functionality
The configuration model already includes sensor and binary_sensor entities, but native Zigbee measurement and IAS endpoint support is not active yet.
Other planned features include:
- Temperature and other sensor measurements
- Binary sensors
- Light brightness
- Color temperature
- RGB color control
- Testing with additional Zigbee coordinators and gateways
- A more integrated hardware design
Why I built it
Some smart-home gateways can control Zigbee devices but offer limited integration options for external systems.
This bridge makes it possible to expose Home Assistant entities using standard Zigbee clusters, without requiring the target gateway to understand Home Assistant, MQTT or a custom cloud API.
Potential use cases include:
- Making Home Assistant devices available in otherwise closed smart-home ecosystems
- Reusing Home Assistant templates and virtual entities on another gateway
- Connecting custom or unsupported devices indirectly
- Testing how gateways handle different Zigbee device types
- Bridging selected functionality between independent smart-home systems
Project status
The project is currently an early working prototype rather than a finished consumer product. The firmware, web interface, documentation and build instructions are available under the MIT license.
GitHub:
I would be very interested in feedback from the Home Assistant and Zigbee communities, especially regarding:
- Other Zigbee gateways or coordinators worth testing
- The most useful entity types to implement next
- Compatibility issues with different Zigbee stacks
- Real-world scenarios where this type of bridge would be useful
Contributions, testing and technical feedback are welcome.
