node-switchbot 2.4.0 → 2.5.0-beta.0

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 (180) hide show
  1. package/.github/npm-version-script.cjs +81 -0
  2. package/CHANGELOG.md +1 -1
  3. package/dist/advertising.d.ts +14 -148
  4. package/dist/advertising.d.ts.map +1 -1
  5. package/dist/advertising.js +36 -92
  6. package/dist/advertising.js.map +1 -1
  7. package/dist/device/woblindtilt.d.ts +98 -13
  8. package/dist/device/woblindtilt.d.ts.map +1 -1
  9. package/dist/device/woblindtilt.js +192 -86
  10. package/dist/device/woblindtilt.js.map +1 -1
  11. package/dist/device/woblindtilt.test.d.ts +2 -0
  12. package/dist/device/woblindtilt.test.d.ts.map +1 -0
  13. package/dist/device/woblindtilt.test.js +26 -0
  14. package/dist/device/woblindtilt.test.js.map +1 -0
  15. package/dist/device/wobulb.d.ts +17 -34
  16. package/dist/device/wobulb.d.ts.map +1 -1
  17. package/dist/device/wobulb.js +53 -61
  18. package/dist/device/wobulb.js.map +1 -1
  19. package/dist/device/wobulb.test.d.ts +2 -0
  20. package/dist/device/wobulb.test.d.ts.map +1 -0
  21. package/dist/device/wobulb.test.js +52 -0
  22. package/dist/device/wobulb.test.js.map +1 -0
  23. package/dist/device/woceilinglight.d.ts +21 -51
  24. package/dist/device/woceilinglight.d.ts.map +1 -1
  25. package/dist/device/woceilinglight.js +53 -64
  26. package/dist/device/woceilinglight.js.map +1 -1
  27. package/dist/device/woceilinglight.test.d.ts +2 -0
  28. package/dist/device/woceilinglight.test.d.ts.map +1 -0
  29. package/dist/device/woceilinglight.test.js +63 -0
  30. package/dist/device/woceilinglight.test.js.map +1 -0
  31. package/dist/device/wocontact.d.ts +1 -14
  32. package/dist/device/wocontact.d.ts.map +1 -1
  33. package/dist/device/wocontact.js +13 -13
  34. package/dist/device/wocontact.js.map +1 -1
  35. package/dist/device/wocontact.test.d.ts +2 -0
  36. package/dist/device/wocontact.test.d.ts.map +1 -0
  37. package/dist/device/wocontact.test.js +34 -0
  38. package/dist/device/wocontact.test.js.map +1 -0
  39. package/dist/device/wocurtain.d.ts +5 -16
  40. package/dist/device/wocurtain.d.ts.map +1 -1
  41. package/dist/device/wocurtain.js +58 -47
  42. package/dist/device/wocurtain.js.map +1 -1
  43. package/dist/device/wocurtain.test.d.ts +2 -0
  44. package/dist/device/wocurtain.test.d.ts.map +1 -0
  45. package/dist/device/wocurtain.test.js +33 -0
  46. package/dist/device/wocurtain.test.js.map +1 -0
  47. package/dist/device/wohand.d.ts +2 -10
  48. package/dist/device/wohand.d.ts.map +1 -1
  49. package/dist/device/wohand.js +31 -33
  50. package/dist/device/wohand.js.map +1 -1
  51. package/dist/device/wohand.test.d.ts +2 -0
  52. package/dist/device/wohand.test.d.ts.map +1 -0
  53. package/dist/device/wohand.test.js +62 -0
  54. package/dist/device/wohand.test.js.map +1 -0
  55. package/dist/device/wohand2.test.d.ts +2 -0
  56. package/dist/device/wohand2.test.d.ts.map +1 -0
  57. package/dist/device/wohand2.test.js +50 -0
  58. package/dist/device/wohand2.test.js.map +1 -0
  59. package/dist/device/wohub2.d.ts +1 -19
  60. package/dist/device/wohub2.d.ts.map +1 -1
  61. package/dist/device/wohub2.js +6 -2
  62. package/dist/device/wohub2.js.map +1 -1
  63. package/dist/device/wohumi.d.ts +2 -11
  64. package/dist/device/wohumi.d.ts.map +1 -1
  65. package/dist/device/wohumi.js +31 -33
  66. package/dist/device/wohumi.js.map +1 -1
  67. package/dist/device/wohumi.test.d.ts +2 -0
  68. package/dist/device/wohumi.test.d.ts.map +1 -0
  69. package/dist/device/wohumi.test.js +61 -0
  70. package/dist/device/wohumi.test.js.map +1 -0
  71. package/dist/device/woiosensorth.d.ts +1 -19
  72. package/dist/device/woiosensorth.d.ts.map +1 -1
  73. package/dist/device/woiosensorth.js +14 -10
  74. package/dist/device/woiosensorth.js.map +1 -1
  75. package/dist/device/woiosensorth.test.d.ts +2 -0
  76. package/dist/device/woiosensorth.test.d.ts.map +1 -0
  77. package/dist/device/woiosensorth.test.js +39 -0
  78. package/dist/device/woiosensorth.test.js.map +1 -0
  79. package/dist/device/woplugmini.d.ts +12 -38
  80. package/dist/device/woplugmini.d.ts.map +1 -1
  81. package/dist/device/woplugmini.js +35 -40
  82. package/dist/device/woplugmini.js.map +1 -1
  83. package/dist/device/woplugmini.test.d.ts +2 -0
  84. package/dist/device/woplugmini.test.d.ts.map +1 -0
  85. package/dist/device/woplugmini.test.js +91 -0
  86. package/dist/device/woplugmini.test.js.map +1 -0
  87. package/dist/device/wopresence.d.ts +2 -14
  88. package/dist/device/wopresence.d.ts.map +1 -1
  89. package/dist/device/wopresence.js +11 -7
  90. package/dist/device/wopresence.js.map +1 -1
  91. package/dist/device/wopresence.test.d.ts +2 -0
  92. package/dist/device/wopresence.test.d.ts.map +1 -0
  93. package/dist/device/wopresence.test.js +42 -0
  94. package/dist/device/wopresence.test.js.map +1 -0
  95. package/dist/device/wosensorth.d.ts +3 -37
  96. package/dist/device/wosensorth.d.ts.map +1 -1
  97. package/dist/device/wosensorth.js +24 -20
  98. package/dist/device/wosensorth.js.map +1 -1
  99. package/dist/device/wosensorth.test.d.ts +2 -0
  100. package/dist/device/wosensorth.test.d.ts.map +1 -0
  101. package/dist/device/wosensorth.test.js +59 -0
  102. package/dist/device/wosensorth.test.js.map +1 -0
  103. package/dist/device/wosmartlock.d.ts +19 -33
  104. package/dist/device/wosmartlock.d.ts.map +1 -1
  105. package/dist/device/wosmartlock.js +104 -83
  106. package/dist/device/wosmartlock.js.map +1 -1
  107. package/dist/device/wosmartlock.test.d.ts +2 -0
  108. package/dist/device/wosmartlock.test.d.ts.map +1 -0
  109. package/dist/device/wosmartlock.test.js +84 -0
  110. package/dist/device/wosmartlock.test.js.map +1 -0
  111. package/dist/device/wosmartlockpro.d.ts +13 -27
  112. package/dist/device/wosmartlockpro.d.ts.map +1 -1
  113. package/dist/device/wosmartlockpro.js +90 -70
  114. package/dist/device/wosmartlockpro.js.map +1 -1
  115. package/dist/device/wosmartlockpro.test.d.ts +2 -0
  116. package/dist/device/wosmartlockpro.test.d.ts.map +1 -0
  117. package/dist/device/wosmartlockpro.test.js +124 -0
  118. package/dist/device/wosmartlockpro.test.js.map +1 -0
  119. package/dist/device/wostrip.d.ts +18 -32
  120. package/dist/device/wostrip.d.ts.map +1 -1
  121. package/dist/device/wostrip.js +58 -70
  122. package/dist/device/wostrip.js.map +1 -1
  123. package/dist/device/wostrip.test.d.ts +2 -0
  124. package/dist/device/wostrip.test.d.ts.map +1 -0
  125. package/dist/device/wostrip.test.js +115 -0
  126. package/dist/device/wostrip.test.js.map +1 -0
  127. package/dist/device.d.ts +237 -39
  128. package/dist/device.d.ts.map +1 -1
  129. package/dist/device.js +478 -366
  130. package/dist/device.js.map +1 -1
  131. package/dist/index.d.ts +1 -1
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +1 -1
  134. package/dist/index.js.map +1 -1
  135. package/dist/parameter-checker.d.ts.map +1 -1
  136. package/dist/parameter-checker.js.map +1 -1
  137. package/dist/settings.d.ts +8 -0
  138. package/dist/settings.d.ts.map +1 -0
  139. package/dist/settings.js +12 -0
  140. package/dist/settings.js.map +1 -0
  141. package/dist/switchbot.d.ts +30 -10
  142. package/dist/switchbot.d.ts.map +1 -1
  143. package/dist/switchbot.js +39 -86
  144. package/dist/switchbot.js.map +1 -1
  145. package/dist/types/bledevicestatus.d.ts +288 -0
  146. package/dist/types/bledevicestatus.d.ts.map +1 -0
  147. package/dist/types/bledevicestatus.js +2 -0
  148. package/dist/types/bledevicestatus.js.map +1 -0
  149. package/dist/types/devicelist.d.ts +89 -0
  150. package/dist/types/devicelist.d.ts.map +1 -0
  151. package/dist/types/devicelist.js +6 -0
  152. package/dist/types/devicelist.js.map +1 -0
  153. package/dist/types/deviceresponse.d.ts +13 -0
  154. package/dist/types/deviceresponse.d.ts.map +1 -0
  155. package/dist/types/deviceresponse.js +2 -0
  156. package/dist/types/deviceresponse.js.map +1 -0
  157. package/dist/types/devicestatus.d.ts +149 -0
  158. package/dist/types/devicestatus.d.ts.map +1 -0
  159. package/dist/types/devicestatus.js +3 -0
  160. package/dist/types/devicestatus.js.map +1 -0
  161. package/dist/types/devicewebhookstatus.d.ts +156 -0
  162. package/dist/types/devicewebhookstatus.d.ts.map +1 -0
  163. package/dist/types/devicewebhookstatus.js +2 -0
  164. package/dist/types/devicewebhookstatus.js.map +1 -0
  165. package/dist/types/irdevicelist.d.ts +10 -0
  166. package/dist/types/irdevicelist.d.ts.map +1 -0
  167. package/dist/types/irdevicelist.js +2 -0
  168. package/dist/types/irdevicelist.js.map +1 -0
  169. package/dist/types/pushbody.d.ts +6 -0
  170. package/dist/types/pushbody.d.ts.map +1 -0
  171. package/dist/types/pushbody.js +2 -0
  172. package/dist/types/pushbody.js.map +1 -0
  173. package/dist/{types.d.ts → types/types.d.ts} +9 -0
  174. package/dist/types/types.d.ts.map +1 -0
  175. package/dist/types/types.js.map +1 -0
  176. package/jest.config.js +3 -0
  177. package/package.json +22 -14
  178. package/dist/types.d.ts.map +0 -1
  179. package/dist/types.js.map +0 -1
  180. /package/dist/{types.js → types/types.js} +0 -0
