
The Resi Dali - Configuration template is a one-off commissioning and addressing tool for the RESI-DALI-SIO and RESI-DALI-ETH Modbus-to-DALI gateway from RESI Informatik & Automation GmbH. It drives the DALI 2.0 random-addressing algorithm from TapHome to assign short addresses 0–63 to control gears on a newly wired DALI bus, probes each address for the DALI device type, and offers broadcast ON/OFF sanity tests — everything needed to bring a fresh installation to a state where lamps can be individually controlled.
Communication with the gateway uses Modbus RTU at 9600 baud 8N1. The template also exposes an IpAddress import parameter so the same flow works through a serial-to-IP bridge (Moxa NPort, USR-TCP232) or a RESI-DALI-ETH configured for transparent RTU-over-Ethernet mode.
This template is intentionally addressing-only. Once short addresses are assigned, remove the Resi Dali - Configuration module and use the sibling operational template Resi Dali (
Dali.xml) for day-to-day control — individual lamp dimming, groups, scenes and DT6/DT8 RGB/tunable-white colour control. The commissioning module is not designed to stay in the project after initial setup.
Hardware connection
The RESI-DALI-SIO is a DIN-rail master gateway (17.5 × 90 × 56.4 mm, CEM17) that sits between a serial/Ethernet host and a DALI lighting bus. The gateway does not power the DALI bus — a companion DALI bus power supply (RESI-DALI-PS or any compliant 200 mA DALI PSU) is mandatory.
Connecting the RESI-DALI-SIO (RS-485)

Terminals on the left side of the RESI-DALI-SIO (top → bottom): GND, +12..48V=, RS485 DATA+ (A+), RS485 DATA- (B-), RS485 GND, RS232 TX, RS232 RX, RS232 GND. The DALI bus terminals on the opposite side are D+ / N/C / D- (3-pin USLIM block, N/C stays unconnected).
For a TapHome installation use the RS-485 interface:
RS485 DATA+ (A+)→ A+/D+ on the TapHome RS-485 busRS485 DATA- (B-)→ B-/D- on the TapHome RS-485 busRS485 GND→ GND on the TapHome power supply (recommended for stable communication)+12..48V=/GND→ 12–48 V DC primary power
Connecting the RESI-DALI-ETH (Ethernet)

The Ethernet variant has the same DALI bus terminals (D+ / N/C / D-) and primary power (GND, +12..48V=), plus a single RJ45 connector for 10/100 Mbit Ethernet. Default IP settings out of the factory are 192.168.0.191 / 255.255.255.0 / 192.168.0.1 with Modbus Unit ID 255; web UI credentials are RESI / RESI. TapHome talks to the ETH variant via Modbus TCP, or in transparent RTU-over-Ethernet mode that this commissioning template expects (see Configuration below).
DALI bus power supply

