Configuration Tool
Using the Qt/Python Domoriks Configurator desktop app to set up and manage your installation.
What the configurator does
The Domoriks Configurator is a standalone Qt-based Python desktop application. It connects to the RS-485 bus independently of Home Assistant and is used to:
- Discover all modules on the bus
- Assign or change Modbus addresses
- Label outputs and inputs with human-readable names
- Set per-input debounce times
- Save your complete home layout to a
.jsonfile - Export a configuration bundle for the HA integration
- Flash firmware updates
ℹ Screenshots
Add Configurator screenshots here — main window, module discovery, output labelling.
Installation
pip install domoriks-configurator
Or from source:
git clone https://github.com/domoriks/configurator
cd configurator
pip install -e .
Launch:
domoriks-configurator
# or: python -m domoriks_configurator
First run: connect to the bus
- Launch the app
- From the toolbar, select your serial port (e.g.
/dev/ttyUSB0) - Select baud rate (default 9600)
- Click Connect
The status bar should show Connected and the bus activity indicator will start blinking.
Module discovery
Click Scan Bus to discover all modules:
- The app sends a broadcast query and listens for responses
- Discovered modules appear in the left panel with their address and type
- If a module does not appear, check power and wiring
💡 Slow scan
The full bus scan (addresses 1–247) takes about 25 seconds at 9600 baud. Most installations with known addresses can use Quick Scan (addresses 1–32) which completes in 3 seconds.
Address assignment
To change a module’s address:
- Select the module in the left panel
- Click Change Address
- Enter the new address (1–247)
- Click Apply — the change is written to the module’s Flash
- The module reboots and appears at the new address
⚠ Avoid duplicates
The configurator will warn you if the target address is already in use. Never apply a duplicate address — it will cause both modules to respond to the same request, corrupting communication.
Labelling outputs and inputs
Select a module, then select an output or input channel in the detail panel:
- Label — free text (e.g. “Kitchen Counter Spots”)
-
Icon — MDI icon name (e.g.
mdi:spotlight) — used in HA -
Type (switch inputs only) —
toggleormomentary - Debounce (switch inputs only) — milliseconds
Changes are saved to the JSON file; they do not write to the module itself (labels are not stored in module firmware).
Saving and loading configurations
Click Save to write the current configuration to a .json file. The file is human-readable:
{
"site_name": "My Home",
"bus_port": "/dev/ttyUSB0",
"baud_rate": 9600,
"modules": [
{
"address": 1,
"type": "relay",
"label": "Ground Floor Relays",
"outputs": [
{ "channel": 1, "label": "Living Room Main Light", "icon": "mdi:ceiling-light" }
]
}
]
}
Store this file in version control. When you add a module or rename an output, the diff is human-readable.
Exporting for Home Assistant
File → Export HA Bundle creates a .zip file containing:
-
config.json— the full site configuration - A pre-populated import file for the Domoriks HA integration
During HA integration setup, you can import this bundle to skip the manual naming step and have all entity names and icons populated automatically.
Firmware update
- Download the latest
.hexfile from the firmware release page - Select the module to update
- Tools → Flash Firmware
- Select the
.hexfile - The app programs the module via Modbus bootloader protocol
The module reboots automatically after flashing. Verify the firmware version in the module info panel.