From 3019dd0dc1ec49502a9468795f80d6032b23e472 Mon Sep 17 00:00:00 2001 From: seaspotter Date: Mon, 14 Sep 2026 16:42:20 +0200 Subject: [PATCH] fix: leftover pv_charging topic paths from PR #3812 topic migration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit processAllMqttMsg.js: standard_legacy's message dispatcher still only matched the old chargemode_config/pv_charging/ prefix, so the retained bat_mode message never reached processPvConfigMessages() after it moved to chargemode_config/bat/mode - the Überschussverwendung radio buttons never showed the persisted selection on page load (only after manually clicking one, via a separate local handler). ParameterHandler.php: setBatPowerReserve() was left publishing to the old pv_charging/bat_power_reserve topic, which setdata.py no longer validates - the endpoint reported success without actually changing the reserve (same migration Copilot already flagged for bat_mode on PR openWB/core#3812, but missed for bat_power_reserve). --- .../web_themes/standard_legacy/web/processAllMqttMsg.js | 2 +- simpleAPI/src/ParameterHandler.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/modules/web_themes/standard_legacy/web/processAllMqttMsg.js b/packages/modules/web_themes/standard_legacy/web/processAllMqttMsg.js index 971ba03a0d..58fd7ea4df 100644 --- a/packages/modules/web_themes/standard_legacy/web/processAllMqttMsg.js +++ b/packages/modules/web_themes/standard_legacy/web/processAllMqttMsg.js @@ -503,7 +503,7 @@ function handleMessage(mqttTopic, mqttPayload) { else if (mqttTopic.match(/^openWB\/pv\//i)) { processPvMessages(mqttTopic, mqttPayload); } else if (mqttTopic.match(/^openWB\/chargepoint\//i)) { processChargePointMessages(mqttTopic, mqttPayload); } else if (mqttTopic.match(/^openWB\/vehicle\//i)) { processVehicleMessages(mqttTopic, mqttPayload); } - else if (mqttTopic.match(/^openWB\/general\/chargemode_config\/pv_charging\//i)) { processPvConfigMessages(mqttTopic, mqttPayload); } + else if (mqttTopic.match(/^openWB\/general\/chargemode_config\/bat\/mode$/i)) { processPvConfigMessages(mqttTopic, mqttPayload); } else if (mqttTopic.match(/^openWB\/graph\//i)) { processGraphMessages(mqttTopic, mqttPayload); } else if (mqttTopic.match(/^openWB\/optional\/ep\//i)) { processETProviderMessages(mqttTopic, mqttPayload); } else if (mqttTopic.match(/^openWB\/optional\//i)) { processOptionalMessages(mqttTopic, mqttPayload); } diff --git a/simpleAPI/src/ParameterHandler.php b/simpleAPI/src/ParameterHandler.php index d564aa76b9..7f4ebc813b 100644 --- a/simpleAPI/src/ParameterHandler.php +++ b/simpleAPI/src/ParameterHandler.php @@ -1604,7 +1604,7 @@ private function setBatMode($value) /** * Reservierte Batterie-Ladeleistung setzen (W) - * Setzt openWB/set/general/chargemode_config/pv_charging/bat_power_reserve + * Setzt openWB/set/general/chargemode_config/bat/power_reserve * Ermöglicht externes Energiemanagement der Speicherreservierung ohne UI-Eingriff. */ private function setBatPowerReserve($value) @@ -1616,7 +1616,7 @@ private function setBatPowerReserve($value) } try { - $topic = "openWB/set/general/chargemode_config/pv_charging/bat_power_reserve"; + $topic = "openWB/set/general/chargemode_config/bat/power_reserve"; if ($this->mqttClient->setValue($topic, $watts)) { return [