11substitutions :
2- config_version : 4.0.6
2+ config_version : 4.0.7
33 voc_learning_time_offset_hours : ' 12'
44 nox_learning_time_offset_hours : ' 12'
55 name : ag-open-air-o-1ppt
@@ -11,7 +11,7 @@ esphome:
1111 name_add_mac_suffix : false
1212 project :
1313 name : mallocarray.airgradient
14- version : 4.0.6
14+ version : 4.0.7
1515 min_version : 2024.6.0
1616 on_boot :
1717 - priority : 200.0
@@ -240,13 +240,13 @@ sensor:
240240 if (id(pm_2_5_raw).state == 0.0) {
241241 result = 0.0;
242242 } else if (id(pm_2_5_raw).state < 30.0) {
243- result = (0.524 * id(pm_2_5_raw).state) - (0.0862 * id(humidity ).state) + 5.75;
243+ result = (0.524 * id(pm_2_5_raw).state) - (0.0862 * id(humidity_raw ).state) + 5.75;
244244 } else if (id(pm_2_5_raw).state < 50.0) {
245- result = (0.786 * (id(pm_2_5_raw).state / 20 - 3/2) + 0.524 * (1 - (id(pm_2_5_raw).state / 20 - 3/2))) * id(pm_2_5_raw).state - (0.0862 * id(humidity ).state) + 5.75;
245+ result = (0.786 * (id(pm_2_5_raw).state / 20 - 3/2) + 0.524 * (1 - (id(pm_2_5_raw).state / 20 - 3/2))) * id(pm_2_5_raw).state - (0.0862 * id(humidity_raw ).state) + 5.75;
246246 } else if (id(pm_2_5_raw).state < 210.0) {
247- result = (0.786 * id(pm_2_5_raw).state) - (0.0862 * id(humidity ).state) + 5.75;
247+ result = (0.786 * id(pm_2_5_raw).state) - (0.0862 * id(humidity_raw ).state) + 5.75;
248248 } else if (id(pm_2_5_raw).state < 260.0) {
249- result = (0.69 * (id(pm_2_5_raw).state / 50 - 21/5) + 0.786 * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) * id(pm_2_5_raw).state - (0.0862 * id(humidity ).state * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) + (2.966 * (id(pm_2_5_raw).state / 50 - 21/5)) + (5.75 * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(id(pm_2_5_raw).state,2) * (id(pm_2_5_raw).state / 50 - 21/5));
249+ result = (0.69 * (id(pm_2_5_raw).state / 50 - 21/5) + 0.786 * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) * id(pm_2_5_raw).state - (0.0862 * id(humidity_raw ).state * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) + (2.966 * (id(pm_2_5_raw).state / 50 - 21/5)) + (5.75 * (1 - (id(pm_2_5_raw).state / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(id(pm_2_5_raw).state,2) * (id(pm_2_5_raw).state / 50 - 21/5));
250250 } else {
251251 result = 2.966 + (0.69 * id(pm_2_5_raw).state) + (8.84 * pow(10,-4) * pow(id(pm_2_5_raw).state,2));
252252 }
@@ -401,13 +401,13 @@ sensor:
401401 if (id(pm_2_5_2_raw).state == 0.0) {
402402 result = 0.0;
403403 } else if (id(pm_2_5_2_raw).state < 30.0) {
404- result = (0.524 * id(pm_2_5_2_raw).state) - (0.0862 * id(humidity ).state) + 5.75;
404+ result = (0.524 * id(pm_2_5_2_raw).state) - (0.0862 * id(humidity_raw ).state) + 5.75;
405405 } else if (id(pm_2_5_2_raw).state < 50.0) {
406- result = (0.786 * (id(pm_2_5_2_raw).state / 20 - 3/2) + 0.524 * (1 - (id(pm_2_5_2_raw).state / 20 - 3/2))) * id(pm_2_5_2_raw).state - (0.0862 * id(humidity ).state) + 5.75;
406+ result = (0.786 * (id(pm_2_5_2_raw).state / 20 - 3/2) + 0.524 * (1 - (id(pm_2_5_2_raw).state / 20 - 3/2))) * id(pm_2_5_2_raw).state - (0.0862 * id(humidity_raw ).state) + 5.75;
407407 } else if (id(pm_2_5_2_raw).state < 210.0) {
408- result = (0.786 * id(pm_2_5_2_raw).state) - (0.0862 * id(humidity ).state) + 5.75;
408+ result = (0.786 * id(pm_2_5_2_raw).state) - (0.0862 * id(humidity_raw ).state) + 5.75;
409409 } else if (id(pm_2_5_2_raw).state < 260.0) {
410- result = (0.69 * (id(pm_2_5_2_raw).state / 50 - 21/5) + 0.786 * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) * id(pm_2_5_2_raw).state - (0.0862 * id(humidity ).state * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) + (2.966 * (id(pm_2_5_2_raw).state / 50 - 21/5)) + (5.75 * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(id(pm_2_5_2_raw).state,2) * (id(pm_2_5_2_raw).state / 50 - 21/5));
410+ result = (0.69 * (id(pm_2_5_2_raw).state / 50 - 21/5) + 0.786 * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) * id(pm_2_5_2_raw).state - (0.0862 * id(humidity_raw ).state * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) + (2.966 * (id(pm_2_5_2_raw).state / 50 - 21/5)) + (5.75 * (1 - (id(pm_2_5_2_raw).state / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(id(pm_2_5_2_raw).state,2) * (id(pm_2_5_2_raw).state / 50 - 21/5));
411411 } else {
412412 result = 2.966 + (0.69 * id(pm_2_5_2_raw).state) + (8.84 * pow(10,-4) * pow(id(pm_2_5_2_raw).state,2));
413413 }
@@ -511,7 +511,7 @@ sensor:
511511 id : humidity_avg
512512 name : Humidity (Average)
513513 lambda : !lambda |-
514- return (id(humidity ).state + id(humidity_2).state) / 2.0;
514+ return (id(humidity_raw ).state + id(humidity_2).state) / 2.0;
515515 unit_of_measurement : ' %'
516516 accuracy_decimals : 1
517517 device_class : humidity
0 commit comments