Skip to content

Add optional Master/Satellite Zigbee forwarding over TLS 1.3 - #13

Open
vsychov wants to merge 2 commits into
codm:mainfrom
vsychov:feature/zigbee-ip-backhaul
Open

vsychov wants to merge 2 commits into
codm:mainfrom
vsychov:feature/zigbee-ip-backhaul

Conversation

@vsychov

@vsychov vsychov commented Sep 13, 2026

Copy link
Copy Markdown

Hi! I'm extending CZC firmware so Zigbee devices in separate radio coverage areas can use one coordinator through an encrypted IP connection between gateways. Zigbee software connects to a Master as usual, while Satellites provide remote radio coverage.

Would you be willing to accept this as an optional feature in CZC firmware? The modes are included in the main firmware, disabled by default and configured through the Role page.

Main changes:

  • Master/Satellite networking: extend one Zigbee network over IP with up to eight Satellites, automatic radio identity exchange and initial network provisioning.
  • IPv6 support: enable IPv6 on Wi-Fi, expose Ethernet/Wi-Fi IPv4 and IPv6 addresses in the UI, and support either address family for inter-node connections.
  • Web firmware updates: add local radio BIN upload to the update dialog, verify radio writes, and fix progress/completion handling for radio and ESP32 updates.
  • Connection and UI reliability: improve HTTP responsiveness, UART sharing, automatic reconnection and recovery after radio or gateway restarts.

The radio extensions are a separate change for Z-Stack-firmware PR #609. This PR contains the ESP32 implementation and requires compatible radio firmware for the new modes.

I tested the following cases:

  • Two CZCs and a SONOFF SNZB-02WD: bidirectional unicast, broadcast duplicate suppression, concurrent exchanges, held-TX timeout/disconnect recovery and new TLS sessions.
  • Separate and simultaneous gateway restarts, Zigbee2MQTT recovery, sensor reports and commands, and sensor recovery after Satellite power loss.
  • IPv6 forwarding and TLS 1.3 connections.
image

Built with GPT-6-astra.

@vsychov
vsychov force-pushed the feature/zigbee-ip-backhaul branch 3 times, most recently from 7f49ea6 to 9138206 Compare September 19, 2026 21:33
@vsychov
vsychov force-pushed the feature/zigbee-ip-backhaul branch from 9138206 to d8272bb Compare September 20, 2026 19:34
@vsychov
vsychov force-pushed the feature/zigbee-ip-backhaul branch from d8272bb to d046835 Compare September 21, 2026 19:07
Validate complete multipart boundaries before finishing uploads and release maintenance on disconnect or timeout. Initialize network identity before AP fallback and start background services only once, respecting USB mode.

Handle peer allocation failure without throwing and recheck both radio roles after maintenance. Expose ESP firmware version 20260925.1 in the UI and boot console.

Reviewed by a subagent before commit. Production and debug builds, 13 native/integration suites, and 57 acceptance-script unit tests pass. Late UART replies remain a separate unresolved issue.
@Hedda

Hedda commented Nov 11, 2026 •

Copy link
Copy Markdown

Recommend that anyone interested in this type of Zigbee Router over Ethernet concept should check out this other discussion:

Also see this related discussion:

and the experimental draft TREL-like Ethernet backbone Proof-Of-Concept being worked on there for Ziggurat firmware:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants