diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index b8e3bdbd7..1d417dec7 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -625,6 +625,7 @@ void AnalogSensor::publish_values(const bool force) { // searches by name bool AnalogSensor::get_value_info(JsonObject & output, const char * cmd, const int8_t id) const { if (sensors_.empty()) { + output["message"] = "no entries"; return false; } // make a copy of the string command for parsing @@ -686,7 +687,8 @@ bool AnalogSensor::get_value_info(JsonObject & output, const char * cmd, const i // returns false if there are no sensors bool AnalogSensor::command_info(const char * value, const int8_t id, JsonObject & output) const { if (sensors_.empty()) { - return false; + output["message"] = "no entries"; + return true; } for (const auto & sensor : sensors_) { diff --git a/src/temperaturesensor.cpp b/src/temperaturesensor.cpp index ef5e7aac7..00862267c 100644 --- a/src/temperaturesensor.cpp +++ b/src/temperaturesensor.cpp @@ -363,7 +363,8 @@ bool TemperatureSensor::command_commands(const char * value, const int8_t id, Js // returns false if there are no sensors bool TemperatureSensor::command_info(const char * value, const int8_t id, JsonObject & output) { if (sensors_.empty()) { - return false; + output["message"] = "no entries"; + return true; } for (const auto & sensor : sensors_) { @@ -389,6 +390,7 @@ bool TemperatureSensor::command_info(const char * value, const int8_t id, JsonOb // called from emsesp.cpp, similar to the emsdevice->get_value_info bool TemperatureSensor::get_value_info(JsonObject & output, const char * cmd, const int8_t id) { if (sensors_.empty()) { + output["message"] = "no entries"; return false; } // make a copy of the string command for parsing @@ -576,7 +578,7 @@ TemperatureSensor::Sensor::Sensor(const uint8_t addr[]) (unsigned int)(internal_id_ >> 48) & 0xFF, (unsigned int)(internal_id_ >> 32) & 0xFFFF, (unsigned int)(internal_id_ >> 16) & 0xFFFF, - (unsigned int)(internal_id_) & 0xFFFF); + (unsigned int)(internal_id_)&0xFFFF); id_ = std::string(id_s); name_ = std::string{}; // name (alias) is empty offset_ = 0; // 0 degrees offset diff --git a/src/web/WebEntityService.cpp b/src/web/WebEntityService.cpp index a183ed0ac..450a9d02e 100644 --- a/src/web/WebEntityService.cpp +++ b/src/web/WebEntityService.cpp @@ -225,6 +225,10 @@ bool WebEntityService::get_value_info(JsonObject & output, const char * cmd) { } return true; } + if (entityItems->size() == 0) { + output["message"] = "no entries"; + return true; + } if (strlen(cmd) == 0 || Helpers::toLower(cmd) == F_(values) || Helpers::toLower(cmd) == F_(info)) { // list all names for (const EntityItem & entity : *entityItems) { @@ -232,10 +236,6 @@ bool WebEntityService::get_value_info(JsonObject & output, const char * cmd) { } return (output.size() != 0); } - if (entityItems->size() == 0) { - output["message"] = "no custom entities"; - return false; - } char command_s[30]; strlcpy(command_s, cmd, sizeof(command_s)); char * attribute_s = nullptr; diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index 4e84f9c31..337213a08 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -142,6 +142,10 @@ bool WebSchedulerService::get_value_info(JsonObject & output, const char * cmd) } return true; } + if (scheduleItems->size() == 0) { + output["message"] = "no entries"; + return true; + } if (strlen(cmd) == 0 || Helpers::toLower(cmd) == F_(values) || Helpers::toLower(cmd) == F_(info)) { // list all names for (const ScheduleItem & scheduleItem : *scheduleItems) { @@ -158,10 +162,6 @@ bool WebSchedulerService::get_value_info(JsonObject & output, const char * cmd) } return (output.size() > 0); } - if (scheduleItems->size() == 0) { - output["message"] = "no schedules"; - return false; - } char command_s[30]; strlcpy(command_s, cmd, sizeof(command_s)); char * attribute_s = nullptr;