@switchbot/homebridge-switchbot 3.8.3 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/.github/npm-version-script.cjs +81 -0
  2. package/.github/workflows/beta-release.yml +12 -4
  3. package/CHANGELOG.md +15 -1
  4. package/config.schema.json +583 -937
  5. package/dist/device/blindtilt.d.ts +1 -4
  6. package/dist/device/blindtilt.d.ts.map +1 -1
  7. package/dist/device/blindtilt.js +68 -66
  8. package/dist/device/blindtilt.js.map +1 -1
  9. package/dist/device/bot.d.ts +1 -4
  10. package/dist/device/bot.d.ts.map +1 -1
  11. package/dist/device/bot.js +63 -59
  12. package/dist/device/bot.js.map +1 -1
  13. package/dist/device/ceilinglight.d.ts +1 -4
  14. package/dist/device/ceilinglight.d.ts.map +1 -1
  15. package/dist/device/ceilinglight.js +56 -65
  16. package/dist/device/ceilinglight.js.map +1 -1
  17. package/dist/device/colorbulb.d.ts +1 -4
  18. package/dist/device/colorbulb.d.ts.map +1 -1
  19. package/dist/device/colorbulb.js +73 -80
  20. package/dist/device/colorbulb.js.map +1 -1
  21. package/dist/device/contact.d.ts +1 -4
  22. package/dist/device/contact.d.ts.map +1 -1
  23. package/dist/device/contact.js +38 -38
  24. package/dist/device/contact.js.map +1 -1
  25. package/dist/device/curtain.d.ts +1 -4
  26. package/dist/device/curtain.d.ts.map +1 -1
  27. package/dist/device/curtain.js +60 -60
  28. package/dist/device/curtain.js.map +1 -1
  29. package/dist/device/device.d.ts +6 -6
  30. package/dist/device/device.d.ts.map +1 -1
  31. package/dist/device/device.js +86 -20
  32. package/dist/device/device.js.map +1 -1
  33. package/dist/device/fan.d.ts +1 -4
  34. package/dist/device/fan.d.ts.map +1 -1
  35. package/dist/device/fan.js +50 -51
  36. package/dist/device/fan.js.map +1 -1
  37. package/dist/device/hub.d.ts +1 -4
  38. package/dist/device/hub.d.ts.map +1 -1
  39. package/dist/device/hub.js +48 -48
  40. package/dist/device/hub.js.map +1 -1
  41. package/dist/device/humidifier.d.ts +1 -4
  42. package/dist/device/humidifier.d.ts.map +1 -1
  43. package/dist/device/humidifier.js +53 -55
  44. package/dist/device/humidifier.js.map +1 -1
  45. package/dist/device/iosensor.d.ts +1 -4
  46. package/dist/device/iosensor.d.ts.map +1 -1
  47. package/dist/device/iosensor.js +35 -35
  48. package/dist/device/iosensor.js.map +1 -1
  49. package/dist/device/lightstrip.d.ts +1 -4
  50. package/dist/device/lightstrip.d.ts.map +1 -1
  51. package/dist/device/lightstrip.js +57 -65
  52. package/dist/device/lightstrip.js.map +1 -1
  53. package/dist/device/lock.d.ts +1 -4
  54. package/dist/device/lock.d.ts.map +1 -1
  55. package/dist/device/lock.js +38 -39
  56. package/dist/device/lock.js.map +1 -1
  57. package/dist/device/meter.d.ts +1 -4
  58. package/dist/device/meter.d.ts.map +1 -1
  59. package/dist/device/meter.js +35 -35
  60. package/dist/device/meter.js.map +1 -1
  61. package/dist/device/meterplus.d.ts +1 -4
  62. package/dist/device/meterplus.d.ts.map +1 -1
  63. package/dist/device/meterplus.js +35 -35
  64. package/dist/device/meterplus.js.map +1 -1
  65. package/dist/device/motion.d.ts +1 -4
  66. package/dist/device/motion.d.ts.map +1 -1
  67. package/dist/device/motion.js +27 -27
  68. package/dist/device/motion.js.map +1 -1
  69. package/dist/device/plug.d.ts +1 -4
  70. package/dist/device/plug.d.ts.map +1 -1
  71. package/dist/device/plug.js +32 -32
  72. package/dist/device/plug.js.map +1 -1
  73. package/dist/device/robotvacuumcleaner.d.ts +1 -4
  74. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  75. package/dist/device/robotvacuumcleaner.js +39 -40
  76. package/dist/device/robotvacuumcleaner.js.map +1 -1
  77. package/dist/device/waterdetector.d.ts +1 -4
  78. package/dist/device/waterdetector.d.ts.map +1 -1
  79. package/dist/device/waterdetector.js +28 -28
  80. package/dist/device/waterdetector.js.map +1 -1
  81. package/dist/irdevice/airconditioner.d.ts +1 -1
  82. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  83. package/dist/irdevice/airconditioner.js +31 -32
  84. package/dist/irdevice/airconditioner.js.map +1 -1
  85. package/dist/irdevice/airpurifier.d.ts +1 -1
  86. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  87. package/dist/irdevice/airpurifier.js +11 -12
  88. package/dist/irdevice/airpurifier.js.map +1 -1
  89. package/dist/irdevice/camera.d.ts +1 -1
  90. package/dist/irdevice/camera.d.ts.map +1 -1
  91. package/dist/irdevice/camera.js +9 -10
  92. package/dist/irdevice/camera.js.map +1 -1
  93. package/dist/irdevice/fan.d.ts +1 -1
  94. package/dist/irdevice/fan.d.ts.map +1 -1
  95. package/dist/irdevice/fan.js +22 -23
  96. package/dist/irdevice/fan.js.map +1 -1
  97. package/dist/irdevice/irdevice.d.ts +6 -6
  98. package/dist/irdevice/irdevice.d.ts.map +1 -1
  99. package/dist/irdevice/irdevice.js +28 -14
  100. package/dist/irdevice/irdevice.js.map +1 -1
  101. package/dist/irdevice/light.d.ts +1 -1
  102. package/dist/irdevice/light.d.ts.map +1 -1
  103. package/dist/irdevice/light.js +12 -13
  104. package/dist/irdevice/light.js.map +1 -1
  105. package/dist/irdevice/other.d.ts +1 -1
  106. package/dist/irdevice/other.d.ts.map +1 -1
  107. package/dist/irdevice/other.js +12 -15
  108. package/dist/irdevice/other.js.map +1 -1
  109. package/dist/irdevice/tv.d.ts +1 -1
  110. package/dist/irdevice/tv.d.ts.map +1 -1
  111. package/dist/irdevice/tv.js +27 -28
  112. package/dist/irdevice/tv.js.map +1 -1
  113. package/dist/irdevice/vacuumcleaner.d.ts +1 -1
  114. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  115. package/dist/irdevice/vacuumcleaner.js +9 -10
  116. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  117. package/dist/irdevice/waterheater.d.ts +1 -1
  118. package/dist/irdevice/waterheater.d.ts.map +1 -1
  119. package/dist/irdevice/waterheater.js +9 -10
  120. package/dist/irdevice/waterheater.js.map +1 -1
  121. package/dist/platform.d.ts +9 -22
  122. package/dist/platform.d.ts.map +1 -1
  123. package/dist/platform.js +154 -260
  124. package/dist/platform.js.map +1 -1
  125. package/dist/settings.d.ts +64 -82
  126. package/dist/settings.d.ts.map +1 -1
  127. package/dist/settings.js +0 -20
  128. package/dist/settings.js.map +1 -1
  129. package/dist/utils.d.ts +1 -102
  130. package/dist/utils.d.ts.map +1 -1
  131. package/dist/utils.js +0 -105
  132. package/dist/utils.js.map +1 -1
  133. package/docs/assets/highlight.css +42 -0
  134. package/docs/assets/main.js +1 -1
  135. package/docs/functions/default.html +1 -1
  136. package/docs/index.html +61 -50
  137. package/docs/media/security-privacy-bluetooth.png +0 -0
  138. package/package.json +5 -7
  139. package/src/device/blindtilt.ts +74 -74
  140. package/src/device/bot.ts +68 -67
  141. package/src/device/ceilinglight.ts +59 -70
  142. package/src/device/colorbulb.ts +79 -88
  143. package/src/device/contact.ts +40 -43
  144. package/src/device/curtain.ts +66 -68
  145. package/src/device/device.ts +86 -40
  146. package/src/device/fan.ts +52 -56
  147. package/src/device/hub.ts +50 -53
  148. package/src/device/humidifier.ts +56 -61
  149. package/src/device/iosensor.ts +37 -40
  150. package/src/device/lightstrip.ts +62 -72
  151. package/src/device/lock.ts +41 -45
  152. package/src/device/meter.ts +37 -40
  153. package/src/device/meterplus.ts +37 -40
  154. package/src/device/motion.ts +29 -32
  155. package/src/device/plug.ts +34 -37
  156. package/src/device/robotvacuumcleaner.ts +41 -49
  157. package/src/device/waterdetector.ts +30 -33
  158. package/src/irdevice/airconditioner.ts +33 -35
  159. package/src/irdevice/airpurifier.ts +12 -13
  160. package/src/irdevice/camera.ts +10 -11
  161. package/src/irdevice/fan.ts +24 -25
  162. package/src/irdevice/irdevice.ts +31 -27
  163. package/src/irdevice/light.ts +14 -15
  164. package/src/irdevice/other.ts +14 -17
  165. package/src/irdevice/tv.ts +28 -29
  166. package/src/irdevice/vacuumcleaner.ts +10 -11
  167. package/src/irdevice/waterheater.ts +10 -11
  168. package/src/platform.ts +178 -287
  169. package/src/settings.ts +67 -88
  170. package/src/utils.ts +2 -106
  171. package/dist/types/bledevicestatus.d.ts +0 -281
  172. package/dist/types/bledevicestatus.d.ts.map +0 -1
  173. package/dist/types/bledevicestatus.js +0 -2
  174. package/dist/types/bledevicestatus.js.map +0 -1
  175. package/dist/types/devicelist.d.ts +0 -89
  176. package/dist/types/devicelist.d.ts.map +0 -1
  177. package/dist/types/devicelist.js +0 -6
  178. package/dist/types/devicelist.js.map +0 -1
  179. package/dist/types/deviceresponse.d.ts +0 -13
  180. package/dist/types/deviceresponse.d.ts.map +0 -1
  181. package/dist/types/deviceresponse.js +0 -2
  182. package/dist/types/deviceresponse.js.map +0 -1
  183. package/dist/types/devicestatus.d.ts +0 -149
  184. package/dist/types/devicestatus.d.ts.map +0 -1
  185. package/dist/types/devicestatus.js +0 -3
  186. package/dist/types/devicestatus.js.map +0 -1
  187. package/dist/types/devicewebhookstatus.d.ts +0 -156
  188. package/dist/types/devicewebhookstatus.d.ts.map +0 -1
  189. package/dist/types/devicewebhookstatus.js +0 -2
  190. package/dist/types/devicewebhookstatus.js.map +0 -1
  191. package/dist/types/irdevicelist.d.ts +0 -10
  192. package/dist/types/irdevicelist.d.ts.map +0 -1
  193. package/dist/types/irdevicelist.js +0 -2
  194. package/dist/types/irdevicelist.js.map +0 -1
  195. package/dist/types/pushbody.d.ts +0 -6
  196. package/dist/types/pushbody.d.ts.map +0 -1
  197. package/dist/types/pushbody.js +0 -2
  198. package/dist/types/pushbody.js.map +0 -1
  199. package/src/types/bledevicestatus.ts +0 -303
  200. package/src/types/devicelist.ts +0 -124
  201. package/src/types/deviceresponse.ts +0 -14
  202. package/src/types/devicestatus.ts +0 -178
  203. package/src/types/devicewebhookstatus.ts +0 -191
  204. package/src/types/irdevicelist.ts +0 -15
  205. package/src/types/pushbody.ts +0 -9
