@switchbot/homebridge-switchbot 3.7.1-beta.2 → 3.7.1-beta.21

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 (199) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +14 -0
  3. package/assets/security-privacy-bluetooth.png +0 -0
  4. package/config.schema.json +74 -2
  5. package/dist/device/blindtilt.d.ts +21 -9
  6. package/dist/device/blindtilt.d.ts.map +1 -1
  7. package/dist/device/blindtilt.js +167 -96
  8. package/dist/device/blindtilt.js.map +1 -1
  9. package/dist/device/bot-old.d.ts +132 -0
  10. package/dist/device/bot-old.d.ts.map +1 -0
  11. package/dist/device/bot-old.js +1482 -0
  12. package/dist/device/bot-old.js.map +1 -0
  13. package/dist/device/bot.d.ts +10 -9
  14. package/dist/device/bot.d.ts.map +1 -1
  15. package/dist/device/bot.js +186 -187
  16. package/dist/device/bot.js.map +1 -1
  17. package/dist/device/ceilinglight.d.ts +14 -13
  18. package/dist/device/ceilinglight.d.ts.map +1 -1
  19. package/dist/device/ceilinglight.js +87 -97
  20. package/dist/device/ceilinglight.js.map +1 -1
  21. package/dist/device/colorbulb.d.ts +13 -12
  22. package/dist/device/colorbulb.d.ts.map +1 -1
  23. package/dist/device/colorbulb.js +92 -105
  24. package/dist/device/colorbulb.js.map +1 -1
  25. package/dist/device/contact.d.ts +6 -5
  26. package/dist/device/contact.d.ts.map +1 -1
  27. package/dist/device/contact.js +71 -68
  28. package/dist/device/contact.js.map +1 -1
  29. package/dist/device/curtain.d.ts +17 -5
  30. package/dist/device/curtain.d.ts.map +1 -1
  31. package/dist/device/curtain.js +184 -118
  32. package/dist/device/curtain.js.map +1 -1
  33. package/dist/device/device.d.ts +18 -18
  34. package/dist/device/device.d.ts.map +1 -1
  35. package/dist/device/device.js +33 -36
  36. package/dist/device/device.js.map +1 -1
  37. package/dist/device/fan.d.ts +9 -8
  38. package/dist/device/fan.d.ts.map +1 -1
  39. package/dist/device/fan.js +94 -101
  40. package/dist/device/fan.js.map +1 -1
  41. package/dist/device/hub.d.ts +6 -5
  42. package/dist/device/hub.d.ts.map +1 -1
  43. package/dist/device/hub.js +69 -65
  44. package/dist/device/hub.js.map +1 -1
  45. package/dist/device/humidifier.d.ts +6 -5
  46. package/dist/device/humidifier.d.ts.map +1 -1
  47. package/dist/device/humidifier.js +89 -104
  48. package/dist/device/humidifier.js.map +1 -1
  49. package/dist/device/iosensor.d.ts +6 -5
  50. package/dist/device/iosensor.d.ts.map +1 -1
  51. package/dist/device/iosensor.js +72 -66
  52. package/dist/device/iosensor.js.map +1 -1
  53. package/dist/device/lightstrip.d.ts +7 -6
  54. package/dist/device/lightstrip.d.ts.map +1 -1
  55. package/dist/device/lightstrip.js +85 -99
  56. package/dist/device/lightstrip.js.map +1 -1
  57. package/dist/device/lock.d.ts +10 -9
  58. package/dist/device/lock.d.ts.map +1 -1
  59. package/dist/device/lock.js +89 -79
  60. package/dist/device/lock.js.map +1 -1
  61. package/dist/device/meter.d.ts +6 -5
  62. package/dist/device/meter.d.ts.map +1 -1
  63. package/dist/device/meter.js +72 -65
  64. package/dist/device/meter.js.map +1 -1
  65. package/dist/device/meterplus.d.ts +6 -5
  66. package/dist/device/meterplus.d.ts.map +1 -1
  67. package/dist/device/meterplus.js +72 -64
  68. package/dist/device/meterplus.js.map +1 -1
  69. package/dist/device/motion.d.ts +6 -5
  70. package/dist/device/motion.d.ts.map +1 -1
  71. package/dist/device/motion.js +65 -58
  72. package/dist/device/motion.js.map +1 -1
  73. package/dist/device/plug.d.ts +13 -12
  74. package/dist/device/plug.d.ts.map +1 -1
  75. package/dist/device/plug.js +68 -52
  76. package/dist/device/plug.js.map +1 -1
  77. package/dist/device/robotvacuumcleaner.d.ts +12 -11
  78. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  79. package/dist/device/robotvacuumcleaner.js +93 -82
  80. package/dist/device/robotvacuumcleaner.js.map +1 -1
  81. package/dist/device/waterdetector.d.ts +6 -5
  82. package/dist/device/waterdetector.d.ts.map +1 -1
  83. package/dist/device/waterdetector.js +73 -63
  84. package/dist/device/waterdetector.js.map +1 -1
  85. package/dist/homebridge-ui/server.js +2 -2
  86. package/dist/homebridge-ui/server.js.map +1 -1
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +0 -4
  89. package/dist/index.js.map +1 -1
  90. package/dist/irdevice/airconditioner.d.ts +8 -8
  91. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  92. package/dist/irdevice/airconditioner.js +61 -105
  93. package/dist/irdevice/airconditioner.js.map +1 -1
  94. package/dist/irdevice/airpurifier.d.ts +10 -10
  95. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  96. package/dist/irdevice/airpurifier.js +22 -42
  97. package/dist/irdevice/airpurifier.js.map +1 -1
  98. package/dist/irdevice/camera.d.ts +9 -9
  99. package/dist/irdevice/camera.d.ts.map +1 -1
  100. package/dist/irdevice/camera.js +15 -25
  101. package/dist/irdevice/camera.js.map +1 -1
  102. package/dist/irdevice/fan.d.ts +8 -8
  103. package/dist/irdevice/fan.d.ts.map +1 -1
  104. package/dist/irdevice/fan.js +21 -40
  105. package/dist/irdevice/fan.js.map +1 -1
  106. package/dist/irdevice/irdevice.d.ts +11 -11
  107. package/dist/irdevice/irdevice.d.ts.map +1 -1
  108. package/dist/irdevice/irdevice.js +14 -22
  109. package/dist/irdevice/irdevice.js.map +1 -1
  110. package/dist/irdevice/light.d.ts +9 -9
  111. package/dist/irdevice/light.d.ts.map +1 -1
  112. package/dist/irdevice/light.js +24 -47
  113. package/dist/irdevice/light.js.map +1 -1
  114. package/dist/irdevice/other.d.ts +9 -9
  115. package/dist/irdevice/other.d.ts.map +1 -1
  116. package/dist/irdevice/other.js +40 -83
  117. package/dist/irdevice/other.js.map +1 -1
  118. package/dist/irdevice/tv.d.ts +9 -9
  119. package/dist/irdevice/tv.d.ts.map +1 -1
  120. package/dist/irdevice/tv.js +29 -54
  121. package/dist/irdevice/tv.js.map +1 -1
  122. package/dist/irdevice/vacuumcleaner.d.ts +5 -5
  123. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  124. package/dist/irdevice/vacuumcleaner.js +11 -21
  125. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  126. package/dist/irdevice/waterheater.d.ts +5 -5
  127. package/dist/irdevice/waterheater.d.ts.map +1 -1
  128. package/dist/irdevice/waterheater.js +11 -22
  129. package/dist/irdevice/waterheater.js.map +1 -1
  130. package/dist/platform.d.ts +24 -23
  131. package/dist/platform.d.ts.map +1 -1
  132. package/dist/platform.js +509 -723
  133. package/dist/platform.js.map +1 -1
  134. package/dist/settings.d.ts +5 -2
  135. package/dist/settings.d.ts.map +1 -1
  136. package/dist/settings.js.map +1 -1
  137. package/dist/types/bledevicestatus.d.ts +9 -9
  138. package/dist/types/bledevicestatus.d.ts.map +1 -1
  139. package/dist/types/devicelist.d.ts +6 -6
  140. package/dist/types/devicelist.d.ts.map +1 -1
  141. package/dist/types/deviceresponse.d.ts +4 -4
  142. package/dist/types/deviceresponse.d.ts.map +1 -1
  143. package/dist/types/devicestatus.d.ts +2 -2
  144. package/dist/types/devicestatus.d.ts.map +1 -1
  145. package/dist/types/devicewebhookstatus.d.ts +5 -5
  146. package/dist/types/devicewebhookstatus.d.ts.map +1 -1
  147. package/dist/types/irdevicelist.d.ts +4 -4
  148. package/dist/types/irdevicelist.d.ts.map +1 -1
  149. package/dist/types/pushbody.d.ts +2 -2
  150. package/dist/types/pushbody.d.ts.map +1 -1
  151. package/dist/utils.d.ts +4 -4
  152. package/dist/utils.d.ts.map +1 -1
  153. package/dist/utils.js +9 -13
  154. package/dist/utils.js.map +1 -1
  155. package/eslint.config.js +48 -93
  156. package/package.json +64 -57
  157. package/src/device/blindtilt.ts +537 -456
  158. package/src/device/bot-old.ts +1540 -0
  159. package/src/device/bot.ts +732 -725
  160. package/src/device/ceilinglight.ts +359 -368
  161. package/src/device/colorbulb.ts +441 -453
  162. package/src/device/contact.ts +229 -226
  163. package/src/device/curtain.ts +526 -444
  164. package/src/device/device.ts +206 -208
  165. package/src/device/fan.ts +336 -345
  166. package/src/device/hub.ts +213 -214
  167. package/src/device/humidifier.ts +326 -347
  168. package/src/device/iosensor.ts +211 -209
  169. package/src/device/lightstrip.ts +391 -404
  170. package/src/device/lock.ts +292 -282
  171. package/src/device/meter.ts +212 -210
  172. package/src/device/meterplus.ts +212 -209
  173. package/src/device/motion.ts +198 -190
  174. package/src/device/plug.ts +203 -182
  175. package/src/device/robotvacuumcleaner.ts +280 -269
  176. package/src/device/waterdetector.ts +198 -189
  177. package/src/homebridge-ui/server.ts +16 -15
  178. package/src/index.ts +5 -6
  179. package/src/irdevice/airconditioner.ts +277 -326
  180. package/src/irdevice/airpurifier.ts +124 -143
  181. package/src/irdevice/camera.ts +58 -64
  182. package/src/irdevice/fan.ts +106 -123
  183. package/src/irdevice/irdevice.ts +116 -119
  184. package/src/irdevice/light.ts +119 -143
  185. package/src/irdevice/other.ts +417 -461
  186. package/src/irdevice/tv.ts +155 -177
  187. package/src/irdevice/vacuumcleaner.ts +54 -60
  188. package/src/irdevice/waterheater.ts +56 -63
  189. package/src/platform.ts +1491 -1681
  190. package/src/settings.ts +172 -169
  191. package/src/types/bledevicestatus.ts +252 -256
  192. package/src/types/devicelist.ts +79 -79
  193. package/src/types/deviceresponse.ts +12 -13
  194. package/src/types/devicestatus.ts +124 -124
  195. package/src/types/devicewebhookstatus.ts +126 -131
  196. package/src/types/irdevicelist.ts +10 -10
  197. package/src/types/pushbody.ts +5 -5
  198. package/src/utils.ts +64 -65
  199. package/tsconfig.json +10 -9
