node-switchbot 3.2.2-beta.0 → 3.2.2-beta.2

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 (58) hide show
  1. package/dist/advertising.d.ts +2 -2
  2. package/dist/advertising.d.ts.map +1 -1
  3. package/dist/advertising.js +17 -6
  4. package/dist/advertising.js.map +1 -1
  5. package/dist/device/woplugmini.d.ts +4 -19
  6. package/dist/device/woplugmini.d.ts.map +1 -1
  7. package/dist/device/woplugmini.js +6 -25
  8. package/dist/device/woplugmini.js.map +1 -1
  9. package/dist/device/woplugmini_jp.d.ts +52 -0
  10. package/dist/device/woplugmini_jp.d.ts.map +1 -0
  11. package/dist/device/woplugmini_jp.js +110 -0
  12. package/dist/device/woplugmini_jp.js.map +1 -0
  13. package/dist/device/wosensorth.d.ts +1 -4
  14. package/dist/device/wosensorth.d.ts.map +1 -1
  15. package/dist/device/wosensorth.js +5 -23
  16. package/dist/device/wosensorth.js.map +1 -1
  17. package/dist/device/wosensorthplus.d.ts +13 -0
  18. package/dist/device/wosensorthplus.d.ts.map +1 -0
  19. package/dist/device/wosensorthplus.js +38 -0
  20. package/dist/device/wosensorthplus.js.map +1 -0
  21. package/dist/device/wosensorthpro.d.ts +13 -0
  22. package/dist/device/wosensorthpro.d.ts.map +1 -0
  23. package/dist/device/wosensorthpro.js +38 -0
  24. package/dist/device/wosensorthpro.js.map +1 -0
  25. package/dist/device/wosensorthproco2.d.ts +13 -0
  26. package/dist/device/wosensorthproco2.d.ts.map +1 -0
  27. package/dist/device/wosensorthproco2.js +40 -0
  28. package/dist/device/wosensorthproco2.js.map +1 -0
  29. package/dist/switchbot-ble.d.ts.map +1 -1
  30. package/dist/switchbot-ble.js +11 -5
  31. package/dist/switchbot-ble.js.map +1 -1
  32. package/dist/test/woplugmini.test.js +5 -29
  33. package/dist/test/woplugmini.test.js.map +1 -1
  34. package/dist/test/woplugmini_jp.test.d.ts +2 -0
  35. package/dist/test/woplugmini_jp.test.d.ts.map +1 -0
  36. package/dist/test/woplugmini_jp.test.js +90 -0
  37. package/dist/test/woplugmini_jp.test.js.map +1 -0
  38. package/dist/test/wosensorth.test.js +0 -22
  39. package/dist/test/wosensorth.test.js.map +1 -1
  40. package/dist/test/wosensorthplus.test.d.ts +2 -0
  41. package/dist/test/wosensorthplus.test.d.ts.map +1 -0
  42. package/dist/test/wosensorthplus.test.js +29 -0
  43. package/dist/test/wosensorthplus.test.js.map +1 -0
  44. package/dist/test/wosensorthpro.test.d.ts +2 -0
  45. package/dist/test/wosensorthpro.test.d.ts.map +1 -0
  46. package/dist/test/wosensorthpro.test.js +29 -0
  47. package/dist/test/wosensorthpro.test.js.map +1 -0
  48. package/dist/test/wosensorthproco2.test.d.ts +2 -0
  49. package/dist/test/wosensorthproco2.test.d.ts.map +1 -0
  50. package/dist/test/wosensorthproco2.test.js +32 -0
  51. package/dist/test/wosensorthproco2.test.js.map +1 -0
  52. package/dist/types/bledevicestatus.d.ts +11 -7
  53. package/dist/types/bledevicestatus.d.ts.map +1 -1
  54. package/dist/types/types.d.ts +8 -3
  55. package/dist/types/types.d.ts.map +1 -1
  56. package/dist/types/types.js +3 -0
  57. package/dist/types/types.js.map +1 -1
  58. package/package.json +5 -2
