homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
63 lines (62 loc) • 3.17 kB
TypeScript
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;
}