From 5f5e9853099202e3f5d887bf885942d8d9c575e8 Mon Sep 17 00:00:00 2001 From: samuelbles07 Date: Wed, 27 Nov 2024 00:43:03 +0700 Subject: [PATCH] Fix openmetrics esp8266 based --- examples/BASIC/OpenMetrics.cpp | 38 ++++++++++++---------- examples/DiyProIndoorV3_3/OpenMetrics.cpp | 39 +++++++++++++---------- examples/DiyProIndoorV4_2/OpenMetrics.cpp | 38 ++++++++++++---------- 3 files changed, 67 insertions(+), 48 deletions(-) diff --git a/examples/BASIC/OpenMetrics.cpp b/examples/BASIC/OpenMetrics.cpp index ddf2d4c..d9ce05c 100644 --- a/examples/BASIC/OpenMetrics.cpp +++ b/examples/BASIC/OpenMetrics.cpp @@ -57,26 +57,20 @@ String OpenMetrics::getPayload(void) { "gauge", "dbm"); add_metric_point("", String(wifiConnector.RSSI())); - if (config.hasSensorS8 && measure.CO2 >= 0) { - add_metric("co2", - "Carbon dioxide concentration as measured by the AirGradient S8 " - "sensor, in parts per million", - "gauge", "ppm"); - add_metric_point("", String(measure.CO2)); - } - + // Initialize default invalid value for each measurements float _temp = utils::getInvalidTemperature(); float _hum = utils::getInvalidHumidity(); int pm01 = utils::getInvalidPmValue(); int pm25 = utils::getInvalidPmValue(); int pm10 = utils::getInvalidPmValue(); int pm03PCount = utils::getInvalidPmValue(); + int co2 = utils::getInvalidCO2(); int atmpCompensated = utils::getInvalidTemperature(); int ahumCompensated = utils::getInvalidHumidity(); int tvoc = utils::getInvalidVOC(); - int tvoc_raw = utils::getInvalidVOC(); + int tvocRaw = utils::getInvalidVOC(); int nox = utils::getInvalidNOx(); - int nox_raw = utils::getInvalidNOx(); + int noxRaw = utils::getInvalidNOx(); if (config.hasSensorSHT) { _temp = measure.getFloat(Measurements::Temperature); @@ -94,9 +88,13 @@ String OpenMetrics::getPayload(void) { if (config.hasSensorSGP) { tvoc = measure.get(Measurements::TVOC); - tvoc_raw = measure.get(Measurements::TVOCRaw); + tvocRaw = measure.get(Measurements::TVOCRaw); nox = measure.get(Measurements::NOx); - nox_raw = measure.get(Measurements::NOxRaw); + noxRaw = measure.get(Measurements::NOxRaw); + } + + if (config.hasSensorS8) { + co2 = measure.get(Measurements::CO2); } if (config.hasSensorPMS1) { @@ -138,12 +136,12 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(tvoc)); } - if (utils::isValidVOC(tvoc_raw)) { + if (utils::isValidVOC(tvocRaw)) { add_metric("tvoc_raw", "The raw input value to the Total Volatile Organic Compounds " "(TVOC) index as measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(tvoc_raw)); + add_metric_point("", String(tvocRaw)); } if (utils::isValidNOx(nox)) { add_metric("nox_index", @@ -152,15 +150,23 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(nox)); } - if (utils::isValidNOx(nox_raw)) { + if (utils::isValidNOx(noxRaw)) { add_metric("nox_raw", "The raw input value to the Nitrous Oxide (NOx) index as " "measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(nox_raw)); + add_metric_point("", String(noxRaw)); } } + if (utils::isValidCO2(co2)) { + add_metric("co2", + "Carbon dioxide concentration as measured by the AirGradient S8 " + "sensor, in parts per million", + "gauge", "ppm"); + add_metric_point("", String(co2)); + } + if (utils::isValidTemperature(_temp)) { add_metric( "temperature", diff --git a/examples/DiyProIndoorV3_3/OpenMetrics.cpp b/examples/DiyProIndoorV3_3/OpenMetrics.cpp index ddf2d4c..7f3dc84 100644 --- a/examples/DiyProIndoorV3_3/OpenMetrics.cpp +++ b/examples/DiyProIndoorV3_3/OpenMetrics.cpp @@ -57,26 +57,20 @@ String OpenMetrics::getPayload(void) { "gauge", "dbm"); add_metric_point("", String(wifiConnector.RSSI())); - if (config.hasSensorS8 && measure.CO2 >= 0) { - add_metric("co2", - "Carbon dioxide concentration as measured by the AirGradient S8 " - "sensor, in parts per million", - "gauge", "ppm"); - add_metric_point("", String(measure.CO2)); - } - + // Initialize default invalid value for each measurements float _temp = utils::getInvalidTemperature(); float _hum = utils::getInvalidHumidity(); int pm01 = utils::getInvalidPmValue(); int pm25 = utils::getInvalidPmValue(); int pm10 = utils::getInvalidPmValue(); int pm03PCount = utils::getInvalidPmValue(); + int co2 = utils::getInvalidCO2(); int atmpCompensated = utils::getInvalidTemperature(); int ahumCompensated = utils::getInvalidHumidity(); int tvoc = utils::getInvalidVOC(); - int tvoc_raw = utils::getInvalidVOC(); + int tvocRaw = utils::getInvalidVOC(); int nox = utils::getInvalidNOx(); - int nox_raw = utils::getInvalidNOx(); + int noxRaw = utils::getInvalidNOx(); if (config.hasSensorSHT) { _temp = measure.getFloat(Measurements::Temperature); @@ -94,9 +88,13 @@ String OpenMetrics::getPayload(void) { if (config.hasSensorSGP) { tvoc = measure.get(Measurements::TVOC); - tvoc_raw = measure.get(Measurements::TVOCRaw); + tvocRaw = measure.get(Measurements::TVOCRaw); nox = measure.get(Measurements::NOx); - nox_raw = measure.get(Measurements::NOxRaw); + noxRaw = measure.get(Measurements::NOxRaw); + } + + if (config.hasSensorS8) { + co2 = measure.get(Measurements::CO2); } if (config.hasSensorPMS1) { @@ -138,12 +136,13 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(tvoc)); } - if (utils::isValidVOC(tvoc_raw)) { + + if (utils::isValidVOC(tvocRaw)) { add_metric("tvoc_raw", "The raw input value to the Total Volatile Organic Compounds " "(TVOC) index as measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(tvoc_raw)); + add_metric_point("", String(tvocRaw)); } if (utils::isValidNOx(nox)) { add_metric("nox_index", @@ -152,15 +151,23 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(nox)); } - if (utils::isValidNOx(nox_raw)) { + if (utils::isValidNOx(noxRaw)) { add_metric("nox_raw", "The raw input value to the Nitrous Oxide (NOx) index as " "measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(nox_raw)); + add_metric_point("", String(noxRaw)); } } + if (utils::isValidCO2(co2)) { + add_metric("co2", + "Carbon dioxide concentration as measured by the AirGradient S8 " + "sensor, in parts per million", + "gauge", "ppm"); + add_metric_point("", String(co2)); + } + if (utils::isValidTemperature(_temp)) { add_metric( "temperature", diff --git a/examples/DiyProIndoorV4_2/OpenMetrics.cpp b/examples/DiyProIndoorV4_2/OpenMetrics.cpp index ddf2d4c..d9ce05c 100644 --- a/examples/DiyProIndoorV4_2/OpenMetrics.cpp +++ b/examples/DiyProIndoorV4_2/OpenMetrics.cpp @@ -57,26 +57,20 @@ String OpenMetrics::getPayload(void) { "gauge", "dbm"); add_metric_point("", String(wifiConnector.RSSI())); - if (config.hasSensorS8 && measure.CO2 >= 0) { - add_metric("co2", - "Carbon dioxide concentration as measured by the AirGradient S8 " - "sensor, in parts per million", - "gauge", "ppm"); - add_metric_point("", String(measure.CO2)); - } - + // Initialize default invalid value for each measurements float _temp = utils::getInvalidTemperature(); float _hum = utils::getInvalidHumidity(); int pm01 = utils::getInvalidPmValue(); int pm25 = utils::getInvalidPmValue(); int pm10 = utils::getInvalidPmValue(); int pm03PCount = utils::getInvalidPmValue(); + int co2 = utils::getInvalidCO2(); int atmpCompensated = utils::getInvalidTemperature(); int ahumCompensated = utils::getInvalidHumidity(); int tvoc = utils::getInvalidVOC(); - int tvoc_raw = utils::getInvalidVOC(); + int tvocRaw = utils::getInvalidVOC(); int nox = utils::getInvalidNOx(); - int nox_raw = utils::getInvalidNOx(); + int noxRaw = utils::getInvalidNOx(); if (config.hasSensorSHT) { _temp = measure.getFloat(Measurements::Temperature); @@ -94,9 +88,13 @@ String OpenMetrics::getPayload(void) { if (config.hasSensorSGP) { tvoc = measure.get(Measurements::TVOC); - tvoc_raw = measure.get(Measurements::TVOCRaw); + tvocRaw = measure.get(Measurements::TVOCRaw); nox = measure.get(Measurements::NOx); - nox_raw = measure.get(Measurements::NOxRaw); + noxRaw = measure.get(Measurements::NOxRaw); + } + + if (config.hasSensorS8) { + co2 = measure.get(Measurements::CO2); } if (config.hasSensorPMS1) { @@ -138,12 +136,12 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(tvoc)); } - if (utils::isValidVOC(tvoc_raw)) { + if (utils::isValidVOC(tvocRaw)) { add_metric("tvoc_raw", "The raw input value to the Total Volatile Organic Compounds " "(TVOC) index as measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(tvoc_raw)); + add_metric_point("", String(tvocRaw)); } if (utils::isValidNOx(nox)) { add_metric("nox_index", @@ -152,15 +150,23 @@ String OpenMetrics::getPayload(void) { "gauge"); add_metric_point("", String(nox)); } - if (utils::isValidNOx(nox_raw)) { + if (utils::isValidNOx(noxRaw)) { add_metric("nox_raw", "The raw input value to the Nitrous Oxide (NOx) index as " "measured by the AirGradient SGP sensor", "gauge"); - add_metric_point("", String(nox_raw)); + add_metric_point("", String(noxRaw)); } } + if (utils::isValidCO2(co2)) { + add_metric("co2", + "Carbon dioxide concentration as measured by the AirGradient S8 " + "sensor, in parts per million", + "gauge", "ppm"); + add_metric_point("", String(co2)); + } + if (utils::isValidTemperature(_temp)) { add_metric( "temperature",