From 8b136ddefec97218e24145072d82581d105ed38f Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 19 Sep 2023 14:22:38 +0200 Subject: [PATCH] "no entries" is valid command execution --- src/analogsensor.cpp | 2 +- src/emsesp.cpp | 9 +++------ src/temperaturesensor.cpp | 2 +- src/web/WebEntityService.cpp | 2 ++ 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index 1d417dec7..43db13363 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -626,7 +626,7 @@ void AnalogSensor::publish_values(const bool force) { bool AnalogSensor::get_value_info(JsonObject & output, const char * cmd, const int8_t id) const { if (sensors_.empty()) { output["message"] = "no entries"; - return false; + return true; } // make a copy of the string command for parsing char command_s[30]; diff --git a/src/emsesp.cpp b/src/emsesp.cpp index a4bc59646..354eebc5b 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -927,12 +927,9 @@ bool EMSESP::process_telegram(std::shared_ptr telegram) { if (telegram->type_id == publish_id_) { publish_id_ = 0; } - // dont publish if not connected and don't reset flag, so publish is done after reconnect - if (Mqtt::connected()) { - emsdevice->has_update(false); // reset flag - if (!Mqtt::publish_single()) { - publish_device_values(emsdevice->device_type()); // publish to MQTT if we explicitly have too - } + emsdevice->has_update(false); // reset flag + if (!Mqtt::publish_single()) { + publish_device_values(emsdevice->device_type()); // publish to MQTT if we explicitly have too } } } diff --git a/src/temperaturesensor.cpp b/src/temperaturesensor.cpp index 00862267c..47bd488d9 100644 --- a/src/temperaturesensor.cpp +++ b/src/temperaturesensor.cpp @@ -391,7 +391,7 @@ bool TemperatureSensor::command_info(const char * value, const int8_t id, JsonOb bool TemperatureSensor::get_value_info(JsonObject & output, const char * cmd, const int8_t id) { if (sensors_.empty()) { output["message"] = "no entries"; - return false; + return true; } // make a copy of the string command for parsing char command_s[30]; diff --git a/src/web/WebEntityService.cpp b/src/web/WebEntityService.cpp index 450a9d02e..19bb86f80 100644 --- a/src/web/WebEntityService.cpp +++ b/src/web/WebEntityService.cpp @@ -269,11 +269,13 @@ bool WebEntityService::get_value_info(JsonObject & output, const char * cmd) { JsonVariant data = output[attribute_s]; output.clear(); output["api_data"] = data; + return true; } else { char error[100]; snprintf(error, sizeof(error), "cannot find attribute %s in entity %s", attribute_s, command_s); output.clear(); output["message"] = error; + return false; } } }