39 lines
871 B
TypeScript
39 lines
871 B
TypeScript
export interface IUpsIdentity {
|
|
id: string;
|
|
name: string;
|
|
}
|
|
|
|
export interface IUpsStatus {
|
|
id: string;
|
|
name: string;
|
|
powerStatus: 'online' | 'onBattery' | 'unknown' | 'unreachable';
|
|
batteryCapacity: number;
|
|
batteryRuntime: number;
|
|
outputLoad: number;
|
|
outputPower: number;
|
|
outputVoltage: number;
|
|
outputCurrent: number;
|
|
lastStatusChange: number;
|
|
lastCheckTime: number;
|
|
consecutiveFailures: number;
|
|
unreachableSince: number;
|
|
}
|
|
|
|
export function createInitialUpsStatus(ups: IUpsIdentity, now: number = Date.now()): IUpsStatus {
|
|
return {
|
|
id: ups.id,
|
|
name: ups.name,
|
|
powerStatus: 'unknown',
|
|
batteryCapacity: 100,
|
|
batteryRuntime: 999,
|
|
outputLoad: 0,
|
|
outputPower: 0,
|
|
outputVoltage: 0,
|
|
outputCurrent: 0,
|
|
lastStatusChange: now,
|
|
lastCheckTime: 0,
|
|
consecutiveFailures: 0,
|
|
unreachableSince: 0,
|
|
};
|
|
}
|