ESP32Dali is an ESP32-based, ESPHome-friendly interface to DALI lighting devices. It acts as a master on the DALI bus through an isolated front-end, and can also provide 18 V DALI supply voltage from 5 V input.
The board is a matchbox-sized 2-layer PCB that hosts an ESP32-WROOM-32 plus the DALI interface.
- Schematic & PCB:
hw/(KiCanvas, PDF) - 3D STEP and printable enclosure:
3d/ - ESPHome external components:
components/
The dali component can be pulled in as an external component, so the same configuration works on the ESP32Dali board and on any other ESP32 with a compatible DALI front-end.
esphome:
name: livingroom
friendly_name: Livingroom
esp32:
board: esp32dev
framework:
type: arduino
external_components:
- source:
type: git
url: https://github.com/petrinm/ESP32Dali.git
components: [ dali ]
dali:
id: dali_if
tx_pin:
number: 17
inverted: true
rx_pin:
number: 16
inverted: true
light:
# Dim-only gear on one short address:
- platform: dali
name: "LED strip"
interface: dali_if
address: 5
default_transition_length: 1s # converted to DALI fade time on the gear
# Dual DAPC CT (two DAPC channels, two short addresses):
# - platform: dali
# name: "TW panel"
# interface: dali_if
# cold_white_address: 0
# warm_white_address: 1
# cold_white_color_temperature: 6536 K
# warm_white_color_temperature: 2000 K
# DT8 CT on one address (DAPC + DT8 colour temperature command):
# - platform: dali
# name: "DT8 lamp"
# interface: dali_if
# address: 5
# cold_white_color_temperature: 6536 K
# warm_white_color_temperature: 2000 K
# DT8 RGB on one address (SET TEMPORARY RGB DIM LEVEL + ACTIVATE):
# - platform: dali
# name: "RGB strip"
# interface: dali_if
# address: 3
# dt8_rgb: true
# Long sunrise (up to ~16 min uses DALI extended fade time on supported gear):
# - platform: dali
# name: "Slow dim"
# interface: dali_if
# address: 5
# default_transition_length: 15minBuild and flash with:
$ esphome run livingroom.yamlReleased under the MIT License.