Pull requests are welcome from everyone.
This project is written in TypeScript and uses Nest.js for the server and Angular for the client UI.
Note: The Raspberry Pi and similar boards do not meet the memory or CPU requirements required to setup the development environment.
First, remove any globally installed versions of homebridge-config-ui-x
you may have installed on your development machine:
npm uninstall -g homebridge-config-ui-x
Fork, then clone the repo:
git clone [email protected]:your-username/homebridge-config-ui-x.git
Install npm dependencies for the plugin:
npm install
Install the npm dependencies for the UI:
npm run install:ui
Build the plugin, it may take sometime to compile the UI:
npm run build
Symlink your development directory to global:
npm link
You can now run homebridge
and it will use homebridge-config-ui-x
from your development directory. Make sure you have setup homebridge-config-ui-x
in your config.json
and that the plugin is configured to run on port 8080
. Here is a good template to use:
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"standalone": true
}
]
This will start the Angular development server on port 4200
and a standalone server on port 8080. It will also watch and compile changes made to the server side TypeScript code:
npm run watch
You should now be able to navigate to https://localhost:4200
in your browser which will connect to your homebridge
instance running on port 8080
. The UI will automatically reload whenever you make changes to the code.
Additional language translations, or improvements to existing translations are most welcome. Translations can be found here:
https://github.com/oznu/homebridge-config-ui-x/tree/master/ui/src/i18n