@switchbot/homebridge-switchbot 4.3.10 → 4.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,910 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. This project follows [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## [4.3.11](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.10...v4.3.11) (2026-02-17)
6
+
7
+
8
+
9
+ ## [4.3.10](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.9...v4.3.10) (2026-02-10)
10
+
11
+
12
+
13
+ ## [4.3.9](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.8...v4.3.9) (2026-02-09)
14
+
15
+
16
+
17
+ ## [4.3.8](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.7...v4.3.8) (2026-02-09)
18
+
19
+
20
+
21
+ ## [4.3.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.6...v4.3.7) (2026-02-07)
22
+
23
+
24
+
25
+ ## [4.3.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.4...v4.3.6) (2026-02-05)
26
+
27
+
28
+
29
+ ## [4.3.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.3...v4.3.4) (2026-02-05)
30
+
31
+
32
+
33
+ ## [4.3.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.1...v4.3.3) (2025-12-18)
34
+
35
+
36
+
37
+ ## [4.3.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.0...v4.3.1) (2025-03-05)
38
+
39
+
40
+
41
+ # [4.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.2.0...v4.3.0) (2025-01-24)
42
+
43
+
44
+
45
+ # [4.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.7...v4.2.0) (2025-01-24)
46
+
47
+
48
+
49
+ ## [4.1.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.6...v4.1.7) (2024-12-22)
50
+
51
+
52
+
53
+ ## [4.1.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.5...v4.1.6) (2024-12-22)
54
+
55
+
56
+
57
+ ## [4.1.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.4...v4.1.5) (2024-11-27)
58
+
59
+
60
+
61
+ ## [4.1.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.3...v4.1.4) (2024-11-18)
62
+
63
+
64
+
65
+ ## [4.1.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.2...v4.1.3) (2024-11-05)
66
+
67
+
68
+
69
+ ## [4.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.1...v4.1.2) (2024-11-05)
70
+
71
+
72
+
73
+ ## [4.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.0...v4.1.1) (2024-11-02)
74
+
75
+
76
+
77
+ # [4.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.0.0...v4.1.0) (2024-10-22)
78
+
79
+
80
+
81
+ # [4.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.3...v4.0.0) (2024-10-12)
82
+
83
+
84
+
85
+ ## [3.8.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.2...v3.8.3) (2024-10-09)
86
+
87
+
88
+
89
+ ## [3.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.1...v3.8.2) (2024-09-19)
90
+
91
+
92
+
93
+ ## [3.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.0...v3.8.1) (2024-09-13)
94
+
95
+
96
+
97
+ # [3.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.7.0...v3.8.0) (2024-09-11)
98
+
99
+
100
+
101
+ # [3.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.6.0...v3.7.0) (2024-07-21)
102
+
103
+
104
+
105
+ # [3.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.5.1...v3.6.0) (2024-07-06)
106
+
107
+
108
+
109
+ ## [3.5.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.5.0...v3.5.1) (2024-06-28)
110
+
111
+
112
+
113
+ # [3.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.4.0...v3.5.0) (2024-05-26)
114
+
115
+
116
+
117
+ # [3.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.3.0...v3.4.0) (2024-02-12)
118
+
119
+
120
+
121
+ # [3.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.2.0...v3.3.0) (2024-02-10)
122
+
123
+
124
+
125
+ # [3.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.3...v3.2.0) (2024-02-07)
126
+
127
+
128
+
129
+ ## [3.1.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.2...v3.1.3) (2024-02-07)
130
+
131
+
132
+
133
+ ## [3.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.1...v3.1.2) (2024-02-05)
134
+
135
+
136
+
137
+ ## [3.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.0...v3.1.1) (2024-02-05)
138
+
139
+
140
+
141
+ # [3.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.0.0...v3.1.0) (2024-02-03)
142
+
143
+
144
+
145
+ # [3.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.14.0...v3.0.0) (2024-01-31)
146
+
147
+
148
+
149
+ # [2.14.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.13.1...v2.14.0) (2024-01-06)
150
+
151
+
152
+
153
+ ## [2.13.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.13.0...v2.13.1) (2023-12-15)
154
+
155
+
156
+
157
+ # [2.13.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.12.1...v2.13.0) (2023-12-04)
158
+
159
+
160
+
161
+ ## [2.12.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.12.0...v2.12.1) (2023-11-26)
162
+
163
+
164
+
165
+ # [2.12.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.11.0...v2.12.0) (2023-11-17)
166
+
167
+
168
+
169
+ # [2.11.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.10.1...v2.11.0) (2023-11-08)
170
+
171
+
172
+
173
+ ## [2.10.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.10.0...v2.10.1) (2023-11-02)
174
+
175
+
176
+
177
+ # [2.10.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.2...v2.10.0) (2023-11-01)
178
+
179
+
180
+
181
+ ## [2.9.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.1...v2.9.2) (2023-10-26)
182
+
183
+
184
+
185
+ ## [2.9.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.0...v2.9.1) (2023-10-15)
186
+
187
+
188
+
189
+ # [2.9.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.2...v2.9.0) (2023-09-16)
190
+
191
+
192
+
193
+ ## [2.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.1...v2.8.2) (2023-08-28)
194
+
195
+
196
+
197
+ ## [2.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.0...v2.8.1) (2023-08-23)
198
+
199
+
200
+
201
+ # [2.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.7.1...v2.8.0) (2023-08-19)
202
+
203
+
204
+
205
+ ## [2.7.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.7.0...v2.7.1) (2023-07-29)
206
+
207
+
208
+
209
+ # [2.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.2...v2.7.0) (2023-07-26)
210
+
211
+
212
+
213
+ ## [2.6.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.1...v2.6.2) (2023-04-17)
214
+
215
+
216
+
217
+ ## [2.6.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.0...v2.6.1) (2023-04-16)
218
+
219
+
220
+
221
+ # [2.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.3...v2.6.0) (2023-04-16)
222
+
223
+
224
+
225
+ ## [2.5.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.2...v2.5.3) (2023-04-08)
226
+
227
+
228
+
229
+ ## [2.5.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.1...v2.5.2) (2023-02-11)
230
+
231
+
232
+
233
+ ## [2.5.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.0...v2.5.1) (2023-01-29)
234
+
235
+
236
+
237
+ # [2.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.4.1...v2.5.0) (2023-01-29)
238
+
239
+
240
+
241
+ # [2.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.3...v2.4.0) (2022-12-27)
242
+
243
+
244
+
245
+ ## [2.3.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.2...v2.3.3) (2022-12-16)
246
+
247
+
248
+
249
+ ## [2.3.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.1...v2.3.2) (2022-12-16)
250
+
251
+
252
+
253
+ ## [2.3.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.0...v2.3.1) (2022-12-12)
254
+
255
+
256
+
257
+ # [2.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.2...v2.3.0) (2022-12-08)
258
+
259
+
260
+
261
+ ## [2.2.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.1...v2.2.2) (2022-10-22)
262
+
263
+
264
+
265
+ ## [2.2.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.0...v2.2.1) (2022-10-19)
266
+
267
+
268
+
269
+ # [2.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.2...v2.2.0) (2022-10-18)
270
+
271
+
272
+
273
+ ## [2.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.1...v2.1.2) (2022-10-15)
274
+
275
+
276
+
277
+ ## [2.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.0...v2.1.1) (2022-10-14)
278
+
279
+
280
+
281
+ # [2.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.0.0...v2.1.0) (2022-10-13)
282
+
283
+
284
+
285
+ # [2.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.15.0...v2.0.0) (2022-10-12)
286
+
287
+
288
+
289
+ # [1.15.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.2...v1.15.0) (2022-08-27)
290
+
291
+
292
+
293
+ ## [1.14.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.1...v1.14.2) (2022-08-20)
294
+
295
+
296
+
297
+ ## [1.14.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.0...v1.14.1) (2022-06-28)
298
+
299
+
300
+
301
+ # [1.14.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.13.0...v1.14.0) (2022-06-25)
302
+
303
+
304
+
305
+ # [1.13.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.8...v1.13.0) (2022-05-04)
306
+
307
+
308
+
309
+ ## [1.12.8](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.7...v1.12.8) (2022-03-19)
310
+
311
+
312
+
313
+ ## [1.12.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.6...v1.12.7) (2022-03-08)
314
+
315
+
316
+
317
+ ## [1.12.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.5...v1.12.6) (2022-03-04)
318
+
319
+
320
+
321
+ ## [1.12.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.4...v1.12.5) (2022-02-15)
322
+
323
+
324
+
325
+ ## [1.12.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.3...v1.12.4) (2022-02-13)
326
+
327
+
328
+
329
+ ## [1.12.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.2...v1.12.3) (2022-02-05)
330
+
331
+
332
+
333
+ ## [1.12.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.1...v1.12.2) (2022-02-02)
334
+
335
+
336
+
337
+ ## [1.12.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.0...v1.12.1) (2022-02-02)
338
+
339
+
340
+
341
+ # [1.12.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.2...v1.12.0) (2022-01-30)
342
+
343
+
344
+
345
+ ## [1.11.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.1...v1.11.2) (2022-01-29)
346
+
347
+
348
+
349
+ ## [1.11.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.0...v1.11.1) (2022-01-29)
350
+
351
+
352
+
353
+ # [1.11.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.10.1...v1.11.0) (2022-01-29)
354
+
355
+
356
+
357
+ ## [1.10.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.10.0...v1.10.1) (2022-01-26)
358
+
359
+
360
+
361
+ # [1.10.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.9.0...v1.10.0) (2022-01-21)
362
+
363
+
364
+
365
+ # [1.9.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.2...v1.9.0) (2022-01-20)
366
+
367
+
368
+
369
+ ## [1.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.1...v1.8.2) (2022-01-16)
370
+
371
+
372
+
373
+ ## [1.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.0...v1.8.1) (2022-01-15)
374
+
375
+
376
+
377
+ # [1.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.7.0...v1.8.0) (2022-01-15)
378
+
379
+
380
+
381
+ # [1.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.3...v1.7.0) (2022-01-05)
382
+
383
+
384
+
385
+ ## [1.6.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.2...v1.6.3) (2022-01-03)
386
+
387
+
388
+
389
+ ## [1.6.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.1...v1.6.2) (2022-01-03)
390
+
391
+
392
+
393
+ ## [1.6.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.0...v1.6.1) (2022-01-02)
394
+
395
+
396
+
397
+ # [1.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.5.0...v1.6.0) (2021-12-31)
398
+
399
+
400
+
401
+ # [1.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.4.0...v1.5.0) (2021-12-27)
402
+
403
+
404
+
405
+ # [1.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.3.0...v1.4.0) (2021-12-16)
406
+
407
+
408
+
409
+ # [1.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.5...v1.3.0) (2021-12-02)
410
+
411
+
412
+
413
+ ## [1.2.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.4...v1.2.5) (2021-11-25)
414
+
415
+
416
+
417
+ ## [1.2.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.3...v1.2.4) (2021-11-25)
418
+
419
+
420
+
421
+ ## [1.2.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.2...v1.2.3) (2021-11-25)
422
+
423
+
424
+
425
+ ## [1.2.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.1...v1.2.2) (2021-11-25)
426
+
427
+
428
+
429
+ ## [1.2.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.0...v1.2.1) (2021-11-25)
430
+
431
+
432
+
433
+ # [1.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.1.0...v1.2.0) (2021-11-20)
434
+
435
+
436
+
437
+ # [1.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.2...v1.1.0) (2021-11-16)
438
+
439
+
440
+
441
+ ## [1.0.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.1...v1.0.2) (2021-11-16)
442
+
443
+
444
+
445
+ ## [1.0.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.0...v1.0.1) (2021-11-15)
446
+
447
+
448
+
449
+ # [1.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v0.1.1...v1.0.0) (2021-11-13)
450
+
451
+
452
+
453
+ ## [0.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v0.1.0...v0.1.1) (2021-09-11)
454
+
455
+
456
+
457
+ # 0.1.0 (2021-09-11)
458
+
459
+ ## [4.3.10](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.9...v4.3.10) (2026-02-10)
460
+
461
+
462
+
463
+ ## [4.3.9](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.8...v4.3.9) (2026-02-09)
464
+
465
+
466
+
467
+ ## [4.3.8](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.7...v4.3.8) (2026-02-09)
468
+
469
+
470
+
471
+ ## [4.3.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.6...v4.3.7) (2026-02-07)
472
+
473
+
474
+
475
+ ## [4.3.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.4...v4.3.6) (2026-02-05)
476
+
477
+
478
+
479
+ ## [4.3.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.3...v4.3.4) (2026-02-05)
480
+
481
+
482
+
483
+ ## [4.3.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.1...v4.3.3) (2025-12-18)
484
+
485
+
486
+
487
+ ## [4.3.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.0...v4.3.1) (2025-03-05)
488
+
489
+
490
+
491
+ # [4.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.2.0...v4.3.0) (2025-01-24)
492
+
493
+
494
+
495
+ # [4.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.7...v4.2.0) (2025-01-24)
496
+
497
+
498
+
499
+ ## [4.1.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.6...v4.1.7) (2024-12-22)
500
+
501
+
502
+
503
+ ## [4.1.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.5...v4.1.6) (2024-12-22)
504
+
505
+
506
+
507
+ ## [4.1.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.4...v4.1.5) (2024-11-27)
508
+
509
+
510
+
511
+ ## [4.1.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.3...v4.1.4) (2024-11-18)
512
+
513
+
514
+
515
+ ## [4.1.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.2...v4.1.3) (2024-11-05)
516
+
517
+
518
+
519
+ ## [4.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.1...v4.1.2) (2024-11-05)
520
+
521
+
522
+
523
+ ## [4.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.1.0...v4.1.1) (2024-11-02)
524
+
525
+
526
+
527
+ # [4.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.0.0...v4.1.0) (2024-10-22)
528
+
529
+
530
+
531
+ # [4.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.3...v4.0.0) (2024-10-12)
532
+
533
+
534
+
535
+ ## [3.8.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.2...v3.8.3) (2024-10-09)
536
+
537
+
538
+
539
+ ## [3.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.1...v3.8.2) (2024-09-19)
540
+
541
+
542
+
543
+ ## [3.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.8.0...v3.8.1) (2024-09-13)
544
+
545
+
546
+
547
+ # [3.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.7.0...v3.8.0) (2024-09-11)
548
+
549
+
550
+
551
+ # [3.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.6.0...v3.7.0) (2024-07-21)
552
+
553
+
554
+
555
+ # [3.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.5.1...v3.6.0) (2024-07-06)
556
+
557
+
558
+
559
+ ## [3.5.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.5.0...v3.5.1) (2024-06-28)
560
+
561
+
562
+
563
+ # [3.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.4.0...v3.5.0) (2024-05-26)
564
+
565
+
566
+
567
+ # [3.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.3.0...v3.4.0) (2024-02-12)
568
+
569
+
570
+
571
+ # [3.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.2.0...v3.3.0) (2024-02-10)
572
+
573
+
574
+
575
+ # [3.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.3...v3.2.0) (2024-02-07)
576
+
577
+
578
+
579
+ ## [3.1.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.2...v3.1.3) (2024-02-07)
580
+
581
+
582
+
583
+ ## [3.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.1...v3.1.2) (2024-02-05)
584
+
585
+
586
+
587
+ ## [3.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.1.0...v3.1.1) (2024-02-05)
588
+
589
+
590
+
591
+ # [3.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v3.0.0...v3.1.0) (2024-02-03)
592
+
593
+
594
+
595
+ # [3.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.14.0...v3.0.0) (2024-01-31)
596
+
597
+
598
+
599
+ # [2.14.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.13.1...v2.14.0) (2024-01-06)
600
+
601
+
602
+
603
+ ## [2.13.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.13.0...v2.13.1) (2023-12-15)
604
+
605
+
606
+
607
+ # [2.13.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.12.1...v2.13.0) (2023-12-04)
608
+
609
+
610
+
611
+ ## [2.12.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.12.0...v2.12.1) (2023-11-26)
612
+
613
+
614
+
615
+ # [2.12.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.11.0...v2.12.0) (2023-11-17)
616
+
617
+
618
+
619
+ # [2.11.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.10.1...v2.11.0) (2023-11-08)
620
+
621
+
622
+
623
+ ## [2.10.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.10.0...v2.10.1) (2023-11-02)
624
+
625
+
626
+
627
+ # [2.10.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.2...v2.10.0) (2023-11-01)
628
+
629
+
630
+
631
+ ## [2.9.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.1...v2.9.2) (2023-10-26)
632
+
633
+
634
+
635
+ ## [2.9.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.9.0...v2.9.1) (2023-10-15)
636
+
637
+
638
+
639
+ # [2.9.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.2...v2.9.0) (2023-09-16)
640
+
641
+
642
+
643
+ ## [2.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.1...v2.8.2) (2023-08-28)
644
+
645
+
646
+
647
+ ## [2.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.8.0...v2.8.1) (2023-08-23)
648
+
649
+
650
+
651
+ # [2.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.7.1...v2.8.0) (2023-08-19)
652
+
653
+
654
+
655
+ ## [2.7.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.7.0...v2.7.1) (2023-07-29)
656
+
657
+
658
+
659
+ # [2.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.2...v2.7.0) (2023-07-26)
660
+
661
+
662
+
663
+ ## [2.6.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.1...v2.6.2) (2023-04-17)
664
+
665
+
666
+
667
+ ## [2.6.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.6.0...v2.6.1) (2023-04-16)
668
+
669
+
670
+
671
+ # [2.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.3...v2.6.0) (2023-04-16)
672
+
673
+
674
+
675
+ ## [2.5.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.2...v2.5.3) (2023-04-08)
676
+
677
+
678
+
679
+ ## [2.5.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.1...v2.5.2) (2023-02-11)
680
+
681
+
682
+
683
+ ## [2.5.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.5.0...v2.5.1) (2023-01-29)
684
+
685
+
686
+
687
+ # [2.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.4.1...v2.5.0) (2023-01-29)
688
+
689
+
690
+
691
+ # [2.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.3...v2.4.0) (2022-12-27)
692
+
693
+
694
+
695
+ ## [2.3.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.2...v2.3.3) (2022-12-16)
696
+
697
+
698
+
699
+ ## [2.3.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.1...v2.3.2) (2022-12-16)
700
+
701
+
702
+
703
+ ## [2.3.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.3.0...v2.3.1) (2022-12-12)
704
+
705
+
706
+
707
+ # [2.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.2...v2.3.0) (2022-12-08)
708
+
709
+
710
+
711
+ ## [2.2.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.1...v2.2.2) (2022-10-22)
712
+
713
+
714
+
715
+ ## [2.2.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.2.0...v2.2.1) (2022-10-19)
716
+
717
+
718
+
719
+ # [2.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.2...v2.2.0) (2022-10-18)
720
+
721
+
722
+
723
+ ## [2.1.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.1...v2.1.2) (2022-10-15)
724
+
725
+
726
+
727
+ ## [2.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.1.0...v2.1.1) (2022-10-14)
728
+
729
+
730
+
731
+ # [2.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v2.0.0...v2.1.0) (2022-10-13)
732
+
733
+
734
+
735
+ # [2.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.15.0...v2.0.0) (2022-10-12)
736
+
737
+
738
+
739
+ # [1.15.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.2...v1.15.0) (2022-08-27)
740
+
741
+
742
+
743
+ ## [1.14.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.1...v1.14.2) (2022-08-20)
744
+
745
+
746
+
747
+ ## [1.14.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.14.0...v1.14.1) (2022-06-28)
748
+
749
+
750
+
751
+ # [1.14.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.13.0...v1.14.0) (2022-06-25)
752
+
753
+
754
+
755
+ # [1.13.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.8...v1.13.0) (2022-05-04)
756
+
757
+
758
+
759
+ ## [1.12.8](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.7...v1.12.8) (2022-03-19)
760
+
761
+
762
+
763
+ ## [1.12.7](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.6...v1.12.7) (2022-03-08)
764
+
765
+
766
+
767
+ ## [1.12.6](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.5...v1.12.6) (2022-03-04)
768
+
769
+
770
+
771
+ ## [1.12.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.4...v1.12.5) (2022-02-15)
772
+
773
+
774
+
775
+ ## [1.12.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.3...v1.12.4) (2022-02-13)
776
+
777
+
778
+
779
+ ## [1.12.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.2...v1.12.3) (2022-02-05)
780
+
781
+
782
+
783
+ ## [1.12.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.1...v1.12.2) (2022-02-02)
784
+
785
+
786
+
787
+ ## [1.12.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.12.0...v1.12.1) (2022-02-02)
788
+
789
+
790
+
791
+ # [1.12.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.2...v1.12.0) (2022-01-30)
792
+
793
+
794
+
795
+ ## [1.11.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.1...v1.11.2) (2022-01-29)
796
+
797
+
798
+
799
+ ## [1.11.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.11.0...v1.11.1) (2022-01-29)
800
+
801
+
802
+
803
+ # [1.11.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.10.1...v1.11.0) (2022-01-29)
804
+
805
+
806
+
807
+ ## [1.10.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.10.0...v1.10.1) (2022-01-26)
808
+
809
+
810
+
811
+ # [1.10.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.9.0...v1.10.0) (2022-01-21)
812
+
813
+
814
+
815
+ # [1.9.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.2...v1.9.0) (2022-01-20)
816
+
817
+
818
+
819
+ ## [1.8.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.1...v1.8.2) (2022-01-16)
820
+
821
+
822
+
823
+ ## [1.8.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.8.0...v1.8.1) (2022-01-15)
824
+
825
+
826
+
827
+ # [1.8.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.7.0...v1.8.0) (2022-01-15)
828
+
829
+
830
+
831
+ # [1.7.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.3...v1.7.0) (2022-01-05)
832
+
833
+
834
+
835
+ ## [1.6.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.2...v1.6.3) (2022-01-03)
836
+
837
+
838
+
839
+ ## [1.6.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.1...v1.6.2) (2022-01-03)
840
+
841
+
842
+
843
+ ## [1.6.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.6.0...v1.6.1) (2022-01-02)
844
+
845
+
846
+
847
+ # [1.6.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.5.0...v1.6.0) (2021-12-31)
848
+
849
+
850
+
851
+ # [1.5.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.4.0...v1.5.0) (2021-12-27)
852
+
853
+
854
+
855
+ # [1.4.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.3.0...v1.4.0) (2021-12-16)
856
+
857
+
858
+
859
+ # [1.3.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.5...v1.3.0) (2021-12-02)
860
+
861
+
862
+
863
+ ## [1.2.5](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.4...v1.2.5) (2021-11-25)
864
+
865
+
866
+
867
+ ## [1.2.4](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.3...v1.2.4) (2021-11-25)
868
+
869
+
870
+
871
+ ## [1.2.3](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.2...v1.2.3) (2021-11-25)
872
+
873
+
874
+
875
+ ## [1.2.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.1...v1.2.2) (2021-11-25)
876
+
877
+
878
+
879
+ ## [1.2.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.2.0...v1.2.1) (2021-11-25)
880
+
881
+
882
+
883
+ # [1.2.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.1.0...v1.2.0) (2021-11-20)
884
+
885
+
886
+
887
+ # [1.1.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.2...v1.1.0) (2021-11-16)
888
+
889
+
890
+
891
+ ## [1.0.2](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.1...v1.0.2) (2021-11-16)
892
+
893
+
894
+
895
+ ## [1.0.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v1.0.0...v1.0.1) (2021-11-15)
896
+
897
+
898
+
899
+ # [1.0.0](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v0.1.1...v1.0.0) (2021-11-13)
900
+
901
+
902
+
903
+ ## [0.1.1](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v0.1.0...v0.1.1) (2021-09-11)
904
+
905
+
906
+
907
+ # 0.1.0 (2021-09-11)
908
+
5
909
  ## [4.3.9](https://github.com/OpenWonderLabs/homebridge-switchbot/compare/v4.3.8...v4.3.9) (2026-02-09)
6
910
 
7
911
 
@@ -13,6 +13,12 @@ export declare class AirPurifier extends deviceBase {
13
13
  airPurifierUpdateInProgress: boolean;
14
14
  doAirPurifierUpdate: Subject<void>;
15
15
  constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
16
+ /**
17
+ * Validates that essential BLE service data properties are present
18
+ * @param data - The service data to validate
19
+ * @returns true if all essential properties are defined, false otherwise
20
+ */
21
+ private hasEssentialBLEData;
16
22
  BLEparseStatus(): Promise<void>;
17
23
  openAPIparseStatus(): Promise<void>;
18
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"airpurifier.d.ts","sourceRoot":"","sources":["../../src/device/airpurifier.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAc,MAAM,EAAmB,MAAM,gBAAgB,CAAA;AAMpH,OAAO,EAAqC,OAAO,EAAa,MAAM,MAAM,CAAA;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,WAAY,SAAQ,UAAU;IA8BvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IA5BtC,OAAO,CAAC,WAAW,CAQlB;IAED,OAAO,CAAC,gBAAgB,CAAC,CAKxB;IAGD,YAAY,EAAG,iBAAiB,CAAA;IAGhC,WAAW,EAAG,sBAAsB,CAAA;IAGpC,2BAA2B,EAAG,OAAO,CAAA;IACrC,mBAAmB,EAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAGxB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAsH1B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD/B,kBAAkB;IAsDxB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC,eAAe;IAkBrB;;;;;;OAMG;IAEG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BnC,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7C,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,iBAAiB;IAOjB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAWtC"}
1
+ {"version":3,"file":"airpurifier.d.ts","sourceRoot":"","sources":["../../src/device/airpurifier.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAc,MAAM,EAAmB,MAAM,gBAAgB,CAAA;AAMpH,OAAO,EAAqC,OAAO,EAAa,MAAM,MAAM,CAAA;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,WAAY,SAAQ,UAAU;IA8BvC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IA5BtC,OAAO,CAAC,WAAW,CAQlB;IAED,OAAO,CAAC,gBAAgB,CAAC,CAKxB;IAGD,YAAY,EAAG,iBAAiB,CAAA;IAGhC,WAAW,EAAG,sBAAsB,CAAA;IAGpC,2BAA2B,EAAG,OAAO,CAAA;IACrC,mBAAmB,EAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAGxB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IAsHhC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IASrB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD/B,kBAAkB;IAsDxB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BjC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC,eAAe;IAkBrB;;;;;;OAMG;IAEG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C/B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BnC,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7C,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,iBAAiB;IAOjB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAWtC"}
@@ -121,6 +121,19 @@ export class AirPurifier extends deviceBase {
121
121
  this.airPurifierUpdateInProgress = false;
122
122
  });
123
123
  }
124
+ /**
125
+ * Validates that essential BLE service data properties are present
126
+ * @param data - The service data to validate
127
+ * @returns true if all essential properties are defined, false otherwise
128
+ */
129
+ hasEssentialBLEData(data) {
130
+ return data !== undefined
131
+ && data !== null
132
+ && data.isOn !== undefined
133
+ && data.mode !== undefined
134
+ && data.child_lock !== undefined
135
+ && data.speed !== undefined;
136
+ }
124
137
  async BLEparseStatus() {
125
138
  this.debugLog('BLEparseStatus');
126
139
  this.debugLog(`(isOn, mode, child_lock, speed) = BLE:(${this.serviceData.isOn}, ${this.serviceData.mode}, ${this.serviceData.child_lock}, ${this.serviceData.speed}), current:(${this.AirPurifier.Active}, ${this.AirPurifier.TargetAirPurifierState}, ${this.AirPurifier.LockPhysicalControls}, ${this.AirPurifier.RotationSpeed})`);
@@ -254,12 +267,13 @@ export class AirPurifier extends deviceBase {
254
267
  // Update HomeKit
255
268
  if (serviceData.model === SwitchBotBLEModel.AirPurifier && SwitchBotBLEModelName.AirPurifier) {
256
269
  this.serviceData = serviceData;
257
- if (serviceData !== undefined && serviceData !== null) {
270
+ // Validate that essential properties are present in serviceData
271
+ if (this.hasEssentialBLEData(serviceData)) {
258
272
  await this.BLEparseStatus();
259
273
  await this.updateHomeKitCharacteristics();
260
274
  }
261
275
  else {
262
- this.errorLog(`serviceData is either undefined or null, serviceData: ${JSON.stringify(serviceData)}`);
276
+ this.errorLog(`serviceData is missing essential properties, serviceData: ${JSON.stringify(serviceData)}`);
263
277
  await this.BLERefreshConnection(switchBotBLE);
264
278
  }
265
279
  }
@@ -281,13 +295,14 @@ export class AirPurifier extends deviceBase {
281
295
  this.platform.bleEventHandler[this.device.bleMac] = async (context) => {
282
296
  try {
283
297
  this.serviceData = context;
284
- if (context !== undefined && context !== null) {
298
+ // Validate that essential properties are present in context
299
+ if (this.hasEssentialBLEData(context)) {
285
300
  this.debugLog(`received BLE: ${JSON.stringify(context)}`);
286
301
  await this.BLEparseStatus();
287
302
  await this.updateHomeKitCharacteristics();
288
303
  }
289
304
  else {
290
- this.errorLog(`context is either undefined or null, context: ${JSON.stringify(context)}`);
305
+ this.errorLog(`context is missing essential properties, context: ${JSON.stringify(context)}`);
291
306
  await this.BLERefreshConnection(context);
292
307
  }
293
308
  }
@@ -1 +1 @@
1
- {"version":3,"file":"airpurifier.js","sourceRoot":"","sources":["../../src/device/airpurifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"airpurifier.js","sourceRoot":"","sources":["../../src/device/airpurifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">default</a></li></ul><h1>Variable default</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/5eb3399def34e10460fb201e736705bd7274e981/src/index.ts#L11">index.ts:11</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@switchbot/homebridge-switchbot</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">default</a></li></ul><h1>Variable default</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/19291e2a85494d630f1b172a99b645dbcd695669/src/index.ts#L11">index.ts:11</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@switchbot/homebridge-switchbot</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@switchbot/homebridge-switchbot",
3
3
  "displayName": "SwitchBot",
4
4
  "type": "module",
5
- "version": "4.3.10",
5
+ "version": "4.3.11",
6
6
  "description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
7
7
  "author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
8
8
  "contributors": [
@@ -166,6 +166,20 @@ export class AirPurifier extends deviceBase {
166
166
  })
167
167
  }
168
168
 
169
+ /**
170
+ * Validates that essential BLE service data properties are present
171
+ * @param data - The service data to validate
172
+ * @returns true if all essential properties are defined, false otherwise
173
+ */
174
+ private hasEssentialBLEData(data: airPurifierServiceData): boolean {
175
+ return data !== undefined
176
+ && data !== null
177
+ && data.isOn !== undefined
178
+ && data.mode !== undefined
179
+ && data.child_lock !== undefined
180
+ && data.speed !== undefined
181
+ }
182
+
169
183
  async BLEparseStatus(): Promise<void> {
170
184
  this.debugLog('BLEparseStatus')
171
185
  this.debugLog(`(isOn, mode, child_lock, speed) = BLE:(${this.serviceData.isOn}, ${this.serviceData.mode}, ${this.serviceData.child_lock}, ${this.serviceData.speed}), current:(${this.AirPurifier.Active}, ${this.AirPurifier.TargetAirPurifierState}, ${this.AirPurifier.LockPhysicalControls}, ${this.AirPurifier.RotationSpeed})`)
@@ -301,11 +315,12 @@ export class AirPurifier extends deviceBase {
301
315
  // Update HomeKit
302
316
  if (serviceData.model === SwitchBotBLEModel.AirPurifier && SwitchBotBLEModelName.AirPurifier) {
303
317
  this.serviceData = serviceData
304
- if (serviceData !== undefined && serviceData !== null) {
318
+ // Validate that essential properties are present in serviceData
319
+ if (this.hasEssentialBLEData(serviceData)) {
305
320
  await this.BLEparseStatus()
306
321
  await this.updateHomeKitCharacteristics()
307
322
  } else {
308
- this.errorLog(`serviceData is either undefined or null, serviceData: ${JSON.stringify(serviceData)}`)
323
+ this.errorLog(`serviceData is missing essential properties, serviceData: ${JSON.stringify(serviceData)}`)
309
324
  await this.BLERefreshConnection(switchBotBLE)
310
325
  }
311
326
  } else {
@@ -327,12 +342,13 @@ export class AirPurifier extends deviceBase {
327
342
  this.platform.bleEventHandler[this.device.bleMac] = async (context: airPurifierServiceData) => {
328
343
  try {
329
344
  this.serviceData = context
330
- if (context !== undefined && context !== null) {
345
+ // Validate that essential properties are present in context
346
+ if (this.hasEssentialBLEData(context)) {
331
347
  this.debugLog(`received BLE: ${JSON.stringify(context)}`)
332
348
  await this.BLEparseStatus()
333
349
  await this.updateHomeKitCharacteristics()
334
350
  } else {
335
- this.errorLog(`context is either undefined or null, context: ${JSON.stringify(context)}`)
351
+ this.errorLog(`context is missing essential properties, context: ${JSON.stringify(context)}`)
336
352
  await this.BLERefreshConnection(context)
337
353
  }
338
354
  } catch (e: any) {