homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
113 lines (112 loc) • 4.12 kB
TypeScript
import type { Systeminformation } from 'systeminformation';
import type { HomebridgeStatusMatterUpdate } from '../../core/matter/matter.interfaces.js';
import { HttpService } from '@nestjs/axios';
import { ConfigService } from '../../core/config/config.service.js';
import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.service.js';
import { Logger } from '../../core/logger/logger.service.js';
import { DockerRelease, DockerReleaseInfo } from '../platform-tools/docker/docker.interfaces.js';
import { PluginsService } from '../plugins/plugins.service.js';
import { ServerService } from '../server/server.service.js';
import { HomebridgeStatus } from './status.interfaces.js';
export declare class StatusService {
private readonly httpService;
private readonly logger;
private readonly configService;
private readonly pluginsService;
private readonly serverService;
private readonly homebridgeIpcService;
private statusCache;
private dashboardLayout;
private homebridgeStatus;
private homebridgeStatusChange;
private matterInfo;
private cpuLoadHistory;
private memoryUsageHistory;
private memoryInfo;
private rpiGetThrottledMapping;
constructor(httpService: HttpService, logger: Logger, configService: ConfigService, pluginsService: PluginsService, serverService: ServerService, homebridgeIpcService: HomebridgeIpcService);
private getCpuLoadPoint;
private getMemoryUsagePoint;
private getCpuLoadPointAlt;
private getCpuTemp;
private getCpuTempLegacy;
private getCpuTempAlt;
getCurrentNetworkUsage(netInterfaces?: string[]): Promise<{
net: Systeminformation.NetworkStatsData;
point: number;
}>;
getDashboardLayout(): Promise<any>;
setDashboardLayout(layout: any): Promise<{
status: string;
}>;
getServerCpuInfo(): Promise<{
cpuTemperature: {
main: number;
cores: any[];
max: number;
};
currentLoad: number;
cpuLoadHistory: number[];
}>;
getServerMemoryInfo(): Promise<{
mem: Systeminformation.MemData;
memoryUsageHistory: number[];
}>;
getServerUptimeInfo(): Promise<{
time: Systeminformation.TimeData;
processUptime: number;
}>;
getHomebridgePairingPin(): Promise<{
pin: string;
setupUri: string;
paired: boolean;
matter: HomebridgeStatusMatterUpdate;
}>;
getHomebridgeStatus(): Promise<{
status: HomebridgeStatus;
consolePort: number;
name: string;
port: number;
pin: string;
setupUri: string;
packageVersion: any;
paired: boolean;
matter: HomebridgeStatusMatterUpdate;
}>;
watchStats(client: any): Promise<void>;
private getHomebridgeStats;
checkHomebridgeStatus(): Promise<HomebridgeStatus>;
private getDefaultInterface;
private getOsInfo;
private getGlibcVersion;
getHomebridgeServerInfo(): Promise<{
serviceUser: string;
homebridgeConfigJsonPath: string;
homebridgeStoragePath: string;
homebridgeInsecureMode: boolean;
homebridgeCustomPluginPath: string;
homebridgePluginPath: string;
homebridgeRunningInDocker: boolean;
homebridgeRunningInSynologyPackage: boolean;
homebridgeRunningInPackageMode: boolean;
nodeVersion: string;
os: Systeminformation.OsData;
time: Systeminformation.TimeData;
network: {};
}>;
getHomebridgeVersion(): Promise<import("../plugins/plugins.interfaces.js").HomebridgePlugin>;
clearNodeJsVersionCache(): void;
getNodeVersionInfo(): Promise<unknown>;
getRaspberryPiThrottledStatus(): Promise<{}>;
getDockerDetails(): Promise<{
currentVersion: string;
latestVersion: string;
latestReleaseBody: string;
updateAvailable: boolean;
}>;
private readonly DOCKER_GITHUB_API_URL;
getRecentReleases(): Promise<{
releases: DockerReleaseInfo[];
rawReleases: DockerRelease[];
}>;
}