The RESI-DALI-PS delivers up to 200 mA on the DALI bus (short-circuit current ~225 mA, bus voltage typical 14–18 V) and supports up to 64 DALI 1.0 ballasts or DALI 2.0 control gears on a single line. Primary side accepts the same 12–48 V DC supply as the SIO/ETH unit. The gateway and PSU tap into the same D+ / D- pair — the PSU energises the bus while the gateway reads and writes DALI frames.
Three LEDs on the PSU help during commissioning: POWER (primary 12–48 V OK, always on), DALI (flashes briefly during bus traffic), ERR (steady on PSU fault, DALI short circuit or bus overload — must be off in normal operation).
DALI bus rules
A DALI line imposes a few hard constraints that directly affect commissioning success:
| Conductor cross-section | Max DALI cable length |
|---|---|
| 1.5 mm² | 300 m |
| 1.0 mm² | 238 m |
| 0.75 mm² | 174 m |
| 0.5 mm² | 116 m |
The limit comes from the maximum permitted 2 V voltage drop across the DALI cable. Other rules:
- Maximum 64 DALI 1.0 ballasts and up to 64 DALI 2.0 control gears per bus (separate short-address spaces).
- Tree topology only — no rings, no loops.
- Actual gear count also depends on the PSU current rating (typically 200 mA on the RESI-DALI-PS, budget ~2 mA per gear plus reserve).
RESI-DALI-PS (or equivalent DALI PSU) is mandatory. Without it the RESI-DALI-SIO/ETH cannot drive the bus and the commissioning wizard will time out on every step. If a second PSU is used on a long line, insert a DALI choke or split the bus into galvanically separate segments.
Configuration
Enabling Modbus communication
All host serial parameters on the RESI-DALI-SIO are selected by a 4-position DIP switch on the module. The TapHome template pins 9600 baud 8N1, so the DIP switches must be set accordingly.
| DIP1 | DIP2 | Baud rate |
|---|---|---|
| OFF | OFF | 9600 bd (required by TapHome) |
| ON | OFF | 19200 bd |
| OFF | ON | 38400 bd |
| ON | ON | Uses FLASH-programmed baud rate (factory default 57600 bd) |
| DIP4 | Modbus Unit ID source |
|---|---|
| OFF | FLASH register H:65221 — required for the Set Slave ID action to take effect |
| ON | Forced to 255 (hardware fallback, FLASH value ignored) |
DIP3 is a product-specific reserved bit; leave it in the factory position unless the RESI service manual explicitly instructs otherwise. Parity is fixed at None (8N1) in the FLASH defaults — the template does not expose the parity/stop-bit registers.
RS-485 termination: terminate the bus with 120 Ω at both ends. TapHome Core provides one termination on its BUS terminals; if the RESI gateway is the last device on the line, add a discrete 120 Ω resistor across A+/B- on its RS-485 terminals.
RTU-over-TCP setup: the template has both SlaveId and IpAddress import parameters because the same DALI commissioning flow also works through a serial-to-IP bridge (Moxa NPort, USR-TCP232) or through the RESI-DALI-ETH in transparent RTU-over-Ethernet mode. In that case point IpAddress at the bridge / ETH unit IP and keep the rest of the settings identical to the RS-485 variant. For pure Modbus/TCP on RESI-DALI-ETH a TCP-based template would be more natural — the DaliConfig template specifically assumes framed RTU traffic.
Setting the gateway Slave ID
Factory default Unit ID is 255. To change it:
- Set
DIP4 = OFFon the gateway so the FLASH Unit ID is honoured. - Import the template in TapHome with
SlaveId = 255(current address). - Open the “Resi Dali - Configuration” module service settings and trigger the Set Slave ID action with the desired new ID (range 1–255). The action writes the value to register
H:65221and immediately triggers a software reset viaH:6000 = 1so the gateway reboots with the new address. - Remove the template and re-import it with
SlaveIdset to the new value. The module can then be used for commissioning.
The Reset Gateway action (writes 1 to H:6000) is also available as a standalone recovery step — useful after a DALI bus short that left the gateway’s DALI engine in a degraded state.
Only one Modbus master at a time. Neither DALI nor the Modbus RTU bus arbitrate between concurrent masters. If a PLC, BMS or PC tool (for example MODBUSConfigurator) is also polling the gateway during commissioning, short-address programming will collide and the wizard will report errors.
Device capabilities
The template is built around a single Modbus module — Resi Dali - Configuration — that bundles the commissioning wizard, a DALI device-type probe for every short address 0–63 and four gateway-level actions.
Commissioning wizard — Find New Devices
Find New Devices is a ten-state multi-value switch that drives the DALI 2.0 random-addressing algorithm in discrete steps. Each state name corresponds to one phase of the DALI 2.0 commissioning sequence; selecting a state causes the template to issue the right raw 16-bit DALI frame on H:541 / H:542 and then poll the DALI RX status on H:550 for the gateway’s response.
| Step | State | What it does |
|---|---|---|
| 0 | TERMINATE | DALI TERMINATE frame (0xA100) — abort the current addressing session and reset gateway state. Always safe to call |
| 1 | Start | INITIALISE (0xA5FF) + RANDOMISE (0xA700) — switches all un-addressed gears into the addressing pool and asks every gear to pick a 24-bit random address |
| 2 | Scan Short Address | Probes the next short address slot; returns status code 7 when no gear answers |
| 3 | Set SEARCHADDR | Loads the upper/middle/lower SEARCHADDR bytes (0xB500/0xB300/0xB100) for the binary search |
| 4 | COMPARE | Sends COMPARE (0xA900) and narrows the 24-bit search window based on the response |
| 5 | PROGRAM SHORT ADDRESS | Writes the verified short address via 0xB7xx — the gear is now permanently addressed |
| 6 | Check | Verifies the programmed address with a second COMPARE at the final SEARCHADDRL |
| 7 | Try again | Collision / timeout recovery — halves the current search interval and retries |
| 8 | Reset Short Addresses | DALI DTR = 0xFF (0xA3FF) + REMOVE SHORT ADDRESS broadcast — wipes all existing short addresses, ready for a full re-addressing |
| 9 | Finish | Reads the DALI result byte, emits a TapHome info/error message and leaves the wizard |
Typical commissioning workflow:
- Power the DALI bus (
RESI-DALI-PS), wire gears in a tree topology and make sure nothing else is driving the bus. - (Optional but recommended) run Reset Short Addresses first, to start from a clean state with every gear un-addressed.
- Run Start — this issues
INITIALISE+RANDOMISEso every gear picks a fresh 24-bit random address. - Run Scan Short Address → Set SEARCHADDR → COMPARE → PROGRAM SHORT ADDRESS → Check in sequence. The states encapsulate the DALI 2.0 binary search; each step advances the algorithm by one phase.
- If a step reports a collision or timeout, call Try again and rerun the compare/program sequence.
- When all visible gears have been programmed, run TERMINATE and then Finish to exit the wizard cleanly.
- Use the Gear 0 … Gear 63 service attributes and the Turn On / Off All Lamps actions to verify that short addresses 0–N are now populated (see below).
The wizard is designed to be stepped through one state at a time — the template does not automate the entire loop because the installer needs to watch the DALI bus behaviour (lamps pulsing, STATE LED rhythm on the gateway) to catch miswired or missing gears.
DALI gear probe — Gear 0 … Gear 63
Each of the 64 service attributes Gear 0, Gear 1, … Gear 63 probes one DALI short address with the DALI 2.0 QUERY DEVICE TYPE command (0x99). Internally the template writes (SA << 8) | 0x99 to H:511, polls H:550 bits 0–2 until a response arrives, then reads the answer byte back from H:511.
Possible return values in the TapHome service UI:
DT{n}— a control gear is programmed at this address and answered with device type n. Typical values:DT0(fluorescent),DT1(emergency),DT2(HID),DT5(0–10 V),DT6(LED driver),DT7(relay),DT8(colour / tunable white),DT9(sequencer).--— either no gear is programmed at this address or the gateway returned the0x8000“no answer / already consumed” sentinel.
The probe gives a quick pass/fail overview of which short addresses are populated after commissioning and which device types were discovered — this is the primary verification step before switching the project to the operational Resi Dali template.
Gateway-level actions
Four service actions on the module drive the gateway directly:
- Reset Gateway — writes
1toH:6000(DIP SWITCH / SOFTWARE RESET). Reboots the gateway; useful after a bus short circuit to recover the DALI engine. - Set Slave ID — writes the new Unit ID (1–255) to FLASH register
H:65221, then resets viaH:6000. RequiresDIP4 = OFFto take effect. - Turn On All Lamps — writes
0xFE(arc power 254 = 100 %) to the DALI broadcast level registerH:530. Fires every gear on the bus regardless of short address — a quick visual confirmation that the bus and PSU are healthy. - Turn Off All Lamps — writes
0x00toH:530, turning every gear off. Same broadcast path, opposite value.
The Slave ID service attribute on the module reads back the current Unit ID from FLASH register H:65221 so the currently programmed address can be verified before sending Set Slave ID.
Run Turn On All Lamps immediately after wiring, before starting the addressing wizard. Every powered and correctly-connected gear on the bus will come on at 100 %, which is a very fast way to spot missing or miswired fixtures before spending time on short-address programming.
Troubleshooting
Wizard times out on every step
- Verify the DALI bus voltage at the PSU terminals — it must be 11.5–22.5 V (typical 14–16 V). A significantly lower reading usually indicates a DALI short circuit.
- Check the RESI-DALI-PS ERR LED — if it is lit, the bus is shorted, overloaded or the PSU itself is faulty.
- Check the gateway STATE LED — a slow 1 s rhythm means DALI bus is healthy, a fast ~250 ms rhythm indicates a bus error, short or missing DALI power.
- Make sure no other Modbus master (MODBUSConfigurator, BMS, PLC) is talking to the gateway at the same time.
Gear 0–63 all report -- after commissioning
- Measure the DALI voltage at the gear farthest from the PSU — it must be above 9.5 V. If it is lower, the bus is too long for the cable cross-section (see the DALI cable length table above). Split the bus into two segments with a second PSU.
- Re-run the wizard starting from Reset Short Addresses. Do not run Start on a bus that still contains previously programmed gears unless you also reset first — the algorithm only finds gears without a short address.
- Look for loops in the wiring. DALI tolerates no rings; cut any loop you find and re-terminate both open ends.
Set Slave ID does not change the address
- Confirm
DIP4 = OFFon the gateway. WhenDIP4 = ONthe hardware forces Unit ID 255 regardless of the FLASH value. - Confirm the gateway actually rebooted after the action (gateway LEDs briefly go dark). If it did not, trigger Reset Gateway manually.
- Re-import the template with the new
SlaveIdimport parameter — the previously imported module is still polling at the old address.
Communication works briefly then fails
- Check that
RS485 GNDis connected between the gateway and the TapHome power supply common. Missing GND is the most common RS-485 fault. - Verify termination — 120 Ω at both ends of the RS-485 bus. For RTU-over-TCP through a serial bridge, make sure the bridge is in framed RTU mode, not raw TCP, and that the inter-character gap on the serial side matches 9600 baud 8N1 timing.
- Reduce the number of DALI queries in parallel — the gateway serialises DALI transactions and does not arbitrate between multiple Modbus masters.
