Fix wled#4643

This commit is contained in:
Blaž Kristan 2025-07-12 16:15:44 +02:00
parent b7bfd6fc67
commit 5c74f0fa21
2 changed files with 11 additions and 2 deletions

View File

@ -347,8 +347,13 @@ void initServer()
if (verboseResponse) { if (verboseResponse) {
if (!isConfig) { if (!isConfig) {
lastInterfaceUpdate = millis(); // prevent WS update until cooldown lastInterfaceUpdate = millis(); // prevent WS update until cooldown
interfaceUpdateCallMode = CALL_MODE_WS_SEND; // schedule WS update interfaceUpdateCallMode = CALL_MODE_WS_SEND; // override call mode & schedule WS update
serveJson(request); return; //if JSON contains "v" #ifndef WLED_DISABLE_MQTT
// publish state to MQTT as requested in wled#4643 even if only WS response selected
publishMqtt();
#endif
serveJson(request);
return; //if JSON contains "v"
} else { } else {
configNeedsWrite = true; //Save new settings to FS configNeedsWrite = true; //Save new settings to FS
} }

View File

@ -59,6 +59,10 @@ void wsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp
if (!interfaceUpdateCallMode) { // individual client response only needed if no WS broadcast soon if (!interfaceUpdateCallMode) { // individual client response only needed if no WS broadcast soon
if (verboseResponse) { if (verboseResponse) {
#ifndef WLED_DISABLE_MQTT
// publish state to MQTT as requested in wled#4643 even if only WS response selected
publishMqtt();
#endif
sendDataWs(client); sendDataWs(client);
} else { } else {
// we have to send something back otherwise WS connection closes // we have to send something back otherwise WS connection closes