homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
149 lines (148 loc) • 5.4 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>;
getDashboardInit(): Promise<{
layout: any;
rpiThrottled?: Record<string, boolean>;
}>;
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;
hap: {
enabled: boolean;
externalsOnly: boolean;
};
matter: HomebridgeStatusMatterUpdate;
}>;
private getHapInfo;
getHomebridgeStatus(): Promise<{
status: HomebridgeStatus;
consolePort: number;
name: string;
port: number;
pin: string;
setupUri: string;
packageVersion: any;
paired: boolean;
hap: {
enabled: boolean;
externalsOnly: 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>;
getVersionOverview(): Promise<{
serverInfo: {
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: {};
};
node: unknown;
homebridge: import("../plugins/plugins.interfaces.js").HomebridgePlugin;
homebridgeUi: import("../plugins/plugins.interfaces.js").HomebridgePlugin;
outOfDatePlugins: import("../plugins/plugins.interfaces.js").HomebridgePlugin[];
docker: any;
hbV2Ready: boolean;
}>;
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[];
}>;
}