From 722ca34a1825580d51ee4f6b6caa25b0d3bf9ca1 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 15 Nov 2023 21:40:23 +0100 Subject: [PATCH] rollback and fix https://github.com/emsesp/EMS-ESP32/pull/1426 --- src/emsdevice.cpp | 6 +++--- src/system.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 127469928..08ccb9b3f 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -827,7 +827,7 @@ std::string EMSdevice::get_value_uom(const std::string & shortname) const { return std::string{}; // not found } -bool EMSdevice::export_values(uint8_t unique_id, JsonObject & output, const int8_t id, const uint8_t output_target) { +bool EMSdevice::export_values(uint8_t device_type, JsonObject & output, const int8_t id, const uint8_t output_target) { bool has_value = false; uint8_t tag; if (id >= 1 && id <= (1 + DeviceValueTAG::TAG_HS16 - DeviceValueTAG::TAG_HC1)) { @@ -840,7 +840,7 @@ bool EMSdevice::export_values(uint8_t unique_id, JsonObject & output, const int8 if (id > 0 || output_target == EMSdevice::OUTPUT_TARGET::API_VERBOSE) { for (const auto & emsdevice : EMSESP::emsdevices) { - if (emsdevice->unique_id() == unique_id) { + if (emsdevice && (emsdevice->device_type() == device_type)) { has_value |= emsdevice->generate_values(output, tag, (id < 1), output_target); // use nested for id -1 and 0 } } @@ -852,7 +852,7 @@ bool EMSdevice::export_values(uint8_t unique_id, JsonObject & output, const int8 JsonObject output_hc = output; bool nest_created = false; for (const auto & emsdevice : EMSESP::emsdevices) { - if (emsdevice->unique_id() == unique_id) { + if (emsdevice && (emsdevice->device_type() == device_type)) { if (!nest_created && emsdevice->has_tags(tag)) { output_hc = output.createNestedObject(EMSdevice::tag_to_mqtt(tag)); nest_created = true; diff --git a/src/system.cpp b/src/system.cpp index f6191e336..398efccaf 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -115,7 +115,7 @@ bool System::command_allvalues(const char * value, const int8_t id, JsonObject & for (const auto & emsdevice : EMSESP::emsdevices) { std::string title = emsdevice->device_type_2_device_name_translated() + std::string(" ") + emsdevice->to_string(); device_output = output.createNestedObject(title); - emsesp::EMSdevice::export_values(emsdevice->unique_id(), device_output, id, EMSdevice::OUTPUT_TARGET::API_VERBOSE); + emsdevice->generate_values(device_output, DeviceValueTAG::TAG_NONE, true, EMSdevice::OUTPUT_TARGET::API_VERBOSE); // use nested for id -1 and 0 } // Custom entities