Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC IAQ Accuracy falls to 1

    BSEC IAQ Accuracy falls to 1

    New Poster

    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.

    3 REPLIES 3

    Community Moderator
    Community Moderator

    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.

    Accuracy level 1 can be normal, it is never a good idea to reload the previous state. When you do so, BSEC assumes that it is good (basically ignoring the recent history).

    Periodic dipping to Accuracy level 2 is expected. When it drops to 1, this is because there is not enough variation in the signal (can't sense something that does not fluctuate).

    The correct fix would be to use the 28d config string instead of the 4d time, this will adjust the time constant of the filter so that way a much longer history will be considered.


    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.