UNPKG

matterbridge-roborock-vacuum-plugin

Version:
25 lines (24 loc) 949 B
import { PowerSource } from 'matterbridge/matter/clusters'; import { OperationStatusCode } from '../roborockCommunication/Zenum/operationStatusCode.js'; export function getBatteryStatus(batteryLevel) { if (batteryLevel === undefined) return PowerSource.BatChargeLevel.Ok; if (batteryLevel >= 70) { return PowerSource.BatChargeLevel.Ok; } else if (batteryLevel >= 40) { return PowerSource.BatChargeLevel.Warning; } else { return PowerSource.BatChargeLevel.Critical; } } export function getBatteryState(deviceState, batRemaining) { if (deviceState == OperationStatusCode.Charging) { return batRemaining < 100 ? PowerSource.BatChargeState.IsCharging : PowerSource.BatChargeState.IsAtFullCharge; } if (deviceState == OperationStatusCode.ChargingError) { return PowerSource.BatChargeState.IsNotCharging; } return PowerSource.BatChargeState.IsAtFullCharge; }