Appearance
DALI Lighting
Exaplay 3 controls DALI (IEC 62386) building and architectural lighting — house lights, foyer, scene lighting around an installation. A PC never drives a DALI bus directly; Exaplay talks to a gateway on the network, in one of two ways:
| Route | Gateways | What you get |
|---|---|---|
| Native gateway | Lunatone DALI-2 IoT, Helvar 910/920/950 routers | Switch, dim and recall scenes from cues, buttons and the Control tab; the gateway's status on its card |
| DMX-to-DALI gateway | Any gateway with an Art-Net or DMX input | Levels and scenes from Data Tracks on the Timeline, patched from the fixture library |
Both routes need a commissioned DALI installation: the ballasts have their short addresses and, where used, group memberships and scenes. Exaplay does not address or commission a DALI bus — do that with the gateway's or the installer's own tool.
Native gateways (Lunatone and Helvar)
The engine talks to the gateway itself: a Lunatone DALI-2 IoT over its REST API (HTTP, port 80), a Helvar router over HelvarNet (TCP port 50000). No extra software runs on the PC.
Add a gateway
- Open Control → TCP Devices. Under DALI lighting, select Add gateway.
- Give it a Name (cue lines use it:
House,Foyer), choose the Gateway type and enter its IP address. Leave Port empty for the default (80 for Lunatone, 50000 for Helvar). - Select Add gateway. The card shows the gateway's state within a few seconds: Online, Unreachable or Error — hover the badge for the reason and when it was last checked. The engine checks every gateway every 30 seconds.
The gateway list is saved in the project.
Targets and actions
A command has a target, an action and, for some actions, a value:
| Target | Lunatone DALI-2 IoT | Helvar router |
|---|---|---|
all | Every lamp on the bus | — (HelvarNet has no broadcast; use a group) |
G<n> | DALI group G0 … G15 | Helvar group G1 … G16383 |
A<n> | DALI short address A0 … A63 | — |
@c.r.s.d | — | A device by its Helvar address, e.g. @1.2.1.5 (cluster, router, subnet, device) |
| Action | Value | Lunatone | Helvar |
|---|---|---|---|
level | 0–100 (%) | dims to that level (0 switches off) | direct level |
on | — | switches on | level 100 % |
off | — | switches off | level 0 % |
scene | scene number | scene 0 … 15 | scene 1 … 16 of block 1, or block.scene (2.5 = block 2, scene 5) |
Fade: a Helvar command takes an optional fade time in seconds (0–655.35; empty = the router's default). The Lunatone API has no fade time — the ballasts' own DALI fade time applies, set in the gateway. A command a gateway cannot do is refused with the reason, before anything is sent: a fade on a Lunatone, all on a Helvar router, G16 on a Lunatone.
A Lunatone device (A<n>) is looked up in the gateway's device list, so the gateway must have scanned the bus (its web page → device scan) and run firmware 1.2 or later. Groups and all work without a scan.
From the Control tab
A Lunatone card has All on / All off. More commands opens the command row: target, action, value (and fade on a Helvar router); Send sends it. The card names the gateway type; its address is the tooltip. The last command and its outcome are shown under the card:
- done — the gateway accepted it;
- sent, not acknowledged — a Helvar router that did not confirm the command (it was sent; whether it was applied is not known);
- failed: … — with the gateway's own reason (no such group, cannot connect, …).
Copy cue line copies the same command as a DALI> line for a cue or a command button.
From cues and buttons
A cue script or a command button runs a DALI> line (see the Cue Script Reference):
DALI>House,all,off
DALI>House,G2,level,40
DALI>Foyer,G17,scene,2.5,3
DALI>Foyer,@1.2.1.5,level,60,1.5The gateway is named by its name (or id); $variables work in every field. The line returns at once — the command is queued and sent by the engine in the background, so an unreachable gateway never holds up a cue. The Monitor shows each command as a DALI row, and a failure as an error row with its reason.
The bus is slow
A DALI bus carries roughly 30–40 commands a second for all devices together. The engine never builds up a backlog: if a newer command for the same gateway and target arrives while one is still waiting, the newer one replaces it. Use groups and scenes for looks that change together; keep per-lamp commands for the few lamps that need them.
Multi-client
DALI commands are sent by the master only (or a standalone machine): a fleet sends each command once. On a client the cards read Unknown and say that the master sends.
Limits of the native route
- Lamp failures and actual levels are not read back yet — the card shows whether the gateway answers and how the last command went.
- No commissioning: addresses, groups, scenes and fade times are set in the DALI installation.
- A Lunatone DALI-2 IoT4 (four lines):
A<n>addresses line 0 only; use groups for devices on the other lines.
Troubleshooting a native gateway
| Problem | Check |
|---|---|
| The badge reads Unreachable | The IP address and port; that the PC and the gateway are on the same network; the gateway is powered. Hover the badge for the engine's reason. |
| Error on a Lunatone gateway | Something answered on that address, but not as a DALI-2 IoT does — check the address and the gateway type. |
no device at DALI address A5 | Run a device scan in the gateway's web page, or use a group. |
firmware … does not report DALI addresses | Update the Lunatone gateway to firmware 1.2 or later, or use groups. |
Helvar: the router answered: invalid group index parameter (or similar) | The group or address does not exist in the Helvar Designer configuration. |
| Helvar commands read sent, not acknowledged | The router did not confirm; check the command took effect, and the router's HelvarNet settings in Designer. |
| A cue line is refused | The Monitor's error row and the engine log name the reason, e.g. no DALI gateway named 'House' or a target the gateway does not have. |
| Nothing happens on a client machine | DALI is sent by the master; that is expected. |
Through a DMX-to-DALI gateway (Art-Net)
Exaplay sends Art-Net to the gateway, and the gateway turns each DMX channel into DALI commands on the bus. Patching works exactly like any other Art-Net fixture: the fixture library includes ready-made DALI gateway layouts.
What you need
- A DMX-to-DALI gateway with an Art-Net (or DMX512) input, on the same network as the Exaplay machine. Gateways that take only wired DMX512 need an Art-Net node in front of them.
- The gateway set to a DMX mode that matches one of the layouts below, and its Art-Net universe and start address noted down.
Gateway layouts in the fixture library
Open a Data Track's Fixture library… and pick one of the Generic DMX-to-DALI gateway profiles:
| Profile | Channels | Tracks it creates | Use it for |
|---|---|---|---|
| DALI broadcast level | 1 | DALI Broadcast | Every lamp on the bus at one level |
| DALI groups G0–G15 | 16 | DALI G0 … DALI G15 | Zones: house, stage, foyer… |
| DALI short addresses A0–A63 | 64 | DALI A0 … DALI A63 | Every ballast on its own |
| DALI scene recall | 1 | DALI Scene | Recalling a scene stored in the ballasts |
Level tracks run from 0 to 100 %, and 100 % is DMX 255. The gateway turns that DMX value into a DALI arc level. DALI dims on a logarithmic curve and most gateways apply their own conversion, so 50 % on the track is not necessarily half the light. Check the result at the lamps, not on the track.
The DALI Scene track sends a raw DMX value (0–255). Which value recalls which scene is defined by your gateway, so look it up in its manual and key that value. Set this track's Interpolation to Step: on a Linear ramp from one scene value to another, the values in between would recall every scene along the way.
These are generic layouts. If your gateway puts addresses, groups and scenes in one combined block, patch the matching profiles one after another at the gateway's offsets, or write a native profile for it.
Patch the gateway
- Add a Data Track and set Output → Format to ArtNet.
- Select Fixture library… and choose the DALI profile.
- Enter the gateway's universe, the starting address set on the gateway, and the gateway's IP as Destination IP. Unicast to the gateway rather than broadcasting, because broadcast traffic reaches every Art-Net device on the network.
- Select Patch fixture. One track per channel is added at the bottom of the Timeline, each starting at 0 % (lights off).
The 64-address layout needs 64 free channels, so it fits only from start address 1 to 449. Delete the tracks for addresses you do not use: every track sends its own packet while the composition plays (see Multi-Universe and Multi-Channel).
Fades and timing
DALI is a slow bus: it carries roughly 30–40 commands a second for all devices together. The gateway sends a DALI command only when a channel changes, so:
- Slow fades on a few groups work well. A house-lights fade over a few seconds on one or two groups is the typical use.
- Fast, many-channel animation does not. Ramping all 64 addresses at once queues commands on the bus, and the lamps fall behind the timeline. Use groups or broadcast for anything that moves together.
- A scene recall is one command. For a lighting look that changes in one step, store it as a DALI scene and recall it, rather than keying 64 levels.
- Many gateways can also use the ballasts' own DALI fade time for level changes. If yours does, a Step track plus that fade time gives a smoother fade than a Linear ramp sent over DMX.
Recall a scene from a cue or button
A cue script or a command button can set a gateway channel directly, without a Data Track:
ARTNET>10.0.0.60,0,1,5This sets universe 0, channel 1 on the gateway at 10.0.0.60 to DMX value 5. On a scene recall channel, that value recalls whichever scene the gateway maps it to. Use this for house lights on a Lights up button. The line sends a single packet. Most gateways keep the last value they received, but on a network that drops packets, use a Step Data Track instead: it keeps resending while the composition plays.
Multi-client
Art-Net output from Data Tracks leaves the master only, so a fleet sends one stream to the gateway, not one per machine.
Limits of the Art-Net route
- Output only. Exaplay does not read anything back from the DALI bus: lamp failures, actual levels and DALI sensors or push-buttons are not visible to it.
- No commissioning. Addresses, groups, scenes and fade times are set in the DALI installation, not in Exaplay.
- Gateway-specific meanings. Exaplay sends DMX values. What a value does on the bus (level curve, scene mapping, fade behaviour) is the gateway's configuration.
Troubleshooting
| Problem | Check |
|---|---|
| No lamp reacts | The gateway's Art-Net universe and start address match the patch; the Destination IP is the gateway; the composition is playing (tracks send only while it plays). The Monitor shows an ArtNet OUT row when a track starts sending. |
| The wrong lamps react | The gateway's DMX mode (addresses, groups or broadcast) matches the profile you patched; the starting address is the gateway's, not 0. |
| Fades lag or step | Too many channels change at once for the DALI bus. Move to groups or broadcast, or let the gateway use the DALI fade time. |
| The wrong scene is recalled | The value-to-scene mapping is the gateway's: check its manual, and set the track's Interpolation to Step. |
| Levels look off at the low end | DALI dims logarithmically; the gateway's dimming curve decides how a DMX value maps to light. |