@@ -2,307 +2,303 @@
2
2
  *
3
3
  * bledevicestatus.ts: @switchbot/homebridge-switchbot platform class.
4
4
  */
5
- import type { MacAddress } from 'homebridge';
6
- import type { SwitchBotBLEModel, SwitchBotBLEModelName, SwitchBotBLEModelFriendlyName } from 'node-switchbot';
5
+ import type { MacAddress } from 'homebridge'
6
+ import type { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from 'node-switchbot'
7
7
 
8
- export type switchbot = {
9
- discover: (arg0: { duration?: any; model: string; quick: boolean; id?: MacAddress }) => Promise<any>;
10
- wait: (arg0: number) => any;
11
- };
8
+ export interface switchbot {
9
+ discover: (arg0: { duration?: any, model: string, quick: boolean, id?: MacAddress }) => Promise<any>
10
+ wait: (arg0: number) => any
11
+ }
12
12
 
13
- export type ad = {
14
- id: string;
15
- address: string;
16
- rssi: number;
17
- serviceData: botServiceData | colorBulbServiceData | contactSensorServiceData |
18
- curtainServiceData | curtain3ServiceData | stripLightServiceData | lockServiceData |
19
- lockProServiceData | meterServiceData | meterPlusServiceData | motionSensorServiceData | outdoorMeterServiceData |
20
- plugMiniUSServiceData | plugMiniJPServiceData | blindTiltServiceData | ceilingLightServiceData | ceilingLightProServiceData |
21
- hub2ServiceData | batteryCirculatorFanServiceData | waterLeakDetectorServiceData | humidifierServiceData | robotVacuumCleanerServiceData;
22
- };
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
+ }
23
19
 
