homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
136 lines (135 loc) • 4.45 kB
TypeScript
import type { FastifyRequest } from 'fastify';
import { Logger } from '../../core/logger/logger.service.js';
import { ChildBridgesService } from '../child-bridges/child-bridges.service.js';
import { HomebridgeMdnsSettingDto, HomebridgeNetworkInterfacesDto } from './server.dto.js';
import { ServerService } from './server.service.js';
export declare class ServerController {
private readonly serverService;
private readonly childBridgesService;
private readonly logger;
constructor(serverService: ServerService, childBridgesService: ChildBridgesService, logger: Logger);
restartServer(): Promise<{
ok: boolean;
command: string;
restartingUI: boolean;
}>;
restartChildBridge(deviceId: string): {
ok: boolean;
};
stopChildBridge(deviceId: string): {
ok: boolean;
};
startChildBridge(deviceId: string): {
ok: boolean;
};
getBridgePairingInformation(): Promise<import("@nestjs/common").ServiceUnavailableException | {
displayName: any;
pincode: any;
setupCode: string;
isPaired: boolean;
}>;
resetHomebridgeAccessory(): Promise<void>;
deleteAllCachedAccessories(): Promise<{
ok: boolean;
}>;
getCachedAccessories(): Promise<any[]>;
deleteCachedAccessory(uuid: string, cacheFile?: string): Promise<{
ok: boolean;
}>;
deleteCachedAccessories(accessories?: {
uuid: string;
cacheFile: string;
}[]): Promise<{
ok: boolean;
}>;
getMatterAccessories(): Promise<import("../../core/matter/matter.interfaces.js").StoredMatterAccessory[]>;
deleteMatterAccessory(deviceId: string, uuid: string): Promise<{
ok: boolean;
}>;
deleteMatterAccessories(accessories?: {
deviceId: string;
uuid: string;
}[]): Promise<{
ok: boolean;
}>;
getDevicePairings(): Promise<any[]>;
getDevicePairingById(deviceId: string): Promise<any>;
deleteDevicePairing(deviceId: string, resetPairingInfo?: string): Promise<{
ok: boolean;
}>;
deleteDeviceMatterConfig(deviceId: string): Promise<{
ok: boolean;
}>;
deleteDevicesPairings(bridges?: {
id: string;
resetPairingInfo: boolean;
}[]): Promise<{
ok: boolean;
}>;
deleteDeviceAccessories(deviceId: string): Promise<void>;
deleteDevicesAccessories(bridges?: {
id: string;
protocol?: 'hap' | 'matter' | 'both';
}[]): Promise<void>;
getNetworkOverview(): Promise<{
entries: import("../../core/matter/matter.interfaces.js").NetworkOverviewEntry[];
conflicts: string[];
}>;
lookupUnusedPort(): Promise<{
port: number;
}>;
lookupUnusedMatterPort(): Promise<{
port: number;
}>;
getSystemNetworkInterfaces(): Promise<import("systeminformation").Systeminformation.NetworkInterfacesData[]>;
getHomebridgeNetworkInterfaces(): Promise<string[]>;
setHomebridgeNetworkInterfaces(body: HomebridgeNetworkInterfacesDto): Promise<void>;
getHomebridgeMdnsSetting(): Promise<HomebridgeMdnsSettingDto>;
setHomebridgeMdnsSetting(body: HomebridgeMdnsSettingDto): Promise<void>;
setHomebridgeName(body: {
name: string;
}): Promise<void>;
getHomebridgePort(): Promise<{
port: number;
}>;
setHomebridgePort(body: {
port: number;
}): Promise<void>;
getUsablePort(): Promise<{
start?: number;
end?: number;
}>;
setUsablePorts(body: any): Promise<void>;
uploadWallpaper(req: FastifyRequest): Promise<void>;
uploadSslKeyCert(req: FastifyRequest): Promise<{
ok: boolean;
type: "keycert";
keyPath: string;
certPath: string;
details?: string;
}>;
uploadSslPfx(req: FastifyRequest): Promise<{
ok: boolean;
type: "pfx";
pfxPath: string;
details?: string;
}>;
validateSsl(): Promise<{
ok: boolean;
valid: boolean;
type: "off" | "selfsigned" | "keycert" | "pfx";
details?: string;
}>;
generateSelfSigned(body: {
hostnames?: string[];
mode?: 'selfsigned' | 'keycert';
}): Promise<{
ok: boolean;
type: "generated";
mode: "keycert" | "selfsigned";
keyPath?: string;
certPath?: string;
details?: string;
}>;
deleteWallpaper(): Promise<void>;
}