node-switchbot 2.0.2-beta.7 → 2.0.2-beta.9

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 (60) hide show
  1. package/dist/advertising.d.ts +2 -2
  2. package/dist/advertising.d.ts.map +1 -1
  3. package/dist/advertising.js +61 -65
  4. package/dist/advertising.js.map +1 -1
  5. package/dist/device/woblindtilt.d.ts +9 -9
  6. package/dist/device/woblindtilt.d.ts.map +1 -1
  7. package/dist/device/woblindtilt.js +24 -24
  8. package/dist/device/woblindtilt.js.map +1 -1
  9. package/dist/device/wobulb.d.ts +16 -16
  10. package/dist/device/wobulb.d.ts.map +1 -1
  11. package/dist/device/wobulb.js +47 -47
  12. package/dist/device/wobulb.js.map +1 -1
  13. package/dist/device/wocontact.d.ts +12 -13
  14. package/dist/device/wocontact.d.ts.map +1 -1
  15. package/dist/device/wocontact.js +36 -37
  16. package/dist/device/wocontact.js.map +1 -1
  17. package/dist/device/wocurtain.d.ts +10 -10
  18. package/dist/device/wocurtain.d.ts.map +1 -1
  19. package/dist/device/wocurtain.js +29 -29
  20. package/dist/device/wocurtain.js.map +1 -1
  21. package/dist/device/wohand.d.ts +7 -7
  22. package/dist/device/wohand.d.ts.map +1 -1
  23. package/dist/device/wohand.js +20 -20
  24. package/dist/device/wohand.js.map +1 -1
  25. package/dist/device/wohumi.d.ts +7 -7
  26. package/dist/device/wohumi.d.ts.map +1 -1
  27. package/dist/device/wohumi.js +20 -20
  28. package/dist/device/wohumi.js.map +1 -1
  29. package/dist/device/woiosensorth.d.ts +11 -11
  30. package/dist/device/woiosensorth.d.ts.map +1 -1
  31. package/dist/device/woiosensorth.js +32 -32
  32. package/dist/device/woiosensorth.js.map +1 -1
  33. package/dist/device/woplugmini.d.ts +22 -22
  34. package/dist/device/woplugmini.d.ts.map +1 -1
  35. package/dist/device/woplugmini.js +66 -66
  36. package/dist/device/woplugmini.js.map +1 -1
  37. package/dist/device/wopresence.d.ts +12 -12
  38. package/dist/device/wopresence.d.ts.map +1 -1
  39. package/dist/device/wopresence.js +31 -31
  40. package/dist/device/wopresence.js.map +1 -1
  41. package/dist/device/wosensorth.d.ts +22 -22
  42. package/dist/device/wosensorth.d.ts.map +1 -1
  43. package/dist/device/wosensorth.js +51 -51
  44. package/dist/device/wosensorth.js.map +1 -1
  45. package/dist/device/wosmartlock.d.ts +13 -13
  46. package/dist/device/wosmartlock.d.ts.map +1 -1
  47. package/dist/device/wosmartlock.js +42 -42
  48. package/dist/device/wosmartlock.js.map +1 -1
  49. package/dist/device/wostrip.d.ts +15 -15
  50. package/dist/device/wostrip.d.ts.map +1 -1
  51. package/dist/device/wostrip.js +43 -43
  52. package/dist/device/wostrip.js.map +1 -1
  53. package/dist/device.d.ts.map +1 -1
  54. package/dist/device.js +5 -7
  55. package/dist/device.js.map +1 -1
  56. package/dist/switchbot.d.ts +1 -1
  57. package/dist/switchbot.d.ts.map +1 -1
  58. package/dist/switchbot.js +5 -6
  59. package/dist/switchbot.js.map +1 -1
  60. package/package.json +1 -1
@@ -7,11 +7,11 @@ export declare class Advertising {
7
7
  * @param onlog - The logging function.
8
8
  * @returns The parsed data of the peripheral device.
9
9
  */
10
- static parse(peripheral: any, onlog?: any): Promise<{
10
+ static parse(peripheral: any, onlog?: any): {
11
11
  id: any;
12
12
  address: any;
13
13
  rssi: any;
14
14
  serviceData: any;
15
- } | null>;
15
+ } | null;
16
16
  }
17
17
  //# sourceMappingURL=advertising.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAiBA,qBAAa,WAAW;;IA6DtB;;;;;;OAMG;WACU,KAAK,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,KAAA;;;;;;CAmHtC"}