@@ -0,0 +1,13 @@
1
+ import type { Buffer } from 'node:buffer';
2
+ import type { meterProCO2ServiceData } from '../types/bledevicestatus.js';
3
+ import type { NobleTypes } from '../types/types.js';
4
+ import { SwitchbotDevice } from '../device.js';
5
+ /**
6
+ * Class representing a WoSensorTH device.
7
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md
8
+ */
9
+ export declare class WoSensorTHProCO2 extends SwitchbotDevice {
10
+ constructor(peripheral: NobleTypes['peripheral'], noble: NobleTypes['noble']);
11
+ static parseServiceData(serviceData: Buffer, manufacturerData: Buffer, emitLog: (level: string, message: string) => void): Promise<meterProCO2ServiceData | null>;
12
+ }
13
+ //# sourceMappingURL=wosensorthproco2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthproco2.d.ts","sourceRoot":"","sources":["../../src/device/wosensorthproco2.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;gBACvC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;WAI/D,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAChD,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CA8B1C"}
@@ -0,0 +1,40 @@
1
+ import { SwitchbotDevice } from '../device.js';
2
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
3
+ /**
4
+ * Class representing a WoSensorTH device.
5
+ * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/meter.md
6
+ */
7
+ export class WoSensorTHProCO2 extends SwitchbotDevice {
8
+ constructor(peripheral, noble) {
9
+ super(peripheral, noble);
10
+ }
11
+ static async parseServiceData(serviceData, manufacturerData, emitLog) {
12
+ if (serviceData.length !== 7) {
13
+ emitLog('debugerror', `[parseServiceData] Buffer length ${serviceData.length} !== 7!`);
14
+ return null;
15
+ }
16
+ const [byte2, byte3, byte4, byte5, byte6] = [
17
+ serviceData.readUInt8(2),
18
+ serviceData.readUInt8(3),
19
+ serviceData.readUInt8(4),
20
+ serviceData.readUInt8(5),
21
+ manufacturerData.readUInt16BE(6),
22
+ ];
23
+ const tempSign = byte4 & 0b10000000 ? 1 : -1;
24
+ const tempC = tempSign * ((byte4 & 0b01111111) + (byte3 & 0b00001111) / 10);
25
+ const tempF = Math.round(((tempC * 9) / 5 + 32) * 10) / 10;
26
+ const data = {
27
+ model: SwitchBotBLEModel.MeterProCO2,
28
+ modelName: SwitchBotBLEModelName.MeterProCO2,
29
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterProCO2,
30
+ celsius: tempC,
31
+ fahrenheit: tempF,
32
+ fahrenheit_mode: !!(byte5 & 0b10000000),
33
+ humidity: byte5 & 0b01111111,
34
+ battery: byte2 & 0b01111111,
35
+ co2: byte6,
36
+ };
37
+ return data;
38
+ }
39
+ }
40
+ //# sourceMappingURL=wosensorthproco2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthproco2.js","sourceRoot":"","sources":["../../src/device/wosensorthproco2.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACnD,YAAY,UAAoC,EAAE,KAA0B;QAC1E,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,WAAmB,EACnB,gBAAwB,EACxB,OAAiD;QAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,YAAY,EAAE,oCAAoC,WAAW,CAAC,MAAM,SAAS,CAAC,CAAA;YACtF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG;YAC1C,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACxB,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;SACjC,CAAA;QACD,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QAE1D,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,WAAW;YACpC,SAAS,EAAE,qBAAqB,CAAC,WAAW;YAC5C,iBAAiB,EAAE,6BAA6B,CAAC,WAAW;YAC5D,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;YACvC,QAAQ,EAAE,KAAK,GAAG,UAAU;YAC5B,OAAO,EAAE,KAAK,GAAG,UAAU;YAC3B,GAAG,EAAE,KAAK;SACX,CAAA;QACD,OAAO,IAA8B,CAAA;IACvC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"switchbot-ble.d.ts","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,eAAe,EAAE,UAAU,EAAE,MAAM,EAAQ,MAAM,kBAAkB,CAAA;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAoB7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,KAAK,EAAE,GAAG,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,MAAM;IAK3B;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;;OAKG;YACW,UAAU;IAYxB;;;;;;OAMG;IACU,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrF;;;;OAIG;YACW,cAAc;IA4B5B;;;;OAIG;IACU,QAAQ,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAiEtE;;;;;;;OAOG;YACW,YAAY;IA6B1B;;;;;;;OAOG;YACW,QAAQ;IAatB;;;;;OAKG;IACU,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IActC;;;;;OAKG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO/C;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"switchbot-ble.d.ts","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,eAAe,EAAE,UAAU,EAAE,MAAM,EAAQ,MAAM,kBAAkB,CAAA;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAwB7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,KAAK,EAAE,GAAG,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,MAAM;IAK3B;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;;OAKG;YACW,UAAU;IAYxB;;;;;;OAMG;IACU,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrF;;;;OAIG;YACW,cAAc;IA4B5B;;;;OAIG;IACU,QAAQ,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAiEtE;;;;;;;OAOG;YACW,YAAY;IA+B1B;;;;;;;OAOG;YACW,QAAQ;IAatB;;;;;OAKG;IACU,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IActC;;;;;OAKG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO/C;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -10,9 +10,13 @@ import { WoHand } from './device/wohand.js';
10
10
  import { WoHub2 } from './device/wohub2.js';
