homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
36 lines • 1.45 kB
JavaScript
import process from 'node:process';
import { Command } from 'commander';
import { satisfies } from 'semver';
let homebridge;
class HomebridgeUi {
log;
constructor(log, config) {
this.log = log;
process.env.UIX_CONFIG_PATH = homebridge.user.configPath();
process.env.UIX_STORAGE_PATH = homebridge.user.storagePath();
process.env.UIX_PLUGIN_NAME = config.name || 'homebridge-config-ui-x';
const program = new Command();
program
.allowUnknownOption()
.allowExcessArguments()
.option('-P, --plugin-path [path]', '', p => process.env.UIX_CUSTOM_PLUGIN_PATH = p)
.option('-I, --insecure', '', () => process.env.UIX_INSECURE_MODE = '1')
.option('-T, --no-timestamp', '', () => process.env.UIX_LOG_NO_TIMESTAMPS = '1')
.parse(process.argv);
if (!satisfies(process.version, '>=20.19.0')) {
const msg = `Node.js v20.19.0 higher is required. You may experience issues running this plugin running on ${process.version}.`;
log.error(msg);
log.warn(msg);
}
}
accessories(callback) {
const accessories = [];
callback(accessories);
}
}
export default (api) => {
homebridge = api;
homebridge.registerPlatform('homebridge-config-ui-x', 'config', HomebridgeUi);
process.on('disconnect', () => process.exit());
};
//# sourceMappingURL=index.js.map