mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
exclude disabled sensors from dashboard
This commit is contained in:
@@ -435,41 +435,39 @@ void WebDataService::dashboard_data(AsyncWebServerRequest * request) {
|
|||||||
JsonArray nodes = obj["nodes"].to<JsonArray>();
|
JsonArray nodes = obj["nodes"].to<JsonArray>();
|
||||||
uint8_t count = 0;
|
uint8_t count = 0;
|
||||||
for (const auto & sensor : EMSESP::analogsensor_.sensors()) {
|
for (const auto & sensor : EMSESP::analogsensor_.sensors()) {
|
||||||
// ignore system sensors
|
// ignore system and disabled sensors
|
||||||
if (sensor.is_system()) {
|
if (sensor.is_system() || sensor.type() == AnalogSensor::AnalogType::NOTUSED || sensor.gpio() == 99) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (sensor.type() != AnalogSensor::AnalogType::NOTUSED) { // ignore disabled
|
JsonObject node = nodes.add<JsonObject>();
|
||||||
JsonObject node = nodes.add<JsonObject>();
|
node["id"] = (EMSdevice::DeviceTypeUniqueID::ANALOGSENSOR_UID * 100) + count++;
|
||||||
node["id"] = (EMSdevice::DeviceTypeUniqueID::ANALOGSENSOR_UID * 100) + count++;
|
|
||||||
|
|
||||||
JsonObject dv = node["dv"].to<JsonObject>();
|
JsonObject dv = node["dv"].to<JsonObject>();
|
||||||
dv["id"] = "00" + sensor.name();
|
dv["id"] = "00" + sensor.name();
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT && (sensor.gpio() == 25 || sensor.gpio() == 26)) {
|
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT && (sensor.gpio() == 25 || sensor.gpio() == 26)) {
|
||||||
obj["v"] = Helpers::transformNumFloat(sensor.value());
|
obj["v"] = Helpers::transformNumFloat(sensor.value());
|
||||||
} else
|
} else
|
||||||
#elif CONFIG_IDF_TARGET_ESP32S2
|
#elif CONFIG_IDF_TARGET_ESP32S2
|
||||||
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT && (sensor.gpio() == 17 || sensor.gpio() == 18)) {
|
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT && (sensor.gpio() == 17 || sensor.gpio() == 18)) {
|
||||||
obj["v"] = Helpers::transformNumFloat(sensor.value());
|
obj["v"] = Helpers::transformNumFloat(sensor.value());
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT || sensor.type() == AnalogSensor::AnalogType::DIGITAL_IN
|
if (sensor.type() == AnalogSensor::AnalogType::DIGITAL_OUT || sensor.type() == AnalogSensor::AnalogType::DIGITAL_IN
|
||||||
|| sensor.type() == AnalogSensor::AnalogType::PULSE) {
|
|| sensor.type() == AnalogSensor::AnalogType::PULSE) {
|
||||||
char s[12];
|
char s[12];
|
||||||
dv["v"] = Helpers::render_boolean(s, sensor.value() != 0, true);
|
dv["v"] = Helpers::render_boolean(s, sensor.value() != 0, true);
|
||||||
JsonArray l = dv["l"].to<JsonArray>();
|
JsonArray l = dv["l"].to<JsonArray>();
|
||||||
l.add(Helpers::render_boolean(s, false, true));
|
l.add(Helpers::render_boolean(s, false, true));
|
||||||
l.add(Helpers::render_boolean(s, true, true));
|
l.add(Helpers::render_boolean(s, true, true));
|
||||||
} else {
|
} else {
|
||||||
dv["v"] = Helpers::transformNumFloat(sensor.value());
|
dv["v"] = Helpers::transformNumFloat(sensor.value());
|
||||||
dv["u"] = sensor.uom();
|
dv["u"] = sensor.uom();
|
||||||
}
|
}
|
||||||
if (sensor.type() == AnalogSensor::AnalogType::COUNTER
|
if (sensor.type() == AnalogSensor::AnalogType::COUNTER
|
||||||
|| (sensor.type() >= AnalogSensor::AnalogType::DIGITAL_OUT && sensor.type() <= AnalogSensor::AnalogType::PWM_2)
|
|| (sensor.type() >= AnalogSensor::AnalogType::DIGITAL_OUT && sensor.type() <= AnalogSensor::AnalogType::PWM_2)
|
||||||
|| sensor.type() == AnalogSensor::AnalogType::RGB || sensor.type() == AnalogSensor::AnalogType::PULSE) {
|
|| sensor.type() == AnalogSensor::AnalogType::RGB || sensor.type() == AnalogSensor::AnalogType::PULSE) {
|
||||||
dv["c"] = sensor.name();
|
dv["c"] = sensor.name();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user