From 8c3efc26f6f8a0ec04d310cd864a522507142644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Dec 2024 08:56:53 +0100 Subject: [PATCH 1/7] fix(zigbee): set rx on idle and alloc address --- libraries/Zigbee/src/ZigbeeCore.cpp | 3 ++- libraries/Zigbee/src/ZigbeeCore.h | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libraries/Zigbee/src/ZigbeeCore.cpp b/libraries/Zigbee/src/ZigbeeCore.cpp index b1dc6211362..1266d57aa34 100644 --- a/libraries/Zigbee/src/ZigbeeCore.cpp +++ b/libraries/Zigbee/src/ZigbeeCore.cpp @@ -21,6 +21,7 @@ ZigbeeCore::ZigbeeCore() { _started = false; _connected = false; _scan_duration = 4; // maximum scan duration + _rx_on_when_idle = true; if (!lock) { lock = xSemaphoreCreateBinary(); if (lock == NULL) { @@ -98,7 +99,7 @@ static void esp_zb_task(void *pvParameters) { //NOTE: This is a workaround to make battery powered devices to be discovered as battery powered if (((zigbee_role_t)Zigbee.getRole() == ZIGBEE_END_DEVICE) && edBatteryPowered) { - zb_set_ed_node_descriptor(0, 0, 0); + zb_set_ed_node_descriptor(0, _rx_on_when_idle, 1); } esp_zb_stack_main_loop(); diff --git a/libraries/Zigbee/src/ZigbeeCore.h b/libraries/Zigbee/src/ZigbeeCore.h index 6729b7cc9f4..5d8cbf2929c 100644 --- a/libraries/Zigbee/src/ZigbeeCore.h +++ b/libraries/Zigbee/src/ZigbeeCore.h @@ -67,6 +67,7 @@ class ZigbeeCore { uint32_t _primary_channel_mask; int16_t _scan_status; uint8_t _scan_duration; + bool _rx_on_when_idle; esp_zb_ep_list_t *_zb_ep_list; zigbee_role_t _role; @@ -112,12 +113,17 @@ class ZigbeeCore { void setHostConfig(esp_zb_host_config_t config); esp_zb_host_config_t getHostConfig(); + void setPrimaryChannelMask(uint32_t mask); void setPrimaryChannelMask(uint32_t mask); // By default all channels are scanned (11-26) -> mask 0x07FFF800 void setScanDuration(uint8_t duration); // Can be set from 1 - 4. 1 is fastest, 4 is slowest uint8_t getScanDuration() { return _scan_duration; } + void setRxOnWhenIdle(bool rx_on_when_idle) { + _rx_on_when_idle = rx_on_when_idle; + } + void setRebootOpenNetwork(uint8_t time); void openNetwork(uint8_t time); From be95fc576487e4322efa83b7b2d492fb6f0bd3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Dec 2024 12:46:44 +0100 Subject: [PATCH 2/7] fix(zigbee): Set scan to 3 and remove duplicate --- libraries/Zigbee/src/ZigbeeCore.cpp | 2 +- libraries/Zigbee/src/ZigbeeCore.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/Zigbee/src/ZigbeeCore.cpp b/libraries/Zigbee/src/ZigbeeCore.cpp index 1266d57aa34..b60afdc0e8a 100644 --- a/libraries/Zigbee/src/ZigbeeCore.cpp +++ b/libraries/Zigbee/src/ZigbeeCore.cpp @@ -20,7 +20,7 @@ ZigbeeCore::ZigbeeCore() { _scan_status = ZB_SCAN_FAILED; _started = false; _connected = false; - _scan_duration = 4; // maximum scan duration + _scan_duration = 3; // default scan duration _rx_on_when_idle = true; if (!lock) { lock = xSemaphoreCreateBinary(); diff --git a/libraries/Zigbee/src/ZigbeeCore.h b/libraries/Zigbee/src/ZigbeeCore.h index 5d8cbf2929c..ba0be2eaa57 100644 --- a/libraries/Zigbee/src/ZigbeeCore.h +++ b/libraries/Zigbee/src/ZigbeeCore.h @@ -113,7 +113,6 @@ class ZigbeeCore { void setHostConfig(esp_zb_host_config_t config); esp_zb_host_config_t getHostConfig(); - void setPrimaryChannelMask(uint32_t mask); void setPrimaryChannelMask(uint32_t mask); // By default all channels are scanned (11-26) -> mask 0x07FFF800 void setScanDuration(uint8_t duration); // Can be set from 1 - 4. 1 is fastest, 4 is slowest uint8_t getScanDuration() { From 87d988fdb596a56e51b7059eb9ee8786d53ccdcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Dec 2024 12:57:37 +0100 Subject: [PATCH 3/7] fix(zigbee): Add getter for RxOnWhenIdle --- libraries/Zigbee/src/ZigbeeCore.cpp | 2 +- libraries/Zigbee/src/ZigbeeCore.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/Zigbee/src/ZigbeeCore.cpp b/libraries/Zigbee/src/ZigbeeCore.cpp index b60afdc0e8a..cc0111f2644 100644 --- a/libraries/Zigbee/src/ZigbeeCore.cpp +++ b/libraries/Zigbee/src/ZigbeeCore.cpp @@ -99,7 +99,7 @@ static void esp_zb_task(void *pvParameters) { //NOTE: This is a workaround to make battery powered devices to be discovered as battery powered if (((zigbee_role_t)Zigbee.getRole() == ZIGBEE_END_DEVICE) && edBatteryPowered) { - zb_set_ed_node_descriptor(0, _rx_on_when_idle, 1); + zb_set_ed_node_descriptor(0, Zigbee.getRxOnWhenIdle(), 1); } esp_zb_stack_main_loop(); diff --git a/libraries/Zigbee/src/ZigbeeCore.h b/libraries/Zigbee/src/ZigbeeCore.h index ba0be2eaa57..c72a60d81c4 100644 --- a/libraries/Zigbee/src/ZigbeeCore.h +++ b/libraries/Zigbee/src/ZigbeeCore.h @@ -122,6 +122,9 @@ class ZigbeeCore { void setRxOnWhenIdle(bool rx_on_when_idle) { _rx_on_when_idle = rx_on_when_idle; } + bool getRxOnWhenIdle() { + return _rx_on_when_idle; + } void setRebootOpenNetwork(uint8_t time); void openNetwork(uint8_t time); From a281b26baefb6d4aa644763c910dac886846e8e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:37:23 +0100 Subject: [PATCH 4/7] fix(zigbee): Move button and led pins from defines --- .../Zigbee_Color_Dimmable_Light.ino | 23 ++++++++++--------- .../Zigbee_Color_Dimmer_Switch.ino | 12 +++++----- .../Zigbee_On_Off_Light.ino | 17 +++++++------- .../Zigbee_On_Off_Switch.ino | 4 ++-- .../Zigbee_Temp_Hum_Sensor_Sleepy.ino | 10 ++++---- .../Zigbee_Temperature_Sensor.ino | 9 ++++---- .../Zigbee_Thermostat/Zigbee_Thermostat.ino | 9 ++++---- 7 files changed, 45 insertions(+), 39 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino index 7ff7a020632..c43981459f0 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino @@ -33,20 +33,21 @@ #include "Zigbee.h" -#define LED_PIN RGB_BUILTIN -#define BUTTON_PIN 9 // C6/H2 Boot button -#define ZIGBEE_LIGHT_ENDPOINT 10 +/* Zigbee color dimmable light configuration */ +#define ZIGBEE_RGB_LIGHT_ENDPOINT 10 +uint8_t led = RGB_BUILTIN; +uint8_t button = BOOT_PIN; -ZigbeeColorDimmableLight zbColorLight = ZigbeeColorDimmableLight(ZIGBEE_LIGHT_ENDPOINT); +ZigbeeColorDimmableLight zbColorLight = ZigbeeColorDimmableLight(ZIGBEE_RGB_LIGHT_ENDPOINT); /********************* RGB LED functions **************************/ void setRGBLight(bool state, uint8_t red, uint8_t green, uint8_t blue, uint8_t level) { if (!state) { - rgbLedWrite(LED_PIN, 0, 0, 0); + rgbLedWrite(led, 0, 0, 0); return; } float brightness = (float)level / 255; - rgbLedWrite(LED_PIN, red * brightness, green * brightness, blue * brightness); + rgbLedWrite(led, red * brightness, green * brightness, blue * brightness); } // Create a task on identify call to handle the identify function @@ -58,7 +59,7 @@ void identify(uint16_t time) { zbColorLight.restoreLight(); return; } - rgbLedWrite(LED_PIN, 255 * blink, 255 * blink, 255 * blink); + rgbLedWrite(led, 255 * blink, 255 * blink, 255 * blink); blink = !blink; } @@ -70,10 +71,10 @@ void setup() { } // Init RMT and leave light OFF - rgbLedWrite(LED_PIN, 0, 0, 0); + rgbLedWrite(led, 0, 0, 0); // Init button for factory reset - pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); // Set callback function for light change zbColorLight.onLightChange(setRGBLight); @@ -104,11 +105,11 @@ void setup() { void loop() { // Checking button for factory reset - if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling delay(100); int startTime = millis(); - while (digitalRead(BUTTON_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); if ((millis() - startTime) > 3000) { // If key pressed for more than 3secs, factory reset Zigbee and reboot diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino index 15e120a1dbd..0ae8fd86a75 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino @@ -37,9 +37,9 @@ #include "Zigbee.h" -/* Switch configuration */ -#define SWITCH_PIN 9 // ESP32-C6/H2 Boot button +/* Zigbee color dimmer switch configuration */ #define SWITCH_ENDPOINT_NUMBER 5 +uint8_t button = BOOT_PIN; /* Zigbee switch */ ZigbeeColorDimmerSwitch zbSwitch = ZigbeeColorDimmerSwitch(SWITCH_ENDPOINT_NUMBER); @@ -52,7 +52,7 @@ void setup() { } //Init button switch - pinMode(SWITCH_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); //Optional: set Zigbee device name and model zbSwitch.setManufacturerAndModel("Espressif", "ZigbeeSwitch"); @@ -84,9 +84,9 @@ void setup() { void loop() { // Handle button switch in loop() - if (digitalRead(SWITCH_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling - while (digitalRead(SWITCH_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); } // Toggle light @@ -145,6 +145,6 @@ void loop() { static uint32_t last_print = 0; if (millis() - last_print > 30000) { last_print = millis(); - zbSwitch.printBoundDevices(Serial); + zbSwitch.printBoundDevices(); } } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino index 92c59044cae..23c9b38f7c9 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino @@ -32,15 +32,16 @@ #include "Zigbee.h" -#define LED_PIN RGB_BUILTIN -#define BUTTON_PIN 9 // ESP32-C6/H2 Boot button +/* Zigbee light bulb configuration */ #define ZIGBEE_LIGHT_ENDPOINT 10 +uint8_t led = RGB_BUILTIN; +uint8_t button = BOOT_PIN; ZigbeeLight zbLight = ZigbeeLight(ZIGBEE_LIGHT_ENDPOINT); /********************* RGB LED functions **************************/ void setLED(bool value) { - digitalWrite(LED_PIN, value); + digitalWrite(led, value); } /********************* Arduino functions **************************/ @@ -50,11 +51,11 @@ void setup() { delay(10); } // Init LED and turn it OFF (if LED_PIN == RGB_BUILTIN, the rgbLedWrite() will be used under the hood) - pinMode(LED_PIN, OUTPUT); - digitalWrite(LED_PIN, LOW); + pinMode(led, OUTPUT); + digitalWrite(led, LOW); // Init button for factory reset - pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); //Optional: set Zigbee device name and model zbLight.setManufacturerAndModel("Espressif", "ZBLightBulb"); @@ -82,11 +83,11 @@ void setup() { void loop() { // Checking button for factory reset - if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling delay(100); int startTime = millis(); - while (digitalRead(BUTTON_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); if ((millis() - startTime) > 3000) { // If key pressed for more than 3secs, factory reset Zigbee and reboot diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino index e12b8aaf9ea..d40f54bc5d9 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino @@ -33,10 +33,10 @@ #include "Zigbee.h" +/* Zigbee switch configuration */ #define SWITCH_ENDPOINT_NUMBER 5 -/* Switch configuration */ -#define GPIO_INPUT_IO_TOGGLE_SWITCH 9 +#define GPIO_INPUT_IO_TOGGLE_SWITCH BOOT_PIN #define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) typedef enum { diff --git a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino index 0c2f9b56690..50abd1b774b 100644 --- a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino +++ b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino @@ -32,12 +32,14 @@ #include "Zigbee.h" -#define BUTTON_PIN 9 //Boot button for C6/H2 +/* Zigbee temperature + humidity sensor configuration */ #define TEMP_SENSOR_ENDPOINT_NUMBER 10 #define uS_TO_S_FACTOR 1000000ULL /* Conversion factor for micro seconds to seconds */ #define TIME_TO_SLEEP 55 /* Sleep for 55s will + 5s delay for establishing connection => data reported every 1 minute */ +uint8_t button = BOOT_PIN; + ZigbeeTempSensor zbTempSensor = ZigbeeTempSensor(TEMP_SENSOR_ENDPOINT_NUMBER); /************************ Temp sensor *****************************/ @@ -70,7 +72,7 @@ void setup() { delay(10); } // Init button switch - pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); // Configure the wake up source and set to wake up every 5 seconds esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); @@ -118,11 +120,11 @@ void setup() { void loop() { // Checking button for factory reset - if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling delay(100); int startTime = millis(); - while (digitalRead(BUTTON_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); if ((millis() - startTime) > 3000) { // If key pressed for more than 3secs, factory reset Zigbee and reboot diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino index 255b074265e..e3fb1273735 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino @@ -32,8 +32,9 @@ #include "Zigbee.h" -#define BUTTON_PIN 9 //Boot button for C6/H2 +/* Zigbee temperature sensor configuration */ #define TEMP_SENSOR_ENDPOINT_NUMBER 10 +uint8_t button = BOOT_PIN; ZigbeeTempSensor zbTempSensor = ZigbeeTempSensor(TEMP_SENSOR_ENDPOINT_NUMBER); @@ -56,7 +57,7 @@ void setup() { delay(10); } // Init button switch - pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); // Optional: set Zigbee device name and model zbTempSensor.setManufacturerAndModel("Espressif", "ZigbeeTempSensor"); @@ -99,11 +100,11 @@ void setup() { void loop() { // Checking button for factory reset - if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling delay(100); int startTime = millis(); - while (digitalRead(BUTTON_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); if ((millis() - startTime) > 3000) { // If key pressed for more than 3secs, factory reset Zigbee and reboot diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino index df02f891794..3de30dff6be 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino @@ -33,8 +33,9 @@ #include "Zigbee.h" -#define BUTTON_PIN 9 // Boot button for C6/H2 +/* Zigbee thermostat configuration */ #define THERMOSTAT_ENDPOINT_NUMBER 5 +uint8_t button = BOOT_PIN; ZigbeeThermostat zbThermostat = ZigbeeThermostat(THERMOSTAT_ENDPOINT_NUMBER); @@ -64,7 +65,7 @@ void setup() { } // Init button switch - pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(button, INPUT_PULLUP); // Set callback functions for temperature and configuration receive zbThermostat.onTempRecieve(recieveSensorTemp); @@ -100,10 +101,10 @@ void setup() { void loop() { // Handle button switch in loop() - if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + if (digitalRead(button) == LOW) { // Push button pressed // Key debounce handling - while (digitalRead(BUTTON_PIN) == LOW) { + while (digitalRead(button) == LOW) { delay(50); } From d7492b167c6e9f4a34ed0419d414e47f16c88a12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:06:17 +0100 Subject: [PATCH 5/7] fix(example): Lower the delay for sleepy device --- .../Zigbee_Temp_Hum_Sensor_Sleepy.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino index 50abd1b774b..67d36fce6cf 100644 --- a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino +++ b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino @@ -114,8 +114,8 @@ void setup() { Serial.println(); Serial.println("Successfully connected to Zigbee network"); - // Delay 5s (may be adjusted) to allow establishing proper connection with coordinator, needed for sleepy devices - delay(5000); + // Delay approx 1s (may be adjusted) to allow establishing proper connection with coordinator, needed for sleepy devices + delay(1000); } void loop() { From 07a3e629c88e01d2d9f14dcdfdfca4f52a9bc2c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 11 Dec 2024 10:35:54 +0100 Subject: [PATCH 6/7] fix(example): Remove wait on Serial after begin --- .../Zigbee_Color_Dimmable_Light.ino | 3 --- .../Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino | 3 --- .../examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino | 4 +--- .../examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino | 3 --- .../examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino | 3 --- .../Zigbee_Temp_Hum_Sensor_Sleepy.ino | 4 +--- .../Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino | 4 +--- .../Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino | 3 --- 8 files changed, 3 insertions(+), 24 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino index c43981459f0..e84720d4863 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino @@ -66,9 +66,6 @@ void identify(uint16_t time) { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } // Init RMT and leave light OFF rgbLedWrite(led, 0, 0, 0); diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino index 0ae8fd86a75..6af87748b2d 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino @@ -47,9 +47,6 @@ ZigbeeColorDimmerSwitch zbSwitch = ZigbeeColorDimmerSwitch(SWITCH_ENDPOINT_NUMBE /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } //Init button switch pinMode(button, INPUT_PULLUP); diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino index 23c9b38f7c9..6db8bd7b022 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino @@ -47,9 +47,7 @@ void setLED(bool value) { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } + // Init LED and turn it OFF (if LED_PIN == RGB_BUILTIN, the rgbLedWrite() will be used under the hood) pinMode(led, OUTPUT); digitalWrite(led, LOW); diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino index d40f54bc5d9..56d23cdc95f 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino @@ -95,9 +95,6 @@ static void enableGpioInterrupt(bool enabled) { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } //Optional: set Zigbee device name and model zbSwitch.setManufacturerAndModel("Espressif", "ZigbeeSwitch"); diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino b/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino index c3a74e0aee5..eab6ecfd76e 100644 --- a/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino @@ -76,9 +76,6 @@ void printScannedNetworks(uint16_t networksFound) { void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } // Initialize Zigbee stack without any EPs just for scanning if (!Zigbee.begin(role)) { diff --git a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino index 67d36fce6cf..2b342161199 100644 --- a/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino +++ b/libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino @@ -68,9 +68,7 @@ void meausureAndSleep() { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } + // Init button switch pinMode(button, INPUT_PULLUP); diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino index e3fb1273735..22b0c6fbeed 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino @@ -53,9 +53,7 @@ static void temp_sensor_value_update(void *arg) { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } + // Init button switch pinMode(button, INPUT_PULLUP); diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino index 3de30dff6be..a4720feeba4 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino @@ -60,9 +60,6 @@ void recieveSensorConfig(float min_temp, float max_temp, float tolerance) { /********************* Arduino functions **************************/ void setup() { Serial.begin(115200); - while (!Serial) { - delay(10); - } // Init button switch pinMode(button, INPUT_PULLUP); From 3a8d4c5244e4c77cff9fc0af1a534b70cb4e4513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 11 Dec 2024 14:35:32 +0100 Subject: [PATCH 7/7] fix(example): Use Serial in printBoundDevices() --- .../Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino index 6af87748b2d..a313f3c0594 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino @@ -142,6 +142,6 @@ void loop() { static uint32_t last_print = 0; if (millis() - last_print > 30000) { last_print = millis(); - zbSwitch.printBoundDevices(); + zbSwitch.printBoundDevices(Serial); } }