24
- type serviceData = {
25
- model: string,
26
- modelName: string,
27
- };
20
+ interface serviceData {
21
+ model: string
22
+ modelName: string
23
+ }
28
24
 
29
25
  export type botServiceData = serviceData & {
30
- model: SwitchBotBLEModel.Bot,
31
- modelName: SwitchBotBLEModelName.Bot,
32
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Bot,
33
- mode: string;
34
- state: boolean;
35
- battery: number;
36
- };
26
+ model: SwitchBotBLEModel.Bot
27
+ modelName: SwitchBotBLEModelName.Bot
28
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Bot
29
+ mode: string
30
+ state: boolean
31
+ battery: number
32
+ }
37
33
 
38
34
  export type colorBulbServiceData = serviceData & {
39
- model: SwitchBotBLEModel.ColorBulb,
40
- modelName: SwitchBotBLEModelName.ColorBulb,
41
- modelFriendlyName: SwitchBotBLEModelFriendlyName.ColorBulb,
42
- color_temperature: number;
43
- power: boolean;
44
- state: boolean;
45
- red: number;
46
- green: number;
47
- blue: number;
48
- brightness: number;
49
- delay: number;
50
- preset: number;
51
- color_mode: number;
52
- speed: number;
53
- loop_index: number;
54
- };
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
+ }
55
51
 
