@@ -99,7 +99,9 @@ void ZigbeeColorDimmerSwitch::lightToggle() {
99
99
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT;
100
100
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID;
101
101
log_v (" Sending 'light toggle' command" );
102
+ esp_zb_lock_acquire (portMAX_DELAY);
102
103
esp_zb_zcl_on_off_cmd_req (&cmd_req);
104
+ esp_zb_lock_release ();
103
105
} else {
104
106
log_e (" Light not bound" );
105
107
}
@@ -113,7 +115,9 @@ void ZigbeeColorDimmerSwitch::lightToggle(uint16_t group_addr) {
113
115
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT;
114
116
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID;
115
117
log_v (" Sending 'light toggle' command to group address 0x%x" , group_addr);
118
+ esp_zb_lock_acquire (portMAX_DELAY);
116
119
esp_zb_zcl_on_off_cmd_req (&cmd_req);
120
+ esp_zb_lock_release ();
117
121
} else {
118
122
log_e (" Light not bound" );
119
123
}
@@ -128,7 +132,9 @@ void ZigbeeColorDimmerSwitch::lightToggle(uint8_t endpoint, uint16_t short_addr)
128
132
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT;
129
133
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID;
130
134
log_v (" Sending 'light toggle' command to endpoint %d, address 0x%x" , endpoint, short_addr);
135
+ esp_zb_lock_acquire (portMAX_DELAY);
131
136
esp_zb_zcl_on_off_cmd_req (&cmd_req);
137
+ esp_zb_lock_release ();
132
138
} else {
133
139
log_e (" Light not bound" );
134
140
}
@@ -144,7 +150,9 @@ void ZigbeeColorDimmerSwitch::lightToggle(uint8_t endpoint, esp_zb_ieee_addr_t i
144
150
memcpy (cmd_req.zcl_basic_cmd .dst_addr_u .addr_long , ieee_addr, sizeof (esp_zb_ieee_addr_t ));
145
151
log_v (" Sending 'light toggle' command to endpoint %d, ieee address %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x" ,
146
152
endpoint, ieee_addr[7 ], ieee_addr[6 ], ieee_addr[5 ], ieee_addr[4 ], ieee_addr[3 ], ieee_addr[2 ], ieee_addr[1 ], ieee_addr[0 ]);
153
+ esp_zb_lock_acquire (portMAX_DELAY);
147
154
esp_zb_zcl_on_off_cmd_req (&cmd_req);
155
+ esp_zb_lock_release ();
148
156
} else {
149
157
log_e (" Light not bound" );
150
158
}
@@ -157,7 +165,9 @@ void ZigbeeColorDimmerSwitch::lightOn() {
157
165
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT;
158
166
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID;
159
167
log_v (" Sending 'light on' command" );
168
+ esp_zb_lock_acquire (portMAX_DELAY);
160
169
esp_zb_zcl_on_off_cmd_req (&cmd_req);
170
+ esp_zb_lock_release ();
161
171
} else {
162
172
log_e (" Light not bound" );
163
173
}
@@ -171,7 +181,9 @@ void ZigbeeColorDimmerSwitch::lightOn(uint16_t group_addr) {
171
181
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT;
172
182
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID;
173
183
log_v (" Sending 'light on' command to group address 0x%x" , group_addr);
184
+ esp_zb_lock_acquire (portMAX_DELAY);
174
185
esp_zb_zcl_on_off_cmd_req (&cmd_req);
186
+ esp_zb_lock_release ();
175
187
} else {
176
188
log_e (" Light not bound" );
177
189
}
@@ -186,7 +198,9 @@ void ZigbeeColorDimmerSwitch::lightOn(uint8_t endpoint, uint16_t short_addr) {
186
198
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT;
187
199
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID;
188
200
log_v (" Sending 'light on' command to endpoint %d, address 0x%x" , endpoint, short_addr);
201
+ esp_zb_lock_acquire (portMAX_DELAY);
189
202
esp_zb_zcl_on_off_cmd_req (&cmd_req);
203
+ esp_zb_lock_release ();
190
204
} else {
191
205
log_e (" Light not bound" );
192
206
}
@@ -202,7 +216,9 @@ void ZigbeeColorDimmerSwitch::lightOn(uint8_t endpoint, esp_zb_ieee_addr_t ieee_
202
216
memcpy (cmd_req.zcl_basic_cmd .dst_addr_u .addr_long , ieee_addr, sizeof (esp_zb_ieee_addr_t ));
203
217
log_v (" Sending 'light on' command to endpoint %d, ieee address %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x" ,
204
218
endpoint, ieee_addr[7 ], ieee_addr[6 ], ieee_addr[5 ], ieee_addr[4 ], ieee_addr[3 ], ieee_addr[2 ], ieee_addr[1 ], ieee_addr[0 ]);
219
+ esp_zb_lock_acquire (portMAX_DELAY);
205
220
esp_zb_zcl_on_off_cmd_req (&cmd_req);
221
+ esp_zb_lock_release ();
206
222
} else {
207
223
log_e (" Light not bound" );
208
224
}
@@ -215,7 +231,9 @@ void ZigbeeColorDimmerSwitch::lightOff() {
215
231
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT;
216
232
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID;
217
233
log_v (" Sending 'light off' command" );
234
+ esp_zb_lock_acquire (portMAX_DELAY);
218
235
esp_zb_zcl_on_off_cmd_req (&cmd_req);
236
+ esp_zb_lock_release ();
219
237
} else {
220
238
log_e (" Light not bound" );
221
239
}
@@ -229,7 +247,9 @@ void ZigbeeColorDimmerSwitch::lightOff(uint16_t group_addr) {
229
247
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT;
230
248
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID;
231
249
log_v (" Sending 'light off' command to group address 0x%x" , group_addr);
250
+ esp_zb_lock_acquire (portMAX_DELAY);
232
251
esp_zb_zcl_on_off_cmd_req (&cmd_req);
252
+ esp_zb_lock_release ();
233
253
} else {
234
254
log_e (" Light not bound" );
235
255
}
@@ -244,7 +264,9 @@ void ZigbeeColorDimmerSwitch::lightOff(uint8_t endpoint, uint16_t short_addr) {
244
264
cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT;
245
265
cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID;
246
266
log_v (" Sending 'light off' command to endpoint %d, address 0x%x" , endpoint, short_addr);
267
+ esp_zb_lock_acquire (portMAX_DELAY);
247
268
esp_zb_zcl_on_off_cmd_req (&cmd_req);
269
+ esp_zb_lock_release ();
248
270
} else {
249
271
log_e (" Light not bound" );
250
272
}
@@ -260,7 +282,9 @@ void ZigbeeColorDimmerSwitch::lightOff(uint8_t endpoint, esp_zb_ieee_addr_t ieee
260
282
memcpy (cmd_req.zcl_basic_cmd .dst_addr_u .addr_long , ieee_addr, sizeof (esp_zb_ieee_addr_t ));
261
283
log_v (" Sending 'light off' command to endpoint %d, ieee address %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x" ,
262
284
endpoint, ieee_addr[7 ], ieee_addr[6 ], ieee_addr[5 ], ieee_addr[4 ], ieee_addr[3 ], ieee_addr[2 ], ieee_addr[1 ], ieee_addr[0 ]);
285
+ esp_zb_lock_acquire (portMAX_DELAY);
263
286
esp_zb_zcl_on_off_cmd_req (&cmd_req);
287
+ esp_zb_lock_release ();
264
288
} else {
265
289
log_e (" Light not bound" );
266
290
}
0 commit comments