Skip to content

Commit 03e313e

Browse files
author
Peter Menten
committed
Fix PM2.5 correction float divisions
1 parent 39d27e4 commit 03e313e

11 files changed

Lines changed: 24 additions & 24 deletions

full_config/ag-basic.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,11 @@ sensor:
203203
} else if (pm_2_5_calibrated < 30.0) {
204204
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
205205
} else if (pm_2_5_calibrated < 50.0) {
206-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
206+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
207207
} else if (pm_2_5_calibrated < 210.0) {
208208
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
209209
} else if (pm_2_5_calibrated < 260.0) {
210-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
210+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
211211
} else {
212212
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
213213
}

full_config/ag-one.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,11 +234,11 @@ sensor:
234234
} else if (pm_2_5_calibrated < 30.0) {
235235
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
236236
} else if (pm_2_5_calibrated < 50.0) {
237-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
237+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
238238
} else if (pm_2_5_calibrated < 210.0) {
239239
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
240240
} else if (pm_2_5_calibrated < 260.0) {
241-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
241+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
242242
} else {
243243
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
244244
}

full_config/ag-open-air-o-1ppt.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,11 @@ sensor:
279279
} else if (pm_2_5_calibrated < 30.0) {
280280
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
281281
} else if (pm_2_5_calibrated < 50.0) {
282-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
282+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
283283
} else if (pm_2_5_calibrated < 210.0) {
284284
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
285285
} else if (pm_2_5_calibrated < 260.0) {
286-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
286+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
287287
} else {
288288
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
289289
}
@@ -454,11 +454,11 @@ sensor:
454454
} else if (pm_2_5_calibrated < 30.0) {
455455
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
456456
} else if (pm_2_5_calibrated < 50.0) {
457-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
457+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
458458
} else if (pm_2_5_calibrated < 210.0) {
459459
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
460460
} else if (pm_2_5_calibrated < 260.0) {
461-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
461+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
462462
} else {
463463
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
464464
}

full_config/ag-open-air-o-1pst.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,11 @@ sensor:
280280
} else if (pm_2_5_calibrated < 30.0) {
281281
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
282282
} else if (pm_2_5_calibrated < 50.0) {
283-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
283+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
284284
} else if (pm_2_5_calibrated < 210.0) {
285285
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
286286
} else if (pm_2_5_calibrated < 260.0) {
287-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
287+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
288288
} else {
289289
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
290290
}

full_config/ag-pro.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,11 @@ sensor:
205205
} else if (pm_2_5_calibrated < 30.0) {
206206
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
207207
} else if (pm_2_5_calibrated < 50.0) {
208-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
208+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
209209
} else if (pm_2_5_calibrated < 210.0) {
210210
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
211211
} else if (pm_2_5_calibrated < 260.0) {
212-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
212+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
213213
} else {
214214
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
215215
}

packages/sensor_pms5003.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ sensor:
6161
} else if (pm_2_5_calibrated < 30.0) {
6262
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
6363
} else if (pm_2_5_calibrated < 50.0) {
64-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
64+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
6565
} else if (pm_2_5_calibrated < 210.0) {
6666
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
6767
} else if (pm_2_5_calibrated < 260.0) {
68-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
68+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
6969
} else {
7070
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
7171
}

packages/sensor_pms5003_extended_life.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ sensor:
6060
} else if (pm_2_5_calibrated < 30.0) {
6161
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
6262
} else if (pm_2_5_calibrated < 50.0) {
63-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
63+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
6464
} else if (pm_2_5_calibrated < 210.0) {
6565
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
6666
} else if (pm_2_5_calibrated < 260.0) {
67-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
67+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
6868
} else {
6969
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
7070
}

packages/sensor_pms5003t.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ sensor:
9292
} else if (pm_2_5_calibrated < 30.0) {
9393
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9494
} else if (pm_2_5_calibrated < 50.0) {
95-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
95+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
9696
} else if (pm_2_5_calibrated < 210.0) {
9797
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9898
} else if (pm_2_5_calibrated < 260.0) {
99-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
99+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
100100
} else {
101101
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
102102
}

packages/sensor_pms5003t_2.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,11 @@ sensor:
8989
} else if (pm_2_5_calibrated < 30.0) {
9090
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9191
} else if (pm_2_5_calibrated < 50.0) {
92-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
92+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
9393
} else if (pm_2_5_calibrated < 210.0) {
9494
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9595
} else if (pm_2_5_calibrated < 260.0) {
96-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
96+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
9797
} else {
9898
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
9999
}

packages/sensor_pms5003t_2_extended_life.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ sensor:
9292
} else if (pm_2_5_calibrated < 30.0) {
9393
result = (0.524 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9494
} else if (pm_2_5_calibrated < 50.0) {
95-
result = (0.786 * (pm_2_5_calibrated / 20 - 3/2) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3/2))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
95+
result = (0.786 * (pm_2_5_calibrated / 20 - 3.0/2.0) + 0.524 * (1 - (pm_2_5_calibrated / 20 - 3.0/2.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state) + 5.75;
9696
} else if (pm_2_5_calibrated < 210.0) {
9797
result = (0.786 * pm_2_5_calibrated) - (0.0862 * id(humidity_raw).state) + 5.75;
9898
} else if (pm_2_5_calibrated < 260.0) {
99-
result = (0.69 * (pm_2_5_calibrated / 50 - 21/5) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21/5))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (2.966 * (pm_2_5_calibrated / 50 - 21/5)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21/5))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21/5));
99+
result = (0.69 * (pm_2_5_calibrated / 50 - 21.0/5.0) + 0.786 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) * pm_2_5_calibrated - (0.0862 * id(humidity_raw).state * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (2.966 * (pm_2_5_calibrated / 50 - 21.0/5.0)) + (5.75 * (1 - (pm_2_5_calibrated / 50 - 21.0/5.0))) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2) * (pm_2_5_calibrated / 50 - 21.0/5.0));
100100
} else {
101101
result = 2.966 + (0.69 * pm_2_5_calibrated) + (8.84 * pow(10,-4) * pow(pm_2_5_calibrated,2));
102102
}

0 commit comments

Comments
 (0)