11
11
  import { WoHumi } from './device/wohumi.js';
12
12
  import { WoIOSensorTH } from './device/woiosensorth.js';
13
- import { WoPlugMini } from './device/woplugmini.js';
13
+ import { WoPlugMiniUS } from './device/woplugmini.js';
14
+ import { WoPlugMiniJP } from './device/woplugmini_jp.js';
14
15
  import { WoPresence } from './device/wopresence.js';
15
16
  import { WoSensorTH } from './device/wosensorth.js';
17
+ import { WoSensorTHPlus } from './device/wosensorthplus.js';
18
+ import { WoSensorTHPro } from './device/wosensorthpro.js';
19
+ import { WoSensorTHProCO2 } from './device/wosensorthproco2.js';
16
20
  import { WoSmartLock } from './device/wosmartlock.js';
17
21
  import { WoSmartLockPro } from './device/wosmartlockpro.js';
18
22
  import { WoStrip } from './device/wostrip.js';
@@ -187,8 +191,10 @@ export class SwitchBotBLE extends EventEmitter {
187
191
  case SwitchBotBLEModel.Curtain:
188
192
  case SwitchBotBLEModel.Curtain3: return new WoCurtain(peripheral, this.noble);
189
193
  case SwitchBotBLEModel.Humidifier: return new WoHumi(peripheral, this.noble);
190
- case SwitchBotBLEModel.Meter:
191
- case SwitchBotBLEModel.MeterPlus: return new WoSensorTH(peripheral, this.noble);
194
+ case SwitchBotBLEModel.Meter: return new WoSensorTH(peripheral, this.noble);
195
+ case SwitchBotBLEModel.MeterPlus: return new WoSensorTHPlus(peripheral, this.noble);
196
+ case SwitchBotBLEModel.MeterPro: return new WoSensorTHPro(peripheral, this.noble);
197
+ case SwitchBotBLEModel.MeterProCO2: return new WoSensorTHProCO2(peripheral, this.noble);
192
198
  case SwitchBotBLEModel.Hub2: return new WoHub2(peripheral, this.noble);
193
199
  case SwitchBotBLEModel.OutdoorMeter: return new WoIOSensorTH(peripheral, this.noble);
194
200
  case SwitchBotBLEModel.MotionSensor: return new WoPresence(peripheral, this.noble);
@@ -197,8 +203,8 @@ export class SwitchBotBLE extends EventEmitter {
197
203
  case SwitchBotBLEModel.CeilingLight:
198
204
  case SwitchBotBLEModel.CeilingLightPro: return new WoCeilingLight(peripheral, this.noble);
199
205
  case SwitchBotBLEModel.StripLight: return new WoStrip(peripheral, this.noble);
200
- case SwitchBotBLEModel.PlugMiniUS:
201
- case SwitchBotBLEModel.PlugMiniJP: return new WoPlugMini(peripheral, this.noble);
206
+ case SwitchBotBLEModel.PlugMiniUS: return new WoPlugMiniUS(peripheral, this.noble);
207
+ case SwitchBotBLEModel.PlugMiniJP: return new WoPlugMiniJP(peripheral, this.noble);
202
208
  case SwitchBotBLEModel.Lock: return new WoSmartLock(peripheral, this.noble);
203
209
  case SwitchBotBLEModel.LockPro: return new WoSmartLockPro(peripheral, this.noble);
204
210
  case SwitchBotBLEModel.BlindTilt: return new WoBlindTilt(peripheral, this.noble);
@@ -1 +1 @@
1
- {"version":3,"file":"switchbot-ble.js","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switchbot-ble.js","sourceRoot":"","sources":["../src/switchbot-ble.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IACrC,KAAK,CAAe;IACpB,KAAK,CAAK;IACjB,UAAU,CAAa;IACvB,eAAe,CAAkB;IAEjC;;;;OAIG;IACH,YAAY,MAAe;QACzB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,OAAe;QAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,MAAe;QACtC,IAAI,CAAC;YACH,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAA;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,MAA+B;QACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAA8B,EAAE,MAA8B,EAAE,KAAK,CAAC,CAAA;QAC3G,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzF,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAM,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAA;QAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACpD,OAAM;QACR,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAA0B,EAAE,EAAE;gBAC7D,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,aAAa,CAAC;oBACnB,KAAK,cAAc,CAAC;oBACpB,KAAK,YAAY;wBACf,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC,CAAA;wBACpE,MAAK;oBACP,KAAK,WAAW,CAAC;oBACjB,KAAK,SAAS;wBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAA;wBACnD,MAAK;oBACP,KAAK,WAAW;wBACd,OAAO,EAAE,CAAA;wBACT,MAAK;oBACP;wBACE,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;YAClE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YAClF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACzD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,CAAC,GAAG;YACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,0BAA0B;YACvD,KAAK,EAAE,MAAM,CAAC,KAA0B,IAAI,EAAE;YAC9C,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;YACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;SACtB,CAAA;QAED,MAAM,WAAW,GAAoC,EAAE,CAAA;QACvD,IAAI,KAAqB,CAAA;QAEzB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;oBACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;gBACjE,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qCAAqC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC1F,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAoC,EAAE,EAAE;gBACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAA0B,CAAC,CAAA;gBACtF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAM;gBACR,CAAC;gBACD,WAAW,CAAC,MAAM,CAAC,EAAG,CAAC,GAAG,MAAM,CAAA;gBAEhC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzB,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,CAAC,MAAM,eAAe,EAAE,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,KAAK,CAAC;iBAC5D,IAAI,CAAC,GAAG,EAAE;gBACT,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC9E,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY,CAAC,UAAoC,EAAE,EAAY,EAAE,KAAwB;QACrG,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACnE,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3D,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC7B,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACrE,KAAK,iBAAiB,CAAC,OAAO,CAAC;gBAC/B,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7E,KAAK,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC5E,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3E,KAAK,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnF,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjF,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvF,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtE,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpF,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClF,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClF,KAAK,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3E,KAAK,iBAAiB,CAAC,YAAY,CAAC;gBACpC,KAAK,iBAAiB,CAAC,eAAe,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACzF,KAAK,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7E,KAAK,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClF,KAAK,iBAAiB,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClF,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3E,KAAK,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBACjF,KAAK,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;gBAChF,OAAO,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CAAC,EAAM,EAAE,EAAU,EAAE,KAAa;QACtD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YACpG,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE;QACxC,MAAM,IAAI,CAAC,KAAK,CAAA;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YAClF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;SAC1D,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAA;QAE5D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAoC,EAAE,EAAE;YACvE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACnE,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAA;YACpE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,IAAY;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import sinon from 'sinon';
3
3
  import { describe, expect, it } from 'vitest';
4
- import { WoPlugMini } from '../device/woplugmini.js';
4
+ import { WoPlugMiniUS } from '../device/woplugmini.js';
5
5
  import { SwitchBotBLEModel } from '../types/types.js';
6
6
  describe('woPlugMini', () => {
7
7
  let emitLog;
@@ -11,7 +11,7 @@ describe('woPlugMini', () => {
11
11
  describe('parseServiceData_US', () => {
12
12
  it('should parse valid service data for US model', async () => {
13
13
  const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0]);
14
- const result = await WoPlugMini.parseServiceData_US(manufacturerData, emitLog);
14
+ const result = await WoPlugMiniUS.parseServiceData(manufacturerData, emitLog);
15
15
  expect(result).toEqual({
16
16
  model: SwitchBotBLEModel.PlugMiniUS,
17
17
  modelName: 'PlugMini',
@@ -27,31 +27,7 @@ describe('woPlugMini', () => {
27
27
  });
28
28
  it('should return null for invalid service data length', async () => {
29
29
  const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
30
- const result = await WoPlugMini.parseServiceData_US(manufacturerData, emitLog);
31
- expect(result).toBeNull();
32
- expect(emitLog.calledWith('error', '[parseServiceDataForWoPlugMini] Buffer length 10 should be 14')).toBe(true);
33
- });
34
- });
35
- describe('parseServiceData_JP', () => {
36
- it('should parse valid service data for JP model', async () => {
37
- const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0]);
38
- const result = await WoPlugMini.parseServiceData_JP(manufacturerData, emitLog);
39
- expect(result).toEqual({
40
- model: SwitchBotBLEModel.PlugMiniJP,
41
- modelName: 'PlugMini',
42
- modelFriendlyName: 'PlugMini',
43
- state: 'on',
44
- delay: false,
45
- timer: false,
46
- syncUtcTime: false,
47
- wifiRssi: 0,
48
- overload: false,
49
- currentPower: 0,
50
- });
51
- });
52
- it('should return null for invalid service data length', async () => {
53
- const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
54
- const result = await WoPlugMini.parseServiceData_JP(manufacturerData, emitLog);
30
+ const result = await WoPlugMiniUS.parseServiceData(manufacturerData, emitLog);
55
31
  expect(result).toBeNull();
56
32
  expect(emitLog.calledWith('error', '[parseServiceDataForWoPlugMini] Buffer length 10 should be 14')).toBe(true);
57
33
  });
@@ -61,7 +37,7 @@ describe('woPlugMini', () => {
61
37
  let commandStub;
62
38
  beforeEach(() => {
63
39
  const peripheral = {};
64
- woPlugMini = new WoPlugMini(peripheral, emitLog);
40
+ woPlugMini = new WoPlugMiniUS(peripheral, emitLog);
65
41
  commandStub = sinon.stub(woPlugMini, 'command');
66
42
  });
67
43
  it('should return true when the plug is turned on', async () => {
@@ -88,7 +64,7 @@ describe('woPlugMini', () => {
88
64
  let setStateStub;
89
65
  beforeEach(() => {
90
66
  const peripheral = {};
91
- woPlugMini = new WoPlugMini(peripheral, emitLog);
67
+ woPlugMini = new WoPlugMiniUS(peripheral, emitLog);
92
68
  setStateStub = sinon.stub(woPlugMini, 'setState');
93
69
  });
94
70
  it('should turn on the plug', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"woplugmini.test.js","sourceRoot":"","sources":["../../src/test/woplugmini.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woplugmini.test.js","sourceRoot":"","sources":["../../src/test/woplugmini.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=woplugmini_jp.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woplugmini_jp.test.d.ts","sourceRoot":"","sources":["../../src/test/woplugmini_jp.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,90 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import sinon from 'sinon';
3
+ import { describe, expect, it } from 'vitest';
4
+ import { WoPlugMiniJP } from '../device/woplugmini_jp.js';
5
+ import { SwitchBotBLEModel } from '../types/types.js';
6
+ describe('woPlugMini', () => {
7
+ let emitLog;
8
+ beforeEach(() => {
9
+ emitLog = sinon.spy();
10
+ });
11
+ describe('parseServiceData', () => {
12
+ it('should parse valid service data for JP model', async () => {
13
+ const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0]);
14
+ const result = await WoPlugMiniJP.parseServiceData(manufacturerData, emitLog);
15
+ expect(result).toEqual({
16
+ model: SwitchBotBLEModel.PlugMiniJP,
17
+ modelName: 'PlugMini',
18
+ modelFriendlyName: 'PlugMini',
19
+ state: 'on',
20
+ delay: false,
21
+ timer: false,
22
+ syncUtcTime: false,
23
+ wifiRssi: 0,
24
+ overload: false,
25
+ currentPower: 0,
26
+ });
27
+ });
28
+ it('should return null for invalid service data length', async () => {
29
+ const manufacturerData = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
30
+ const result = await WoPlugMiniJP.parseServiceData(manufacturerData, emitLog);
31
+ expect(result).toBeNull();
32
+ expect(emitLog.calledWith('error', '[parseServiceDataForWoPlugMini] Buffer length 10 should be 14')).toBe(true);
33
+ });
34
+ });
35
+ describe('operatePlug', () => {
36
+ let woPlugMini;
37
+ let commandStub;
38
+ beforeEach(() => {
39
+ const peripheral = {};
40
+ woPlugMini = new WoPlugMiniJP(peripheral, emitLog);
41
+ commandStub = sinon.stub(woPlugMini, 'command');
42
+ });
43
+ it('should return true when the plug is turned on', async () => {
44
+ commandStub.resolves([0x57, 0x80]);
45
+ const result = await woPlugMini.operatePlug([0x57, 0x0F, 0x51, 0x01]);
46
+ expect(result).toBe(true);
47
+ });
48
+ it('should return false when the plug is turned off', async () => {
49
+ commandStub.resolves([0x57, 0x00]);
50
+ const result = await woPlugMini.operatePlug([0x57, 0x0F, 0x51, 0x01]);
51
+ expect(result).toBe(false);
52
+ });
53
+ it('should throw an error for invalid response length', async () => {
54
+ commandStub.resolves([0x57]);
55
+ await expect(woPlugMini.operatePlug([0x57, 0x0F, 0x51, 0x01])).rejects.toThrow('Expecting a 2-byte response, got instead: 0x57');
56
+ });
57
+ it('should throw an error for invalid response code', async () => {
58
+ commandStub.resolves([0x57, 0x01]);
59
+ await expect(woPlugMini.operatePlug([0x57, 0x0F, 0x51, 0x01])).rejects.toThrow('The device returned an error: 0x5701');
60
+ });
61
+ });
62
+ describe('state operations', () => {
63
+ let woPlugMini;
64
+ let setStateStub;
65
+ beforeEach(() => {
66
+ const peripheral = {};
67
+ woPlugMini = new WoPlugMiniJP(peripheral, emitLog);
68
+ setStateStub = sinon.stub(woPlugMini, 'setState');
69
+ });
70
+ it('should turn on the plug', async () => {
71
+ setStateStub.resolves(true);
72
+ const result = await woPlugMini.turnOn();
73
+ expect(result).toBe(true);
74
+ expect(setStateStub.calledWith([0x01, 0x80])).toBe(true);
75
+ });
76
+ it('should turn off the plug', async () => {
77
+ setStateStub.resolves(false);
78
+ const result = await woPlugMini.turnOff();
79
+ expect(result).toBe(false);
80
+ expect(setStateStub.calledWith([0x01, 0x00])).toBe(true);
81
+ });
82
+ it('should toggle the plug state', async () => {
83
+ setStateStub.resolves(true);
84
+ const result = await woPlugMini.toggle();
85
+ expect(result).toBe(true);
86
+ expect(setStateStub.calledWith([0x02, 0x80])).toBe(true);
87
+ });
88
+ });
89
+ });
90
+ //# sourceMappingURL=woplugmini_jp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woplugmini_jp.test.js","sourceRoot":"","sources":["../../src/test/woplugmini_jp.test.ts"],"names":[],"mappings":"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"}
@@ -25,27 +25,5 @@ describe('woSensorTH', () => {
25
25
  });
26
26
  });
27
27
  });
28
- describe('parseServiceData_Plus', () => {
29
- it('should return null if buffer length is not 6', async () => {
30
- const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05]);
31
- const result = await WoSensorTH.parseServiceData_Plus(serviceData, emitLog);
32
- expect(result).toBeNull();
33
- expect(emitLog).toHaveBeenCalledWith('error', '[parseServiceDataForWoSensorTHPlus] Buffer length 5 !== 6!');
34
- });
35
- it('should parse valid service data correctly', async () => {
36
- const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05, 0x06]);
37
- const result = await WoSensorTH.parseServiceData_Plus(serviceData, emitLog);
38
- expect(result).toEqual({
39
- model: SwitchBotBLEModel.MeterPlus,
40
- modelName: SwitchBotBLEModelName.MeterPlus,
41
- modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPlus,
42
- celsius: -0.4,
43
- fahrenheit: 31.3,
44
- fahrenheit_mode: false,
45
- humidity: 6,
46
- battery: 2,
47
- });
48
- });
49
- });
50
28
  });
51
29
  //# sourceMappingURL=wosensorth.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wosensorth.test.js","sourceRoot":"","sources":["../../src/test/wosensorth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wosensorth.test.js","sourceRoot":"","sources":["../../src/test/wosensorth.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACtE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAA;QACzG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,iBAAiB,CAAC,KAAK;gBAC9B,SAAS,EAAE,qBAAqB,CAAC,KAAK;gBACtC,iBAAiB,EAAE,6BAA6B,CAAC,KAAK;gBACtD,OAAO,EAAE,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wosensorthplus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthplus.test.d.ts","sourceRoot":"","sources":["../../src/test/wosensorthplus.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { WoSensorTHPlus } from '../device/wosensorthplus.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
4
+ describe('woSensorTH', () => {
5
+ const emitLog = jest.fn();
6
+ describe('parseServiceData', () => {
7
+ it('should return null if buffer length is not 6', async () => {
8
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05]);
9
+ const result = await WoSensorTHPlus.parseServiceData(serviceData, emitLog);
10
+ expect(result).toBeNull();
11
+ expect(emitLog).toHaveBeenCalledWith('error', '[parseServiceDataForWoSensorTH] Buffer length 5 !== 6!');
12
+ });
13
+ it('should parse valid service data correctly', async () => {
14
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05, 0x06]);
15
+ const result = await WoSensorTHPlus.parseServiceData(serviceData, emitLog);
16
+ expect(result).toEqual({
17
+ model: SwitchBotBLEModel.MeterPlus,
18
+ modelName: SwitchBotBLEModelName.MeterPlus,
19
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPlus,
20
+ celsius: -0.4,
21
+ fahrenheit: 31.3,
22
+ fahrenheit_mode: false,
23
+ humidity: 6,
24
+ battery: 2,
25
+ });
26
+ });
27
+ });
28
+ });
29
+ //# sourceMappingURL=wosensorthplus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthplus.test.js","sourceRoot":"","sources":["../../src/test/wosensorthplus.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAA;QACzG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,iBAAiB,CAAC,SAAS;gBAClC,SAAS,EAAE,qBAAqB,CAAC,SAAS;gBAC1C,iBAAiB,EAAE,6BAA6B,CAAC,SAAS;gBAC1D,OAAO,EAAE,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wosensorthpro.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthpro.test.d.ts","sourceRoot":"","sources":["../../src/test/wosensorthpro.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { WoSensorTHPro } from '../device/wosensorthpro.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
4
+ describe('woSensorTH', () => {
5
+ const emitLog = jest.fn();
6
+ describe('parseServiceData', () => {
7
+ it('should return null if buffer length is not 6', async () => {
8
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05]);
9
+ const result = await WoSensorTHPro.parseServiceData(serviceData, emitLog);
10
+ expect(result).toBeNull();
11
+ expect(emitLog).toHaveBeenCalledWith('error', '[parseServiceDataForWoSensorTH] Buffer length 5 !== 6!');
12
+ });
13
+ it('should parse valid service data correctly', async () => {
14
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05, 0x06]);
15
+ const result = await WoSensorTHPro.parseServiceData(serviceData, emitLog);
16
+ expect(result).toEqual({
17
+ model: SwitchBotBLEModel.MeterPro,
18
+ modelName: SwitchBotBLEModelName.MeterPro,
19
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPro,
20
+ celsius: -0.4,
21
+ fahrenheit: 31.3,
22
+ fahrenheit_mode: false,
23
+ humidity: 6,
24
+ battery: 2,
25
+ });
26
+ });
27
+ });
28
+ });
29
+ //# sourceMappingURL=wosensorthpro.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthpro.test.js","sourceRoot":"","sources":["../../src/test/wosensorthpro.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAA;QACzG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,iBAAiB,CAAC,QAAQ;gBACjC,SAAS,EAAE,qBAAqB,CAAC,QAAQ;gBACzC,iBAAiB,EAAE,6BAA6B,CAAC,QAAQ;gBACzD,OAAO,EAAE,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wosensorthproco2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthproco2.test.d.ts","sourceRoot":"","sources":["../../src/test/wosensorthproco2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { WoSensorTHProCO2 } from '../device/wosensorthproco2.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
4
+ describe('woSensorTH', () => {
5
+ const emitLog = jest.fn();
6
+ describe('parseServiceData', () => {
7
+ it('should return null if buffer length is not 7', async () => {
8
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05]);
9
+ const manufacturerData = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x06]);
10
+ const result = await WoSensorTHProCO2.parseServiceData(serviceData, manufacturerData, emitLog);
11
+ expect(result).toBeNull();
12
+ expect(emitLog).toHaveBeenCalledWith('error', '[parseServiceDataForWoSensorTHProCO2] Buffer length !== 7!');
13
+ });
14
+ it('should parse valid service data correctly', async () => {
15
+ const serviceData = Buffer.from([0x01, 0x02, 0x03, 0x04, 0x05, 0x06]);
16
+ const manufacturerData = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x06]);
17
+ const result = await WoSensorTHProCO2.parseServiceData(serviceData, manufacturerData, emitLog);
18
+ expect(result).toEqual({
19
+ model: SwitchBotBLEModel.MeterProCO2,
20
+ modelName: SwitchBotBLEModelName.MeterProCO2,
21
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterProCO2,
22
+ celsius: -0.4,
23
+ fahrenheit: 31.3,
24
+ fahrenheit_mode: false,
25
+ humidity: 6,
26
+ battery: 2,
27
+ co2: 5,
28
+ });
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=wosensorthproco2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wosensorthproco2.test.js","sourceRoot":"","sources":["../../src/test/wosensorthproco2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;YAC9F,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAA;QAC7G,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAA;YAC9F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,iBAAiB,CAAC,WAAW;gBACpC,SAAS,EAAE,qBAAqB,CAAC,WAAW;gBAC5C,iBAAiB,EAAE,6BAA6B,CAAC,WAAW;gBAC5D,OAAO,EAAE,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,KAAK;gBACtB,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,CAAC;aACP,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -8,12 +8,6 @@ export interface switchbot {
8
8
  }) => Promise<any>;
