diff --git a/wled00/wled.cpp b/wled00/wled.cpp index ee205feaea..2136b9cd01 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -106,6 +106,14 @@ void WLED::loop() #ifdef WLED_DEBUG stripMillis = millis(); #endif + + if (!presetNeedsSaving()) { + handlePlaylist(); + yield(); + } + handlePresets(); + yield(); + if (!realtimeMode || realtimeOverride || (realtimeMode && useMainSegmentOnly)) // block stuff if WARLS/Adalight is enabled { if (apActive) dnsServer.processNextRequest(); @@ -119,14 +127,7 @@ void WLED::loop() handleHue(); yield(); #endif - - if (!presetNeedsSaving()) { - handlePlaylist(); - yield(); - } - handlePresets(); - yield(); - + if (!offMode || strip.isOffRefreshRequired() || strip.needsUpdate()) strip.service(); #ifdef ESP8266