Smart Home Integrations
The controller publishes state and accepts commands over MQTT using the Wirenboard convention: the base topic is for reading, the /on-suffixed topic is for writing a command. None of the systems below require anything special on the controller side beyond the usual MQTT setup — see Network & MQTT.
Device Topics
The device identifier in MQTT is the Client name field from MQTT settings, lowercased. Examples below use scalior-slc-xxxx — substitute your own.
/devices/scalior-slc-xxxx/meta → device description (JSON)
/devices/scalior-slc-xxxx/meta/name → "Scalior SLC"
/devices/scalior-slc-xxxx/meta/driver → "scalior"
/devices/scalior-slc-xxxx/controls/<Control><X> → state (read-only)
/devices/scalior-slc-xxxx/controls/<Control><X>/on → command (write)
<X> is the flight letter/number: M (Master) or 1–4. What actually gets published is controlled by the Expose topics setting on the controller's MQTT panel — you need to check at least one flight (or Master) before setting up the integrations below.
<Control> | Values | Master (M) | Note |
|---|---|---|---|
Switch | 0 / 1 | yes | lighting on/off |
Standby | 0 / 1 | yes | standby mode |
Sensors | 0 / 1 | yes | motion sensors on/off |
Brightness | 0–100 | yes | brightness, % |
UpperSens | 0 / 1 | only with a single flight | top motion sensor |
BottomSens | 0 / 1 | only with a single flight | bottom motion sensor |
Version | string | — (shared topic, no <X>) | firmware version |
Uptime | number, sec | — (shared topic, no <X>) | uptime, published every 60s |
With more than one flight there is no separate Master topic for
UpperSens/BottomSens. Checking "M" in Expose topics then means "publish sensors for every flight" instead of a shared topic.
The examples below use flight 1 (Switch1, Brightness1, BottomSens1). If you only have one flight, use M everywhere instead of 1 (SwitchM, BrightnessM, BottomSensM).
The goal of each section is a minimal test panel with three elements: a switch (Switch1), a brightness slider (Brightness1), and a sensor indicator (BottomSens1).
Home Assistant
Prerequisites
- HA has the MQTT integration configured (Settings → Devices & services → MQTT), pointing at the same broker as the controller.
Controller setup
- Network → MQTT → enable MQTT, fill in Host/Port/Client name/Login/Password.
- In Expose topics, check the flights you need (including flight 1).
- Enable the Home Assistant Discovery toggle.
- Connect.
Result
Discovery is fully automatic. In Home Assistant: Settings → Devices & services → MQTT → Devices — a device named Scalior SLC appears with every entity you exposed (Switch, Standby, Sensors, Brightness as switch/number, UpperSens/BottomSens as binary_sensor).
Minimal panel
Opening the device (click it in the Devices list) already shows a device page with all its entities — that's enough for testing. To pin the three elements you need (Switch1, Brightness1, BottomSens1) to a persistent dashboard:
- Settings → Dashboards → open the dashboard you want → Edit Dashboard → + Add Card.
- Pick the Entities card (or Area/Tile, to taste), add
switch.scalior_slc_switch1,number.scalior_slc_brightness1,binary_sensor.scalior_slc_bottomsens1(exact IDs depend on your device name — start typing in the search field and HA will suggest them). - Save the card.
If it doesn't work
- Check the MQTT status on the controller's panel — should read "Connected".
- Make sure the Home Assistant Discovery toggle is enabled.
- Force a reconnect (toggle MQTT off/on on the controller, or reboot it) — configuration is republished on every connect.
- If the device was previously removed from HA, the same forced reconnect will rediscover it.
ioBroker
Prerequisites
Pick a topology:
- A. ioBroker itself as the broker — mqtt adapter in Server mode, the controller connects directly to ioBroker's IP.
- B. External broker (e.g. Mosquitto) — both the controller and the mqtt adapter (Client mode) connect to it.
Installing and configuring the adapter
- Admin → Adapters → find mqtt → install.
- Admin → Instances → open
mqtt.0(settings icon) → set mode/Host/Port/login-password → Save and close. - Confirm the instance is enabled with a green connection indicator.
Controller setup
Same as steps 1–2, 4 in the Home Assistant section — the Home Assistant Discovery toggle is not needed here, it has no effect on ioBroker.
Finding the objects
Objects → mqtt.0 → devices → scalior-slc-xxxx → controls. Each control is a separate object with its current value; writable ones (Switch1, Brightness1, etc.) also have child objects on (command) and meta (description) — in most adapter versions these are not automatically merged into a single read/write state.
Minimal panel
Step 1 — turn Switch1 and Brightness1 into proper read/write objects via Alias:
- Right-click the
Switch1object → Create alias (if that option is missing, create an empty State manually under thealias.0folder). - In the new alias object's settings: keep Read id pointing at
Switch1, change Write id to the childSwitch1.on(pick it via the object browser, don't type it by hand). - Repeat for
Brightness1→Brightness1.on.
Leave BottomSens1 alone — it's read-only by nature, no writing needed there.
Step 2 — build the panel:
- Install the vis-2 adapter (or classic vis), if not already installed.
- Create a new View, drag three widgets onto it: a switch (bound to the Switch1 alias object), a slider (bound to the Brightness1 alias object), and an indicator/text widget (bound to the raw
BottomSens1object). - Save and open the panel via the vis adapter's link.
If it doesn't work
- Check the MQTT status on the controller's panel.
- Make sure the mqtt instance's settings don't filter out
/devices/#. - Force a reconnect on the controller — every topic is republished with
retain=true. - If you'd rather have objects assemble into a structure automatically (no manual Alias work), look for a dedicated Wirenboard-convention adapter in the ioBroker adapter list — the controller uses exactly that convention; whether it's current for your ioBroker version needs to be checked locally.
Node-RED
There's no auto-discovery here at all — every topic is wired into a node by hand, but there's also no read/write-merging fuss to deal with.
Controller setup
Same as steps 1–2, 4 in the Home Assistant section — the Discovery toggle isn't needed.
Building the minimal panel
- Install the node-red-dashboard package (Menu → Manage palette → Install →
node-red-dashboard), if not already installed. - Add an mqtt-broker config node (via any mqtt node's settings → Add new mqtt-broker) — fill in the broker's Host/Port/login-password.
- Reading — 3
mqtt innodes, each subscribed to its own topic, output wired to the matching dashboard widget:/devices/scalior-slc-xxxx/controls/Switch1→ switch widget/devices/scalior-slc-xxxx/controls/Brightness1→ slider widget (or gauge, for read-only viewing)/devices/scalior-slc-xxxx/controls/BottomSens1→ text/led indicator widget
- Writing — 2
mqtt outnodes, input from the same dashboard widgets (switch and slider widgets emitmsg.payloadon interaction):- switch widget →
mqtt out→ topic/devices/scalior-slc-xxxx/controls/Switch1/on - slider widget →
mqtt out→ topic/devices/scalior-slc-xxxx/controls/Brightness1/on
- switch widget →
- Deploy. The panel is available at
http://<node-red-host>:1880/ui(or/dashboard, depending on the package version).
Quick topic exploration
A single mqtt in node subscribed to /devices/scalior-slc-xxxx/controls/# will show every control of the device at once — handy for checking things before wiring up individual nodes.
If it doesn't work
- Check that the broker node shows "connected" (indicator under the node on the canvas).
- Compare the topic character-by-character — a typo in
/onor the flight number is the most common cause of silence. - A
debugnode wired to anymqtt innode is the easiest way to see what's actually arriving.