I have a BME680 sensor running using the arduino libraries for ESP32. It has been running for over 24 hours with an IAQ accuracy of 3 with a few very brief dips to 2. This afternoon it dropped to 1 and stayed there for about 2 hours 45 minutes. At that time, I sent a remote command to reload the state from EEPROM. At that point, after the expected five minutes of IAQ Accuracy 0, it jumped quickly back to 3.
My question is should I add logic to detect this condition and automatically load the State from EEPROM, or would it have resolved itself? I have code that currently ignores values with IAQ Accuracy values less than 2, so the longer gap in valid data is not ideal. I can tolerate a gap of five minutes or a little more, so the state reload may be an acceptable solution, but it would be nice to avoid it.
In case it's helpful information; during the two hours preceeding the drop to 1 the IAQ values were fluctuating between 25 and 40, and contunued to do so after the drop in the accuracy value. When the state was reloaded the values dropped to about 17 and returned to the previous range (25-40) when the accuracy returned to 3.
Solved! Go to Solution.
I would like to refer to this Q&A about the meaning of the IAQ accuracy output, would it match the behavior you've observed? It is typically neither recommended to reload a state file just because the IAQ accuracy dropped to 1, nor to completely ignore the IAQ output when that happens.
Thanks! I will make appropriate changes and adjust my data quality function to accept values greater than 0. Perhaps I will let this sensor run for the full 96 hours and see how it does before I move to the 28-day profile.