You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This example demonstrates how to configure a Zigbee device as a multi-switch controller that can control up to three different Zigbee lights independently. The switch can operate in either coordinator or router mode, making it compatible with Home Assistant integration.
4
+
5
+
# Supported Targets
6
+
7
+
Currently, this example supports the following targets.
8
+
9
+
| Supported Targets | ESP32-C6 | ESP32-H2 |
10
+
| ----------------- | -------- | -------- |
11
+
12
+
## Hardware Required
13
+
14
+
* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee multi-switch controller
15
+
* One or more Zigbee light devices (loaded with Zigbee_On_Off_Light example)
16
+
* A USB cable for power supply and programming
17
+
18
+
### Configure the Project
19
+
20
+
The example uses the BOOT button (pin 9) on ESP32-C6 and ESP32-H2 as the physical switch input. The switch can be configured to operate in two modes:
21
+
22
+
1.**Coordinator Mode**: For running your own Zigbee network
23
+
2.**Router Mode**: For Home Assistant integration
24
+
25
+
#### Using Arduino IDE
26
+
27
+
To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits).
28
+
29
+
* Before Compile/Verify, select the correct board: `Tools -> Board`
*`open_network` - Open network for device joining (only for coordinator role)
73
+
74
+
## Troubleshooting
75
+
76
+
If the End device flashed with the example `Zigbee_On_Off_Light` is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator.
77
+
You can do the following:
78
+
79
+
* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`
80
+
* In the `Zigbee_On_Off_Light` example sketch call `Zigbee.factoryReset()`
81
+
82
+
By default, the coordinator network is closed after rebooting or flashing new firmware.
83
+
To open the network you have 2 options:
84
+
85
+
* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time)` before calling `Zigbee.begin()`
86
+
* In application you can anytime call `Zigbee.openNetwork(time)` to open the network for devices to join
87
+
88
+
***Important: Make sure you are using a good quality USB cable and that you have a reliable power source***
89
+
90
+
***LED not blinking:** Check the wiring connection and the IO selection
91
+
***Programming Fail:** If the programming/flash procedure fails, try reducing the serial connection speed
92
+
***COM port not detected:** Check the USB cable and the USB to Serial driver installation
93
+
94
+
If the error persists, you can ask for help at the official [ESP32 forum](https://esp32.com) or see [Contribute](#contribute).
95
+
96
+
## Contribute
97
+
98
+
To know how to contribute to this project, see [How to contribute.](https://github.com/espressif/arduino-esp32/blob/master/CONTRIBUTING.rst)
99
+
100
+
If you have any **feedback** or **issue** to report on this example/library, please open an issue or fix it by creating a new PR. Contributions are more than welcome!
101
+
102
+
Before creating a new issue, be sure to try Troubleshooting and check if the same issue was already created by someone else.
103
+
104
+
## Resources
105
+
106
+
* Official ESP32 Forum: [Link](https://esp32.com)
107
+
* Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32)
108
+
* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf)
109
+
* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf)
110
+
* Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com)
0 commit comments