A tiny local editor for reorganising the Homebridge UI accessory layout without using the Homebridge UI drag-and-drop screen.
Homebridge UI stores the accessory room layout in:
<homebridge-storage-path>/accessories/uiAccessoriesLayout.json
In the official Homebridge UI source, this path is built from storagePath, accessories, and uiAccessoriesLayout.json. The same source also exposes accessory layout read/write logic for the authenticated user.
This tool is useful when the Homebridge UI accessory layout editor is awkward or unreliable. It was created after layout issues seen with Homebridge UI v5.22.0, where editing the layout directly through the Homebridge drag-and-drop interface could be painful.
This app edits a local copy named exactly like the Homebridge UI file:
uiAccessoriesLayout.json
The JSON structure is preserved. You can move services between rooms, reorder services inside a room, search accessories, show or hide hidden services, and save the result back to uiAccessoriesLayout.json.
Before each save, the app creates a timestamped backup:
uiAccessoriesLayout.backup-YYYY-MM-DDTHH-MM-SS-sssZ.json
Copy your Homebridge UI layout file into this folder:
cp ~/.homebridge/accessories/uiAccessoriesLayout.json .Start the editor:
npm startOpen:
http://127.0.0.1:4173
After saving, copy the edited file back to Homebridge:
cp uiAccessoriesLayout.json ~/.homebridge/accessories/uiAccessoriesLayout.jsonRestart Homebridge UI if the accessory screen does not refresh immediately.
The default Homebridge storage path is usually ~/.homebridge, but it can be different depending on Docker, hb-service, Synology, or custom UIX_STORAGE_PATH setups.
Stop Homebridge UI or make a backup before replacing uiAccessoriesLayout.json.
- Homebridge UI repository: https://github.com/homebridge/homebridge-config-ui-x
- Homebridge UI source path:
src/core/config/config.service.ts - Accessory layout source logic:
src/modules/accessories/accessories.service.ts