diff --git a/libs/common/src/constants/product-type.enum.ts b/libs/common/src/constants/product-type.enum.ts index 834dac4..1cf049f 100644 --- a/libs/common/src/constants/product-type.enum.ts +++ b/libs/common/src/constants/product-type.enum.ts @@ -8,4 +8,5 @@ export enum ProductType { TWO_G = '2G', ONE_G = '1G', WH = 'WH', + DS = 'DS', } diff --git a/src/device/services/device.service.ts b/src/device/services/device.service.ts index 897e493..e69ad7a 100644 --- a/src/device/services/device.service.ts +++ b/src/device/services/device.service.ts @@ -826,7 +826,19 @@ export class DeviceService { battery = batteryStatus.value; } } + // Check if the device is a door sensor (DS) + if (device.productDevice.prodType === ProductType.DS) { + const doorSensorInstructionsStatus = + await this.getDevicesInstructionStatus(device.uuid); + const batteryStatus: any = doorSensorInstructionsStatus.status.find( + (status: any) => status.code === 'battery_percentage', + ); + + if (batteryStatus) { + battery = batteryStatus.value; + } + } const spaceDevice = device?.spaceDevice; const parentDevice = spaceDevice?.parent; return {