From a091e80ed014dcef2e881c32cd8dd4881d952a26 Mon Sep 17 00:00:00 2001 From: MalteSchm Date: Wed, 29 Mar 2023 19:07:16 +0200 Subject: [PATCH] deal with un-initialized values --- src/PowerMeter.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/PowerMeter.cpp b/src/PowerMeter.cpp index 19eac501d..2a6db4e53 100644 --- a/src/PowerMeter.cpp +++ b/src/PowerMeter.cpp @@ -27,9 +27,14 @@ void PowerMeterClass::init() CONFIG_T& config = Configuration.get(); - MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter1, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); - MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter2, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); - MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter3, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); + if (config.PowerMeter_Enabled && + (strlen(config.PowerMeter_MqttTopicPowerMeter1) > 0) && + (strlen(config.PowerMeter_MqttTopicPowerMeter2) > 0) && + (strlen(config.PowerMeter_MqttTopicPowerMeter3) > 0) ) { + MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter1, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); + MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter2, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); + MqttSettings.subscribe(config.PowerMeter_MqttTopicPowerMeter3, 0, std::bind(&PowerMeterClass::onMqttMessage, this, _1, _2, _3, _4, _5, _6)); + } mqttInitDone = true;