diff --git a/wled00/wled.cpp b/wled00/wled.cpp index ef3c2059..85f22060 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -896,6 +896,7 @@ void WLED::beginStrip() strip.finalizeInit(); // busses created during deserializeConfig() strip.makeAutoSegments(); strip.setBrightness(0); + strip.fill(BLACK); // WLEDMM avoids random colors at power-on strip.setShowCallback(handleOverlayDraw); if (turnOnAtBoot) { @@ -913,8 +914,11 @@ void WLED::beginStrip() colorUpdated(CALL_MODE_INIT); // init relay pin - if (rlyPin>=0) + if (rlyPin>=0) { + delay(FRAMETIME_FIXED); // WLEDMM wait a bit, to ensure that no background led communication is happening while powering on the strip digitalWrite(rlyPin, (rlyMde ? bri : !bri)); + delay(50); // wait for relay to switch and power to stabilize + } } void WLED::initAP(bool resetAP) diff --git a/wled00/wled.h b/wled00/wled.h index 5e43322c..e4457d8f 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -7,7 +7,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2501070 +#define VERSION 2501090 // WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED. #define _MoonModules_WLED_