Matter from ATX LED
Matter from ATX LED |
![]() ML-SML-M2D
In Leviton 47605 format – with PSE-8D
|
![]() ML-DIN-M2D
|
ATX LED Matter to DALI Bridge – ML-SML-M2D or ML-DIN-M2D
- Matter communication standard
- 64 DALI addresses
- 16 DALI groups
- Automatically assigns DALI addresses without changing existing addresses
- Automatically provides DALI bus power if no external supply detected
- Works with all Matter border routers
- Supports DT6 (fixed) and DT8 devices (tunable white)
- Maintains sync between ATX LED Switches, ATX LED Hubs, and Cloud control
- Local and remote control
- Works with or without the ATX LED Hub
- Does not change existing DALI addresses or configurations
- Fits into Leviton 47605 box hole pattern between full-size SML devices (DIN rail version also available)
- Status page with:
- DALI bus voltage
- DALI bus current
- Up to 8 system power supplies (typically 51V) or 4 supplies with 24V
- WiFi quality
- Network ping response times
- Geographic location
- Real-time wattage
- Active/missing devices
- Current remote diagnostics to cloud server sensors
Specifications for ATX LED Matter to DALI
- 64 DALI devices – each can be exposed to Matter or hidden, each has a friendly name
- 16 DALI groups – each can be exposed to Matter or hidden, each has a friendly name
- 8 Power Supply devices – voltages of up to 8 power supplies monitored (always 51V on M2D)
- 1 DALI Bus device – shows DALI bus power (12V or 0V in M2D)
- DIN rail or SML mounting
- Scheduling handled by Matter
- Error reporting via email for power supply changes
- Macros for address forwarding if needed
- Automatic address assignment if new devices detected
- DT6 to DT8 conversion script available (Python)
- Grouping method to assign/unassign any address to any of 16 groups
- 8 Virtual Power Supplies to report voltages
- 1 DALI Bus device for DALI bus voltage monitoring
ESP32 Pinout / Functions
Pin | Pin Name | Connected To | Function |
---|---|---|---|
3 | Enable | 5.1k Pullup | Boot |
37 | GPIO 51 | ||
39 | IO0 | -48V C | measure Power Supply C voltage, gain 25 |
38 | IO1 | -48V D | measure Power Supply D voltage, gain 25 |
6 | IO6 | -48V A | measure Power Supply A voltage, gain 25 |
7 | IO7 | -48V B | measure Power Supply B voltage, gain 25 |
12 | IO8 | SW1 | Operation Mode: Open = Use ALL Matter Control, Close = Installer mode |
17 | IO9 | DALI Current | Measure Voltage during transient 0.5 Ohm resistor, gain 1.5 |
18 | IO10 | DALI Voltage | Measure Voltage, gain 5.8 |
19 | IO11 | DALI Test | Turns on 0.4V load to measure current |
20 | IO12 | DALI Power Enable | Enables power when High, Sources 80 mA |
21 | IO13 | DALI Current Boost | Sources 180 mA |
Power On DALI Power Algorithm
DALI Hi Current = active low – no pull down
DALI Current Test = active low – pull down
DALI voltage test = read back real time voltage (1V = 5.8V on bus)
DALI current = read back real time current (0.1V = 200 mA)
Type | External Power | Internal Power | Exel | HiCurrent |
---|---|---|---|---|
External power max | 240 mA | 0 mA | 1 | 0 |
External typical | ~160 mA | 0 mA if DALI V > 14.5 | 1 | 0 |
External power low | not enough | 80 mA if DALI V > 5V | 1 | 0 |
External power low, internal low | not enough | 0 mA | 0 | 0 |
External power low, internal high | not enough | 240 mA max | 0 | 1 |
No external power, internal low | none | 80 mA if DALI V > 14.5 | 0 | 0 |
No external power, internal high | none | 240 mA DALI V > 14 | 0 | 1 |
Step | Description | Exel | HiCurrent | Test Pin | Test Condition | If Fail |
---|---|---|---|---|---|---|
None | Not ESP Running, system boot | 0 | 0 | 0 | unknown | |
A | ESP starts | 0 | 0 | 0 | ||
B | Test External Power | 1 | 0 | 0 | is DALI V > 14 - 14.5 | turn Exel On |
C | Test External Current | 1 | 0 | 0 | is DALI V > 14.5 - fail Off | turn Exel Off |
D | Set Optimal Current | 1 | 1 | 0 | is DALI V > 14 - 14.4 | turn High Current |
Finish | DALI V > 14.5, DALI Hi > 240 mA | 0 | ? | ? |
Power On DALI Device Management
DALI BUS State | DALI Voltage | Test |
---|---|---|
Idle | Logic 1 | |
Manchester data | Logic 0 < 800us | |
FAIL | Logic 0 > 100ms | do nothing - set flag |
FAIL - Idle | Logic 1 | restart after 5 seconds |
- measure DALI bus voltage
- if Voltage is > 14 volts and current is less than 100 mA, enable 480 mA current
- measure DALI bus current, set DALI Test
- Read bus device status and level, DT8
- Check for unassigned devices
- Address unassigned and leave existing unchanged
- Read UPC codes
- Name unnamed devices with the friendly name of the UPC code + short address
- Read groups
- Export short address and groups to Matter
Power Supply Status Reporting
4 inputs from the House Power panel: A, B, C, D. Each has a gain of 25, measurement range of 2.5 to 75 volts.
- If input is between 2.85V and 7.25V: input has no power supply, report the voltage.
- If input is between 8V and 23.4V: count the number of power supplies as 1 (per A, B, C, D).
- Plus the values in the table below:
A, B, C = 4V = 1+1+1 = 3
D = 15V = 2
Total is 5.
Using this method, up to 8 power supplies can be counted, reporting voltage for each supply.
Voltage 53.6V, 53.5V, 11V
Power supply names: PC, PB, PD, PC+PD
Example: Attached Power Supplies: 2
Voltage 53V, 5V
Power supply names: A, C
Example: Attached Power Supplies: 4 (400 Watt)
Voltage 53.6V, 53.5V, 5V
Power supply names: PC, PC+PD, PC
Power Supply Voltage String Mapping
Voltage V | # count to add | Wattage | String replaces B or D |
---|---|---|---|
1.5 | 0 | +100 | PC+PD |
6 | 0 | +200 | PC+PD |
8 | 1 | +300 | PB+PC+PD |
10 | 1 | +400 | PB+PC+PD |
12 | 1 | +500 | PA+PB+PC |
12.5 | 1 | +600 | PA+PB+PC |
15 | 2 | +800 | PA+PB+PC+PD |
15.5 | 1 | +900 | PA+PB+PC |
18 | 2 | +1200 | PA+PB+PC+PD |
19 | 1 | +1300 | PA+PB+PC |
21 | 2 | +1600 | PA+PB+PC+PD |
21.5 | 2 | +1700 | PA+PB+PC+PD |
>23.6 | 0 | 0 | B or D is displayed |
<4.8 | 0 | 0 | A or C is displayed |
Cloud Reporting
Once per hour, if there is a change in brightness or % good or Last CCT, report this:
t= temperature
h= humidity
r= (bitwise)
b= brightness level after DALI ARC command
d= DALI voltage (57 = 10V or 250)
v= DALI voltage
m= DALI current measured during test
fw= Hardware Version (1 = Old, 2 = 9M4)
ver= Firmware version (1.1.10f)
up= Run hours since boot (1 report/hour)
lac= mac
lsn= SN
wifi= WiFi RSSI Strength ("update only if network change")
g= % good (Good devices from last ping)
Example:
https://xxxxxx/adaph?eh=26dr-mdv-0kr-68db-8574-85b9&m=1852&n=1&w=51gw&6&mac=4c:20:d2:4a:6a:54&sn=302d183754&mpn=9715508f&vers=57&wifi=9001.8.16f-r2
Bugs in Version 1.1.10
- Detect UPC code and user approvals to default names
- Detect groups and allow the user to mark default groups (X to Y)
- DTR settings across reboot not consistent
- AJ power supply float not read
- AJ: Command of 199.153 to set CCT must be sent before command 153 to get DT8 result
- DALI input errors on voltages - 1% too tiny, should be 2%
- Display PC+PD voltages safely and avoid B/D displayed
- Calculation for voltages between 7.2V and 23.4V missing - see documentation
- Google support
- Don't write memory registers in 510 or 511, send CCT values as % 510 or 511 ranges stored on the device
New Features to add to Version 1.1.10
- Display MAC address on status page.
- Read all power on values at boot. If a device has a power on value != 2, and the device ARC changes by single address or group, write the new ARC to the power on level.
- After DALI bus voltage is restored after an outage, scan devices with power on value != 2.
- At boot, read all group assignments and store them. If a group ARC changes, detect the members of the group and, if they have power on != 2, update power on if Group ARC changes.
- Display the last 25 DALI logs on Status.
- Post status info to cloud (see logging).
How to Pair
Ensure your phone is on a 2.4GHz network.
Apple Home: Add Matter device, scan QR code.
In Alexa, add other device, find Matter, enter pairing code
Google Home: Add Matter device, scan QR code.
In Google, add device, enter pairing code