1
+ {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAeA,qBAAa,WAAW;;IA6DtB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,KAAA;;;;;;CAmGhC"}
@@ -1,18 +1,16 @@
1
1
  import { Buffer } from 'buffer';
2
- import { parseServiceDataForWoHand } from './device/wohand.js';
3
- import { parseServiceDataForWoSensorTH } from './device/wosensorth.js';
4
- import { parseServiceDataForWoHumi } from './device/wohumi.js';
5
- import { parseServiceDataForWoPresence } from './device/wopresence.js';
6
- import { parseServiceDataForWoContact } from './device/wocontact.js';
7
- import { parseServiceDataForWoCurtain } from './device/wocurtain.js';
8
- import { parseServiceDataForWoBlindTilt } from './device/woblindtilt.js';
9
- import { parseServiceDataForWoBulb } from './device/wobulb.js';
10
- import { parseServiceDataForWoPlugMiniUS } from './device/woplugmini.js';
11
- import { parseServiceDataForWoPlugMiniJP } from './device/woplugmini.js';
12
- import { parseServiceDataForWoSmartLock } from './device/wosmartlock.js';
13
- import { parseServiceDataForWoSensorTHPlus } from './device/wosensorth.js';
14
- import { parseServiceDataForWoStrip } from './device/wostrip.js';
15
- import { parseServiceDataForWoIOSensorTH } from './device/woiosensorth.js';
2
+ import { WoHand } from './device/wohand.js';
3
+ import { WoCurtain } from './device/wocurtain.js';
4
+ import { WoBlindTilt } from './device/woblindtilt.js';
5
+ import { WoPresence } from './device/wopresence.js';
6
+ import { WoContact } from './device/wocontact.js';
7
+ import { WoSensorTH } from './device/wosensorth.js';
8
+ import { WoIOSensorTH } from './device/woiosensorth.js';
9
+ import { WoHumi } from './device/wohumi.js';
10
+ import { WoPlugMini } from './device/woplugmini.js';
11
+ import { WoBulb } from './device/wobulb.js';
12
+ import { WoStrip } from './device/wostrip.js';
13
+ import { WoSmartLock } from './device/wosmartlock.js';
16
14
  export class Advertising {
17
15
  constructor() { }
18
16
  /* ------------------------------------------------------------------
@@ -79,7 +77,7 @@ export class Advertising {
79
77
  * @param onlog - The logging function.
80
78
  * @returns The parsed data of the peripheral device.
81
79
  */
82
- static async parse(peripheral, onlog) {
80
+ static parse(peripheral, onlog) {
83
81
  const ad = peripheral.advertisement;
84
82
  if (!ad || !ad.serviceData) {
85
83
  return null;
@@ -94,57 +92,55 @@ export class Advertising {
94
92
  if (bufIsInvalid || manufacturerDataIsInvalid) {
95
93
  return null;
96
94
  }
97
- const model = buf.subarray(0, 1).toString('utf8');
95
+ const model = buf.slice(0, 1).toString('utf8');
98
96
  let sd;
99
- switch (model) {
100
- case 'H':
101
- sd = await parseServiceDataForWoHand(buf, onlog); //WoHand
102
- break;
103
- case 'T':
104
- sd = await parseServiceDataForWoSensorTH(buf, onlog); //WoSensorTH
105
- break;
106
- case 'e':
107
- sd = await parseServiceDataForWoHumi(buf, onlog); //WoHumi
108
- break;
109
- case 's':
110
- sd = await parseServiceDataForWoPresence(buf, onlog); //WoPresence
111
- break;
112
- case 'd':
113
- sd = await parseServiceDataForWoContact(buf, onlog); //WoContact
114
- break;
115
- case 'c':
116
- case '{':
117
- sd = await parseServiceDataForWoCurtain(buf, onlog); // WoCurtain
118
- break;
119
- case 'x':
120
- sd = await parseServiceDataForWoBlindTilt(manufacturerData, onlog); // WoBlindTilt
121
- break;
122
- case 'u':
123
- sd = await parseServiceDataForWoBulb(manufacturerData, onlog); // WoBulb
124
- break;
125
- case 'g':
126
- sd = await parseServiceDataForWoPlugMiniUS(manufacturerData, onlog); // WoPlugMini (US)
127
- break;
128
- case 'j':
129
- sd = await parseServiceDataForWoPlugMiniJP(manufacturerData, onlog); // WoPlugMini (JP)
130
- break;
131
- case 'o':
132
- sd = await parseServiceDataForWoSmartLock(manufacturerData, onlog); // WoSmartLock
133
- break;
134
- case 'i':
135
- sd = await parseServiceDataForWoSensorTHPlus(buf, onlog); // WoMeterPlus
136
- break;
137
- case 'r':
138
- sd = await parseServiceDataForWoStrip(buf, onlog); // WoStrip
139
- break;
140
- case 'w':
141
- sd = await parseServiceDataForWoIOSensorTH(buf, manufacturerData, onlog); // Indoor/Outdoor Thermo-Hygrometer
142
- break;
143
- default:
144
- if (onlog && typeof onlog === 'function') {
145
- onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
146
- }
147
- return null;
97
+ if (model === 'H') {
98
+ sd = WoHand.parseServiceData(buf, onlog); //WoHand
99
+ }
100
+ else if (model === 'T') {
101
+ sd = WoSensorTH.parseServiceData(buf, onlog); //WoSensorTH
102
+ }
103
+ else if (model === 'e') {
104
+ sd = WoHumi.parseServiceData(buf, onlog); //WoHumi
105
+ }
106
+ else if (model === 's') {
107
+ sd = WoPresence.parseServiceData(buf, onlog); //WoPresence
108
+ }
109
+ else if (model === 'd') {
110
+ sd = WoContact.parseServiceData(buf, onlog); //WoContact
111
+ }
112
+ else if (model === 'c' || model === '{') {
113
+ sd = WoCurtain.parseServiceData(buf, onlog); // WoCurtain
114
+ }
115
+ else if (model === 'x') {
116
+ sd = WoBlindTilt.parseServiceData(buf, onlog); // WoBlindTilt
117
+ }
118
+ else if (model === 'u') {
119
+ sd = WoBulb.parseServiceData(manufacturerData, onlog); // WoBulb
120
+ }
121
+ else if (model === 'g') {
122
+ sd = WoPlugMini.parseServiceData_US(manufacturerData, onlog); // WoPlugMini (US)
123
+ }
124
+ else if (model === 'j') {
125
+ sd = WoPlugMini.parseServiceData_JP(manufacturerData, onlog); // WoPlugMini (JP)
126
+ }
127
+ else if (model === 'o') {
128
+ sd = WoSmartLock.parseServiceData(manufacturerData, onlog); // WoSmartLock
129
+ }
130
+ else if (model === 'i') {
131
+ sd = WoSensorTH.parseServiceData_Plus(buf, onlog); // WoMeterPlus
132
+ }
133
+ else if (model === 'r') {
134
+ sd = WoStrip.parseServiceData(buf, onlog); // WoStrip
135
+ }
136
+ else if (model === 'w') {
137
+ sd = WoIOSensorTH.parseServiceData(buf, manufacturerData, onlog); // Indoor/Outdoor Thermo-Hygrometer
138
+ }
139
+ else {
140
+ if (onlog && typeof onlog === 'function') {
141
+ onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
142
+ }
143
+ return null;
148
144
  }
149
145
  if (!sd) {
150
146
  if (onlog && typeof onlog === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { SwitchbotDevice } from '../switchbot.js';
2
- export declare function parseServiceDataForWoBlindTilt(manufacturerData: any, onlog: any): Promise<{
3
- model: string;
4
- modelName: string;
5
- calibration: boolean;
6
- battery: number;
7
- inMotion: boolean;
8
- tilt: number;
9
- lightLevel: number;
10
- } | null>;
11
2
  export declare class WoBlindTilt extends SwitchbotDevice {
3
+ static parseServiceData(buf: any, onlog: any): {
4
+ model: string;
5
+ modelName: string;
6
+ calibration: boolean;
7
+ battery: number;
8
+ inMotion: boolean;
9
+ tilt: number;
10
+ lightLevel: number;
11
+ } | null;
12
12
  open(): Promise<void>;
13
13
  close(): Promise<void>;
14
14
  pause(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAsB,8BAA8B,CAAC,gBAAgB,KAAA,EAAE,KAAK,KAAA;;;;;;;;UA6B3E;AAED,qBAAa,WAAY,SAAQ,eAAe;IAY9C,IAAI;IAeJ,KAAK;IAeL,KAAK;IAeL,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;IAiCtB,iBAAiB,CAAC,KAAK,KAAA;CAqBxB"}
1
+ {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,WAAY,SAAQ,eAAe;IAC9C,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;;;;;;;;;IA0ClC,IAAI;IAeJ,KAAK;IAeL,KAAK;IAeL,QAAQ,CAAC,OAAO,KAAA,EAAE,IAAI,KAAA;IAiCtB,iBAAiB,CAAC,KAAK,KAAA;CAqBxB"}
@@ -4,32 +4,32 @@
4
4
  */
5
5
  import { Buffer } from 'buffer';
6
6
  import { SwitchbotDevice } from '../switchbot.js';
7
- export async function parseServiceDataForWoBlindTilt(manufacturerData, onlog) {
8
- if (manufacturerData.length !== 5 && manufacturerData.length !== 6) {
9
- if (onlog && typeof onlog === 'function') {
10
- onlog(`[parseServiceDataForWoBlindTilt] Buffer length ${manufacturerData.length} !== 5 or 6!`);
7
+ export class WoBlindTilt extends SwitchbotDevice {
8
+ static parseServiceData(buf, onlog) {
9
+ if (buf.length !== 5 && buf.length !== 6) {
10
+ if (onlog && typeof onlog === 'function') {
11
+ onlog(`[parseServiceDataForWoBlindTilt] Buffer length ${buf.length} !== 5 or 6!`);
12
+ }
13
+ return null;
11
14
  }
12
- return null;
15
+ const byte1 = buf.readUInt8(1);
16
+ const byte2 = buf.readUInt8(2);
17
+ const calibration = byte1 & 0b00000001 ? true : false; // Whether the calibration is completed
18
+ const battery = byte2 & 0b01111111; // %
19
+ const inMotion = byte2 & 0b10000000 ? true : false;
20
+ const tilt = byte2 & 0b01111111; // current tilt % (100 - _tilt) if reverse else _tilt,
21
+ const lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
22
+ const data = {
23
+ model: 'x',
24
+ modelName: 'WoBlindTilt',
25
+ calibration: calibration,
26
+ battery: battery,
27
+ inMotion: inMotion,
28
+ tilt: tilt,
29
+ lightLevel: lightLevel,
30
+ };
31
+ return data;
13
32
  }
14
- const byte1 = manufacturerData.readUInt8(1);
15
- const byte2 = manufacturerData.readUInt8(2);
16
- const calibration = byte1 & 0b00000001 ? true : false; // Whether the calibration is completed
17
- const battery = byte2 & 0b01111111; // %
18
- const inMotion = byte2 & 0b10000000 ? true : false;
19
- const tilt = Math.max(Math.min(byte2 & 0b01111111, 100), 0); // current tilt % (100 - _tilt) if reverse else _tilt,
20
- const lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
21
- const data = {
22
- model: 'x',
23
- modelName: 'WoBlindTilt',
24
- calibration: calibration,
25
- battery: battery,
26
- inMotion: inMotion,
27
- tilt: tilt,
28
- lightLevel: lightLevel,
29
- };
30
- return data;
31
- }
32
- export class WoBlindTilt extends SwitchbotDevice {
33
33
  /* ------------------------------------------------------------------
34
34
  * open()
35
35
  * - Open the blindtilt
@@ -1 +1 @@
1
- {"version":3,"file":"woblindtilt.js","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woblindtilt.js","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,24 @@
1
1
  import { SwitchbotDevice } from '../switchbot.js';
2
- export declare function parseServiceDataForWoBulb(manufacturerData: any, onlog: any): Promise<{
3
- model: string;
4
- modelName: string;
5
- color_temperature: any;
6
- power: any;
7
- state: boolean;
8
- red: any;
9
- green: any;
10
- blue: any;
11
- brightness: number;
12
- delay: number;
13
- preset: number;
14
- color_mode: number;
15
- speed: number;
16
- loop_index: number;
17
- } | null>;
18
2
  /**
19
3
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
20
4
  */
21
5
  export declare class WoBulb extends SwitchbotDevice {
6
+ static parseServiceData(manufacturerData: any, onlog: any): {
7
+ model: string;
8
+ modelName: string;
9
+ color_temperature: any;
10
+ power: any;
11
+ state: boolean;
12
+ red: any;
13
+ green: any;
14
+ blue: any;
15
+ brightness: number;
16
+ delay: number;
17
+ preset: number;
18
+ color_mode: number;
19
+ speed: number;
20
+ loop_index: number;
21
+ } | null;
22
22
  /**
23
23
  * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
24
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAsB,yBAAyB,CAAC,gBAAgB,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;;;;UAmDtE;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,KAAA;IAKtB;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,KAAA;IAmBxB;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,KAAA;IAmBrC;;OAEG;IACH,MAAM,CAAC,UAAU,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA;IAgEnC;;OAEG;IACH,WAAW,CAAC,KAAK,KAAA;CAgClB"}
1
+ {"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;;;;;IAqD/C;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,KAAA;IAKtB;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,KAAA;IAmBxB;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,KAAA;IAmBrC;;OAEG;IACH,MAAM,CAAC,UAAU,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA;IAgEnC;;OAEG;IACH,WAAW,CAAC,KAAK,KAAA;CAgClB"}
@@ -4,57 +4,57 @@
4
4
  */
5
5
  import { Buffer } from 'buffer';
6
6
  import { SwitchbotDevice } from '../switchbot.js';
7
- export async function parseServiceDataForWoBulb(manufacturerData, onlog) {
8
- if (manufacturerData.length !== 13) {
9
- if (onlog && typeof onlog === 'function') {
10
- onlog(`[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
11
- }
12
- return null;
13
- }
14
- const byte1 = manufacturerData.readUInt8(1); //power and light status
15
- //const byte2 = manufacturerData.readUInt8(2);//bulb brightness
16
- const byte3 = manufacturerData.readUInt8(3); //bulb R
17
- const byte4 = manufacturerData.readUInt8(4); //bulb G
18
- const byte5 = manufacturerData.readUInt8(5); //bulb B
19
- const byte6 = manufacturerData.readUInt8(6); //bulb temperature
20
- const byte7 = manufacturerData.readUInt8(7);
21
- const byte8 = manufacturerData.readUInt8(8);
22
- const byte9 = manufacturerData.readUInt8(9);
23
- const byte10 = manufacturerData.readUInt8(10); //bulb mode
24
- const power = byte1;
25
- const red = byte3;
26
- const green = byte4;
27
- const blue = byte5;
28
- const color_temperature = byte6;
29
- const state = byte7 & 0b01111111 ? true : false;
30
- const brightness = byte7 & 0b01111111;
31
- const delay = byte8 & 0b10000000;
32
- const preset = byte8 & 0b00001000;
33
- const color_mode = byte8 & 0b00000111;
34
- const speed = byte9 & 0b01111111;
35
- const loop_index = byte10 & 0b11111110;
36
- const data = {
37
- model: 'u',
38
- modelName: 'WoBulb',
39
- color_temperature: color_temperature,
40
- power: power,
41
- state: state,
42
- red: red,
43
- green: green,
44
- blue: blue,
45
- brightness: brightness,
46
- delay: delay,
47
- preset: preset,
48
- color_mode: color_mode,
49
- speed: speed,
50
- loop_index: loop_index,
51
- };
52
- return data;
53
- }
54
7
  /**
55
8
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
56
9
  */
57
10
  export class WoBulb extends SwitchbotDevice {
11
+ static parseServiceData(manufacturerData, onlog) {
12
+ if (manufacturerData.length !== 13) {
13
+ if (onlog && typeof onlog === 'function') {
14
+ onlog(`[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
15
+ }
16
+ return null;
17
+ }
18
+ const byte1 = manufacturerData.readUInt8(1); //power and light status
19
+ //const byte2 = manufacturerData.readUInt8(2);//bulb brightness
20
+ const byte3 = manufacturerData.readUInt8(3); //bulb R
21
+ const byte4 = manufacturerData.readUInt8(4); //bulb G
22
+ const byte5 = manufacturerData.readUInt8(5); //bulb B
23
+ const byte6 = manufacturerData.readUInt8(6); //bulb temperature
24
+ const byte7 = manufacturerData.readUInt8(7);
25
+ const byte8 = manufacturerData.readUInt8(8);
26
+ const byte9 = manufacturerData.readUInt8(9);
27
+ const byte10 = manufacturerData.readUInt8(10); //bulb mode
28
+ const power = byte1;
29
+ const red = byte3;
30
+ const green = byte4;
31
+ const blue = byte5;
32
+ const color_temperature = byte6;
33
+ const state = byte7 & 0b01111111 ? true : false;
34
+ const brightness = byte7 & 0b01111111;
35
+ const delay = byte8 & 0b10000000;
36
+ const preset = byte8 & 0b00001000;
37
+ const color_mode = byte8 & 0b00000111;
38
+ const speed = byte9 & 0b01111111;
39
+ const loop_index = byte10 & 0b11111110;
40
+ const data = {
41
+ model: 'u',
42
+ modelName: 'WoBulb',
43
+ color_temperature: color_temperature,
44
+ power: power,
45
+ state: state,
46
+ red: red,
47
+ green: green,
48
+ blue: blue,
49
+ brightness: brightness,
50
+ delay: delay,
51
+ preset: preset,
52
+ color_mode: color_mode,
53
+ speed: speed,
54
+ loop_index: loop_index,
55
+ };
56
+ return data;
57
+ }
58
58
  /**
59
59
  * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
60
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,gBAAgB,EAAE,KAAK;IACrE,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,KAAK,CACH,6CAA6C,gBAAgB,CAAC,MAAM,UAAU,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,wBAAwB;IACpE,+DAA+D;IAC/D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,QAAQ;IACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,QAAQ;IACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,QAAQ;IACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,kBAAkB;IAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA,WAAW;IAEzD,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,CAAC;IACnB,MAAM,iBAAiB,GAAG,KAAK,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IAEvC,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,QAAQ;QACnB,iBAAiB,EAAE,iBAAiB;QACpC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,UAAU;KACvB,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,eAAe;IACzC;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,YAAY;QACpB,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAU;QACtB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,yDAAyD;oBACvD,OAAO,UAAU,CACpB,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,iBAAiB;QACnC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,gEAAgE;oBAC9D,OAAO,iBAAiB,CAC3B,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,iBAAiB,GAAG,GAAG,EAAE,CAAC;YAC5B,iBAAiB,GAAG,GAAG,CAAC;QAC1B,CAAC;aAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YACjC,iBAAiB,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;QACjC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,yDAAyD;oBACvD,OAAO,UAAU,CACpB,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,uCAAuC;oBACrC,OAAO,GAAG,CACb,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,yCAAyC;oBACvC,OAAO,KAAK,CACf,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CACJ,IAAI,KAAK,CACP,wCAAwC;oBACtC,OAAO,IAAI,CACd,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,GAAG,CAAC,CAAC;QACV,CAAC;QACD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAChB,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAK;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAA4C,CAAC,CAAC;gBAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;wBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,MAAM,CACJ,IAAI,KAAK,CACP,kCAAkC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC7D,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CACJ,IAAI,KAAK,CACP,8CAA8C;wBAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1B,CACF,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
1
  import { SwitchbotDevice } from '../switchbot.js';
2
- export declare function parseServiceDataForWoContact(buf: any, onlog: any): Promise<{
3
- model: string;
4
- modelName: string;
5
- modelFriendlyName: string;
6
- movement: boolean;
7
- tested: number;
8
- battery: number;
9
- contact_open: boolean;
10
- contact_timeout: boolean;
11
- lightLevel: string;
12
- button_count: number;
13
- doorState: string;
14
- } | null>;
15
2
  export declare class WoContact extends SwitchbotDevice {
3
+ static parseServiceData(buf: any, onlog: any): {
4
+ model: string;
5
+ modelName: string;
6
+ movement: boolean;
7
+ tested: number;
8
+ battery: number;
9
+ contact_open: boolean;
10
+ contact_timeout: boolean;
11
+ lightLevel: string;
12
+ button_count: number;
13
+ doorState: string;
14
+ } | null;
16
15
  }
17
16
  //# sourceMappingURL=wocontact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAsB,4BAA4B,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;UA4C5D;AAED,qBAAa,SAAU,SAAQ,eAAe;CAAI"}
1
+ {"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;CA4CnC"}
@@ -3,44 +3,43 @@
3
3
  * wocontact.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../switchbot.js';
6
- export async function parseServiceDataForWoContact(buf, onlog) {
7
- if (buf.length !== 9) {
8
- if (onlog && typeof onlog === 'function') {
9
- onlog(`[parseServiceDataForWoContact] Buffer length ${buf.length} !== 9!`);
6
+ export class WoContact extends SwitchbotDevice {
7
+ static parseServiceData(buf, onlog) {
8
+ if (buf.length !== 9) {
9
+ if (onlog && typeof onlog === 'function') {
10
+ onlog(`[parseServiceDataForWoContact] Buffer length ${buf.length} !== 9!`);
11
+ }
12
+ return null;
10
13
  }
11
- return null;
14
+ const byte1 = buf.readUInt8(1);
15
+ const byte2 = buf.readUInt8(2);
16
+ const byte3 = buf.readUInt8(3);
17
+ const byte8 = buf.readUInt8(8);
18
+ const hallState = (byte3 >> 1) & 0b00000011;
19
+ const tested = byte1 & 0b10000000;
20
+ const movement = byte1 & 0b01000000 ? true : false; // 1 - Movement detected
21
+ const battery = byte2 & 0b01111111; // %
22
+ const contact_open = (byte3 & 0b00000010) === 0b00000010;
23
+ const contact_timeout = (byte3 & 0b00000100) === 0b00000100;
24
+ const lightLevel = byte3 & 0b00000001;
25
+ const button_count = byte8 & 0b00001111;
26
+ const data = {
27
+ model: 'd',
28
+ modelName: 'WoContact',
29
+ movement: movement,
30
+ tested: tested,
31
+ battery: battery,
32
+ contact_open: contact_open,
33
+ contact_timeout: contact_timeout,
34
+ lightLevel: lightLevel === 0 ? 'dark' : 'bright',
35
+ button_count: button_count,
36
+ doorState: hallState === 0
37
+ ? 'close'
38
+ : hallState === 1
39
+ ? 'open'
40
+ : 'timeout no closed',
41
+ };
42
+ return data;
12
43
  }
13
- const byte1 = buf.readUInt8(1);
14
- const byte2 = buf.readUInt8(2);
15
- const byte3 = buf.readUInt8(3);
16
- const byte8 = buf.readUInt8(8);
17
- const hallState = (byte3 >> 1) & 0b00000011;
18
- const tested = byte1 & 0b10000000;
19
- const movement = byte1 & 0b01000000 ? true : false; // 1 - Movement detected
20
- const battery = byte2 & 0b01111111; // %
21
- const contact_open = (byte3 & 0b00000010) === 0b00000010;
22
- const contact_timeout = (byte3 & 0b00000100) === 0b00000100;
23
- const lightLevel = byte3 & 0b00000001;
24
- const button_count = byte8 & 0b00001111;
25
- const data = {
26
- model: 'd',
27
- modelName: 'WoContact',
28
- modelFriendlyName: 'Curtain 3',
29
- movement: movement,
30
- tested: tested,
31
- battery: battery,
32
- contact_open: contact_open,
33
- contact_timeout: contact_timeout,
34
- lightLevel: lightLevel === 0 ? 'dark' : 'bright',
35
- button_count: button_count,
36
- doorState: hallState === 0
37
- ? 'close'
38
- : hallState === 1
39
- ? 'open'
40
- : 'timeout no closed',
41
- };
42
- return data;
43
- }
44
- export class WoContact extends SwitchbotDevice {
45
44
  }
46
45
  //# sourceMappingURL=wocontact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAG,EAAE,KAAK;IAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,KAAK,CACH,gDAAgD,GAAG,CAAC,MAAM,SAAS,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB;IAC5E,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,IAAI;IACxC,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;IACzD,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;IAC5D,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;IAExC,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,WAAW;QACtB,iBAAiB,EAAE,WAAW;QAC9B,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,YAAY;QAC1B,eAAe,EAAE,eAAe;QAChC,UAAU,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QAChD,YAAY,EAAE,YAAY;QAC1B,SAAS,EACP,SAAS,KAAK,CAAC;YACb,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,SAAS,KAAK,CAAC;gBACf,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,mBAAmB;KAC5B,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,eAAe;CAAI"}
1
+ {"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,gDAAgD,GAAG,CAAC,MAAM,SAAS,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB;QAC5E,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,IAAI;QACxC,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;QACzD,MAAM,eAAe,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,UAAU,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;QACtC,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;QAExC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,GAAG;YACV,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,YAAY;YAC1B,eAAe,EAAE,eAAe;YAChC,UAAU,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YAChD,YAAY,EAAE,YAAY;YAC1B,SAAS,EACC,SAAS,KAAK,CAAC;gBACb,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,KAAK,CAAC;oBACf,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,mBAAmB;SACpC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}