Digital Addressable Lighting Interface (DALI) is a trademark for network-based products that control lighting. The underlying technology was established by a consortium of lighting equipment manufacturers as a successor for 1-10 V/0–10 V lighting control systems, and as an open standard alternative to several proprietary protocols. The DALI, DALI-2 and D4i trademarks are owned by the lighting industry alliance, DiiA (Digital Illumination Interface Alliance).
DALI is specified by a series of technical standards in IEC 62386. Standards conformance ensures that equipment from different manufacturers will interoperate. The DALI trademark is allowed on devices that comply with the DiiA testing and certification requirements, and are listed as either registered (DALI version-1) or certified (DALI-2) on the DiiA website. D4i certification - an extension of DALI-2 - was added by DiiA in November 2019.
Members of the AG DALI were allowed to use the DALI trademark until the DALI working party was dissolved on 30 March 2017, when trademark use was transferred to DiiA members. Since 9 June 2017, (DiiA) certifies DALI products. DiiA is a Partner Program of IEEE-ISTO.
A DALI network consists of at least one application controller and bus power supply (which may be built into any of the products) as well as input devices (e.g. sensors and push-buttons), control gear (e.g., electrical ballasts, LED drivers and dimmers) with DALI interfaces. Application controllers can control, configure or query each device by means of a bi-directional data exchange. The DALI protocol permits addressing devices individually, in groups or via broadcast. 
Each device is assigned a unique short address between 0 to 63, making up to 64 control gear devices and 64 control devices possible in a basic system. Address assignment is performed over the bus using a "commissioning" protocol, usually after all hardware is installed. Data is transferred between devices by means of an asynchronous, half-duplex, serial protocol over a two-wire bus with a fixed data transfer rate of 1200 bit/s.
A single pair of wires comprises the bus used for communication on a DALI network. The network can be arranged in bus or star topology, or a combination of these. Each device on a DALI network can be addressed individually, unlike DSI and 0–10V devices. Consequently, DALI networks typically use fewer wires than DSI or 0–10V systems.
The bus is used for both signal and bus power. A power supply provides up to 250 mA at typically 16 V DC; each device may draw up to 2 mA unless bus-powered.:20,35 While many devices are mains-powered (line-powered), low-power devices such as motion detectors may be powered directly from the DALI bus. Each device has a bridge rectifier on its input so it is polarity-insensitive. The bus is a wired-AND configuration where signals are sent by briefly shorting the bus to a low voltage level. (The power supply is required to tolerate this, limiting the current to 250 mA.)
Although the DALI control cable operates at ELV potential, it is not classified as SELV (Safety Extra Low Voltage) and must be treated as if it has only basic insulation from mains. This has the disadvantage that the network cable is required to be mains-rated, but has the advantage that it may be run next to mains cables or within a multi-core cable which includes mains power. Also, mains-powered devices (e.g., LED drivers) need only provide functional insulation between the mains and the DALI control wires.
The network cable is required to provide a maximum drop of 2 volts along the cable.:19 At 250 mA of supply current, that requires a resistance of ≤ 4 Ω per wire. The wire size needed to achieve this depends on the length of the bus, up to a recommended maximum of 2.5 mm2 at 300 m when using the maximum rating of bus power supply.
The speed is kept low so no termination resistors are required,:21 and data is transmitted using relatively high voltages (0±4.5 V for low and 16±6.5 V for high:19) enabling reliable communications in the presence of significant electrical noise. (This also allows plenty of headroom for a bridge rectifier in each slave.)
Each bit is sent using Manchester encoding (a "1" bit is low for the first half of the bit time, and high for the second, while "0" is the reverse), so that power is present for half of each bit. When the bus is idle, the voltage level is continuously high (which is not the same as a data bit). Frames begin with a "1" start bit, then 8 to 32 data bits in msbit-first order (standard RS-232 is lsbit-first), followed by a minimum of 2.45 ms of idle.
A DALI device, such as an LED driver, can be controlled individually via its short address. Additionally, DALI devices may be arranged into groups in which all devices of the same group can respond to the commands addressed to the group. For example, a room with 4 ballasts can be changed from off to on in three common ways:
Using the Short Address, e.g. sending the following DALI messages:
- DALI Short Address 1 go to 100%
- DALI Short Address 2 go to 100%
- DALI Short Address 3 go to 100%
- DALI Short Address 4 go to 100%
This method has the advantage of not requiring programming of group and scene information for each ballast. The fade time of the transition can be chosen on the fly. This method may be undesirable because simultaneous control of a large number of devices may not be possible due to network latency and the comparatively slow 1200 baud rate of DALI. For example, turning all lighting fixtures off may result in a visible delay between the first and last ballasts switching off. This issue is normally not a problem in rooms with a smaller numbers of ballasts.
Using the DALI Group previously defined for the ballasts in the room, e.g.:
- DALI Group address 1 go to 100%
This method has the advantage of being immune to synchronization effects as described above. This method has the disadvantage of requiring each ballast to be programmed with the required group numbers and scene information. The fade time can still be configured on the fly, if required.
Using the DALI Broadcast command, all control gear will change to that level, e.g.:
- DALI Broadcast go to 50%
DALI lighting levels are specified by an 8-bit value, with 0 representing off, 1 means 0.1% of full brightness, 254 means full brightness, and other values being logarithmically interpolated, giving a 2.77% increase per step. I.e., a (non-zero) control byte x denotes a power level of 103(x−254)/253.
(A value of 255 is reserved for freezing the current lighting level without changing it.)
Devices store 16 programmable output levels as "scenes". A single broadcast command causes each device to change to its configured level, e.g. dim lights over the audience and bright lights over the stage. (A programmed output level of 255 causes a device not to respond to a given scene.)
A 17th "system failure" scene is triggered by a loss of power (sustained low level) on the DALI bus, to provide a safe fallback if control is lost.
Commands for control gear
Forward frames sent to control gear are 16 bits long, comprising an address byte followed by an opcode byte. The address byte specifies a target device or a special command addressed to all devices.
When addressing a device, the least significant bit of the address byte specifies the interpretation of the opcode byte, with "0" meaning a target (light) level byte follows, and "1" meaning a command follows.
Several important special commands are used to save the data byte to one of the three "data transfer registers" which can be used as a parameter by subsequent commands.
Address byte format:
0AAA AAAS: Target device 0 ≤ A < 64.
100A AAAS: Target group 0 ≤ A < 16. Each control gear may be a member of any or all groups.
1111 110S: Broadcast unaddressed
1111 111S: Broadcast
1010 0000 to 1100 1011: Special commands
1100 1100 to 1111 1011: Reserved
|XX||DAPC (level)||Sets targetLevel (0-255) using the current fade time, or stops a running fade (255). [S bit must be 0]|
|00||OFF||Set targetLevel to 0 without fading|
|01||UP||Starts or continues a fade up for 200ms at the current fade rate|
|02||DOWN||Starts or continues a fade down for 200ms at the current fade rate|
|03||STEP UP||Increments targetLevel by 1 without fading|
|04||STEP DOWN||Decrements targetLevel by 1 without fading|
|05||RECALL MAX LEVEL||Set targetLevel to MAX level without fading|
|06||RECALL MIN LEVEL||Set targetLevel to MIN level without fading|
|07||STEP DOWN AND OFF||Decrements targetLevel by 1 without fading, turning off if already at MIN level|
|08||ON AND STEP UP||Increments targetLevel by 1 without fading, turning on to MIN level if currently off|
|09||GO TO LAST ACTIVE LEVEL||Sets targetLevel to the last active (non-zero) level, using the current fade time.|
|10+s||GO TO SCENE (sceneNumber)||Sets targetLevel to the value stored in scene sceneNumber, using the current fade time, or no change if the value stored in the scene is 255.|
|20||RESET||Changes all variables to their reset values.|
|21||STORE ACTUAL LEVEL IN DTR0||Stores the actualLevel (light output level) in register DTR0|
|IDENTIFY DEVICE||Starts a temporary identification process such as flashing the lamps, making a sound or transmitting an RF beacon.|
|2A||SET MAX LEVEL (DTR0)||Changes maxLevel level to DTR0|
|2B||SET MIN LEVEL (DTR0)||Changes minLevel level to DTR0|
|2C||SET SYSTEM FAILURE LEVEL (DTR0)||Changes systemFailureLevel to DTR0|
|2D||SET POWER ON LEVEL (DTR0)||Changes powerOnLevel to DTR0|
|2E||SET FADE TIME (DTR0)||Changes fadeTime to DTR0|
|2F||SET FADE RATE (DTR0)||Changes fadeRate to DTR0|
|SET EXTENDED FADE TIME (DTR0)||Changes the two 4-bit variables extendedFadeTimeMultiplier:extendedFadeTimeBase to DTR0|
|40+s||SET SCENE (DTR0, sceneX)||Changes sceneX to the value DTR0|
|60+g||ADD TO GROUP (group)||Adds the control gear into the specified group|
|90||QUERY STATUS||Asks the control gear for the current status. Reply bits: 0=controlGearFailure; 1=lampFailure; 2=lampOn; 3=limitError; 4=fadeRunning; 5=resetState; 6=shortAddress is MASK; 7=powerCycleSeen||XX|
|92||QUERY LAMP FAILURE||Asks the control gear if it is currently detecting a lamp failure||Yes/No|
|A0||QUERY ACTUAL LEVEL||Asks the control gear what the current actualLevel (output level) is||XX|
Commands for control devices
The DALI-2 standard  added standardisation of control devices. Control devices can include input devices such as daylight sensors, passive infrared room occupancy sensors, and manual lighting controls, or they can be application controllers that are the "brains" of the system - using information to make decisions and control the lights and other devices. Control devices can also combine the functionality of an application controller and an input device. Control devices use 24-bit forward frames, which are ignored by control gear, so up to 64 control devices may share the bus with up to 64 control gear.
DiiA published several new specifications in 2018 and 2019, extending DALI-2 functionality with power and data, especially for intra-luminaire DALI systems. Applications include indoor and outdoor luminaires, and small DALI systems. The D4i trademark is used on certified products to indicate that these new features are included in the products.
IEC 62386-209 describes colour control gear. This describes several colour types - methods of controlling colour. The most popular of these is Tc (tunable white), and was added to DALI-2 certification in January 2020.
IEC 62386-202 describes self-contained emergency lighting. Features include automated triggering of function tests and duration tests, and recording of results. These devices are currently included in DALI version-1 registration, with tests for DALI-2 certification in development. Such DALI version-1 products can be mixed with DALI-2 products in the same system, with no problems expected.
IEC 62386-104describes several wireless and wired transport alternatives to the conventional wired DALI bus system. DiiA is working with other industry associations to enable certification of DALI-2 products that operate over certain underlying wireless carriers. It is also possible to combine DALI with wireless communication via application gateways that translate between DALI and the wireless protocol of choice. While such gateways are not standardized, DiiA is working with other industry associations to develop the necessary specifications and tests to achieve this. DiiA: DALI and Wireless
- "DiiA acquires DALI trademarks" (PDF). Digital Illumination Interface Alliance - IEEE Industry Standards and Technology Organization. 9 June 2017. Retrieved 23 July 2017.
- "Digital Addressable Lighting Interface" (PDF). DALI. DALI AG, Activity Group, ZVEI-Division Luminaires. September 2001. Archived from the original (PDF) on 27 June 2013. Retrieved 12 July 2013.
- IEC 62386-102
- IEC 62386-103
- "DiiA News". DiiA Website. DiiA. 2020. Retrieved 4 March 2020.
- "DALI-2 versus DALI version-1". DiiA Website. DiiA. 2018. Retrieved 4 March 2020.
- "DiiA News". DiiA Website. DiiA. 2019. Retrieved 20 March 2019.