From 8431ee3660fc45a483281f81bd8d279879f8e92e Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Sat, 19 Oct 2024 13:35:24 -0500 Subject: [PATCH] edit power clamp response --- src/device/services/device.service.ts | 34 ++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/device/services/device.service.ts b/src/device/services/device.service.ts index db1cfb4..96cba90 100644 --- a/src/device/services/device.service.ts +++ b/src/device/services/device.service.ts @@ -977,11 +977,43 @@ export class DeviceService { const deviceStatus = await this.getPowerClampInstructionStatusTuya( deviceDetails.deviceTuyaUuid, ); + const statusList = deviceStatus.result.properties as { + code: string; + value: any; + }[]; + + const groupedStatus = statusList.reduce( + (acc, currentStatus) => { + const { code } = currentStatus; + + if (code.includes('A')) { + acc.phaseA.push(currentStatus); + } else if (code.includes('B')) { + acc.phaseB.push(currentStatus); + } else if (code.includes('C')) { + acc.phaseC.push(currentStatus); + } else { + acc.general.push(currentStatus); + } + return acc; + }, + { + phaseA: [] as { code: string; value: any }[], + phaseB: [] as { code: string; value: any }[], + phaseC: [] as { code: string; value: any }[], + general: [] as { code: string; value: any }[], + }, + ); return { productUuid: deviceDetails.productDevice.uuid, productType: deviceDetails.productDevice.prodType, - status: deviceStatus.result.properties, + status: { + phaseA: groupedStatus.phaseA, + phaseB: groupedStatus.phaseB, + phaseC: groupedStatus.phaseC, + general: groupedStatus.general, + }, }; } catch (error) { throw new HttpException(