@switchbot/homebridge-switchbot 4.1.1-beta.2 → 4.1.1-beta.4

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/device/blindtilt.js +103 -103
  3. package/dist/device/blindtilt.js.map +1 -1
  4. package/dist/device/bot.js +84 -84
  5. package/dist/device/bot.js.map +1 -1
  6. package/dist/device/ceilinglight.js +97 -97
  7. package/dist/device/ceilinglight.js.map +1 -1
  8. package/dist/device/colorbulb.js +139 -139
  9. package/dist/device/colorbulb.js.map +1 -1
  10. package/dist/device/contact.js +47 -47
  11. package/dist/device/contact.js.map +1 -1
  12. package/dist/device/curtain.d.ts +1 -1
  13. package/dist/device/curtain.d.ts.map +1 -1
  14. package/dist/device/curtain.js +91 -89
  15. package/dist/device/curtain.js.map +1 -1
  16. package/dist/device/device.d.ts +12 -12
  17. package/dist/device/device.d.ts.map +1 -1
  18. package/dist/device/device.js +42 -42
  19. package/dist/device/device.js.map +1 -1
  20. package/dist/device/fan.js +95 -95
  21. package/dist/device/fan.js.map +1 -1
  22. package/dist/device/hub.js +46 -46
  23. package/dist/device/hub.js.map +1 -1
  24. package/dist/device/humidifier.js +84 -84
  25. package/dist/device/humidifier.js.map +1 -1
  26. package/dist/device/iosensor.js +44 -44
  27. package/dist/device/iosensor.js.map +1 -1
  28. package/dist/device/lightstrip.js +118 -118
  29. package/dist/device/lightstrip.js.map +1 -1
  30. package/dist/device/lock.js +74 -74
  31. package/dist/device/lock.js.map +1 -1
  32. package/dist/device/meter.js +44 -44
  33. package/dist/device/meter.js.map +1 -1
  34. package/dist/device/meterplus.js +42 -42
  35. package/dist/device/meterplus.js.map +1 -1
  36. package/dist/device/meterpro.js +42 -42
  37. package/dist/device/meterpro.js.map +1 -1
  38. package/dist/device/motion.js +44 -44
  39. package/dist/device/motion.js.map +1 -1
  40. package/dist/device/plug.d.ts.map +1 -1
  41. package/dist/device/plug.js +59 -59
  42. package/dist/device/plug.js.map +1 -1
  43. package/dist/device/robotvacuumcleaner.js +73 -73
  44. package/dist/device/robotvacuumcleaner.js.map +1 -1
  45. package/dist/device/waterdetector.js +44 -44
  46. package/dist/device/waterdetector.js.map +1 -1
  47. package/dist/irdevice/airconditioner.js +31 -31
  48. package/dist/irdevice/airconditioner.js.map +1 -1
  49. package/dist/irdevice/airpurifier.js +10 -10
  50. package/dist/irdevice/airpurifier.js.map +1 -1
  51. package/dist/irdevice/camera.js +9 -9
  52. package/dist/irdevice/camera.js.map +1 -1
  53. package/dist/irdevice/fan.js +11 -11
  54. package/dist/irdevice/fan.js.map +1 -1
  55. package/dist/irdevice/irdevice.js +11 -11
  56. package/dist/irdevice/irdevice.js.map +1 -1
  57. package/dist/irdevice/light.js +9 -9
  58. package/dist/irdevice/light.js.map +1 -1
  59. package/dist/irdevice/other.js +55 -55
  60. package/dist/irdevice/other.js.map +1 -1
  61. package/dist/irdevice/tv.js +33 -33
  62. package/dist/irdevice/tv.js.map +1 -1
  63. package/dist/irdevice/vacuumcleaner.js +9 -9
  64. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  65. package/dist/irdevice/waterheater.js +9 -9
  66. package/dist/irdevice/waterheater.js.map +1 -1
  67. package/dist/platform.js +228 -228
  68. package/dist/platform.js.map +1 -1
  69. package/package.json +9 -9
  70. package/src/device/blindtilt.ts +103 -103
  71. package/src/device/bot.ts +84 -84
  72. package/src/device/ceilinglight.ts +97 -97
  73. package/src/device/colorbulb.ts +139 -139
  74. package/src/device/contact.ts +47 -47
  75. package/src/device/curtain.ts +91 -89
  76. package/src/device/device.ts +42 -42
  77. package/src/device/fan.ts +95 -95
  78. package/src/device/hub.ts +46 -46
  79. package/src/device/humidifier.ts +84 -84
  80. package/src/device/iosensor.ts +44 -44
  81. package/src/device/lightstrip.ts +118 -118
  82. package/src/device/lock.ts +74 -74
  83. package/src/device/meter.ts +44 -44
  84. package/src/device/meterplus.ts +42 -42
  85. package/src/device/meterpro.ts +42 -42
  86. package/src/device/motion.ts +44 -44
  87. package/src/device/plug.ts +61 -61
  88. package/src/device/robotvacuumcleaner.ts +73 -73
  89. package/src/device/waterdetector.ts +44 -44
  90. package/src/irdevice/airconditioner.ts +31 -31
  91. package/src/irdevice/airpurifier.ts +10 -10
  92. package/src/irdevice/camera.ts +9 -9
  93. package/src/irdevice/fan.ts +11 -11
  94. package/src/irdevice/irdevice.ts +11 -11
  95. package/src/irdevice/light.ts +9 -9
  96. package/src/irdevice/other.ts +55 -55
  97. package/src/irdevice/tv.ts +33 -33
  98. package/src/irdevice/vacuumcleaner.ts +9 -9
  99. package/src/irdevice/waterheater.ts +9 -9
  100. package/src/platform.ts +228 -228
