Mean Well XDR PSU Integration — From Current Sharing to Full Home Assistant Control

I bought a couple of Mean Well XDR-480-24 units to power all the WLED controllers across my apartment. The plan was simple: set up current sharing so the load is distributed, and have some redundancy in case one PSU dies. In my case it was 2x XDR-480-24
Turns out, to do that properly you need visibility. I wanted to see which PSU is idling, which is carrying the load, whether they’re both active or just one. And to make the “master” selection work (below ~5% load only one of up to 4 units stays active), you need to tweak the output voltage - no more than 0.2V difference between them.
So I ended up building a full Home Assistant integration for the XDR series. It started as “let me just read some registers” and grew into complete Modbus TCP control.
What It Does Now
Real-time monitoring: input/output voltage, current, power, internal temperature, live scaling factors.
Control: output on/off, voltage & current setpoints with model-aware limits, modbus control toggle (switches between potentiometer and digital control), AC failover thresholds, DC OK threshold, peak current limit.
Diagnostics: OTP, OVP, OLP, AC fail, back-EMF, overload pre-alarm, EEPROM error as binary sensors; trigger counters for every protection event; 3-deep fault event log.
Configuration: baud rate, frame format, power-on behavior, overload protection mode, EEPROM mode, Modbus address. Factory reset and clear event log buttons.
Runtime: session and total runtime tracking.
Why the Architecture Matters
• Shared Modbus connection - multiple PSUs on the same bus share one TCP link through Home Assistant’s built-in modbus integration. No modbus: YAML.

My Setup
Two XDR-480-24 units, Modbus TCP via an RS-485-to-Ethernet adapter. Slave addresses 131 and 132. I can now see at a glance which one is active, adjust the master by nudging voltage setpoints, and have peace of mind that if one fails the other keeps the lights on.
Requirements & Install
• Home Assistant 2026.9.0+
• Modbus TCP gateway
• Default slave address: 131 (0x83)
HACS > Custom repositories > GitHub - kulisau/meanwell_xdr-hacs: Home Assistant custom integration for Mean Well XDR series DIN-rail power supplies over Modbus TCP · GitHub > Install > Restart HA > Add integration via UI.
A Few Notes
• Output switch & setpoints need MOD_CTRL enabled, then an AC power cycle to take effect.
• Factory reset restarts the PSU and restores defaults.
• Changing Modbus address moves the device - edit the config entry afterward.
Repo
GitHub - kulisau/meanwell_xdr-hacs: Home Assistant custom integration for Mean Well XDR series DIN-rail power supplies over Modbus TCP · GitHub
Disclaimer
Not affiliated with Mean Well. Use at your own risk.
Few screenshots: