From f323c5a4f631948485143497568957b1eb1d87d2 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Tue, 9 Dec 2025 12:19:00 +0100 Subject: [PATCH] Fixed building without remote debug (#1084) --- lib/AmsMqttHandler/include/AmsMqttHandler.h | 2 +- .../include/DomoticzMqttHandler.h | 2 +- .../include/HomeAssistantMqttHandler.h | 2 +- .../include/PassthroughMqttHandler.h | 2 +- lib/RawMqttHandler/include/RawMqttHandler.h | 2 +- platformio.ini | 4 +-- src/AmsToMqttBridge.cpp | 26 ++++++++++++++++--- 7 files changed, 29 insertions(+), 11 deletions(-) diff --git a/lib/AmsMqttHandler/include/AmsMqttHandler.h b/lib/AmsMqttHandler/include/AmsMqttHandler.h index 82c292d3..e4117100 100644 --- a/lib/AmsMqttHandler/include/AmsMqttHandler.h +++ b/lib/AmsMqttHandler/include/AmsMqttHandler.h @@ -25,7 +25,7 @@ public: #if defined(AMS_REMOTE_DEBUG) AmsMqttHandler(MqttConfig& mqttConfig, RemoteDebug* debugger, char* buf, AmsFirmwareUpdater* updater) { #else - AmsMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf) { + AmsMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, AmsFirmwareUpdater* updater) { #endif this->mqttConfig = mqttConfig; this->mqttConfigChanged = true; diff --git a/lib/DomoticzMqttHandler/include/DomoticzMqttHandler.h b/lib/DomoticzMqttHandler/include/DomoticzMqttHandler.h index f5950c4d..c21d82b1 100644 --- a/lib/DomoticzMqttHandler/include/DomoticzMqttHandler.h +++ b/lib/DomoticzMqttHandler/include/DomoticzMqttHandler.h @@ -17,7 +17,7 @@ public: this->config = config; }; #else - DomoticzMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, DomoticzConfig config) : AmsMqttHandler(mqttConfig, debugger, buf) { + DomoticzMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, DomoticzConfig config, AmsFirmwareUpdater* updater) : AmsMqttHandler(mqttConfig, debugger, buf, updater) { this->config = config; }; #endif diff --git a/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h b/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h index 12248bbd..53f08f65 100644 --- a/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h +++ b/lib/HomeAssistantMqttHandler/include/HomeAssistantMqttHandler.h @@ -17,7 +17,7 @@ public: #if defined(AMS_REMOTE_DEBUG) HomeAssistantMqttHandler(MqttConfig& mqttConfig, RemoteDebug* debugger, char* buf, uint8_t boardType, HomeAssistantConfig config, HwTools* hw, AmsFirmwareUpdater* updater, char* hostname) : AmsMqttHandler(mqttConfig, debugger, buf, updater) { #else - HomeAssistantMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, uint8_t boardType, HomeAssistantConfig config, HwTools* hw) : AmsMqttHandler(mqttConfig, debugger, buf) { + HomeAssistantMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, uint8_t boardType, HomeAssistantConfig config, HwTools* hw, AmsFirmwareUpdater* updater, char* hostname) : AmsMqttHandler(mqttConfig, debugger, buf, updater) { #endif this->boardType = boardType; this->hw = hw; diff --git a/lib/PassthroughMqttHandler/include/PassthroughMqttHandler.h b/lib/PassthroughMqttHandler/include/PassthroughMqttHandler.h index ed270fb1..7d2c3106 100644 --- a/lib/PassthroughMqttHandler/include/PassthroughMqttHandler.h +++ b/lib/PassthroughMqttHandler/include/PassthroughMqttHandler.h @@ -16,7 +16,7 @@ public: this->topic = String(mqttConfig.publishTopic); }; #else - PassthroughMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf) : AmsMqttHandler(mqttConfig, debugger, buf) { + PassthroughMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, AmsFirmwareUpdater* updater) : AmsMqttHandler(mqttConfig, debugger, buf, updater) { this->topic = String(mqttConfig.publishTopic); }; #endif diff --git a/lib/RawMqttHandler/include/RawMqttHandler.h b/lib/RawMqttHandler/include/RawMqttHandler.h index d279f548..645fc7fe 100644 --- a/lib/RawMqttHandler/include/RawMqttHandler.h +++ b/lib/RawMqttHandler/include/RawMqttHandler.h @@ -17,7 +17,7 @@ public: topic = String(mqttConfig.publishTopic); }; #else - RawMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf) : AmsMqttHandler(mqttConfig, debugger, buf) { + RawMqttHandler(MqttConfig& mqttConfig, Stream* debugger, char* buf, AmsFirmwareUpdater* updater) : AmsMqttHandler(mqttConfig, debugger, buf, updater) { full = mqttConfig.payloadFormat == 2; topic = String(mqttConfig.publishTopic); }; diff --git a/platformio.ini b/platformio.ini index 288e83d1..147c58d0 100755 --- a/platformio.ini +++ b/platformio.ini @@ -2,7 +2,7 @@ extra_configs = platformio-user.ini [common] -lib_deps = EEPROM, LittleFS, DNSServer, 256dpi/MQTT@2.5.2, OneWireNg@0.13.3, DallasTemperature@4.0.4, https://github.com/gskjold/RemoteDebug.git, PaulStoffregen/Time@1.6.1, JChristensen/Timezone@1.2.4, bblanchon/ArduinoJson@7.0.4, FirmwareVersion, AmsConfiguration, AmsData, AmsDataStorage, HwTools, Uptime, AmsDecoder, PriceService, EnergyAccounting, AmsFirmwareUpdater, AmsJsonGenerator, AmsMqttHandler, RawMqttHandler, JsonMqttHandler, DomoticzMqttHandler, HomeAssistantMqttHandler, PassthroughMqttHandler, RealtimePlot, ConnectionHandler, MeterCommunicators +lib_deps = EEPROM, LittleFS, DNSServer, 256dpi/MQTT@2.5.2, OneWireNg@0.13.3, DallasTemperature@4.0.4, https://github.com/gskjold/RemoteDebug.git, PaulStoffregen/Time@1.6.1, JChristensen/Timezone@1.2.4, FirmwareVersion, AmsConfiguration, AmsData, AmsDataStorage, HwTools, Uptime, AmsDecoder, PriceService, EnergyAccounting, AmsFirmwareUpdater, AmsJsonGenerator, AmsMqttHandler, RawMqttHandler, JsonMqttHandler, DomoticzMqttHandler, HomeAssistantMqttHandler, PassthroughMqttHandler, RealtimePlot, ConnectionHandler, MeterCommunicators lib_ignore = OneWire extra_scripts = pre:scripts/addversion.py @@ -19,7 +19,7 @@ build_flags = -fexceptions [esp32] -lib_deps = WiFi, Ethernet, ESPmDNS, WiFiClientSecure, HTTPClient, FS, WebServer, ESP32 Async UDP, ESP32SSDP, mulmer89/ESPRandom@1.5.0, ${common.lib_deps}, CloudConnector, ZmartCharge, SvelteUi +lib_deps = WiFi, Ethernet, ESPmDNS, WiFiClientSecure, HTTPClient, FS, WebServer, ESP32 Async UDP, ESP32SSDP, mulmer89/ESPRandom@1.5.0, ${common.lib_deps}, bblanchon/ArduinoJson@7.0.4, CloudConnector, ZmartCharge, SvelteUi [env:esp8266] platform = espressif8266@4.2.1 diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index 02464d59..92f80704 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -655,7 +655,7 @@ void loop() { } communicationTime += handleWebserver(); - if(communicationTime > 10 && updater.getProgress() >= 0) { + if(communicationTime > 25 && updater.getProgress() >= 0) { debugI_P(PSTR("Communication is active (%dms), forcing updater to wait"), communicationTime); } else { handleUpdater(); @@ -1044,7 +1044,13 @@ void handleMeterConfig() { debugE_P(PSTR("Unknown meter source selected: %d"), meterConfig.source); } ws.setMeterConfig(meterConfig.distributionSystem, meterConfig.mainFuse, meterConfig.productionCapacity); - if(mc != NULL && Debug.isActive(RemoteDebug::DEBUG)) { + if(mc != NULL && + #if defined(AMS_REMOTE_DEBUG) + Debug.isActive(RemoteDebug::DEBUG) + #else + false // Never send debug data + #endif + ) { mc->setMqttHandlerForDebugging(mqttHandler); } config.ackMeterChanged(); @@ -1563,7 +1569,13 @@ void postConnect() { if(!debug.telnet) { Debug.stop(); } - if(mc != NULL && Debug.isActive(RemoteDebug::DEBUG)) { + if(mc != NULL && + #if defined(AMS_REMOTE_DEBUG) + Debug.isActive(RemoteDebug::DEBUG) + #else + false // Never send debug data + #endif + ) { mc->setMqttHandlerForDebugging(mqttHandler); } } else { @@ -1695,7 +1707,13 @@ void MQTT_connect() { } } ws.setMqttHandler(mqttHandler); - if(mc != NULL && Debug.isActive(RemoteDebug::DEBUG)) { + if(mc != NULL && + #if defined(AMS_REMOTE_DEBUG) + Debug.isActive(RemoteDebug::DEBUG) + #else + false // Never send debug data + #endif + ) { mc->setMqttHandlerForDebugging(mqttHandler); }