56
52
  export type contactSensorServiceData = serviceData & {
57
- model: SwitchBotBLEModel.ContactSensor,
58
- modelName: SwitchBotBLEModelName.ContactSensor,
59
- modelFriendlyName: SwitchBotBLEModelFriendlyName.ContactSensor,
60
- movement: boolean;
61
- tested: boolean;
62
- battery: number;
63
- contact_open: boolean;
64
- contact_timeout: boolean;
65
- lightLevel: string;
66
- button_count: number;
67
- doorState: string;
68
- };
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
+ }
69
65
 
70
66
  export type curtainServiceData = serviceData & {
71
- model: SwitchBotBLEModel.Curtain,
72
- modelName: SwitchBotBLEModelName.Curtain,
73
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain,
74
- calibration: boolean;
75
- battery: number;
76
- inMotion: boolean;
77
- position: number;
78
- lightLevel: number;
79
- deviceChain: number;
80
- };
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
+ }
81
77
 
82
78
  export type curtain3ServiceData = serviceData & {
83
- model: SwitchBotBLEModel.Curtain3,
84
- modelName: SwitchBotBLEModelName.Curtain3,
85
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
86
- calibration: boolean;
87
- battery: number;
88
- inMotion: boolean;
89
- position: number;
90
- lightLevel: number;
91
- deviceChain: number;
92
- };
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
+ }
93
89
 
