@@ -188,21 +188,57 @@ export interface deviceStatusRequest {
188188 body : deviceStatus
189189}
190190
191- export interface deviceStatus extends device {
191+ export type deviceStatus
192+ = | botStatus
193+ | curtainStatus
194+ | meterStatus
195+ | meterPlusStatus
196+ | meterProStatus
197+ | meterProCO2Status
198+ | outdoorMeterStatus
199+ | lockStatus
200+ | lockProStatus
201+ | motionSensorStatus
202+ | presenceSensorStatus
203+ | contactSensorStatus
204+ | waterLeakDetectorStatus
205+ | ceilingLightStatus
206+ | ceilingLightProStatus
207+ | plugStatus
208+ | plugMiniStatus
209+ | stripLightStatus
210+ | colorBulbStatus
211+ | robotVacuumCleanerS1Status
212+ | robotVacuumCleanerS1PlusStatus
213+ | floorCleaningRobotS10Status
214+ | humidifierStatus
215+ | humidifier2Status
216+ | blindTiltStatus
217+ | hub2Status
218+ | batteryCirculatorFanStatus
219+ | circulatorFanStatus
220+ | relaySwitch1Status
221+ | relaySwitch1PMStatus
222+ | airPurifierStatus
223+ | airPurifierTableStatus
224+ | airPurifierVOCStatus
225+ | airPurifierTableVOCStatus
226+
227+ export interface baseDeviceStatus {
192228 // properties on all devices
193229 deviceId : string
194230 deviceType : string
195231 hubDeviceId : string
196232 version : number
197233} ;
198234
199- export type botStatus = deviceStatus & {
235+ export type botStatus = baseDeviceStatus & {
200236 power : string
201237 battery : number
202- mode : 'pressMode' | 'switchMode' | 'customizeMode'
238+ deviceMode : 'pressMode' | 'switchMode' | 'customizeMode'
203239}
204240
205- export type curtainStatus = deviceStatus & {
241+ export type curtainStatus = baseDeviceStatus & {
206242 calibrate : boolean
207243 group : boolean
208244 moving : boolean
@@ -211,137 +247,137 @@ export type curtainStatus = deviceStatus & {
211247 lightLevel ?: 'bright' | 'dim'
212248}
213249
214- export type meterStatus = deviceStatus & {
250+ export type meterStatus = baseDeviceStatus & {
215251 temperature : number
216252 battery : number
217253 humidity : number
218254}
219255
220- export type meterPlusStatus = deviceStatus & {
256+ export type meterPlusStatus = baseDeviceStatus & {
221257 temperature : number
222258 battery : number
223259 humidity : number
224260}
225261
226- export type meterProStatus = deviceStatus & {
262+ export type meterProStatus = baseDeviceStatus & {
227263 temperature : number
228264 battery : number
229265 humidity : number
230266 version : string
231267}
232268
233- export type meterProCO2Status = deviceStatus & {
269+ export type meterProCO2Status = baseDeviceStatus & {
234270 temperature : number
235271 battery : number
236272 humidity : number
237273 version : string
238274 CO2 : number
239275}
240276
241- export type outdoorMeterStatus = deviceStatus & {
277+ export type outdoorMeterStatus = baseDeviceStatus & {
242278 battery : number
243279 temperature : number
244280 humidity : number
245281}
246282
247- export type lockStatus = deviceStatus & {
283+ export type lockStatus = baseDeviceStatus & {
248284 lockState : string
249285 doorState : string
250286 moveDetected : boolean
251287 battery : number
252288}
253289
254- export type lockProStatus = deviceStatus & {
290+ export type lockProStatus = baseDeviceStatus & {
255291 lockState : string
256292 doorState : string
257293 moveDetected : boolean
258294 battery : number
259295}
260296
261- export type motionSensorStatus = deviceStatus & {
297+ export type motionSensorStatus = baseDeviceStatus & {
262298 battery : number
263299 moveDetected : boolean
264300 brightness : 'bright' | 'dim'
265301}
266302
267- export type presenceSensorStatus = deviceStatus & {
303+ export type presenceSensorStatus = baseDeviceStatus & {
268304 battery : number
269305 version : string
270306 Detected : boolean
271307 lightLevel : number // 1~20
272308}
273309
274- export type contactSensorStatus = deviceStatus & {
310+ export type contactSensorStatus = baseDeviceStatus & {
275311 battery : number
276312 moveDetected : boolean
277313 openState : 'open' | 'close' | 'timeOutNotClose'
278314 brightness : 'bright' | 'dim'
279315}
280316
281- export type waterLeakDetectorStatus = deviceStatus & {
317+ export type waterLeakDetectorStatus = baseDeviceStatus & {
282318 battery : number
283319 status : 0 /* dry */ | 1 /* leak detected */
284320}
285321
286- export type ceilingLightStatus = deviceStatus & {
322+ export type ceilingLightStatus = baseDeviceStatus & {
287323 power : boolean
288324 brightness : number
289325 colorTemperature : number
290326}
291327
292- export type ceilingLightProStatus = deviceStatus & {
328+ export type ceilingLightProStatus = baseDeviceStatus & {
293329 power : boolean
294330 brightness : number
295331 colorTemperature : number
296332}
297333
298- export type plugStatus = deviceStatus & {
334+ export type plugStatus = baseDeviceStatus & {
299335 power : string
300336 version : string
301337}
302338
303- export type plugMiniStatus = deviceStatus & {
339+ export type plugMiniStatus = baseDeviceStatus & {
304340 voltage : Float64Array
305341 weight : Float64Array
306342 electricityOfDay : number
307343 electricCurrent : Float64Array
308344 power : string
309345}
310346
311- export type stripLightStatus = deviceStatus & {
347+ export type stripLightStatus = baseDeviceStatus & {
312348 power : string
313349 brightness : number
314350 color : string
315351}
316352
317- export type colorBulbStatus = deviceStatus & {
353+ export type colorBulbStatus = baseDeviceStatus & {
318354 power : string
319355 brightness : number
320356 color : string
321357 colorTemperature : number
322358}
323359
324- export type robotVacuumCleanerS1Status = deviceStatus & {
360+ export type robotVacuumCleanerS1Status = baseDeviceStatus & {
325361 workingStatus : string
326362 onlineStatus : string
327363 battery : number
328364}
329365
330- export type robotVacuumCleanerS1PlusStatus = deviceStatus & {
366+ export type robotVacuumCleanerS1PlusStatus = baseDeviceStatus & {
331367 workingStatus : string
332368 onlineStatus : string
333369 battery : number
334370}
335371
336- export type floorCleaningRobotS10Status = deviceStatus & {
372+ export type floorCleaningRobotS10Status = baseDeviceStatus & {
337373 workingStatus : string
338374 onlineStatus : string
339375 battery : number
340376 waterBaseBattery : number
341377 taskType : string
342378}
343379
344- export type humidifierStatus = deviceStatus & {
380+ export type humidifierStatus = baseDeviceStatus & {
345381 power : string
346382 humidity : number
347383 temperature : number
@@ -352,7 +388,7 @@ export type humidifierStatus = deviceStatus & {
352388 lackWater : boolean
353389}
354390
355- export type humidifier2Status = deviceStatus & {
391+ export type humidifier2Status = baseDeviceStatus & {
356392 power : string
357393 humidity : number
358394 temperature : number
@@ -363,21 +399,21 @@ export type humidifier2Status = deviceStatus & {
363399 lackWater : boolean
364400}
365401
366- export type blindTiltStatus = deviceStatus & {
402+ export type blindTiltStatus = baseDeviceStatus & {
367403 calibrate : boolean
368404 battery : number
369405 direction : string
370406 slidePosition : string
371407 lightLevel ?: 'bright' | 'dim'
372408}
373409
374- export type hub2Status = deviceStatus & {
410+ export type hub2Status = baseDeviceStatus & {
375411 temperature : number
376412 lightLevel : number
377413 humidity : number
378414}
379415
380- export type batteryCirculatorFanStatus = deviceStatus & {
416+ export type batteryCirculatorFanStatus = baseDeviceStatus & {
381417 mode : 'direct' | 'natural' | 'sleep' | 'baby'
382418 version : string
383419 battery : number
@@ -389,7 +425,7 @@ export type batteryCirculatorFanStatus = deviceStatus & {
389425 fanSpeed : number
390426}
391427
392- export type circulatorFanStatus = deviceStatus & {
428+ export type circulatorFanStatus = baseDeviceStatus & {
393429 mode : 'direct' | 'natural' | 'sleep' | 'baby'
394430 version : string
395431 power : string
@@ -399,12 +435,12 @@ export type circulatorFanStatus = deviceStatus & {
399435 fanSpeed : number
400436}
401437
402- export type relaySwitch1Status = deviceStatus & {
438+ export type relaySwitch1Status = baseDeviceStatus & {
403439 switchStatus : 0 | 1
404440 version : string
405441}
406442
407- export type relaySwitch1PMStatus = deviceStatus & {
443+ export type relaySwitch1PMStatus = baseDeviceStatus & {
408444 switchStatus : 0 | 1
409445 voltage : number
410446 version : string
@@ -413,28 +449,28 @@ export type relaySwitch1PMStatus = deviceStatus & {
413449 electricCurrent : number
414450}
415451
416- export type airPurifierStatus = deviceStatus & {
452+ export type airPurifierStatus = baseDeviceStatus & {
417453 power : string
418454 mode : number
419455 childLock : number
420456 version : string
421457}
422458
423- export type airPurifierTableStatus = deviceStatus & {
459+ export type airPurifierTableStatus = baseDeviceStatus & {
424460 power : string
425461 mode : number
426462 childLock : number
427463 version : string
428464}
429465
430- export type airPurifierVOCStatus = deviceStatus & {
466+ export type airPurifierVOCStatus = baseDeviceStatus & {
431467 power : string
432468 mode : number
433469 childLock : number
434470 version : string
435471}
436472
437- export type airPurifierTableVOCStatus = deviceStatus & {
473+ export type airPurifierTableVOCStatus = baseDeviceStatus & {
438474 power : string
439475 mode : number
440476 childLock : number
0 commit comments