@@ -1,30 +1,31 @@
1
+ import { Buffer } from 'node:buffer';
1
2
  /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
3
  *
3
4
  * wostrip.ts: Switchbot BLE API registration.
4
5
  */
5
- import { Buffer } from 'node:buffer';
6
6
  import { SwitchbotDevice } from '../device.js';
7
- import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
7
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
8
8
  /**
9
9
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
10
10
  */
11
11
  export class WoStrip extends SwitchbotDevice {
12
- static parseServiceData(buf, onlog) {
13
- if (buf.length !== 18) {
12
+ static async parseServiceData(serviceData, onlog) {
13
+ if (serviceData.length !== 18) {
14
14
  if (onlog && typeof onlog === 'function') {
15
- onlog(`[parseServiceDataForWoStrip] Buffer length ${buf.length} !== 18!`);
15
+ onlog(`[parseServiceDataForWoStrip] Buffer length ${serviceData.length} !== 18!`);
16
16
  }
17
17
  return null;
18
18
  }
19
- // const byte1 = buf.readUInt8(1);//power and light status
20
- // const byte2 = buf.readUInt8(2);//bulb brightness
21
- const byte3 = buf.readUInt8(3); // bulb R
22
- const byte4 = buf.readUInt8(4); // bulb G
23
- const byte5 = buf.readUInt8(5); // bulb B
24
- const byte7 = buf.readUInt8(7);
25
- const byte8 = buf.readUInt8(8);
26
- const byte9 = buf.readUInt8(9);
27
- const byte10 = buf.readUInt8(10);
19
+ // const byte1 = serviceData.readUInt8(1)// power and light status
20
+ // const byte2 = serviceData.readUInt8(2)// bulb brightness
21
+ const byte3 = serviceData.readUInt8(3); // bulb R
22
+ const byte4 = serviceData.readUInt8(4); // bulb G
23
+ const byte5 = serviceData.readUInt8(5); // bulb B
24
+ const byte7 = serviceData.readUInt8(7);
25
+ const byte8 = serviceData.readUInt8(8);
26
+ const byte9 = serviceData.readUInt8(9);
27
+ const byte10 = serviceData.readUInt8(10);
28
+ const power = !!(byte7 & 0b10000000);
28
29
  const state = !!(byte7 & 0b10000000);
29
30
  const brightness = byte7 & 0b01111111;
30
31
  const red = byte3;
@@ -39,6 +40,7 @@ export class WoStrip extends SwitchbotDevice {
39
40
  model: SwitchBotBLEModel.StripLight,
40
41
  modelName: SwitchBotBLEModelName.StripLight,
41
42
  modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight,
43
+ power,
42
44
  state,
43
45
  brightness,
44
46
  red,
@@ -53,38 +55,36 @@ export class WoStrip extends SwitchbotDevice {
53
55
  return data;
54
56
  }
55
57
  /**
56
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
58
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
57
59
  */
58
- readState() {
59
- return this._operateBot([0x57, 0x0F, 0x4A, 0x01]);
60
+ async readState() {
61
+ return await this.operateStripLight([0x57, 0x0F, 0x4A, 0x01]);
60
62
  }
61
63
  /**
62
64
  * @private
63
65
  */
64
- _setState(reqByteArray) {
66
+ async setState(reqByteArray) {
65
67
  const base = [0x57, 0x0F, 0x49, 0x01];
66
- return this._operateBot([...base, ...reqByteArray]);
68
+ return await this.operateStripLight([...base, ...reqByteArray]);
67
69
  }
68
70
  /**
69
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
71
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
70
72
  */
71
- turnOn() {
72
- return this._setState([0x01, 0x01]);
73
+ async turnOn() {
74
+ return await this.setState([0x01, 0x01]);
73
75
  }
74
76
  /**
75
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
77
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
76
78
  */
77
- turnOff() {
78
- return this._setState([0x01, 0x02]);
79
+ async turnOff() {
80
+ return await this.setState([0x01, 0x02]);
79
81
  }
80
82
  /**
81
- * @returns {Promise<number>} resolves with brightness percent
83
+ * @returns resolves with brightness percent
82
84
  */
83
- setBrightness(brightness) {
85
+ async setBrightness(brightness) {
84
86
  if (typeof brightness !== 'number') {
85
- return new Promise((resolve, reject) => {
86
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
87
- });
87
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
88
88
  }
89
89
  if (brightness > 100) {
90
90
  brightness = 100;
@@ -92,41 +92,31 @@ export class WoStrip extends SwitchbotDevice {
92
92
  else if (brightness < 0) {
93
93
  brightness = 0;
94
94
  }
95
- return this._setState([0x02, 0x14]);
95
+ return await this.setState([0x02, 0x14]);
96
96
  }
97
97
  /**
98
- * Strip Light Doesn't Support Color temperature
98
+ * @returns resolves with color temperature
99
99
  */
100
- setColorTemperature(color_temperature) {
100
+ async setColorTemperature(color_temperature) {
101
101
  if (color_temperature) {
102
- return new Promise((resolve, reject) => {
103
- reject(new Error(`Strip Light Doesn't Support Color temperature: ${typeof color_temperature}`));
104
- });
102
+ throw new Error(`Strip Light Doesn't Support Color temperature: ${typeof color_temperature}`);
105
103
  }
106
104
  }
107
105
  /**
108
- * @returns {Promise<number>} resolves with brightness + rgb
106
+ * @returns resolves with brightness + rgb
109
107
  */
110
- setRGB(brightness, red, green, blue) {
108
+ async setRGB(brightness, red, green, blue) {
111
109
  if (typeof brightness !== 'number') {
112
- return new Promise((resolve, reject) => {
113
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
114
- });
110
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
115
111
  }
116
112
  if (typeof red !== 'number') {
117
- return new Promise((resolve, reject) => {
118
- reject(new Error(`The type of target red is incorrect: ${typeof red}`));
119
- });
113
+ throw new TypeError(`The type of target red is incorrect: ${typeof red}`);
120
114
  }
121
115
  if (typeof green !== 'number') {
122
- return new Promise((resolve, reject) => {
123
- reject(new Error(`The type of target green is incorrect: ${typeof green}`));
124
- });
116
+ throw new TypeError(`The type of target green is incorrect: ${typeof green}`);
125
117
  }
126
118
  if (typeof blue !== 'number') {
127
- return new Promise((resolve, reject) => {
128
- reject(new Error(`The type of target blue is incorrect: ${typeof blue}`));
129
- });
119
+ throw new TypeError(`The type of target blue is incorrect: ${typeof blue}`);
130
120
  }
131
121
  if (brightness > 100) {
132
122
  brightness = 100;
@@ -152,34 +142,32 @@ export class WoStrip extends SwitchbotDevice {
152
142
  else if (blue < 0) {
153
143
  blue = 0;
154
144
  }
155
- return this._setState([0x02, 0x12, brightness, red, green, blue]);
145
+ return await this.setState([0x02, 0x12, brightness, red, green, blue]);
156
146
  }
157
147
  /**
158
148
  * @private
159
149
  */
160
- _operateBot(bytes) {
150
+ async operateStripLight(bytes) {
161
151
  const req_buf = Buffer.from(bytes);
162
- return new Promise((resolve, reject) => {
163
- this._command(req_buf)
164
- .then((res_bytes) => {
165
- const res_buf = Buffer.from(res_bytes);
166
- if (res_buf.length === 2) {
167
- const code = res_buf.readUInt8(1);
168
- if (code === 0x00 || code === 0x80) {
169
- const is_on = code === 0x80;
170
- resolve(is_on);
171
- }
172
- else {
173
- reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
174
- }
152
+ await this.command(req_buf)
153
+ .then((res_bytes) => {
154
+ const res_buf = Buffer.from(res_bytes);
155
+ if (res_buf.length === 2) {
156
+ const code = res_buf.readUInt8(1);
157
+ if (code === 0x00 || code === 0x80) {
158
+ const is_on = code === 0x80;
159
+ return is_on;
175
160
  }
176
161
  else {
177
- reject(new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`));
162
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
178
163
  }
179
- })
180
- .catch((error) => {
181
- reject(error);
182
- });
164
+ }
165
+ else {
166
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
167
+ }
168
+ })
169
+ .catch((error) => {
170
+ throw error;
183
171
  });
184
172
  }
185
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wostrip.js","sourceRoot":"","sources":["../../src/device/wostrip.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wostrip.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wostrip.test.d.ts","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { expect } from 'chai';
3
+ import { WoStrip } from './wostrip.js';
4
+ describe('woStrip', () => {
5
+ describe('parseServiceData', () => {
6
+ it('should return null if serviceData length is not 18', async () => {
7
+ const serviceData = Buffer.alloc(10);
8
+ const result = await WoStrip.parseServiceData(serviceData, () => { });
9
+ return expect(result).to.be.null;
10
+ });
11
+ it('should parse serviceData correctly', async () => {
12
+ const serviceData = Buffer.from([0, 0, 0, 255, 255, 255, 0, 128, 8, 127, 254, 0, 0, 0, 0, 0, 0, 0]);
13
+ const result = await WoStrip.parseServiceData(serviceData, () => { });
14
+ expect(result).to.deep.equal({
15
+ model: 'StripLight',
16
+ modelName: 'StripLight',
17
+ modelFriendlyName: 'StripLight',
18
+ power: true,
19
+ state: true,
20
+ brightness: 0,
21
+ red: 255,
22
+ green: 255,
23
+ blue: 255,
24
+ delay: 128,
25
+ preset: 8,
26
+ color_mode: 0,
27
+ speed: 127,
28
+ loop_index: 254,
29
+ });
30
+ });
31
+ });
32
+ describe('readState', () => {
33
+ it('should return the state of the strip light', async () => {
34
+ const peripheral = {}; // Replace with actual peripheral object
35
+ const noble = {}; // Replace with actual noble object
36
+ const woStrip = new WoStrip(peripheral, noble);
37
+ woStrip.operateStripLight = async () => { };
38
+ const result = await woStrip.readState();
39
+ return expect(result).to.be.true;
40
+ });
41
+ });
42
+ describe('turnOn', () => {
43
+ it('should turn on the strip light', async () => {
44
+ const peripheral = {}; // Replace with actual peripheral object
45
+ const noble = {}; // Replace with actual noble object
46
+ const woStrip = new WoStrip(peripheral, noble);
47
+ woStrip.setState = async () => { };
48
+ const result = await woStrip.turnOn();
49
+ return expect(result).to.be.true;
50
+ });
51
+ });
52
+ describe('turnOff', () => {
53
+ it('should turn off the strip light', async () => {
54
+ const peripheral = {}; // Replace with actual peripheral object
55
+ const noble = {}; // Replace with actual noble object
56
+ const woStrip = new WoStrip(peripheral, noble);
57
+ woStrip.setState = async () => { };
58
+ const result = await woStrip.turnOff();
59
+ return expect(result).to.be.true;
60
+ });
61
+ });
62
+ describe('setBrightness', () => {
63
+ it('should set the brightness of the strip light', async () => {
64
+ const peripheral = {}; // Replace with actual peripheral object
65
+ const noble = {}; // Replace with actual noble object
66
+ const woStrip = new WoStrip(peripheral, noble);
67
+ woStrip.setState = async () => { };
68
+ const result = await woStrip.setBrightness(50);
69
+ return expect(result).to.be.true;
70
+ });
71
+ it('should throw an error if brightness is not a number', async () => {
72
+ const peripheral = {}; // Replace with actual peripheral object
73
+ const noble = {}; // Replace with actual noble object
74
+ const woStrip = new WoStrip(peripheral, noble);
75
+ try {
76
+ await woStrip.setBrightness('50');
77
+ }
78
+ catch (error) {
79
+ if (error instanceof Error) {
80
+ expect(error.message).to.equal('The type of target brightness percentage is incorrect: string');
81
+ }
82
+ else {
83
+ throw error;
84
+ }
85
+ }
86
+ });
87
+ });
88
+ describe('setRGB', () => {
89
+ it('should set the RGB values of the strip light', async () => {
90
+ const peripheral = {}; // Replace with actual peripheral object
91
+ const noble = {}; // Replace with actual noble object
92
+ const woStrip = new WoStrip(peripheral, noble);
93
+ woStrip.setState = async () => { };
94
+ const result = await woStrip.setRGB(50, 255, 255, 255);
95
+ return expect(result).to.be.true;
96
+ });
97
+ it('should throw an error if any RGB value is not a number', async () => {
98
+ const peripheral = {}; // Replace with actual peripheral object
99
+ const noble = {}; // Replace with actual noble object
100
+ const woStrip = new WoStrip(peripheral, noble);
101
+ try {
102
+ await woStrip.setRGB(50, '255', 255, 255);
103
+ }
104
+ catch (error) {
105
+ if (error instanceof Error) {
106
+ expect(error.message).to.equal('The type of target red is incorrect: string');
107
+ }
108
+ else {
109
+ throw error;
110
+ }
111
+ }
112
+ });
113
+ });
114
+ });
115
+ //# sourceMappingURL=wostrip.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wostrip.test.js","sourceRoot":"","sources":["../../src/device/wostrip.test.ts"],"names":[],"mappings":"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"}