@@ -148,7 +148,7 @@ export class CeilingLight extends deviceBase {
148
148
  }
149
149
  catch (e) {
150
150
  await this.apiError(e);
151
- await this.errorLog(`failed pushChanges with ${device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
151
+ this.errorLog(`failed pushChanges with ${device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
152
152
  }
153
153
  this.ceilingLightUpdateInProgress = false;
154
154
  });
@@ -157,36 +157,36 @@ export class CeilingLight extends deviceBase {
157
157
  * Parse the device status from the SwitchBotBLE API
158
158
  */
159
159
  async BLEparseStatus() {
160
- await this.debugLog('BLEparseStatus');
161
- await this.debugLog(`(power, brightness, colorTemperature) = BLE:(${this.serviceData.state}, ${this.serviceData.brightness}, ${this.serviceData.color_temperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
160
+ this.debugLog('BLEparseStatus');
161
+ this.debugLog(`(power, brightness, colorTemperature) = BLE:(${this.serviceData.state}, ${this.serviceData.brightness}, ${this.serviceData.color_temperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
162
162
  // On
163
163
  this.LightBulb.On = this.serviceData.state;
164
- await this.debugLog(`On: ${this.LightBulb.On}`);
164
+ this.debugLog(`On: ${this.LightBulb.On}`);
165
165
  // ColorTemperature
166
166
  const miredColorTemperature = Math.round(1000000 / this.serviceData.color_temperature);
167
167
  this.LightBulb.ColorTemperature = Math.max(Math.min(miredColorTemperature, 500), 140);
168
- await this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
168
+ this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
169
169
  }
170
170
  /**
171
171
  * Parse the device status from the SwitchBot OpenAPI
172
172
  */
173
173
  async openAPIparseStatus() {
174
- await this.debugLog('openAPIparseStatus');
175
- await this.debugLog(`(power, brightness, colorTemperature) = OpenAPI:(${this.deviceStatus.power}, ${this.deviceStatus.brightness}, ${this.deviceStatus.colorTemperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
174
+ this.debugLog('openAPIparseStatus');
175
+ this.debugLog(`(power, brightness, colorTemperature) = OpenAPI:(${this.deviceStatus.power}, ${this.deviceStatus.brightness}, ${this.deviceStatus.colorTemperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
176
176
  // On
177
177
  this.LightBulb.On = this.deviceStatus.power;
178
- await this.debugLog(`On: ${this.LightBulb.On}`);
178
+ this.debugLog(`On: ${this.LightBulb.On}`);
179
179
  // Brightness
180
180
  this.LightBulb.Brightness = this.deviceStatus.brightness;
181
- await this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
181
+ this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
182
182
  // ColorTemperature
183
183
  const miredColorTemperature = Math.round(1000000 / this.deviceStatus.colorTemperature);
184
184
  this.LightBulb.ColorTemperature = Math.max(Math.min(miredColorTemperature, 500), 140);
185
- await this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
185
+ this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
186
186
  // Firmware Version
187
187
  if (this.deviceStatus.version) {
188
188
  const version = this.deviceStatus.version.toString();
189
- await this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
189
+ this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
190
190
  const deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
191
191
  this.accessory
192
192
  .getService(this.hap.Service.AccessoryInformation)
@@ -195,29 +195,29 @@ export class CeilingLight extends deviceBase {
195
195
  .getCharacteristic(this.hap.Characteristic.FirmwareRevision)
196
196
  .updateValue(deviceVersion);
197
197
  this.accessory.context.version = deviceVersion;
198
- await this.debugSuccessLog(`version: ${this.accessory.context.version}`);
198
+ this.debugSuccessLog(`version: ${this.accessory.context.version}`);
199
199
  }
200
200
  }
201
201
  async parseStatusWebhook() {
202
- await this.debugLog('parseStatusWebhook');
203
- await this.debugLog(`(powerState, brightness, colorTemperature) = Webhook:(${this.webhookContext.powerState}, ${this.webhookContext.brightness}, ${this.webhookContext.colorTemperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
202
+ this.debugLog('parseStatusWebhook');
203
+ this.debugLog(`(powerState, brightness, colorTemperature) = Webhook:(${this.webhookContext.powerState}, ${this.webhookContext.brightness}, ${this.webhookContext.colorTemperature}), current:(${this.LightBulb.On}, ${this.LightBulb.Brightness}, ${this.LightBulb.ColorTemperature})`);
204
204
  // On
205
205
  this.LightBulb.On = this.webhookContext.powerState === 'ON';
206
- await this.debugLog(`On: ${this.LightBulb.On}`);
206
+ this.debugLog(`On: ${this.LightBulb.On}`);
207
207
  // Brightness
208
208
  this.LightBulb.Brightness = this.webhookContext.brightness;
209
- await this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
209
+ this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
210
210
  // ColorTemperature
211
211
  const miredColorTemperature = Math.round(1000000 / this.webhookContext.colorTemperature);
212
212
  this.LightBulb.ColorTemperature = Math.max(Math.min(miredColorTemperature, 500), 140);
213
- await this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
213
+ this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
214
214
  }
215
215
  /**
216
216
  * Asks the SwitchBot API for the latest device information
217
217
  */
218
218
  async refreshStatus() {
219
219
  if (!this.device.enableCloudService && this.OpenAPI) {
220
- await this.errorLog(`refreshStatus enableCloudService: ${this.device.enableCloudService}`);
220
+ this.errorLog(`refreshStatus enableCloudService: ${this.device.enableCloudService}`);
221
221
  }
222
222
  else if (this.BLE) {
223
223
  await this.BLERefreshStatus();
@@ -227,11 +227,11 @@ export class CeilingLight extends deviceBase {
227
227
  }
228
228
  else {
229
229
  await this.offlineOff();
230
- await this.debugWarnLog(`Connection Type: ${this.device.connectionType}, refreshStatus will not happen.`);
230
+ this.debugWarnLog(`Connection Type: ${this.device.connectionType}, refreshStatus will not happen.`);
231
231
  }
232
232
  }
233
233
  async BLERefreshStatus() {
234
- await this.debugLog('BLERefreshStatus');
234
+ this.debugLog('BLERefreshStatus');
235
235
  const switchBotBLE = await this.switchbotBLE();
236
236
  if (switchBotBLE === undefined) {
237
237
  await this.BLERefreshConnection(switchBotBLE);
@@ -247,79 +247,79 @@ export class CeilingLight extends deviceBase {
247
247
  await this.updateHomeKitCharacteristics();
248
248
  }
249
249
  else {
250
- await this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
250
+ this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
251
251
  await this.BLERefreshConnection(switchBotBLE);
252
252
  }
253
253
  })();
254
254
  }
255
255
  }
256
256
  async registerPlatformBLE() {
257
- await this.debugLog('registerPlatformBLE');
257
+ this.debugLog('registerPlatformBLE');
258
258
  if (this.config.options?.BLE) {
259
- await this.debugLog('is listening to Platform BLE.');
259
+ this.debugLog('is listening to Platform BLE.');
260
260
  try {
261
261
  const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
262
262
  this.device.bleMac = formattedDeviceId;
263
- await this.debugLog(`bleMac: ${this.device.bleMac}`);
263
+ this.debugLog(`bleMac: ${this.device.bleMac}`);
264
264
  this.platform.bleEventHandler[this.device.bleMac] = async (context) => {
265
265
  try {
266
- await this.debugLog(`received BLE: ${JSON.stringify(context)}`);
266
+ this.debugLog(`received BLE: ${JSON.stringify(context)}`);
267
267
  this.serviceData = context;
268
268
  await this.BLEparseStatus();
269
269
  await this.updateHomeKitCharacteristics();
270
270
  }
271
271
  catch (e) {
272
- await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
272
+ this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
273
273
  }
274
274
  };
275
275
  }
276
276
  catch (error) {
277
- await this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
277
+ this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
278
278
  }
279
279
  }
280
280
  else {
281
- await this.debugLog('is not listening to Platform BLE');
281
+ this.debugLog('is not listening to Platform BLE');
282
282
  }
283
283
  }
284
284
  async openAPIRefreshStatus() {
285
- await this.debugLog('openAPIRefreshStatus');
285
+ this.debugLog('openAPIRefreshStatus');
286
286
  try {
287
- const { body } = await this.deviceRefreshStatus();
288
- const deviceStatus = await body;
289
- await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
287
+ const response = await this.deviceRefreshStatus();
288
+ const deviceStatus = response.body;
289
+ this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
290
290
  if (await this.successfulStatusCodes(deviceStatus)) {
291
- await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
291
+ this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
292
292
  this.deviceStatus = deviceStatus.body;
293
293
  await this.openAPIparseStatus();
294
294
  await this.updateHomeKitCharacteristics();
295
295
  }
296
296
  else {
297
- await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
298
- await this.debugWarnLog(deviceStatus);
297
+ this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
298
+ this.debugWarnLog(deviceStatus);
299
299
  }
300
300
  }
301
301
  catch (e) {
302
302
  await this.apiError(e);
303
- await this.errorLog(`failed openAPIRefreshStatus with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
303
+ this.errorLog(`failed openAPIRefreshStatus with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
304
304
  }
305
305
  }
306
306
  async registerWebhook() {
307
307
  if (this.device.webhook) {
308
- await this.debugLog('is listening webhook.');
308
+ this.debugLog('is listening webhook.');
309
309
  this.platform.webhookEventHandler[this.device.deviceId] = async (context) => {
310
310
  try {
311
- await this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
311
+ this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
312
312
  this.webhookContext = context;
313
313
  await this.parseStatusWebhook();
314
314
  await this.updateHomeKitCharacteristics();
315
315
  }
316
316
  catch (e) {
317
- await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
317
+ this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
318
318
  }
319
319
  };
320
320
  }
321
321
  else {
322
- await this.debugLog('is not listening webhook.');
322
+ this.debugLog('is not listening webhook.');
323
323
  }
324
324
  }
325
325
  /**
@@ -335,7 +335,7 @@ export class CeilingLight extends deviceBase {
335
335
  */
336
336
  async pushChanges() {
337
337
  if (!this.device.enableCloudService && this.OpenAPI) {
338
- await this.errorLog(`pushChanges enableCloudService: ${this.device.enableCloudService}`);
338
+ this.errorLog(`pushChanges enableCloudService: ${this.device.enableCloudService}`);
339
339
  }
340
340
  else if (this.BLE) {
341
341
  await this.BLEpushChanges();
@@ -343,24 +343,24 @@ export class CeilingLight extends deviceBase {
343
343
  else if (this.OpenAPI && this.platform.config.credentials?.token) {
344
344
  await this.openAPIpushChanges();
345
345
  if (this.LightBulb.On) {
346
- await this.debugLog(`On: ${this.LightBulb.On}`);
346
+ this.debugLog(`On: ${this.LightBulb.On}`);
347
347
  // Push Brightness Update
348
- await this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
348
+ this.debugLog(`Brightness: ${this.LightBulb.Brightness}`);
349
349
  await this.pushBrightnessChanges();
350
350
  // Push ColorTemperature Update
351
- await this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
351
+ this.debugLog(`ColorTemperature: ${this.LightBulb.ColorTemperature}`);
352
352
  await this.pushColorTemperatureChanges();
353
353
  // Push Hue & Saturation Update
354
- await this.debugLog(`Hue: ${this.LightBulb.Hue}, Saturation: ${this.LightBulb.Saturation}`);
354
+ this.debugLog(`Hue: ${this.LightBulb.Hue}, Saturation: ${this.LightBulb.Saturation}`);
355
355
  await this.pushHueSaturationChanges();
356
356
  }
357
357
  else {
358
- await this.debugLog('BLE (Brightness), (ColorTemperature), (Hue), & (Saturation) changes will not happen, as the device is OFF.');
358
+ this.debugLog('BLE (Brightness), (ColorTemperature), (Hue), & (Saturation) changes will not happen, as the device is OFF.');
359
359
  }
360
360
  }
361
361
  else {
362
362
  await this.offlineOff();
363
- await this.debugWarnLog(`Connection Type: ${this.device.connectionType}, pushChanges will not happen.`);
363
+ this.debugWarnLog(`Connection Type: ${this.device.connectionType}, pushChanges will not happen.`);
364
364
  }
365
365
  // Refresh the status from the API
366
366
  interval(15000)
@@ -371,14 +371,14 @@ export class CeilingLight extends deviceBase {
371
371
  });
372
372
  }
373
373
  async BLEpushChanges() {
374
- await this.debugLog('BLEpushChanges');
374
+ this.debugLog('BLEpushChanges');
375
375
  if (this.LightBulb.On !== this.accessory.context.On) {
376
- await this.debugLog(`BLEpushChanges On: ${this.LightBulb.On} OnCached: ${this.accessory.context.On}`);
376
+ this.debugLog(`BLEpushChanges On: ${this.LightBulb.On} OnCached: ${this.accessory.context.On}`);
377
377
  const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
378
378
  try {
379
379
  const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
380
380
  this.device.bleMac = formattedDeviceId;
381
- await this.debugLog(`bleMac: ${this.device.bleMac}`);
381
+ this.debugLog(`bleMac: ${this.device.bleMac}`);
382
382
  if (switchBotBLE !== false) {
383
383
  switchBotBLE
384
384
  .discover({ model: this.device.bleModel, id: this.device.bleMac })
@@ -398,30 +398,30 @@ export class CeilingLight extends deviceBase {
398
398
  });
399
399
  })
400
400
  .then(async () => {
401
- await this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`);
401
+ this.successLog(`On: ${this.LightBulb.On} sent over SwitchBot BLE, sent successfully`);
402
402
  this.LightBulb.On = false;
403
403
  })
404
404
  .catch(async (e) => {
405
405
  await this.apiError(e);
406
- await this.errorLog(`failed BLEpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
406
+ this.errorLog(`failed BLEpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
407
407
  await this.BLEPushConnection();
408
408
  });
409
409
  }
410
410
  else {
411
- await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
411
+ this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
412
412
  await this.BLEPushConnection();
413
413
  }
414
414
  }
415
415
  catch (error) {
416
- await this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
416
+ this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
417
417
  }
418
418
  }
419
419
  else {
420
- await this.debugLog(`No changes (BLEpushChanges): On: ${this.LightBulb.On}, OnCached: ${this.accessory.context.On}`);
420
+ this.debugLog(`No changes (BLEpushChanges): On: ${this.LightBulb.On}, OnCached: ${this.accessory.context.On}`);
421
421
  }
422
422
  }
423
423
  async openAPIpushChanges() {
424
- await this.debugLog('openAPIpushChanges');
424
+ this.debugLog('openAPIpushChanges');
425
425
  if (this.LightBulb.On !== this.accessory.context.On) {
426
426
  const command = this.LightBulb.On ? 'turnOn' : 'turnOff';
427
427
  const bodyChange = {
@@ -429,13 +429,13 @@ export class CeilingLight extends deviceBase {
429
429
  parameter: 'default',
430
430
  commandType: 'command',
431
431
  };
432
- await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
432
+ this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
433
433
  try {
434
- const { body } = await this.pushChangeRequest(bodyChange);
435
- const deviceStatus = await body;
436
- await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
434
+ const response = await this.pushChangeRequest(bodyChange);
435
+ const deviceStatus = response.body;
436
+ this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
437
437
  if (await this.successfulStatusCodes(deviceStatus)) {
438
- await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
438
+ this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
439
439
  await this.updateHomeKitCharacteristics();
440
440
  }
441
441
  else {
@@ -444,32 +444,32 @@ export class CeilingLight extends deviceBase {
444
444
  }
445
445
  catch (e) {
446
446
  await this.apiError(e);
447
- await this.errorLog(`failed openAPIpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
447
+ this.errorLog(`failed openAPIpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
448
448
  }
449
449
  }
450
450
  else {
451
- await this.debugLog(`No changes (openAPIpushChanges), On: ${this.LightBulb.On}, OnCached: ${this.accessory.context.On}`);
451
+ this.debugLog(`No changes (openAPIpushChanges), On: ${this.LightBulb.On}, OnCached: ${this.accessory.context.On}`);
452
452
  }
453
453
  }
454
454
  async pushHueSaturationChanges() {
455
- await this.debugLog('pushHueSaturationChanges');
455
+ this.debugLog('pushHueSaturationChanges');
456
456
  if ((this.LightBulb.Hue !== this.accessory.context.Hue) || (this.LightBulb.Saturation !== this.accessory.context.Saturation)) {
457
- await this.debugLog(`Hue: ${JSON.stringify(this.LightBulb.Hue)}`);
458
- await this.debugLog(`Saturation: ${JSON.stringify(this.LightBulb.Saturation)}`);
457
+ this.debugLog(`Hue: ${JSON.stringify(this.LightBulb.Hue)}`);
458
+ this.debugLog(`Saturation: ${JSON.stringify(this.LightBulb.Saturation)}`);
459
459
  const [red, green, blue] = hs2rgb(Number(this.LightBulb.Hue), Number(this.LightBulb.Saturation));
460
- await this.debugLog(`rgb: ${JSON.stringify([red, green, blue])}`);
460
+ this.debugLog(`rgb: ${JSON.stringify([red, green, blue])}`);
461
461
  const bodyChange = {
462
462
  command: 'setColor',
463
463
  parameter: `${red}:${green}:${blue}`,
464
464
  commandType: 'command',
465
465
  };
466
- await this.debugLog(`(pushHueSaturationChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
466
+ this.debugLog(`(pushHueSaturationChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
467
467
  try {
468
- const { body } = await this.pushChangeRequest(bodyChange);
469
- const deviceStatus = await body;
470
- await this.debugLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
468
+ const response = await this.pushChangeRequest(bodyChange);
469
+ const deviceStatus = response.body;
470
+ this.debugLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
471
471
  if (await this.successfulStatusCodes(deviceStatus)) {
472
- await this.debugSuccessLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
472
+ this.debugSuccessLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
473
473
  await this.updateHomeKitCharacteristics();
474
474
  }
475
475
  else {
@@ -478,15 +478,15 @@ export class CeilingLight extends deviceBase {
478
478
  }
479
479
  catch (e) {
480
480
  await this.apiError(e);
481
- await this.errorLog(`failed pushHueSaturationChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
481
+ this.errorLog(`failed pushHueSaturationChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
482
482
  }
483
483
  }
484
484
  else {
485
- await this.debugLog(`No changes (pushHueSaturationChanges), Hue: ${this.LightBulb.Hue}, HueCached: ${this.accessory.context.Hue}, Saturation: ${this.LightBulb.Saturation}, SaturationCached: ${this.accessory.context.Saturation}`);
485
+ this.debugLog(`No changes (pushHueSaturationChanges), Hue: ${this.LightBulb.Hue}, HueCached: ${this.accessory.context.Hue}, Saturation: ${this.LightBulb.Saturation}, SaturationCached: ${this.accessory.context.Saturation}`);
486
486
  }
487
487
  }
488
488
  async pushColorTemperatureChanges() {
489
- await this.debugLog('pushColorTemperatureChanges');
489
+ this.debugLog('pushColorTemperatureChanges');
490
490
  if (this.LightBulb.ColorTemperature !== this.accessory.context.ColorTemperature) {
491
491
  const kelvin = Math.round(1000000 * Number(this.LightBulb.ColorTemperature));
492
492
  this.accessory.context.kelvin = kelvin;
@@ -495,13 +495,13 @@ export class CeilingLight extends deviceBase {
495
495
  parameter: `${kelvin}`,
496
496
  commandType: 'command',
497
497
  };
498
- await this.debugLog(`(pushColorTemperatureChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
498
+ this.debugLog(`(pushColorTemperatureChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
499
499
  try {
500
- const { body } = await this.pushChangeRequest(bodyChange);
501
- const deviceStatus = await body;
502
- await this.debugLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
500
+ const response = await this.pushChangeRequest(bodyChange);
501
+ const deviceStatus = response.body;
502
+ this.debugLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
503
503
  if (await this.successfulStatusCodes(deviceStatus)) {
504
- await this.debugSuccessLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
504
+ this.debugSuccessLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
505
505
  await this.updateHomeKitCharacteristics();
506
506
  }
507
507
  else {
@@ -510,28 +510,28 @@ export class CeilingLight extends deviceBase {
510
510
  }
511
511
  catch (e) {
512
512
  await this.apiError(e);
513
- await this.errorLog(`failed pushColorTemperatureChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
513
+ this.errorLog(`failed pushColorTemperatureChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
514
514
  }
515
515
  }
516
516
  else {
517
- await this.debugLog(`No changes (pushColorTemperatureChanges), ColorTemperature: ${this.LightBulb.ColorTemperature}, ColorTemperatureCached: ${this.accessory.context.ColorTemperature}`);
517
+ this.debugLog(`No changes (pushColorTemperatureChanges), ColorTemperature: ${this.LightBulb.ColorTemperature}, ColorTemperatureCached: ${this.accessory.context.ColorTemperature}`);
518
518
  }
519
519
  }
520
520
  async pushBrightnessChanges() {
521
- await this.debugLog('pushBrightnessChanges');
521
+ this.debugLog('pushBrightnessChanges');
522
522
  if (this.LightBulb.Brightness !== this.accessory.context.Brightness) {
523
523
  const bodyChange = {
524
524
  command: 'setBrightness',
525
525
  parameter: `${this.LightBulb.Brightness}`,
526
526
  commandType: 'command',
527
527
  };
528
- await this.debugLog(`(pushBrightnessChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
528
+ this.debugLog(`(pushBrightnessChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
529
529
  try {
530
- const { body } = await this.pushChangeRequest(bodyChange);
531
- const deviceStatus = await body;
532
- await this.debugLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
530
+ const response = await this.pushChangeRequest(bodyChange);
531
+ const deviceStatus = response.body;
532
+ this.debugLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
533
533
  if (await this.successfulStatusCodes(deviceStatus)) {
534
- await this.debugSuccessLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
534
+ this.debugSuccessLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
535
535
  await this.updateHomeKitCharacteristics();
536
536
  }
537
537
  else {
@@ -540,11 +540,11 @@ export class CeilingLight extends deviceBase {
540
540
  }
541
541
  catch (e) {
542
542
  await this.apiError(e);
543
- await this.errorLog(`failed pushBrightnessChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
543
+ this.errorLog(`failed pushBrightnessChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
544
544
  }
545
545
  }
546
546
  else {
547
- await this.debugLog(`No changes (pushBrightnessChanges), Brightness: ${this.LightBulb.Brightness}, BrightnessCached: ${this.accessory.context.Brightness}`);
547
+ this.debugLog(`No changes (pushBrightnessChanges), Brightness: ${this.LightBulb.Brightness}, BrightnessCached: ${this.accessory.context.Brightness}`);
548
548
  }
549
549
  }
550
550
  /**
@@ -552,10 +552,10 @@ export class CeilingLight extends deviceBase {
552
552
  */
553
553
  async OnSet(value) {
554
554
  if (this.LightBulb.On !== this.accessory.context.On) {
555
- await this.infoLog(`Set On: ${value}`);
555
+ this.infoLog(`Set On: ${value}`);
556
556
  }
557
557
  else {
558
- await this.debugLog(`No Changes, Set On: ${value}`);
558
+ this.debugLog(`No Changes, Set On: ${value}`);
559
559
  }
560
560
  this.LightBulb.On = value;
561
561
  this.doCeilingLightUpdate.next();
@@ -565,7 +565,7 @@ export class CeilingLight extends deviceBase {
565
565
  */
566
566
  async BrightnessSet(value) {
567
567
  if (this.LightBulb.On && (this.LightBulb.Brightness !== this.accessory.context.Brightness)) {
568
- await this.infoLog(`Set Brightness: ${value}`);
568
+ this.infoLog(`Set Brightness: ${value}`);
569
569
  }
570
570
  else {
571
571
  if (this.LightBulb.On) {
@@ -662,21 +662,21 @@ export class CeilingLight extends deviceBase {
662
662
  async getAdaptiveLightingSettings(accessory, device) {
663
663
  // Adaptive Lighting
664
664
  this.adaptiveLighting = accessory.context.adaptiveLighting ?? true;
665
- await this.debugLog(`adaptiveLighting: ${this.adaptiveLighting}`);
665
+ this.debugLog(`adaptiveLighting: ${this.adaptiveLighting}`);
666
666
  // Adaptive Lighting Shift
667
667
  this.adaptiveLightingShift = device.adaptiveLightingShift ?? 0;
668
668
  this.debugLog(`adaptiveLightingShift: ${this.adaptiveLightingShift}`);
669
669
  }
670
670
  async BLEPushConnection() {
671
671
  if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
672
- await this.warnLog('Using OpenAPI Connection to Push Changes');
672
+ this.warnLog('Using OpenAPI Connection to Push Changes');
673
673
  await this.openAPIpushChanges();
674
674
  }
675
675
  }
676
676
  async BLERefreshConnection(switchbot) {
677
- await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${switchbot}`);
677
+ this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${switchbot}`);
678
678
  if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
679
- await this.warnLog('Using OpenAPI Connection to Refresh Status');
679
+ this.warnLog('Using OpenAPI Connection to Refresh Status');
680
680
  await this.openAPIRefreshStatus();
681
681
  }
682
682
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ceilinglight.js","sourceRoot":"","sources":["../../src/device/ceilinglight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ceilinglight.js","sourceRoot":"","sources":["../../src/device/ceilinglight.ts"],"names":[],"mappings":"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"}