Releases: intermittech/wled-usermod-powermanager
Release list
v1.3.0 - Staggered bring-up
Feature release, built and verified on the stable WLED 0.16 branch (QuinLED Dig-Next-4 prototype).
New
- Staggered bring-up (
stagger/stagger-ms, on by default, 25 ms): outputs switch on one at a time, at least the configured spacing apart, so the power supply sees one inrush at a time instead of every section at once. Integrated with the existing power-on sequence: per-relay delays, minimum off-time, PSU stabilization and the anti-flash blackout (a waiting output simply keeps its black window a little longer, then fades in as usual). Any relay switching on counts as the reference for the next slot.
Changed
- Power-on with the anti-flash blackout disabled now goes through the same sequence as with it enabled: no black frames, but the segment's fade is restarted the moment its output is powered, so the full fade is visible.
- Fuse sensing: an inrush settle window (one second after any output switches on) during which indicator-type fuse inputs hold their last state and no fuse fault is reported - the inrush of the last output of a staggered bring-up can briefly light its blown-fuse indicator.
Ready-to-flash Dig-Next-2 package (attached)
Dig-Next-2_WLED-16_PowerManager-v1.3.0.zip - WLED 0.16 + PowerManager v1.3.0 with all Dig-Next-2 defaults compiled in. Unzip, double-click Flash-Dig-Next-2.bat (bundled flasher, nothing to install), pick the COM port; it erases the board and writes the factory image. Also contains the plain .bin for OTA updates through WLED's Manual OTA Update page, the individual flash parts, an esptool variant of the batch file and a NOTICE listing the bundled components and licenses.
Install from source (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
v1.2.1 - WLED 0.16 target, ready-to-flash Dig-Next-2 package
Minor update: the reference build target moves to the stable WLED 0.16 branch. v1.2.0 was built and documented against the 17.0-dev nightlies, which was not the intention - the usermod code is unchanged and compiles on both, but the docs, examples and the prebuilt image now target 0.16.
New: ready-to-flash Dig-Next-2 package (attached below)
Dig-Next-2_WLED-16_PowerManager-v1.2.1.zip - WLED 0.16 (16.0.1-dev branch build) + PowerManager v1.2.1 with all Dig-Next-2 board defaults compiled in:
Flash-Dig-Next-2.bat- double-click: lists your serial ports, asks for the COM port, erases the board and writes the factory image with the bundled flasher. Nothing to install.Flash-Dig-Next-2-esptool.bat- the same using esptool (needs Python 3 + pyserial).WLED_..._Dig-Next-2.factory.bin(complete image for 0x0) andWLED_..._Dig-Next-2.bin(OTA update through WLED's Manual OTA Update page).parts\(bootloader / partitions / boot_app0 / app with offsets),README.txt, andNOTICE.txtlisting the bundled components and their licenses (espflash: MIT/Apache-2.0; esptool: GPL-2.0-or-later, unmodified source included; ESP-IDF bootloader: Apache-2.0).
Erase before installing on a board that ran another build - stored settings would otherwise override the compiled pin map.
Install from source (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
v1.2.0 - Power sensing, first-frame blackout, config robustness
Feature release, hardware-verified.
New
- Power sensing - boards with spare AW9523 input ports and the matching sense circuits can report each output's fuse state and the presence of the main supply rail (
fuse-pinper relay,main-sense-pin, polarity selectable per group). Shown as green / red / grey status dots on the Info page and in the segment "Power relays" menu. Dormant unless ports are configured. Details: Power Sensing.
Fixed
- A segment switched on (or a boot with the supply already present) could show a brief flash before the anti-flash blackout started; the blackout now begins with the very first frame.
- An unusable I2C bus no longer rewrites the configuration: the expander type and relay ports survive, the expander just stays inert until I2C is back.
Changed
- Settings page: new Power sensing section with plain-language polarity dropdowns; the Master AC relay shows no fuse sense pin; main-power-sync explainer reworded.
- Examples: the Dig-Next-2 environment now enables Take over all relays and the audioreactive usermod by default.
Install (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
v1.1.2 - Take-over unlink fix
Bugfix release, verified on hardware (QuinLED Dig-Next-4).
Fixed
- "Take over all relays" + segment menu unlink: a relay removed from a segment via the segment-card menu (or the JSON API) stayed frozen in its last state - if it was on, it never turned off again. It is now switched off immediately on unlink, matching what already happened when a linked segment was deleted. Unlinking from the Usermods settings page was not affected.
- Without "Take over all relays" the behavior is unchanged: relays without a role are not touched.
Install (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
v1.1.1 - Hardened injection hook
Maintenance release: hardens the WLED-tree injection hook after review feedback on wled/WLED#5741. The usermod itself is unchanged - existing v1.1.0 installs behave identically; update only matters if you apply the ui-patch/ hook to your WLED tree.
What changed
- Exception shielding: injected usermod JS now runs through
umInjectSafe()(try/catch) - a throwing usermod script can no longer abort WLED's state rendering or set off its 10-retry request loop. - No redundant fetch: the first render after
/um.jsloads reuses the state that was already fetched, instead of requesting/json/siagain. ui-patch/patcher and manual docs updated to match (still 8 insertions across 4 core files, byte-validated against pristine WLED).
Install (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
v1.1.0 - Segment menu served by the usermod (/um.js)
The segment-card "Power relays" menu now ships inside the usermod: the device serves it at /um.js and the main web UI injects it after every state render, using the usermod UI-injection mechanism designed by blazoncek.
What changed
- Menu code moved into the usermod (
addUIInjectCode()) - it is no longer patched into WLED'sindex.js. Open/close state, per-relay assignment hints and the link checkboxes behave exactly as before. - The
ui-patch/folder now applies only a small, usermod-agnostic injection hook (4 core files, 8 insertions, script + manual docs updated). The hook is proposed for WLED mainline in wled/WLED#5741 - once merged, patching will not be needed at all. - Compiles against stock WLED bases too: on a base without the hook the menu code compiles out (
WLED_ENABLE_UM_UI_INJECTcapability guard) and relays are linked on the Usermods settings page instead - the one-linecustom_usermodsinstall keeps working everywhere.
Verified on hardware (QuinLED Dig-Next-4): menu renders from /um.js, survives UI re-renders, works over fetch and WebSocket updates.
Install (unchanged)
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitFull documentation in the wiki.
PowerManager v1.0.0
First release of PowerManager by @intermittech — an advanced power switching usermod for WLED, grown from the built-in multi_relay usermod by blazoncek (settings migrate automatically).
Install
[env:my_build]
extends = env:esp32dev
custom_usermods = https://github.com/intermittech/wled-usermod-powermanager.gitSee the README for all options and examples/platformio_override.ini for complete environments. The optional segment-card UI integration lives in ui-patch/ and is applied to the WLED tree before building.
Highlights
- Segment coupling — relays/MOSFET outputs follow a segment's on/off state, cutting that section's actual supply power (stock WLED "off" only sends black)
- Named relays — up to 16 outputs on GPIO, PCF8574 or AW9523(B) expanders, named after your physical ports
- Master AC relay — dedicated relay-0 slot for the PSU trigger: on while any segment is on, always last to cut, with PSU stabilization time and optional main-power sync
- Power sequencing — separate on/off delays per relay, fade-aware power-off, anti-flash black frames around power-on, fade-up restart when power is ready, minimum off-time against rapid-cycle flashes
- Take over all relays — optionally keep unconfigured relays off until given a role
- Segment-card "Power relays" menu (optional UI patch) — link relays right where you control segments, with live assignment hints
- Home Assistant / MQTT — external relays appear as named HA switches; relay states publish on the familiar
.../relay/Ntopics - Preset-carried links (advanced) — presets can re-map relay links for layout-switching setups
Licensed EUPL-1.2, like WLED itself.