94
90
  export type stripLightServiceData = serviceData & {
95
- model: SwitchBotBLEModel.StripLight,
96
- modelName: SwitchBotBLEModelName.StripLight,
97
- modelFriendlyName: SwitchBotBLEModelFriendlyName.StripLight,
98
- power: boolean;
99
- state: boolean;
100
- red: number;
101
- green: number;
102
- blue: number;
103
- brightness: number;
104
- delay: number;
105
- preset: number;
106
- color_mode: number;
107
- speed: number;
108
- loop_index: number;
109
- };
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
+ }
110
106
 
111
107
  export type lockServiceData = serviceData & {
112
- model: SwitchBotBLEModel.Lock,
113
- modelName: SwitchBotBLEModelName.Lock,
114
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Lock,
115
- battery: number;
116
- calibration: boolean;
117
- status: string;
118
- update_from_secondary_lock: boolean;
119
- door_open: string;
120
- double_lock_mode: boolean;
121
- unclosed_alarm: boolean;
122
- unlocked_alarm: boolean;
123
- auto_lock_paused: boolean;
124
- night_latch: boolean;
125
- };
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
+ }
126
122
 
127
123
  export type lockProServiceData = serviceData & {
128
- model: SwitchBotBLEModel.LockPro,
129
- modelName: SwitchBotBLEModelName.LockPro,
130
- modelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro,
131
- battery: number;
132
- calibration: boolean;
133
- status: string;
134
- update_from_secondary_lock: boolean;
135
- door_open: string;
136
- double_lock_mode: boolean;
137
- unclosed_alarm: boolean;
138
- unlocked_alarm: boolean;
139
- auto_lock_paused: boolean;
140
- night_latch: boolean;
141
- };
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
+ }
142
138
 
143
139
  export type meterServiceData = serviceData & {
144
- model: SwitchBotBLEModel.Meter,
145
- modelName: SwitchBotBLEModelName.Meter,
146
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Meter,
147
- temperature: temperature;
148
- fahrenheit: boolean;
149
- humidity: number;
150
- battery: number;
151
- };
140
+ model: SwitchBotBLEModel.Meter
141
+ modelName: SwitchBotBLEModelName.Meter
142
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Meter
143
+ temperature: temperature
144
+ fahrenheit: boolean
145
+ humidity: number
146
+ battery: number
147
+ }
152
148
 
153
149
  export type meterPlusServiceData = serviceData & {
154
- model: SwitchBotBLEModel.MeterPlus,
155
- modelName: SwitchBotBLEModelName.MeterPlus,
156
- modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPlus,
157
- temperature: temperature;
158
- fahrenheit: boolean;
159
- humidity: number;
160
- battery: number;
161
- };
150
+ model: SwitchBotBLEModel.MeterPlus
151
+ modelName: SwitchBotBLEModelName.MeterPlus
152
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MeterPlus
153
+ temperature: temperature
154
+ fahrenheit: boolean
155
+ humidity: number
156
+ battery: number
157
+ }
162
158
 
163
159
  export type outdoorMeterServiceData = serviceData & {
164
- model: SwitchBotBLEModel.OutdoorMeter,
165
- modelName: SwitchBotBLEModelName.OutdoorMeter,
166
- modelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter,
167
- temperature: temperature;
168
- fahrenheit: boolean;
169
- humidity: number;
170
- battery: number;
171
- };
160
+ model: SwitchBotBLEModel.OutdoorMeter
161
+ modelName: SwitchBotBLEModelName.OutdoorMeter
162
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.OutdoorMeter
163
+ temperature: temperature
164
+ fahrenheit: boolean
165
+ humidity: number
166
+ battery: number
167
+ }
172
168
 
