node-switchbot 2.1.2-beta.4 → 2.1.2-beta.6

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 (64) hide show
  1. package/dist/advertising.d.ts +54 -53
  2. package/dist/advertising.d.ts.map +1 -1
  3. package/dist/advertising.js +54 -51
  4. package/dist/advertising.js.map +1 -1
  5. package/dist/device/woblindtilt.d.ts +3 -2
  6. package/dist/device/woblindtilt.d.ts.map +1 -1
  7. package/dist/device/woblindtilt.js +3 -2
  8. package/dist/device/woblindtilt.js.map +1 -1
  9. package/dist/device/wobulb.d.ts +3 -2
  10. package/dist/device/wobulb.d.ts.map +1 -1
  11. package/dist/device/wobulb.js +3 -2
  12. package/dist/device/wobulb.js.map +1 -1
  13. package/dist/device/wocontact.d.ts +3 -2
  14. package/dist/device/wocontact.d.ts.map +1 -1
  15. package/dist/device/wocontact.js +3 -2
  16. package/dist/device/wocontact.js.map +1 -1
  17. package/dist/device/wocurtain.d.ts +2 -1
  18. package/dist/device/wocurtain.d.ts.map +1 -1
  19. package/dist/device/wocurtain.js +10 -2
  20. package/dist/device/wocurtain.js.map +1 -1
  21. package/dist/device/wohand.d.ts +3 -2
  22. package/dist/device/wohand.d.ts.map +1 -1
  23. package/dist/device/wohand.js +3 -2
  24. package/dist/device/wohand.js.map +1 -1
  25. package/dist/device/wohub2.d.ts +3 -2
  26. package/dist/device/wohub2.d.ts.map +1 -1
  27. package/dist/device/wohub2.js +3 -2
  28. package/dist/device/wohub2.js.map +1 -1
  29. package/dist/device/wohumi.d.ts +3 -2
  30. package/dist/device/wohumi.d.ts.map +1 -1
  31. package/dist/device/wohumi.js +3 -2
  32. package/dist/device/wohumi.js.map +1 -1
  33. package/dist/device/woiosensorth.d.ts +3 -2
  34. package/dist/device/woiosensorth.d.ts.map +1 -1
  35. package/dist/device/woiosensorth.js +3 -2
  36. package/dist/device/woiosensorth.js.map +1 -1
  37. package/dist/device/woplugmini.d.ts +5 -4
  38. package/dist/device/woplugmini.d.ts.map +1 -1
  39. package/dist/device/woplugmini.js +5 -4
  40. package/dist/device/woplugmini.js.map +1 -1
  41. package/dist/device/wopresence.d.ts +3 -2
  42. package/dist/device/wopresence.d.ts.map +1 -1
  43. package/dist/device/wopresence.js +3 -2
  44. package/dist/device/wopresence.js.map +1 -1
  45. package/dist/device/wosensorth.d.ts +3 -2
  46. package/dist/device/wosensorth.d.ts.map +1 -1
  47. package/dist/device/wosensorth.js +3 -2
  48. package/dist/device/wosensorth.js.map +1 -1
  49. package/dist/device/wosmartlock.d.ts +3 -2
  50. package/dist/device/wosmartlock.d.ts.map +1 -1
  51. package/dist/device/wosmartlock.js +3 -2
  52. package/dist/device/wosmartlock.js.map +1 -1
  53. package/dist/device/wostrip.d.ts +3 -2
  54. package/dist/device/wostrip.d.ts.map +1 -1
  55. package/dist/device/wostrip.js +3 -2
  56. package/dist/device/wostrip.js.map +1 -1
  57. package/dist/switchbot.d.ts.map +1 -1
  58. package/dist/switchbot.js +59 -58
  59. package/dist/switchbot.js.map +1 -1
  60. package/dist/types.d.ts +178 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/dist/types.js +84 -0
  63. package/dist/types.js.map +1 -0
  64. package/package.json +3 -3
@@ -1,4 +1,5 @@
1
1
  import { Peripheral } from '@stoprocent/noble';
2
+ import { SwitchBotBLEModel } from './types.js';
2
3
  export type Ad = {
3
4
  id: string;
4
5
  address: string;
@@ -19,11 +20,33 @@ export declare class Advertising {
19
20
  address: string;
20
21
  rssi: number;
21
22
  serviceData: {
22
- model: string;
23
- modelName: string;
23
+ model: SwitchBotBLEModel;
24
+ modelName: import("./types.js").SwitchBotBLEModelName;
24
25
  mode: boolean;
25
26
  state: boolean;
26
27
  battery: number;
28
+ } | {
29
+ model: string;
30
+ modelName: import("./types.js").SwitchBotBLEModelName;
31
+ calibration: boolean;
32
+ battery: number;
33
+ inMotion: boolean;
34
+ position: number;
35
+ lightLevel: number;
36
+ deviceChain: number;
37
+ } | {
38
+ model: SwitchBotBLEModel;
39
+ modelName: import("./types.js").SwitchBotBLEModelName;
40
+ onState: boolean;
41
+ autoMode: boolean;
42
+ /**
43
+ * Parses the advertisement data of a peripheral device.
44
+ *
45
+ * @param peripheral - The peripheral device.
46
+ * @param onlog - The logging function.
47
+ * @returns The parsed data of the peripheral device.
48
+ */
49
+ percentage: number;
27
50
  } | {
28
51
  model: string;
29
52
  modelName: string;
@@ -35,16 +58,9 @@ export declare class Advertising {
35
58
  humidity: number;
36
59
  battery: number;
37
60
  } | {
38
- model: string;
39
- modelName: string;
61
+ model: SwitchBotBLEModel;
62
+ modelName: import("./types.js").SwitchBotBLEModelName;
40
63
  temperature: {
41
- /**
42
- * Parses the advertisement data of a peripheral device.
43
- *
44
- * @param peripheral - The peripheral device.
45
- * @param onlog - The logging function.
46
- * @returns The parsed data of the peripheral device.
47
- */
48
64
  c: number;
49
65
  f: number;
50
66
  };
@@ -52,14 +68,8 @@ export declare class Advertising {
52
68
  humidity: number;
53
69
  lightLevel: number;
54
70
  } | {
55
- model: string;
56
- modelName: string;
57
- onState: boolean;
58
- autoMode: boolean;
59
- percentage: number;
60
- } | {
61
- model: string;
62
- modelName: string;
71
+ model: SwitchBotBLEModel;
72
+ modelName: import("./types.js").SwitchBotBLEModelName;
63
73
  tested: boolean;
64
74
  movement: boolean;
65
75
  battery: number;
@@ -69,8 +79,8 @@ export declare class Advertising {
69
79
  lightLevel: string;
70
80
  is_light: boolean;
71
81
  } | {
72
- model: string;
73
- modelName: string;
82
+ model: SwitchBotBLEModel;
83
+ modelName: import("./types.js").SwitchBotBLEModelName;
74
84
  movement: boolean;
75
85
  tested: number;
76
86
  battery: number;
@@ -80,25 +90,21 @@ export declare class Advertising {
80
90
  button_count: number;
81
91
  doorState: string;
82
92
  } | {
83
- model: string;
84
- modelName: string;
85
- calibration: boolean;
86
- battery: number;
87
- inMotion: boolean;
88
- position: number;
89
- lightLevel: number;
90
- deviceChain: number;
91
- } | {
92
- model: string;
93
- modelName: string;
94
- calibration: boolean;
95
- battery: number;
96
- inMotion: boolean;
97
- tilt: number;
98
- lightLevel: number;
93
+ model: SwitchBotBLEModel;
94
+ modelName: import("./types.js").SwitchBotBLEModelName;
95
+ state: boolean;
96
+ brightness: number;
97
+ red: number;
98
+ green: number;
99
+ blue: number;
100
+ delay: number;
101
+ preset: number;
102
+ color_mode: number;
103
+ speed: number;
104
+ loop_index: number;
99
105
  } | {
100
- model: string;
101
- modelName: string;
106
+ model: SwitchBotBLEModel;
107
+ modelName: import("./types.js").SwitchBotBLEModelName;
102
108
  state: string | null;
103
109
  delay: boolean;
104
110
  timer: boolean;
@@ -107,8 +113,8 @@ export declare class Advertising {
107
113
  overload: boolean;
108
114
  currentPower: number;
109
115
  } | {
110
- model: string;
111
- modelName: string;
116
+ model: SwitchBotBLEModel;
117
+ modelName: import("./types.js").SwitchBotBLEModelName;
112
118
  battery: number;
113
119
  calibration: boolean;
114
120
  status: string;
@@ -120,18 +126,13 @@ export declare class Advertising {
120
126
  auto_lock_paused: boolean;
121
127
  night_latch: boolean;
122
128
  } | {
123
- model: string;
124
- modelName: string;
125
- state: boolean;
126
- brightness: number;
127
- red: number;
128
- green: number;
129
- blue: number;
130
- delay: number;
131
- preset: number;
132
- color_mode: number;
133
- speed: number;
134
- loop_index: number;
129
+ model: SwitchBotBLEModel;
130
+ modelName: import("./types.js").SwitchBotBLEModelName;
131
+ calibration: boolean;
132
+ battery: number;
133
+ inMotion: boolean;
134
+ tilt: number;
135
+ lightLevel: number;
135
136
  };
136
137
  } | null;
137
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgB/C,MAAM,MAAM,EAAE,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,GAAG,IAAI,CAAC;AAET,qBAAa,WAAW;;IA6DtB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;gBAPtE;;;;;;mBAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGJ"}
1
+ {"version":3,"file":"advertising.d.ts","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAe/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,EAAE,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,GAAG,IAAI,CAAC;AAET,qBAAa,WAAW;;IA6DtB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;YAPtE;;;;;;eAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHJ"}
@@ -11,6 +11,7 @@ import { WoPlugMini } from './device/woplugmini.js';
11
11
  import { WoBulb } from './device/wobulb.js';
12
12
  import { WoStrip } from './device/wostrip.js';
13
13
  import { WoSmartLock } from './device/wosmartlock.js';
14
+ import { SwitchBotBLEModel } from './types.js';
14
15
  export class Advertising {
15
16
  constructor() { }
16
17
  /* ------------------------------------------------------------------
@@ -92,58 +93,60 @@ export class Advertising {
92
93
  if (bufIsInvalid || manufacturerDataIsInvalid) {
93
94
  return null;
94
95
  }
95
- const model = buf.slice(0, 1).toString('utf8');
96
+ const model = buf.subarray(0, 1).toString('utf8');
96
97
  let sd;
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 === 'v') {
104
- sd = WoHub2.parseServiceData(buf, onlog); //WoHub2
105
- }
106
- else if (model === 'e') {
107
- sd = WoHumi.parseServiceData(buf, onlog); //WoHumi
108
- }
109
- else if (model === 's') {
110
- sd = WoPresence.parseServiceData(buf, onlog); //WoPresence
111
- }
112
- else if (model === 'd') {
113
- sd = WoContact.parseServiceData(buf, onlog); //WoContact
114
- }
115
- else if (model === 'c' || model === '{') {
116
- sd = WoCurtain.parseServiceData(buf, onlog); // WoCurtain
117
- }
118
- else if (model === 'x') {
119
- sd = WoBlindTilt.parseServiceData(buf, onlog); // WoBlindTilt
120
- }
121
- else if (model === 'u') {
122
- sd = WoBulb.parseServiceData(manufacturerData, onlog); // WoBulb
123
- }
124
- else if (model === 'g') {
125
- sd = WoPlugMini.parseServiceData_US(manufacturerData, onlog); // WoPlugMini (US)
126
- }
127
- else if (model === 'j') {
128
- sd = WoPlugMini.parseServiceData_JP(manufacturerData, onlog); // WoPlugMini (JP)
129
- }
130
- else if (model === 'o') {
131
- sd = WoSmartLock.parseServiceData(buf, manufacturerData, onlog); // WoSmartLock
132
- }
133
- else if (model === 'i') {
134
- sd = WoSensorTH.parseServiceData_Plus(buf, onlog); // WoMeterPlus
135
- }
136
- else if (model === 'r') {
137
- sd = WoStrip.parseServiceData(buf, onlog); // WoStrip
138
- }
139
- else if (model === 'w') {
140
- sd = WoIOSensorTH.parseServiceData(buf, manufacturerData, onlog); // Indoor/Outdoor Thermo-Hygrometer
141
- }
142
- else {
143
- if (onlog && typeof onlog === 'function') {
144
- onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
145
- }
146
- return null;
98
+ switch (model) {
99
+ case SwitchBotBLEModel.Bot:
100
+ sd = WoHand.parseServiceData(buf, onlog);
101
+ break;
102
+ case SwitchBotBLEModel.Curtain:
103
+ case SwitchBotBLEModel.Curtain3:
104
+ sd = WoCurtain.parseServiceData(buf, onlog);
105
+ break;
106
+ case SwitchBotBLEModel.Humidifier:
107
+ sd = WoHumi.parseServiceData(buf, onlog);
108
+ break;
109
+ case SwitchBotBLEModel.Meter:
110
+ sd = WoSensorTH.parseServiceData(buf, onlog);
111
+ break;
112
+ case SwitchBotBLEModel.MeterPlus:
113
+ sd = WoSensorTH.parseServiceData_Plus(buf, onlog);
114
+ break;
115
+ case SwitchBotBLEModel.Hub2:
116
+ sd = WoHub2.parseServiceData(buf, onlog);
117
+ break;
118
+ case SwitchBotBLEModel.OutdoorMeter:
119
+ sd = WoIOSensorTH.parseServiceData(buf, manufacturerData, onlog);
120
+ break;
121
+ case SwitchBotBLEModel.MotionSensor:
122
+ sd = WoPresence.parseServiceData(buf, onlog);
123
+ break;
124
+ case SwitchBotBLEModel.ContactSensor:
125
+ sd = WoContact.parseServiceData(buf, onlog);
126
+ break;
127
+ case SwitchBotBLEModel.ColorBulb:
128
+ sd = WoBulb.parseServiceData(manufacturerData, onlog);
129
+ break;
130
+ case SwitchBotBLEModel.StripLight:
131
+ sd = WoStrip.parseServiceData(buf, onlog);
132
+ break;
133
+ case SwitchBotBLEModel.PlugMiniUS:
134
+ sd = WoPlugMini.parseServiceData_US(manufacturerData, onlog);
135
+ break;
136
+ case SwitchBotBLEModel.PlugMiniJP:
137
+ sd = WoPlugMini.parseServiceData_JP(manufacturerData, onlog);
138
+ break;
139
+ case SwitchBotBLEModel.Lock:
140
+ sd = WoSmartLock.parseServiceData(buf, manufacturerData, onlog);
141
+ break;
142
+ case SwitchBotBLEModel.BlindTilt:
143
+ sd = WoBlindTilt.parseServiceData(buf, onlog);
144
+ break;
145
+ default:
146
+ if (onlog && typeof onlog === 'function') {
147
+ onlog(`[parseAdvertising.${peripheral.id}] return null, model "${model}" not available!`);
148
+ }
149
+ return null;
147
150
  }
148
151
  if (!sd) {
149
152
  if (onlog && typeof onlog === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,MAAM,OAAO,WAAW;IAEtB,gBAAgB,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAwDsE;IACtE;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAsB,EAAE,KAAiC;QACpE,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC;QACxD,MAAM,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;QAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;QAE7B,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,MAAM,yBAAyB,GAC7B,CAAC,gBAAgB;YACjB,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9B,IAAI,YAAY,IAAI,yBAAyB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC;QAEP,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,QAAQ;QACnD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,YAAY;QAC3D,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,QAAQ;QACnD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,QAAQ;QACnD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,YAAY;QAC3D,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,WAAW;QACzD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC1C,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,YAAY;QAC1D,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,cAAc;QAC9D,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAA,SAAS;QACjE,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAM,kBAAkB;QACvF,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAA,kBAAkB;QACjF,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAA,cAAc;QAChF,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,cAAc;QAClE,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA,UAAU;QACtD,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,mCAAmC;QACvG,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,qBAAqB,UAAU,CAAC,EAAE,yBAAyB,KAAK,kBAAkB,CACnF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,qBAAqB,UAAU,CAAC,EAAE,IAAI,KAAK,0CAA0C,CACtF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,gBAAgB;iBAClD,QAAQ,CAAC,KAAK,CAAC;iBACf,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gBACf,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,KAAK,CACH,qBAAqB,UAAU,CAAC,EAAE,IAAI,KAAK,YAAY,IAAI,CAAC,SAAS,CACnE,IAAI,CACL,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"advertising.js","sourceRoot":"","sources":["../src/advertising.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
3
4
  export declare class WoBlindTilt extends SwitchbotDevice {
4
5
  static parseServiceData(buf: Buffer, onlog: ((message: string) => void) | undefined): {
5
- model: string;
6
- modelName: string;
6
+ model: SwitchBotBLEModel;
7
+ modelName: SwitchBotBLEModelName;
7
8
  calibration: boolean;
8
9
  battery: number;
9
10
  inMotion: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,WAAY,SAAQ,eAAe;IAC9C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;IA0CnF,IAAI;IAeJ,KAAK;IAeL,KAAK;IAeL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiCtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBlC"}
1
+ {"version":3,"file":"woblindtilt.d.ts","sourceRoot":"","sources":["../../src/device/woblindtilt.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,qBAAa,WAAY,SAAQ,eAAe;IAC9C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;IA0CnF,IAAI;IAeJ,KAAK;IAeL,KAAK;IAeL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiCtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBlC"}
@@ -3,6 +3,7 @@
3
3
  * woblindtilt.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../device.js';
6
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
6
7
  export class WoBlindTilt extends SwitchbotDevice {
7
8
  static parseServiceData(buf, onlog) {
8
9
  if (buf.length !== 5 && buf.length !== 6) {
@@ -19,8 +20,8 @@ export class WoBlindTilt extends SwitchbotDevice {
19
20
  const tilt = byte2 & 0b01111111; // current tilt % (100 - _tilt) if reverse else _tilt,
20
21
  const lightLevel = (byte1 >> 4) & 0b00001111; // light sensor level (1-10)
21
22
  const data = {
22
- model: 'x',
23
- modelName: 'WoBlindTilt',
23
+ model: SwitchBotBLEModel.BlindTilt,
24
+ modelName: SwitchBotBLEModelName.BlindTilt,
24
25
  calibration: calibration,
25
26
  battery: battery,
26
27
  inMotion: inMotion,
@@ -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,12 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
3
4
  /**
4
5
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
5
6
  */
6
7
  export declare class WoBulb extends SwitchbotDevice {
7
8
  static parseServiceData(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): {
8
- model: string;
9
- modelName: string;
9
+ model: SwitchBotBLEModel;
10
+ modelName: SwitchBotBLEModelName;
10
11
  color_temperature: number;
11
12
  power: number;
12
13
  state: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;IAqDhG;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE;IAKhC;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAmBhC;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,EAAE,MAAM;IAmB7C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAgEnE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAgC5B"}
1
+ {"version":3,"file":"wobulb.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE;;GAEG;AACH,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;IAqDhG;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE;IAKhC;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAmBhC;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,EAAE,MAAM;IAmB7C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAgEnE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAgC5B"}
@@ -3,6 +3,7 @@
3
3
  * wobulb.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../device.js';
6
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
6
7
  /**
7
8
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
8
9
  */
@@ -37,8 +38,8 @@ export class WoBulb extends SwitchbotDevice {
37
38
  const speed = byte9 & 0b01111111;
38
39
  const loop_index = byte10 & 0b11111110;
39
40
  const data = {
40
- model: 'u',
41
- modelName: 'WoBulb',
41
+ model: SwitchBotBLEModel.ColorBulb,
42
+ modelName: SwitchBotBLEModelName.ColorBulb,
42
43
  color_temperature: color_temperature,
43
44
  power: power,
44
45
  state: state,
@@ -1 +1 @@
1
- {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
3
4
  export declare class WoContact extends SwitchbotDevice {
4
5
  static parseServiceData(buf: Buffer, onlog: ((message: string) => void) | undefined): {
5
- model: string;
6
- modelName: string;
6
+ model: SwitchBotBLEModel;
7
+ modelName: SwitchBotBLEModelName;
7
8
  movement: boolean;
8
9
  tested: number;
9
10
  battery: number;
@@ -1 +1 @@
1
- {"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;CA4CpF"}
1
+ {"version":3,"file":"wocontact.d.ts","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;CA4CpF"}
@@ -3,6 +3,7 @@
3
3
  * wocontact.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../device.js';
6
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
6
7
  export class WoContact extends SwitchbotDevice {
7
8
  static parseServiceData(buf, onlog) {
8
9
  if (buf.length !== 9) {
@@ -24,8 +25,8 @@ export class WoContact extends SwitchbotDevice {
24
25
  const lightLevel = byte3 & 0b00000001;
25
26
  const button_count = byte8 & 0b00001111;
26
27
  const data = {
27
- model: 'd',
28
- modelName: 'WoContact',
28
+ model: SwitchBotBLEModel.ContactSensor,
29
+ modelName: SwitchBotBLEModelName.ContactSensor,
29
30
  movement: movement,
30
31
  tested: tested,
31
32
  battery: battery,
@@ -1 +1 @@
1
- {"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,KAA8C;QACjF,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,EACP,SAAS,KAAK,CAAC;gBACb,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,KAAK,CAAC;oBACf,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,mBAAmB;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"wocontact.js","sourceRoot":"","sources":["../../src/device/wocontact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,KAA8C;QACjF,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,iBAAiB,CAAC,aAAa;YACtC,SAAS,EAAE,qBAAqB,CAAC,aAAa;YAC9C,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,EACP,SAAS,KAAK,CAAC;gBACb,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,KAAK,CAAC;oBACf,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,mBAAmB;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModelName } from '../types.js';
3
4
  export declare class WoCurtain extends SwitchbotDevice {
4
5
  static parseServiceData(buf: Buffer, onlog: ((message: string) => void) | undefined): {
5
6
  model: string;
6
- modelName: string;
7
+ modelName: SwitchBotBLEModelName;
7
8
  calibration: boolean;
8
9
  battery: number;
9
10
  inMotion: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;IA+CnF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;IAelB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAenB,KAAK;IAgBL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAO;IA6BrC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBhC"}
1
+ {"version":3,"file":"wocurtain.d.ts","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;IAqDnF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM;IAelB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAenB,KAAK;IAgBL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAO;IA6BrC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE;CAqBhC"}
@@ -3,6 +3,7 @@
3
3
  * wocurtain.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../device.js';
6
+ import { SwitchBotBLEModelName } from '../types.js';
6
7
  export class WoCurtain extends SwitchbotDevice {
7
8
  static parseServiceData(buf, onlog) {
8
9
  if (buf.length !== 5 && buf.length !== 6) {
@@ -21,10 +22,17 @@ export class WoCurtain extends SwitchbotDevice {
21
22
  const currPosition = byte3 & 0b01111111; // current positon %
22
23
  const lightLevel = (byte4 >> 4) & 0b00001111; // light sensor level (1-10)
23
24
  const deviceChain = byte4 & 0b00000111;
24
- const model = buf.slice(0, 1).toString('utf8');
25
+ const model = buf.subarray(0, 1).toString('utf8');
26
+ let modelName;
27
+ if (model === 'c') {
28
+ modelName = SwitchBotBLEModelName.Curtain;
29
+ }
30
+ else {
31
+ modelName = SwitchBotBLEModelName.Curtain3;
32
+ }
25
33
  const data = {
26
34
  model: model,
27
- modelName: 'WoCurtain',
35
+ modelName: modelName,
28
36
  calibration: calibration,
29
37
  battery: battery,
30
38
  inMotion: inMotion,
@@ -1 +1 @@
1
- {"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wocurtain.js","sourceRoot":"","sources":["../../src/device/wocurtain.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { SwitchbotDevice } from '../device.js';
3
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
3
4
  export declare class WoHand extends SwitchbotDevice {
4
5
  static parseServiceData(buf: Buffer, onlog: ((message: string) => void) | undefined): {
5
- model: string;
6
- modelName: string;
6
+ model: SwitchBotBLEModel;
7
+ modelName: SwitchBotBLEModelName;
7
8
  mode: boolean;
8
9
  state: boolean;
9
10
  battery: number;
@@ -1 +1 @@
1
- {"version":3,"file":"wohand.d.ts","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;IAqCnF,KAAK;IAeL,MAAM;IAeN,OAAO;IAeP,IAAI;IAeJ,EAAE;IAIF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAqB5B"}
1
+ {"version":3,"file":"wohand.d.ts","sourceRoot":"","sources":["../../src/device/wohand.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEvE,qBAAa,MAAO,SAAQ,eAAe;IACzC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;IAqCnF,KAAK;IAeL,MAAM;IAeN,OAAO;IAeP,IAAI;IAeJ,EAAE;IAIF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CAqB5B"}
@@ -3,6 +3,7 @@
3
3
  * wohand.ts: Switchbot BLE API registration.
4
4
  */
5
5
  import { SwitchbotDevice } from '../device.js';
6
+ import { SwitchBotBLEModel, SwitchBotBLEModelName } from '../types.js';
6
7
  export class WoHand extends SwitchbotDevice {
7
8
  static parseServiceData(buf, onlog) {
8
9
  if (buf.length !== 3) {
@@ -17,8 +18,8 @@ export class WoHand extends SwitchbotDevice {
17
18
  const state = byte1 & 0b01000000 ? false : true; // Whether the switch status is ON or OFF. 0 = on, 1 = off
18
19
  const battery = byte2 & 0b01111111; // %
19
20
  const data = {
20
- model: 'H',
21
- modelName: 'WoHand',
21
+ model: SwitchBotBLEModel.Bot,
22
+ modelName: SwitchBotBLEModelName.Bot,
22
23
  mode: mode,
23
24
  state: state,
24
25
  battery: battery,