UNPKG

homebridge-config-ui-x

Version:

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

63 lines (62 loc) 3.17 kB
import { BadRequestException } from '@nestjs/common'; import { AccessoryConfig, HomebridgeConfig, HomebridgeUiBridgeConfig, PlatformConfig } from '../../core/config/config.interfaces.js'; 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 { MatterConfig } from '../../core/matter/matter.interfaces.js'; import { SchedulerService } from '../../core/scheduler/scheduler.service.js'; import { PluginsService } from '../plugins/plugins.service.js'; export declare class ConfigEditorService { private readonly logger; private readonly configService; private readonly schedulerService; private readonly pluginsService; private readonly homebridgeIpcService; constructor(logger: Logger, configService: ConfigService, schedulerService: SchedulerService, pluginsService: PluginsService, homebridgeIpcService: HomebridgeIpcService); private start; private scheduleConfigBackupCleanup; getConfigFile(): Promise<HomebridgeConfig>; updateConfigFile(config: HomebridgeConfig): Promise<HomebridgeConfig>; getConfigForPlugin(pluginName: string): Promise<BadRequestException | (PlatformConfig | AccessoryConfig)[]>; updateConfigForPlugin(pluginName: string, pluginConfig: Record<string, any>[]): Promise<BadRequestException | Record<string, any>[]>; getPropertyForUi(property: string): Promise<any>; setPropertyForUi(property: string, value: any): Promise<void>; setAccessoryControlInstanceBlacklist(value: string[]): Promise<void>; getPluginsHideUpdatesFor(): Promise<string[]>; setPluginsHideUpdatesFor(value: string[]): Promise<void>; getBridge(username: string): Promise<HomebridgeUiBridgeConfig | null>; private updateBridgeProperty; setBridgeHideHapAlert(username: string, value: boolean): Promise<void>; setBridgeHideMatterAlert(username: string, value: boolean): Promise<void>; setBridgeScheduledRestartCron(username: string, value: string | null): Promise<void>; disablePlugin(pluginName: string): Promise<string[]>; enablePlugin(pluginName: string): Promise<string[]>; listConfigBackups(): Promise<{ id: string; timestamp: Date; file: string; }[]>; getConfigBackup(backupId: number): Promise<NonSharedBuffer>; deleteConfigBackup(backupId: number): Promise<void>; deleteAllConfigBackups(): Promise<void>; private ensureBackupPathExists; cleanupConfigBackups(): Promise<void>; private migrateConfigBackups; generatePin(): string; generateUsername(): string; private removeEmpty; private cleanUpUiConfig; getMatterPortRange(): Promise<{ start?: number; end?: number; }>; setMatterPortRange(value: { start?: number; end?: number; }): Promise<void>; private validateMatterPortRange; getMatterConfig(): Promise<MatterConfig | null>; updateMatterConfig(matterConfig: MatterConfig): Promise<MatterConfig>; deleteMatterConfig(): Promise<void>; private validateMatterConfig; }