@@ -1,303 +0,0 @@
1
- /* Copyright(C) 2017-2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
- *
3
- * bledevicestatus.ts: @switchbot/homebridge-switchbot platform class.
4
- */
5
- import type { MacAddress } from 'homebridge'
6
- import type { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from 'node-switchbot'
7
-
8
- export interface switchbot {
9
- discover: (arg0: { duration?: any, model: string, quick: boolean, id?: MacAddress }) => Promise<any>
10
- wait: (arg0: number) => any
11
- }
12
-
13
- export interface ad {
14
- id: string
15
- address: string
16
- rssi: number
17
- serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData | curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData | lockProServiceData | meterServiceData | meterPlusServiceData | motionSensorServiceData | outdoorMeterServiceData | plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData | hub2ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | robotVacuumCleanerServiceData
18
- }
19
-
20
- interface serviceData {
21
- model: string
22
- modelName: string
23
- }
24
-
25
- export type botServiceData = serviceData & {
26
- model: SwitchBotBLEModel.Bot
27
- modelName: SwitchBotBLEModelName.Bot
28
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Bot
29
- mode: string
30
- state: boolean
31
- battery: number
32
- }
33
-
34
- export type colorBulbServiceData = serviceData & {
35
- model: SwitchBotBLEModel.ColorBulb
36
- modelName: SwitchBotBLEModelName.ColorBulb
37
- modelFriendlyName: SwitchBotBLEModelFriendlyName.ColorBulb
38
- color_temperature: number
39
- power: boolean
40
- state: boolean
41
- red: number
42
- green: number
43
- blue: number
44
- brightness: number
45
- delay: number
46
- preset: number
47
- color_mode: number
48
- speed: number
49
- loop_index: number
50
- }
51
-
52
- export type contactSensorServiceData = serviceData & {
53
- model: SwitchBotBLEModel.ContactSensor
54
- modelName: SwitchBotBLEModelName.ContactSensor
55
- modelFriendlyName: SwitchBotBLEModelFriendlyName.ContactSensor
56
- movement: boolean
57
- tested: boolean
58
- battery: number
59
- contact_open: boolean
60
- contact_timeout: boolean
61
- lightLevel: string
62
- button_count: number
63
- doorState: string
64
- }
65
-
66
- export type curtainServiceData = serviceData & {
67
- model: SwitchBotBLEModel.Curtain
68
- modelName: SwitchBotBLEModelName.Curtain
69
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain
70
- calibration: boolean
71
- battery: number
72
- inMotion: boolean
73
- position: number
74
- lightLevel: number
75
- deviceChain: number
76
- }
77
-
78
- export type curtain3ServiceData = serviceData & {
79
- model: SwitchBotBLEModel.Curtain3
80
- modelName: SwitchBotBLEModelName.Curtain3
81
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3
82
- calibration: boolean
83
- battery: number
84
- inMotion: boolean
85
- position: number
86
- lightLevel: number
87
- deviceChain: number
88
- }
89
-
90
- export type stripLightServiceData = serviceData & {
91
- model: SwitchBotBLEModel.StripLight
92
- modelName: SwitchBotBLEModelName.StripLight
93
- modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight
94
- power: boolean
95
- state: boolean
96
- red: number
97
- green: number
98
- blue: number
99
- brightness: number
100
- delay: number
101
- preset: number
102
- color_mode: number
103
- speed: number
104
- loop_index: number
105
- }
106
-
107
- export type lockServiceData = serviceData & {
108
- model: SwitchBotBLEModel.Lock
109
- modelName: SwitchBotBLEModelName.Lock
110
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Lock
111
- battery: number
112
- calibration: boolean
113
- status: string
114
- update_from_secondary_lock: boolean
115
- door_open: string
116
- double_lock_mode: boolean
117
- unclosed_alarm: boolean
118
- unlocked_alarm: boolean
119
- auto_lock_paused: boolean
120
- night_latch: boolean
121
- }
122
-
123
- export type lockProServiceData = serviceData & {
124
- model: SwitchBotBLEModel.LockPro
125
- modelName: SwitchBotBLEModelName.LockPro
126
- modelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro
127
- battery: number
128
- calibration: boolean
129
- status: string
130
- update_from_secondary_lock: boolean
131
- door_open: string
132
- double_lock_mode: boolean
133
- unclosed_alarm: boolean
134
- unlocked_alarm: boolean
135
- auto_lock_paused: boolean
136
- night_latch: boolean
137
- }
138
-
139
- export type meterServiceData = serviceData & {
140
- model: SwitchBotBLEModel.Meter
141
- modelName: SwitchBotBLEModelName.Meter
142
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Meter
143
- celsius: number
144
- fahrenheit: number
145
- fahrenheit_mode: boolean
146
- humidity: number
147
- battery: number
148
- }
149
-
150
- export type meterPlusServiceData = serviceData & {
151
- model: SwitchBotBLEModel.MeterPlus
152
- modelName: SwitchBotBLEModelName.MeterPlus
153
- modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPlus
154
- celsius: number
155
- fahrenheit: number
156
- fahrenheit_mode: boolean
157
- humidity: number
158
- battery: number
159
- }
160
-
161
- export type outdoorMeterServiceData = serviceData & {
162
- model: SwitchBotBLEModel.OutdoorMeter
163
- modelName: SwitchBotBLEModelName.OutdoorMeter
164
- modelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter
165
- celsius: number
166
- fahrenheit: number
167
- fahrenheit_mode: boolean
168
- humidity: number
169
- battery: number
170
- }
171
-
172
- export type motionSensorServiceData = serviceData & {
173
- model: SwitchBotBLEModel.MotionSensor
174
- modelName: SwitchBotBLEModelName.MotionSensor
175
- modelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor
176
- tested: boolean
177
- movement: boolean
178
- battery: number
179
- led: number
180
- iot: number
181
- sense_distance: number
182
- lightLevel: string
183
- is_light: boolean
184
- }
185
-
186
- export type plugMiniUSServiceData = serviceData & {
187
- model: SwitchBotBLEModel.PlugMiniUS
188
- modelName: SwitchBotBLEModelName.PlugMini
189
- modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini
190
- state: string
191
- delay: boolean
192
- timer: boolean
193
- syncUtcTime: boolean
194
- wifiRssi: number
195
- overload: boolean
196
- currentPower: number
197
- }
198
-
199
- export type plugMiniJPServiceData = serviceData & {
200
- model: SwitchBotBLEModel.PlugMiniUS
201
- modelName: SwitchBotBLEModelName.PlugMini
202
- modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini
203
- state: string
204
- delay: boolean
205
- timer: boolean
206
- syncUtcTime: boolean
207
- wifiRssi: number
208
- overload: boolean
209
- currentPower: number
210
- }
211
-
212
- export type blindTiltServiceData = serviceData & {
213
- model: SwitchBotBLEModel.BlindTilt
214
- modelName: SwitchBotBLEModelName.BlindTilt
215
- modelFriendlyName: SwitchBotBLEModelFriendlyName.BlindTilt
216
- calibration: boolean
217
- battery: number
218
- inMotion: boolean
219
- tilt: number
220
- lightLevel: number
221
- }
222
-
223
- export type ceilingLightServiceData = serviceData & {
224
- model: SwitchBotBLEModel.CeilingLight
225
- modelName: SwitchBotBLEModelName.CeilingLight
226
- modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLight
227
- color_temperature: number
228
- power: boolean
229
- state: boolean
230
- red: number
231
- green: number
232
- blue: number
233
- brightness: number
234
- delay: number
235
- preset: number
236
- color_mode: number
237
- speed: number
238
- loop_index: number
239
- }
240
-
241
- export type ceilingLightProServiceData = serviceData & {
242
- model: SwitchBotBLEModel.CeilingLightPro
243
- modelName: SwitchBotBLEModelName.CeilingLightPro
244
- modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLightPro
245
- color_temperature: number
246
- power: boolean
247
- state: boolean
248
- red: number
249
- green: number
250
- blue: number
251
- brightness: number
252
- delay: number
253
- preset: number
254
- color_mode: number
255
- speed: number
256
- loop_index: number
257
- }
258
-
259
- export type hub2ServiceData = serviceData & {
260
- model: SwitchBotBLEModel.Hub2
261
- modelName: SwitchBotBLEModelName.Hub2
262
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Hub2
263
- celsius: number
264
- fahrenheit: number
265
- fahrenheit_mode: boolean
266
- humidity: number
267
- lightLevel: number
268
- }
269
-
270
- export type batteryCirculatorFanServiceData = serviceData & {
271
- model: SwitchBotBLEModel.Unknown
272
- modelName: SwitchBotBLEModelName.Unknown
273
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
274
- state: string
275
- fanSpeed: number
276
- }
277
-
278
- export type waterLeakDetectorServiceData = serviceData & {
279
- model: SwitchBotBLEModel.Unknown
280
- modelName: SwitchBotBLEModelName.Unknown
281
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
282
- state: boolean
283
- status: number
284
- battery: number
285
- }
286
-
287
- export type humidifierServiceData = serviceData & {
288
- model: SwitchBotBLEModel.Humidifier
289
- modelName: SwitchBotBLEModelName.Humidifier
290
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier
291
- onState: boolean
292
- autoMode: boolean
293
- percentage: number
294
- humidity: number
295
- }
296
-
297
- export type robotVacuumCleanerServiceData = serviceData & {
298
- model: SwitchBotBLEModel.Unknown
299
- modelName: SwitchBotBLEModelName.Unknown
300
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
301
- state: string
302
- battery: number
303
- }
@@ -1,124 +0,0 @@
1
- /* Copyright(C) 2017-2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
- *
3
- * devicelist.ts: @switchbot/homebridge-switchbot platform class.
4
- */
5
-
6
- export interface deviceList {
7
- device: device[]
8
- }
9
-
10
- export interface device {
11
- deviceId: string
12
- deviceName: string
13
- deviceType: string
14
- enableCloudService: boolean
15
- hubDeviceId: string
16
- version?: number
17
- }
18
-
19
- export type bot = device & {}
20
-
21
- export type curtain = device & {
22
- curtainDevicesIds: string[]
23
- calibrate: boolean
24
- group: boolean
25
- master: boolean
26
- openDirection: string
27
- }
28
-
29
- export type curtain3 = device & {
30
- curtainDevicesIds: string[]
31
- calibrate: boolean
32
- group: boolean
33
- master: boolean
34
- openDirection?: string
35
- }
36
-
37
- export type hub2 = device & {}
38
-
39
- export type meter = device & {}
40
-
41
- export type meterPlus = device & {}
42
-
43
- export type outdoorMeter = device & {}
44
-
45
- export type lock = device & {
46
- group: boolean
47
- master: boolean
48
- groupName: string
49
- lockDevicesIds: string[]
50
- }
51
-
52
- export type lockPro = device & {
53
- group: boolean
54
- master: boolean
55
- groupName: string
56
- lockDevicesIds: string[]
57
- }
58
-
59
- export type keypad = device & {
60
- remoteType: string
61
- lockDeviceId: string
62
- keyList: keyList
63
- }
64
-
65
- export type keypadTouch = device & {
66
- remoteType: string
67
- lockDeviceId: string
68
- keyList: keyList
69
- }
70
-
71
- interface keyList {
72
- id: number
73
- name: string
74
- type: string
75
- password: string
76
- iv: string
77
- status: string
78
- createTime: number
79
- }
80
-
81
- export type remote = device & {}
82
-
83
- export type motionSensor = device & {}
84
-
85
- export type contactSensor = device & {}
86
-
87
- export type waterLeakDetector = device & {}
88
-
89
- export type ceilingLight = device & {}
90
-
91
- export type ceilingLightPro = device & {}
92
-
93
- export type plug = device & {}
94
-
95
- export type plugMini = device & {}
96
-
97
- export type stripLight = device & {}
98
-
99
- export type colorBulb = device & {}
100
-
101
- export type robotVacuumCleanerS1 = device & {}
102
-
103
- export type robotVacuumCleanerS1Plus = device & {}
104
-
105
- export type floorCleaningRobotS10 = device & {}
106
-
107
- export type humidifier = device & {}
108
-
109
- export type indoorCam = device & {}
110
-
111
- export type pantiltCam = device & {}
112
-
113
- export type pantiltCam2k = device & {}
114
-
115
- export type blindTilt = device & {
116
- blindTiltDevicesIds: string[]
117
- calibrate: boolean
118
- group: boolean
119
- master: boolean
120
- direction: string
121
- slidePosition: number
122
- }
123
-
124
- export type batteryCirculatorFan = device & {}
@@ -1,14 +0,0 @@
1
- import type { deviceList } from './devicelist'
2
- import type { infraredRemoteList } from './irdevicelist'
3
-
4
- // json response from SwitchBot API
5
- export interface devices {
6
- statusCode: 100 | 190 | 'n/a'
7
- message: string
8
- body: body
9
- }
10
-
11
- interface body {
12
- deviceList: deviceList
13
- infraredRemoteList: infraredRemoteList
14
- }
@@ -1,178 +0,0 @@
1
- import type { device } from './devicelist'
2
-
3
- /* Copyright(C) 2017-2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
4
- *
5
- * devicestatus.ts: @switchbot/homebridge-switchbot platform class.
6
- */
7
- export interface deviceStatusRequest {
8
- statusCode: number
9
- message: string
10
- body: deviceStatus
11
- }
12
-
13
- export interface deviceStatus extends device {
14
- // properties on all devices
15
- deviceId: string
16
- deviceType: string
17
- hubDeviceId: string
18
- version: number
19
- };
20
-
21
- export type botStatus = deviceStatus & {
22
- power: string
23
- battery: number
24
- mode: 'pressMode' | 'switchMode' | 'customizeMode'
25
- }
26
-
27
- export type curtainStatus = deviceStatus & {
28
- calibrate: boolean
29
- group: boolean
30
- moving: boolean
31
- battery: number
32
- slidePosition: number
33
- lightLevel?: 'bright' | 'dim'
34
- }
35
-
36
- export type meterStatus = deviceStatus & {
37
- temperature: number
38
- battery: number
39
- humidity: number
40
- }
41
-
42
- export type meterPlusStatus = deviceStatus & {
43
- temperature: number
44
- battery: number
45
- humidity: number
46
- }
47
-
48
- export type outdoorMeterStatus = deviceStatus & {
49
- battery: number
50
- temperature: number
51
- humidity: number
52
- }
53
-
54
- export type lockStatus = deviceStatus & {
55
- lockState: string
56
- doorState: string
57
- moveDetected: boolean
58
- battery: number
59
- }
60
-
61
- export type lockProStatus = deviceStatus & {
62
- lockState: string
63
- doorState: string
64
- moveDetected: boolean
65
- battery: number
66
- }
67
-
68
- export type motionSensorStatus = deviceStatus & {
69
- battery: number
70
- moveDetected: boolean
71
- brightness: 'bright' | 'dim'
72
- }
73
-
74
- export type contactSensorStatus = deviceStatus & {
75
- battery: number
76
- moveDetected: boolean
77
- openState: 'open' | 'close' | 'timeOutNotClose'
78
- brightness: 'bright' | 'dim'
79
- }
80
-
81
- export type waterLeakDetectorStatus = deviceStatus & {
82
- battery: number
83
- status: 0 /* dry */ | 1 /* leak detected */
84
- }
85
-
86
- export type ceilingLightStatus = deviceStatus & {
87
- power: boolean
88
- brightness: number
89
- colorTemperature: number
90
- }
91
-
92
- export type ceilingLightProStatus = deviceStatus & {
93
- power: boolean
94
- brightness: number
95
- colorTemperature: number
96
- }
97
-
98
- export type plugStatus = deviceStatus & {
99
- power: string
100
- version: string
101
- }
102
-
103
- export type plugMiniStatus = deviceStatus & {
104
- voltage: Float64Array
105
- weight: Float64Array
106
- electricityOfDay: number
107
- electricCurrent: Float64Array
108
- power: string
109
- }
110
-
111
- export type stripLightStatus = deviceStatus & {
112
- power: string
113
- brightness: number
114
- color: string
115
- }
116
-
117
- export type colorBulbStatus = deviceStatus & {
118
- power: string
119
- brightness: number
120
- color: string
121
- colorTemperature: number
122
- }
123
-
124
- export type robotVacuumCleanerS1Status = deviceStatus & {
125
- workingStatus: string
126
- onlineStatus: string
127
- battery: number
128
- }
129
-
130
- export type robotVacuumCleanerS1PlusStatus = deviceStatus & {
131
- workingStatus: string
132
- onlineStatus: string
133
- battery: number
134
- }
135
-
136
- export type floorCleaningRobotS10Status = deviceStatus & {
137
- workingStatus: string
138
- onlineStatus: string
139
- battery: number
140
- waterBaseBattery: number
141
- taskType: string
142
- }
143
-
144
- export type humidifierStatus = deviceStatus & {
145
- power: string
146
- humidity: number
147
- temperature: number
148
- nebulizationEfficiency: number
149
- auto: boolean
150
- childLock: boolean
151
- sound: boolean
152
- lackWater: boolean
153
- }
154
-
155
- export type blindTiltStatus = deviceStatus & {
156
- calibrate: boolean
157
- battery: number
158
- direction: string
159
- slidePosition: string
160
- lightLevel?: 'bright' | 'dim'
161
- }
162
-
163
- export type hub2Status = deviceStatus & {
164
- temperature: number
165
- lightLevel: number
166
- humidity: number
167
- }
168
-
169
- export type batteryCirculatorFanStatus = deviceStatus & {
170
- mode: 'direct' | 'natural' | 'sleep' | 'baby'
171
- battery: number
172
- power: string
173
- nightStatus: number
174
- oscillation: string
175
- verticalOscillation: string
176
- chargingStatus: string
177
- fanSpeed: number
178
- }