diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index fcb051839..fce90371d 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -679,7 +679,7 @@ bool AnalogSensor::get_value_info(JsonObject output, const char * cmd, const int // if we're filtering on an attribute, go find it if (attribute_s) { if (output.containsKey(attribute_s)) { - JsonVariant data = output[attribute_s]; + String data = output[attribute_s].as(); output.clear(); output["api_data"] = data; return true; diff --git a/src/console.cpp b/src/console.cpp index 1d642dfee..74c2af440 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -533,15 +533,8 @@ static void setup_commands(std::shared_ptr & commands) { if (return_code == CommandRet::OK && json.size()) { if (json.containsKey("api_data")) { - JsonVariant data = json["api_data"]; - if (data.is()) { - shell.printfln("%d", data.as()); - } else if (data.is()) { - char s[10]; - shell.println(Helpers::render_value(s, data.as(), 1)); - } else { - shell.println(data.as()); - } + String data = json["api_data"].as(); + shell.println(data.c_str()); return; } serializeJsonPretty(doc, shell); diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 8a84655d9..d548734d4 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -1529,7 +1529,7 @@ bool EMSdevice::get_value_info(JsonObject output, const char * cmd, const int8_t EMSESP::logger().debug("Attribute '%s'", attribute_s); #endif if (json.containsKey(attribute_s)) { - JsonVariant data = json[attribute_s]; + String data = json[attribute_s].as(); output.clear(); output["api_data"] = data; return true; diff --git a/src/temperaturesensor.cpp b/src/temperaturesensor.cpp index 359403736..4e3c268e5 100644 --- a/src/temperaturesensor.cpp +++ b/src/temperaturesensor.cpp @@ -426,7 +426,7 @@ bool TemperatureSensor::get_value_info(JsonObject output, const char * cmd, cons // if we're filtering on an attribute, go find it if (attribute_s) { if (output.containsKey(attribute_s)) { - JsonVariant data = output[attribute_s]; + String data = output[attribute_s].as(); output.clear(); output["api_data"] = data; return true; diff --git a/src/web/WebAPIService.cpp b/src/web/WebAPIService.cpp index 8993fb56a..e2e311c01 100644 --- a/src/web/WebAPIService.cpp +++ b/src/web/WebAPIService.cpp @@ -134,8 +134,8 @@ void WebAPIService::parse(AsyncWebServerRequest * request, JsonObject input) { // if we're returning single values, just sent as plain text // https://github.com/emsesp/EMS-ESP32/issues/462#issuecomment-1093877210 if (output.containsKey("api_data")) { - JsonVariant data = output["api_data"]; - request->send(200, "text/plain; charset=utf-8", data.as()); + String data = output["api_data"].as(); + request->send(200, "text/plain; charset=utf-8", data); api_count_++; delete response; return; diff --git a/src/web/WebCustomEntityService.cpp b/src/web/WebCustomEntityService.cpp index 9f329474b..87623df46 100644 --- a/src/web/WebCustomEntityService.cpp +++ b/src/web/WebCustomEntityService.cpp @@ -308,7 +308,7 @@ bool WebCustomEntityService::get_value_info(JsonObject output, const char * cmd) render_value(output, entity, true); if (attribute_s) { if (output.containsKey(attribute_s)) { - JsonVariant data = output[attribute_s]; + String data = output[attribute_s].as(); output.clear(); output["api_data"] = data; return true; diff --git a/src/web/WebSchedulerService.cpp b/src/web/WebSchedulerService.cpp index a2a2a40e1..b7fd19d74 100644 --- a/src/web/WebSchedulerService.cpp +++ b/src/web/WebSchedulerService.cpp @@ -177,7 +177,6 @@ bool WebSchedulerService::get_value_info(JsonObject output, const char * cmd) { attribute_s = breakp + 1; } - JsonVariant data; for (const ScheduleItem & scheduleItem : *scheduleItems) { if (Helpers::toLower(scheduleItem.name) == Helpers::toLower(command_s)) { output["name"] = scheduleItem.name; @@ -199,7 +198,7 @@ bool WebSchedulerService::get_value_info(JsonObject output, const char * cmd) { } if (attribute_s && output.containsKey(attribute_s)) { - data = output[attribute_s]; + String data = output[attribute_s].as(); output.clear(); output["api_data"] = data; }