From 0953d37303ee042c6287b8568b64e9410a96d595 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 25 Jan 2025 13:31:05 +0100 Subject: [PATCH] support multi devices of same type --- src/core/emsesp.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/emsesp.cpp b/src/core/emsesp.cpp index 216724341..d3c425c5d 100644 --- a/src/core/emsesp.cpp +++ b/src/core/emsesp.cpp @@ -766,11 +766,16 @@ void EMSESP::publish_response(std::shared_ptr telegram) { bool EMSESP::get_device_value_info(JsonObject root, const char * cmd, const int8_t id, const uint8_t devicetype) { // check first for EMS devices bool found_device = false; + for (const auto & emsdevice : emsdevices) { if (emsdevice->device_type() == devicetype) { found_device = true; + // we may have multiple devices of the same type, so we need to check the id (e.g. id could be a hc number) if (emsdevice->get_value_info(root, cmd, id)) { - return true; + // if we have no values, keep going traversing the devices, it may be a thermostat with multiple hc's + if (root.size()) { + return true; + } } } }