9
9
  wait: (arg0: number) => any;
10
10
  }
11
- export interface ad {
12
- id: string;
13
- address: string;
14
- rssi: number;
15
- serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData | lockProServiceData | meterServiceData | meterPlusServiceData | meterProServiceData | motionSensorServiceData | outdoorMeterServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData | hub2ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | robotVacuumCleanerServiceData;
16
- }
17
11
  interface serviceData {
18
12
  model: SwitchBotBLEModel;
19
13
  modelName: SwitchBotBLEModelName;
@@ -155,6 +149,16 @@ export type meterProServiceData = serviceData & {
155
149
  humidity: number;
156
150
  battery: number;
157
151
  };
152
+ export type meterProCO2ServiceData = serviceData & {
153
+ model: SwitchBotBLEModel.MeterProCO2;
154
+ modelName: SwitchBotBLEModelName.MeterProCO2;
155
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterProCO2;
156
+ celsius: number;
157
+ fahrenheit: number;
158
+ fahrenheit_mode: boolean;
159
+ humidity: number;
160
+ battery: number;
161
+ };
158
162
  export type outdoorMeterServiceData = serviceData & {
159
163
  model: SwitchBotBLEModel.OutdoorMeter;
160
164
  modelName: SwitchBotBLEModelName.OutdoorMeter;
@@ -191,7 +195,7 @@ export type plugMiniUSServiceData = serviceData & {
191
195
  currentPower: number;
192
196
  };
193
197
  export type plugMiniJPServiceData = serviceData & {
194
- model: SwitchBotBLEModel.PlugMiniUS;
198
+ model: SwitchBotBLEModel.PlugMiniJP;
195
199
  modelName: SwitchBotBLEModelName.PlugMini;
196
200
  modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini;
197
201
  state: string;