UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

172 lines (171 loc) • 5.22 kB
import type { ReadStream } from 'fs-extra'; export declare class ConfigService { name: string; configPath: string; storagePath: string; customPluginPath: string; strictPluginResolution: boolean; secretPath: string; authPath: string; accessoryLayoutPath: string; configBackupPath: string; instanceBackupPath: string; homebridgeInsecureMode: boolean; homebridgeVersion: string; minimumNodeVersion: string; serviceMode: boolean; runningInDocker: boolean; runningInSynologyPackage: boolean; runningInPackageMode: boolean; runningInLinux: boolean; runningInFreeBSD: boolean; canShutdownRestartHost: boolean; enableTerminalAccess: boolean; usePnpm: boolean; usePluginBundles: boolean; recommendChildBridges: boolean; runningOnRaspberryPi: boolean; startupScript: string; dockerOfflineUpdate: boolean; package: any; setupWizardComplete: boolean; customWallpaperHash: string; hbServiceUiRestartRequired: boolean; homebridgeConfig: HomebridgeConfig; ui: { name: string; port: number; host?: '::' | '0.0.0.0' | string; auth: 'form' | 'none'; theme: string; lightingMode: 'auto' | 'light' | 'dark'; menuMode?: 'default' | 'freeze'; sudo?: boolean; restart?: string; lang?: string; log?: { method: 'file' | 'custom' | 'systemd' | 'native'; command?: string; path?: string; service?: string; }; ssl?: { key?: string; cert?: string; pfx?: string; passphrase?: string; }; accessoryControl?: { debug?: boolean; instanceBlacklist?: string[]; }; temp?: string; tempUnits?: string; wallpaper?: string; noFork?: boolean; linux?: { shutdown?: string; restart?: string; }; standalone?: boolean; debug?: boolean; proxyHost?: string; sessionTimeout?: number; homebridgePackagePath?: string; scheduledBackupPath?: string; scheduledBackupDisable?: boolean; disableServerMetricsMonitoring?: boolean; }; private bridgeFreeze; private uiFreeze; secrets: { secretKey: string; }; instanceId: string; constructor(); parseConfig(homebridgeConfig: HomebridgeConfig): void; uiSettings(authorized?: boolean): { env: { canShutdownRestartHost: boolean; customWallpaperHash: string; dockerOfflineUpdate: boolean; homebridgeVersion: string; homebridgeInstanceName: string; instanceId: string; lang: string; packageName: any; packageVersion: any; platform: NodeJS.Platform; port: number; serviceMode: boolean; setupWizardComplete: boolean; }; formAuth: boolean; lightingMode: "auto" | "light" | "dark"; serverTimestamp: string; theme: string; menuMode: "default" | "freeze"; } | { env: { enableAccessories: boolean; enableTerminalAccess: boolean; nodeVersion: string; recommendChildBridges: boolean; runningInDocker: boolean; runningInSynologyPackage: boolean; runningInPackageMode: boolean; runningInLinux: boolean; runningInFreeBSD: boolean; runningOnRaspberryPi: boolean; temperatureUnits: string; usePnpm: boolean; canShutdownRestartHost: boolean; customWallpaperHash: string; dockerOfflineUpdate: boolean; homebridgeVersion: string; homebridgeInstanceName: string; instanceId: string; lang: string; packageName: any; packageVersion: any; platform: NodeJS.Platform; port: number; serviceMode: boolean; setupWizardComplete: boolean; }; wallpaper: string; formAuth: boolean; lightingMode: "auto" | "light" | "dark"; serverTimestamp: string; theme: string; menuMode: "default" | "freeze"; }; uiRestartRequired(): Promise<boolean>; private freezeUiSettings; private setConfigForDocker; private setConfigForServiceMode; private getSecrets; private generateSecretToken; private getInstanceId; private getCustomWallpaperHash; removeWallpaperCache(): void; streamCustomWallpaper(): ReadStream; private checkIfRunningOnRaspberryPi; } export interface HomebridgeConfig { bridge: { username: string; pin: string; name: string; port: number; advertiser?: 'avahi' | 'resolved' | 'ciao' | 'bonjour-hap'; bind?: string | string[]; }; mdns?: { interface?: string | string[]; }; platforms: Record<string, any>[]; accessories: Record<string, any>[]; plugins?: string[]; disabledPlugins?: string[]; }