From ed11260ffa246118c3e4630a248146380207773a Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 13 Oct 2024 00:09:54 +0100 Subject: [PATCH] don't include disabled analog sensors in dashboard --- src/analogsensor.h | 6 +++++- src/web/WebDataService.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/analogsensor.h b/src/analogsensor.h index 23cb72668..04e5439ff 100644 --- a/src/analogsensor.h +++ b/src/analogsensor.h @@ -153,7 +153,11 @@ class AnalogSensor { return (!sensors_.empty()); } - size_t count_entities() const { + size_t count_entities(bool count_disabled = false) const { + if (count_disabled) { + // count number of items in sensors_ where type is not set to disabled + return std::count_if(sensors_.begin(), sensors_.end(), [](const Sensor & sensor) { return sensor.type() != AnalogSensor::AnalogType::NOTUSED; }); + } return sensors_.size(); } diff --git a/src/web/WebDataService.cpp b/src/web/WebDataService.cpp index e06eaf556..c2b80a708 100644 --- a/src/web/WebDataService.cpp +++ b/src/web/WebDataService.cpp @@ -408,7 +408,7 @@ void WebDataService::dashboard_data(AsyncWebServerRequest * request) { JsonArray nodes = obj["nodes"].to(); uint8_t count = 0; for (const auto & sensor : EMSESP::analogsensor_.sensors()) { - if (sensor.type() != AnalogSensor::AnalogType::NOTUSED) { + if (sensor.type() != AnalogSensor::AnalogType::NOTUSED) { // ignore disabled JsonObject node = nodes.add(); node["id"] = (EMSdevice::DeviceTypeUniqueID::ANALOGSENSOR_UID * 100) + count++;