Вот так получилось вроде получить стабильные значения и без минусов, только вот показания не радуют, если они соответствуют действительности.
local pin, h, l, co2, TRIGGER_ON, th, tl, calculateCo2Ppm = 1, 0, 0, 0, "both", 0, 0, 0
local function calculateCo2Ppm(th, tl)
return 5000 * (th - 2) /...