173
169
  export type motionSensorServiceData = serviceData & {
174
- model: SwitchBotBLEModel.MotionSensor,
175
- modelName: SwitchBotBLEModelName.MotionSensor,
176
- modelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor,
177
- tested: boolean;
178
- movement: boolean;
179
- battery: number;
180
- led: number;
181
- iot: number;
182
- sense_distance: number;
183
- lightLevel: string;
184
- is_light: boolean;
185
- };
170
+ model: SwitchBotBLEModel.MotionSensor
171
+ modelName: SwitchBotBLEModelName.MotionSensor
172
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.MotionSensor
173
+ tested: boolean
174
+ movement: boolean
175
+ battery: number
176
+ led: number
177
+ iot: number
178
+ sense_distance: number
179
+ lightLevel: string
180
+ is_light: boolean
181
+ }
186
182
 
187
183
  export type plugMiniUSServiceData = serviceData & {
188
- model: SwitchBotBLEModel.PlugMiniUS,
189
- modelName: SwitchBotBLEModelName.PlugMini,
190
- modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
191
- state: string;
192
- delay: boolean;
193
- timer: boolean;
194
- syncUtcTime: boolean;
195
- wifiRssi: number;
196
- overload: boolean;
197
- currentPower: number;
198
- };
184
+ model: SwitchBotBLEModel.PlugMiniUS
185
+ modelName: SwitchBotBLEModelName.PlugMini
186
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini
187
+ state: string
188
+ delay: boolean
189
+ timer: boolean
190
+ syncUtcTime: boolean
191
+ wifiRssi: number
192
+ overload: boolean
193
+ currentPower: number
194
+ }
199
195
 
200
196
  export type plugMiniJPServiceData = serviceData & {
201
- model: SwitchBotBLEModel.PlugMiniUS,
202
- modelName: SwitchBotBLEModelName.PlugMini,
203
- modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini,
204
- state: string;
205
- delay: boolean;
206
- timer: boolean;
207
- syncUtcTime: boolean;
208
- wifiRssi: number;
209
- overload: boolean;
210
- currentPower: number;
211
- };
197
+ model: SwitchBotBLEModel.PlugMiniUS
198
+ modelName: SwitchBotBLEModelName.PlugMini
199
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.PlugMini
200
+ state: string
201
+ delay: boolean
202
+ timer: boolean
203
+ syncUtcTime: boolean
204
+ wifiRssi: number
205
+ overload: boolean
206
+ currentPower: number
207
+ }
212
208
 
213
209
  export type blindTiltServiceData = serviceData & {
214
- model: SwitchBotBLEModel.BlindTilt,
215
- modelName: SwitchBotBLEModelName.BlindTilt,
216
- modelFriendlyName: SwitchBotBLEModelFriendlyName.BlindTilt,
217
- calibration: boolean;
218
- battery: number;
219
- inMotion: boolean;
220
- tilt: number;
221
- lightLevel: number;
222
- };
210
+ model: SwitchBotBLEModel.BlindTilt
211
+ modelName: SwitchBotBLEModelName.BlindTilt
212
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.BlindTilt
213
+ calibration: boolean
214
+ battery: number
215
+ inMotion: boolean
216
+ tilt: number
217
+ lightLevel: number
218
+ }
223
219
 
