From 5c74f0fa21373a2500b88bf50d557200e12902f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Kristan?= Date: Sat, 12 Jul 2025 16:15:44 +0200 Subject: [PATCH] Fix wled#4643 --- wled00/wled_server.cpp | 9 +++++++-- wled00/ws.cpp | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/wled00/wled_server.cpp b/wled00/wled_server.cpp index 4434a2f3e..cb6c1e29f 100644 --- a/wled00/wled_server.cpp +++ b/wled00/wled_server.cpp @@ -347,8 +347,13 @@ void initServer() if (verboseResponse) { if (!isConfig) { lastInterfaceUpdate = millis(); // prevent WS update until cooldown - interfaceUpdateCallMode = CALL_MODE_WS_SEND; // schedule WS update - serveJson(request); return; //if JSON contains "v" + interfaceUpdateCallMode = CALL_MODE_WS_SEND; // override call mode & schedule WS update + #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 { configNeedsWrite = true; //Save new settings to FS } diff --git a/wled00/ws.cpp b/wled00/ws.cpp index 45640b68c..93a4a6e32 100644 --- a/wled00/ws.cpp +++ b/wled00/ws.cpp @@ -59,6 +59,10 @@ void wsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp if (!interfaceUpdateCallMode) { // individual client response only needed if no WS broadcast soon 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); } else { // we have to send something back otherwise WS connection closes