homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
80 lines (79 loc) • 2.6 kB
TypeScript
import type { WriteStream } from 'node:fs';
import type { TarOptionsWithAliases } from 'tar';
import { Logger } from './logger.js';
type Action = 'install' | 'uninstall' | 'start' | 'stop' | 'restart' | 'rebuild' | 'run' | 'add' | 'remove' | 'logs' | 'view' | 'update-node' | 'update-homebridge' | 'before-start' | 'status';
export declare class HomebridgeServiceHelper {
action: Action;
selfPath: string;
serviceName: string;
storagePath: string;
usingCustomStoragePath: boolean;
allowRunRoot: boolean;
enableHbServicePluginManagement: boolean;
asUser: string;
addGroup: string;
_logger: Logger;
logFile: WriteStream | NodeJS.WriteStream;
private homebridgeModulePath;
private homebridgePackage;
private homebridgeBinary;
private homebridge;
private homebridgeOpts;
private homebridgeCustomEnv;
private uiBinary;
private stdout;
docker: boolean;
private uid;
private gid;
uiPort: number;
private installer;
private ipcService;
get logPath(): string;
get logger(): Logger;
constructor();
private setEnv;
private showVersion;
private startLog;
private readConfig;
private truncateLog;
private launch;
private startExitHandler;
private runHomebridge;
private handleHomebridgeClose;
private runUi;
private getNpmGlobalModulesDirectory;
private findHomebridgePath;
private refreshHomebridgePackage;
private nodeVersionCheck;
private nvmCheck;
printPostInstallInstructions(): Promise<void>;
portCheck(): Promise<void>;
storagePathCheck(): Promise<void>;
configCheck(): Promise<void>;
createDefaultConfig(): Promise<void>;
private generateBridgeConfig;
private createDefaultUiConfig;
private isRaspbianImage;
private getLastKnownUiPort;
private generatePin;
private generateUsername;
private generatePort;
private avahiDaemonRunning;
private isAvahiDaemonRunning;
private chownPath;
private checkForStaleHomebridgeProcess;
private tailLogs;
private viewLogs;
get homebridgeStartupOptionsPath(): string;
private loadHomebridgeStartupOptions;
private fixDockerPermissions;
private checkForNodejsUpdates;
downloadNodejs(downloadUrl: string): Promise<string>;
extractNodejs(targetVersion: string, extractConfig: TarOptionsWithAliases): Promise<void>;
removeNpmPackage(npmInstallPath: string): Promise<void>;
private checkStatus;
private parseNpmPackageString;
private npmPluginManagement;
}
export {};