224
220
  export type ceilingLightServiceData = serviceData & {
225
- model: SwitchBotBLEModel.CeilingLight,
226
- modelName: SwitchBotBLEModelName.CeilingLight,
227
- modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLight,
228
- color_temperature: number;
229
- power: boolean;
230
- state: boolean;
231
- red: number;
232
- green: number;
233
- blue: number;
234
- brightness: number;
235
- delay: number;
236
- preset: number;
237
- color_mode: number;
238
- speed: number;
239
- loop_index: number;
240
- };
221
+ model: SwitchBotBLEModel.CeilingLight
222
+ modelName: SwitchBotBLEModelName.CeilingLight
223
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLight
224
+ color_temperature: number
225
+ power: boolean
226
+ state: boolean
227
+ red: number
228
+ green: number
229
+ blue: number
230
+ brightness: number
231
+ delay: number
232
+ preset: number
233
+ color_mode: number
234
+ speed: number
235
+ loop_index: number
236
+ }
241
237
 
242
238
  export type ceilingLightProServiceData = serviceData & {
243
- model: SwitchBotBLEModel.CeilingLightPro,
244
- modelName: SwitchBotBLEModelName.CeilingLightPro,
245
- modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLightPro,
246
- color_temperature: number;
247
- power: boolean;
248
- state: boolean;
249
- red: number;
250
- green: number;
251
- blue: number;
252
- brightness: number;
253
- delay: number;
254
- preset: number;
255
- color_mode: number;
256
- speed: number;
257
- loop_index: number;
258
- };
239
+ model: SwitchBotBLEModel.CeilingLightPro
240
+ modelName: SwitchBotBLEModelName.CeilingLightPro
241
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.CeilingLightPro
242
+ color_temperature: number
243
+ power: boolean
244
+ state: boolean
245
+ red: number
246
+ green: number
247
+ blue: number
248
+ brightness: number
249
+ delay: number
250
+ preset: number
251
+ color_mode: number
252
+ speed: number
253
+ loop_index: number
254
+ }
259
255
 
260
256
  export type hub2ServiceData = serviceData & {
261
- model: SwitchBotBLEModel.Hub2,
262
- modelName: SwitchBotBLEModelName.Hub2,
263
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Hub2,
264
- temperature: temperature;
265
- fahrenheit: boolean;
266
- humidity: number;
267
- lightLevel: number;
268
- };
257
+ model: SwitchBotBLEModel.Hub2
258
+ modelName: SwitchBotBLEModelName.Hub2
259
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Hub2
260
+ temperature: temperature
261
+ fahrenheit: boolean
262
+ humidity: number
263
+ lightLevel: number
264
+ }
269
265
 
270
266
  export type batteryCirculatorFanServiceData = serviceData & {
271
- model: SwitchBotBLEModel.Unknown,
272
- modelName: SwitchBotBLEModelName.Unknown,
273
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
274
- state: string;
275
- fanSpeed: number;
276
- };
267
+ model: SwitchBotBLEModel.Unknown
268
+ modelName: SwitchBotBLEModelName.Unknown
269
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
270
+ state: string
271
+ fanSpeed: number
272
+ }
277
273
 
278
274
  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
- };
275
+ model: SwitchBotBLEModel.Unknown
276
+ modelName: SwitchBotBLEModelName.Unknown
277
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
278
+ state: boolean
279
+ status: number
280
+ battery: number
281
+ }
286
282
 
287
283
  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
- };
284
+ model: SwitchBotBLEModel.Humidifier
285
+ modelName: SwitchBotBLEModelName.Humidifier
286
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Humidifier
287
+ onState: boolean
288
+ autoMode: boolean
289
+ percentage: number
290
+ humidity: number
291
+ }
296
292
 
297
293
  export type robotVacuumCleanerServiceData = serviceData & {
298
- model: SwitchBotBLEModel.Unknown,
299
- modelName: SwitchBotBLEModelName.Unknown,
300
- modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
301
- state: string;
302
- battery: number;
303
- };
294
+ model: SwitchBotBLEModel.Unknown
295
+ modelName: SwitchBotBLEModelName.Unknown
296
+ modelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown
297
+ state: string
298
+ battery: number
299
+ }
304
300
 
305
- export type temperature = {
306
- c: number;
307
- f: number;
308
- };
301
+ export interface temperature {
302
+ c: number
303
+ f: number
304
+ }