Zigbee Gateway Integration
OpenSprinklerPro features native Zigbee coordination capabilities directly on the ESP32-C5 board. The ESP32-C5 single-chip solution supports 2.4 GHz dual-band Wi-Fi 6, Bluetooth 5 (LE), and 802.15.4 (Zigbee 3.0 / Thread).
Using the Zigbee variant of the firmware, your OpenSprinkler controller functions as a full-fledged Zigbee Coordinator. It can pair with home automation sensors, smart valves, soil moisture probes, and temperature monitors to adjust your watering schedules based on real-time local conditions.
📸 Guided Setup Workflow
This step-by-step workflow guide demonstrates how to configure the radio mode, pair Zigbee devices, and map their attributes to analog sensors.
Step 1: Radio Mode Configuration
First, verify that your ESP32-C5 controller is set to the correct radio mode. By default, the ESP32-C5 can run in several modes. Access the mode settings via the side menu under Setup ESP32 Mode.

To use Zigbee, enable Zigbee Gateway / Coordinator mode. This initializes the native 802.15.4 radio for Zigbee channel management, device routing, and network formation.
Step 2: Device Joining & Pairing
Once Zigbee mode is active, you can access the ZigBee Gateway page from the side menu. This page allows you to control the pairing window and manage registered physical devices.

- Click Permit Join (typically 60 seconds) to open the network for new devices.
- Put your Zigbee device (e.g. GIEX smart valve, Tuya soil sensor, or Xiaomi temperature sensor) into pairing mode (usually by holding its pairing button for 5 seconds).
- The device will be detected, assigned a short address, and display its IEEE 64-bit address, device type, and connection quality.
Step 3: Global Integrations Options
Under Edit Options → Integrations, ensure that Zigbee alerts and coordinate bindings are active. This enables the controller to cleanly bridge external payload signals into the local scheduling loop.

Step 4: Multi-Sensor and Calibration Configuration
To use the sensor data for program adjustments, navigate to Analog Sensor Configuration from the footer menu. This dashboard displays all active logical sensors, their physical bindings, and battery status.

Step 5: Adding/Editing a Zigbee Sensor
Click Add Sensor (or edit an existing one) to map a specific Zigbee device attribute (such as soil moisture percentage or temperature) to an analog sensor slot.

In this editor, you can: - Assign the sensor a recognizable Name. - Choose the Sensor Type (e.g., Moisture, Temperature, Battery, etc.). - Select the Source Device from the dropdown of paired Zigbee nodes. - Define custom calibration offsets and threshold triggers.
🛠️ Supported Devices and Technical Details
The internal firmware supports standard Zigbee 3.0 clusters: - 0x0402: Temperature Measurement (Tuya, Xiaomi, Sonoff) - 0x0405: Relative Humidity / Soil Moisture (GIEX, Tuya, Moes) - 0x0001: Power Configuration (Battery percentage reporting)
Multi-Channel Device Mapping
When utilizing complex multi-channel smart valves (like the GIEX GX02 dual-outlet irrigation valve), the coordinator splits individual valve states and telemetry channels into distinct sub-devices. This ensures each zone can be triggered or scaled independently.
Radio Coexistence
The ESP32-C5 manages BLE scans, Wi-Fi 6 traffic, and Zigbee 802.15.4 packages simultaneously. During BLE sensor scans, the Zigbee Packet Traffic Arbitration (PTA) protocol momentarily lowers the priority of Zigbee endpoints to avoid radio collisions and packet loss, restoring full priority instantly when active scanning pauses.