Adjust AQ wordings

This commit is contained in:
Joshua Boniface 2025-05-24 19:44:59 -04:00
parent 64cb43dec8
commit fd7e438c62
2 changed files with 21 additions and 21 deletions

View File

@ -254,11 +254,11 @@ The IAQ index is calculated based on the TVOC and eCO2 values from the SGP30
sensor, to provide 5 levels of air quality. This corresponds approximately sensor, to provide 5 levels of air quality. This corresponds approximately
to the levels provided by the BME680 (0-50, 50-100, 100-200, 200-300, 300+). to the levels provided by the BME680 (0-50, 50-100, 100-200, 200-300, 300+).
5 is "excellent": the TVOC is <65 ppb and the eCO2 is <600 ppm. 5 is "great": the TVOC is <65 ppb and the eCO2 is <600 ppm.
4 is "good": the TVOC is 65-220 ppb or the eCO2 is 600-800 ppm. 4 is "good": the TVOC is 65-220 ppb or the eCO2 is 600-800 ppm.
3 is "moderate": the TVOC is 220-660 ppb or the eCO2 is 800-1200 ppm. 3 is "fair": the TVOC is 220-660 ppb or the eCO2 is 800-1200 ppm.
2 is "poor": the TVOC is 660-2200 ppb or the eCO2 is 1200-2000 ppm. 2 is "poor": the TVOC is 660-2200 ppb or the eCO2 is 1200-2000 ppm.
1 is "unhealthy": the TVOC is >2200 ppb or the eCO2 is >2000 ppm. 1 is "bad": the TVOC is >2200 ppb or the eCO2 is >2000 ppm.
#### Room Health Score (1-4) #### Room Health Score (1-4)
@ -267,8 +267,8 @@ and is designed to show how "nice" a room is to be in. Generally a 4 is a nice
place to be, especially for someone with respiratory issues like myself, and lower place to be, especially for someone with respiratory issues like myself, and lower
scores indicate more deviations from the norms or poor IAQ. scores indicate more deviations from the norms or poor IAQ.
4 is "optimal": IAQ is >= 4 ("excellent" or "good"), temperature is between 18C and 24C, and humidity is between 40% and 60%. 4 is "optimal": IAQ is >= 4 ("great" or "good"), temperature is between 18C and 24C, and humidity is between 40% and 60%.
3 is "fair": One of the above is not true, and IAQ is >= 3 ("moderate"). 3 is "fair": One of the above is not true, and IAQ is >= 3 ("fair").
2 is "poor": Two of the above are not true, and IAQ is >= 2 ("poor"). 2 is "poor": Two of the above are not true, and IAQ is >= 2 ("poor").
1 is "bad": All of the above are not true or IAQ is 1 ("unhealthy") regardless of other values. 1 is "bad": All of the above are not true or IAQ is 1 ("unhealthy") regardless of other values.
@ -281,15 +281,15 @@ what is wrong with the room.
#### VOC Level #### VOC Level
This reports the VOC level alone, based on the scale under IAQ Index, in textual form ("Excellent, "Good", etc.). This reports the VOC level alone, based on the scale under IAQ Index, in textual form ("Great, "Good", etc.).
#### CO2 Level #### CO2 Level
This reports the eCO2 level alone, based on the scale under IAQ Index, in textual form ("Excellent, Good", etc.). This reports the eCO2 level alone, based on the scale under IAQ Index, in textual form ("Great, Good", etc.).
#### IAQ Classification #### IAQ Classification
This reports the IAQ Index in textual form ("Excellent", "Good", etc.). This reports the IAQ Index in textual form ("Great", "Good", etc.).
#### Room Health #### Room Health

View File

@ -586,18 +586,18 @@ sensor:
return (b * alpha) / (a - alpha); return (b * alpha) / (a - alpha);
update_interval: 15s update_interval: 15s
# IAQ Index (1-5, 5=Excellent) # IAQ Index (1-5, 5=Great))
- platform: template - platform: template
name: "IAQ Index" name: "IAQ Index"
id: iaq_index id: iaq_index
lambda: |- lambda: |-
int tvoc = id(sgp30_tvoc).state; int tvoc = id(sgp30_tvoc).state;
int eco2 = id(sgp30_eco2).state; int eco2 = id(sgp30_eco2).state;
if (tvoc > 2200 || eco2 > 2000) return 1; // Unhealthy if (tvoc > 2200 || eco2 > 2000) return 1; // Bad
if (tvoc > 660 || eco2 > 1200) return 2; // Poor if (tvoc > 660 || eco2 > 1200) return 2; // Poor
if (tvoc > 220 || eco2 > 800) return 3; // Moderate if (tvoc > 220 || eco2 > 800) return 3; // Fair
if (tvoc > 65 || eco2 > 500) return 4; // Good if (tvoc > 65 || eco2 > 500) return 4; // Good
return 5; // Excellent return 5; // Great
update_interval: 15s update_interval: 15s
# Room Health Score (1-4, 4=Optimal) # Room Health Score (1-4, 4=Optimal)
@ -752,11 +752,11 @@ text_sensor:
name: "VOC Level" name: "VOC Level"
lambda: |- lambda: |-
int tvoc = id(sgp30_tvoc).state; int tvoc = id(sgp30_tvoc).state;
if (tvoc < 65) return {"Excellent"}; if (tvoc < 65) return {"Great"};
if (tvoc < 220) return {"Good"}; if (tvoc < 220) return {"Good"};
if (tvoc < 660) return {"Moderate"}; if (tvoc < 660) return {"Fair"};
if (tvoc < 2200) return {"Poor"}; if (tvoc < 2200) return {"Poor"};
return {"Unhealthy"}; return {"Bad"};
update_interval: 15s update_interval: 15s
# CO2 Level # CO2 Level
@ -764,11 +764,11 @@ text_sensor:
name: "CO2 Level" name: "CO2 Level"
lambda: |- lambda: |-
int eco2 = id(sgp30_eco2).state; int eco2 = id(sgp30_eco2).state;
if (eco2 < 500) return {"Excellent"}; if (eco2 < 500) return {"Great"};
if (eco2 < 800) return {"Good"}; if (eco2 < 800) return {"Good"};
if (eco2 < 1200) return {"Moderate"}; if (eco2 < 1200) return {"Fair"};
if (eco2 < 2000) return {"Poor"}; if (eco2 < 2000) return {"Poor"};
return {"Unhealthy"}; return {"Bad"};
update_interval: 15s update_interval: 15s
# IAQ Classification # IAQ Classification
@ -776,11 +776,11 @@ text_sensor:
name: "IAQ Classification" name: "IAQ Classification"
lambda: |- lambda: |-
int iaq = id(iaq_index).state; int iaq = id(iaq_index).state;
if (iaq == 5) return {"Excellent"}; if (iaq == 5) return {"Great"};
if (iaq == 4) return {"Good"}; if (iaq == 4) return {"Good"};
if (iaq == 3) return {"Moderate"}; if (iaq == 3) return {"Fair"};
if (iaq == 2) return {"Poor"}; if (iaq == 2) return {"Poor"};
return {"Unhealthy"}; return {"Bad"};
update_interval: 15s update_interval: 15s
# Room Health # Room Health