cmd info shows right type (number/enum), no value

This commit is contained in:
MichaelDvP
2024-07-08 18:02:14 +02:00
parent d774591065
commit 3d7378a1a8
2 changed files with 10 additions and 5 deletions

View File

@@ -1548,12 +1548,16 @@ bool EMSdevice::get_value_info(JsonObject output, const char * cmd, const int8_t
break; break;
case DeviceValueType::CMD: case DeviceValueType::CMD:
json[type] = F_(command);
if (dv.options_size > 1) { if (dv.options_size > 1) {
json[type] = F_(enum);
JsonArray enum_ = json[F_(enum)].to<JsonArray>(); JsonArray enum_ = json[F_(enum)].to<JsonArray>();
for (uint8_t i = 0; i < dv.options_size; i++) { for (uint8_t i = 0; i < dv.options_size; i++) {
enum_.add(Helpers::translated_word(dv.options[i])); enum_.add(Helpers::translated_word(dv.options[i]));
} }
} else if (dv.uom != DeviceValueUOM::NONE) {
json[type] = F_(number);
} else {
json[type] = F_(command);
} }
break; break;
@@ -1581,10 +1585,11 @@ bool EMSdevice::get_value_info(JsonObject output, const char * cmd, const int8_t
json["writeable"] = dv.has_cmd && !dv.has_state(DeviceValueState::DV_READONLY); json["writeable"] = dv.has_cmd && !dv.has_state(DeviceValueState::DV_READONLY);
json["visible"] = !dv.has_state(DeviceValueState::DV_WEB_EXCLUDE); json["visible"] = !dv.has_state(DeviceValueState::DV_WEB_EXCLUDE);
// commented out, leads to issues if type is set to number
// if there is no value, mention it // if there is no value, mention it
if (!json.containsKey(value)) { // if (!json.containsKey(value)) {
json[value] = "not set"; // json[value] = "not set";
} // }
// if we're filtering on an attribute, go find it // if we're filtering on an attribute, go find it
if (attribute_s) { if (attribute_s) {

View File

@@ -161,7 +161,7 @@ bool WebSchedulerService::get_value_info(JsonObject output, const char * cmd) {
} }
} }
return (output.size() > 0); return true;
} }
char command_s[COMMAND_MAX_LENGTH]; char command_s[COMMAND_MAX_LENGTH];