@switchbot/homebridge-switchbot 1.14.3-beta.0 → 1.14.3-beta.1

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.
@@ -53,7 +53,7 @@ export declare class Plug {
53
53
  pushChanges(): Promise<void>;
54
54
  BLEpushChanges(): Promise<void>;
55
55
  turnOnOff(device_list: any): Promise<any>;
56
- private openAPIpushChanges;
56
+ openAPIpushChanges(): Promise<void>;
57
57
  updateHomeKitCharacteristics(): Promise<void>;
58
58
  apiError(e: any): Promise<void>;
59
59
  statusCode(push: AxiosResponse<{
@@ -63,7 +63,7 @@ export declare class Plug {
63
63
  /**
64
64
  * Handle requests to set the value of the "On" characteristic
65
65
  */
66
- OnSet(value: CharacteristicValue): Promise<void>;
66
+ handleOnSet(value: CharacteristicValue): Promise<void>;
67
67
  model(device: device & devicesConfig): string;
68
68
  retry({ max, fn }: {
69
69
  max: number;
@@ -1 +1 @@
1
- {"version":3,"file":"plug.d.ts","sourceRoot":"","sources":["../../src/device/plug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plug.d.ts","sourceRoot":"","sources":["../../src/device/plug.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ class Plug {
47
47
  // each service must implement at-minimum the "required characteristics" for the given service type
48
48
  // see https://developers.homebridge.io/#/service/Outlet
49
49
  // create handlers for required characteristics
50
- this.outletService.getCharacteristic(this.platform.Characteristic.On).onSet(this.OnSet.bind(this));
50
+ this.outletService.getCharacteristic(this.platform.Characteristic.On).onSet(this.handleOnSet.bind(this));
51
51
  // Update Homekit
52
52
  this.updateHomeKitCharacteristics();
53
53
  // Start an update interval
@@ -270,7 +270,10 @@ class Plug {
270
270
  .toLowerCase();
271
271
  this.debugLog(`Plug: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
272
272
  switchbot
273
- .discover({ model: this.BLEmodel, quick: true, id: this.device.bleMac })
273
+ .discover({
274
+ model: this.BLEmodel(),
275
+ id: this.device.bleMac,
276
+ })
274
277
  .then((device_list) => {
275
278
  this.infoLog(`Bot: ${this.accessory.displayName} On: ${this.On}`);
276
279
  return this.turnOnOff(device_list);
@@ -280,10 +283,6 @@ class Plug {
280
283
  this.On = false;
281
284
  this.OnCached = this.On;
282
285
  this.accessory.context.On = this.OnCached;
283
- setTimeout(() => {
284
- this.outletService?.getCharacteristic(this.platform.Characteristic.On).updateValue(this.On);
285
- this.debugLog(`Plug: ${this.accessory.displayName} On: ${this.On}, Switch Timeout`);
286
- }, 500);
287
286
  })
288
287
  .catch(async (e) => {
289
288
  this.errorLog(`Plug: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
@@ -316,31 +315,34 @@ class Plug {
316
315
  });
317
316
  }
318
317
  async openAPIpushChanges() {
319
- if (this.On !== this.OnCached) {
320
- const payload = {
321
- commandType: 'command',
322
- parameter: 'default',
323
- };
324
- if (this.On) {
325
- payload.command = 'turnOn';
326
- }
327
- else {
328
- payload.command = 'turnOff';
318
+ if (this.platform.config.credentials?.openToken) {
319
+ if (this.On !== this.OnCached) {
320
+ this.debugLog(`Bot: ${this.accessory.displayName} OpenAPI pushChanges`);
321
+ const payload = {
322
+ commandType: 'command',
323
+ parameter: 'default',
324
+ };
325
+ if (this.On) {
326
+ payload.command = 'turnOn';
327
+ }
328
+ else {
329
+ payload.command = 'turnOff';
330
+ }
331
+ this.infoLog(`Plug: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
332
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
333
+ // Make the API request
334
+ const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
335
+ this.debugLog(`Plug: ${this.accessory.displayName} pushchanges: ${JSON.stringify(push.data)}`);
336
+ this.statusCode(push);
337
+ this.OnCached = this.On;
338
+ this.accessory.context.On = this.OnCached;
329
339
  }
330
- this.infoLog(`Plug: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
331
- ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
332
- // Make the API request
333
- const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
334
- this.debugLog(`Plug: ${this.accessory.displayName} pushchanges: ${JSON.stringify(push.data)}`);
335
- this.statusCode(push);
336
- this.OnCached = this.On;
337
- this.accessory.context.On = this.OnCached;
340
+ (0, rxjs_1.interval)(5000)
341
+ .pipe((0, operators_1.take)(1))
342
+ .subscribe(async () => {
343
+ await this.refreshStatus();
344
+ });
338
345
  }
339
- (0, rxjs_1.interval)(5000)
340
- .pipe((0, operators_1.take)(1))
341
- .subscribe(async () => {
342
- await this.refreshStatus();
343
- });
344
346
  }
345
347
  async updateHomeKitCharacteristics() {
346
348
  if (this.On === undefined) {
@@ -394,7 +396,7 @@ class Plug {
394
396
  /**
395
397
  * Handle requests to set the value of the "On" characteristic
396
398
  */
397
- async OnSet(value) {
399
+ async handleOnSet(value) {
398
400
  this.debugLog(`Plug: ${this.accessory.displayName} - Set On: ${value}`);
399
401
  this.On = value;
400
402
  this.doPlugUpdate.next();
@@ -1 +1 @@
1
- {"version":3,"file":"plug.js","sourceRoot":"","sources":["../../src/device/plug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plug.js","sourceRoot":"","sources":["../../src/device/plug.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge SwitchBot",
3
3
  "name": "@switchbot/homebridge-switchbot",
4
- "version": "1.14.3-beta.0",
4
+ "version": "1.14.3-beta.1",
5
5
  "description": "The [Homebridge](https://homebridge.io) SwitchBot plugin allows you to access your [SwitchBot](https://www.switch-bot.com) device(s) from HomeKit.",
6
6
  "author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
7
7
  "license": "ISC",
@@ -87,7 +87,7 @@ export class Plug {
87
87
  // see https://developers.homebridge.io/#/service/Outlet
88
88
 
89
89
  // create handlers for required characteristics
90
- this.outletService.getCharacteristic(this.platform.Characteristic.On).onSet(this.OnSet.bind(this));
90
+ this.outletService.getCharacteristic(this.platform.Characteristic.On).onSet(this.handleOnSet.bind(this));
91
91
 
92
92
  // Update Homekit
93
93
  this.updateHomeKitCharacteristics();
@@ -326,7 +326,10 @@ export class Plug {
326
326
  .toLowerCase();
327
327
  this.debugLog(`Plug: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
328
328
  switchbot
329
- .discover({ model: this.BLEmodel, quick: true, id: this.device.bleMac })
329
+ .discover({
330
+ model: this.BLEmodel(),
331
+ id: this.device.bleMac,
332
+ })
330
333
  .then((device_list: any) => {
331
334
  this.infoLog(`Bot: ${this.accessory.displayName} On: ${this.On}`);
332
335
  return this.turnOnOff(device_list);
@@ -336,10 +339,6 @@ export class Plug {
336
339
  this.On = false;
337
340
  this.OnCached = this.On;
338
341
  this.accessory.context.On = this.OnCached;
339
- setTimeout(() => {
340
- this.outletService?.getCharacteristic(this.platform.Characteristic.On).updateValue(this.On);
341
- this.debugLog(`Plug: ${this.accessory.displayName} On: ${this.On}, Switch Timeout`);
342
- }, 500);
343
342
  })
344
343
  .catch(async (e: any) => {
345
344
  this.errorLog(`Plug: ${this.accessory.displayName} failed pushChanges with BLE Connection`);
@@ -374,36 +373,39 @@ export class Plug {
374
373
  });
375
374
  }
376
375
 
377
- private async openAPIpushChanges() {
378
- if (this.On !== this.OnCached) {
379
- const payload = {
380
- commandType: 'command',
381
- parameter: 'default',
382
- } as payload;
376
+ async openAPIpushChanges() {
377
+ if (this.platform.config.credentials?.openToken) {
378
+ if (this.On !== this.OnCached) {
379
+ this.debugLog(`Bot: ${this.accessory.displayName} OpenAPI pushChanges`);
380
+ const payload = {
381
+ commandType: 'command',
382
+ parameter: 'default',
383
+ } as payload;
383
384
 
384
- if (this.On) {
385
- payload.command = 'turnOn';
386
- } else {
387
- payload.command = 'turnOff';
388
- }
385
+ if (this.On) {
386
+ payload.command = 'turnOn';
387
+ } else {
388
+ payload.command = 'turnOff';
389
+ }
389
390
 
390
- this.infoLog(
391
- `Plug: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
392
- ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`,
393
- );
391
+ this.infoLog(
392
+ `Plug: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
393
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`,
394
+ );
394
395
 
395
- // Make the API request
396
- const push: any = await this.platform.axios.post(`${DeviceURL}/${this.device.deviceId}/commands`, payload);
397
- this.debugLog(`Plug: ${this.accessory.displayName} pushchanges: ${JSON.stringify(push.data)}`);
398
- this.statusCode(push);
399
- this.OnCached = this.On;
400
- this.accessory.context.On = this.OnCached;
396
+ // Make the API request
397
+ const push: any = await this.platform.axios.post(`${DeviceURL}/${this.device.deviceId}/commands`, payload);
398
+ this.debugLog(`Plug: ${this.accessory.displayName} pushchanges: ${JSON.stringify(push.data)}`);
399
+ this.statusCode(push);
400
+ this.OnCached = this.On;
401
+ this.accessory.context.On = this.OnCached;
402
+ }
403
+ interval(5000)
404
+ .pipe(take(1))
405
+ .subscribe(async () => {
406
+ await this.refreshStatus();
407
+ });
401
408
  }
402
- interval(5000)
403
- .pipe(take(1))
404
- .subscribe(async () => {
405
- await this.refreshStatus();
406
- });
407
409
  }
408
410
 
409
411
  async updateHomeKitCharacteristics(): Promise<void> {
@@ -463,7 +465,7 @@ export class Plug {
463
465
  /**
464
466
  * Handle requests to set the value of the "On" characteristic
465
467
  */
466
- async OnSet(value: CharacteristicValue): Promise<void> {
468
+ async handleOnSet(value: CharacteristicValue): Promise<void> {
467
469
  this.debugLog(`Plug: ${this.accessory.displayName} - Set On: ${value}`);
468
470
 
469
471
  this.On = value;