Does your esphome config for the airgradient one expose raw voc data or just the voc index?
Only the VOC index. It is using the sensor component from the ESPHome project without modification.
The official libraries only report the Indexes as designed.
As far as I know, the raw data is unitles, so only helpful in seeing trends
There are other tuning options available in the ESPHome sensor module to adjust the time of collects data, but out of the box matches the manufacturer default recommendations
Hello @troy, I’m having the exact same feeling with SEN55 and stumble across your post searching for information on the web. For the time being I wrote to Sensirion but had no answer from them yet.
Using documentation available on Sensirion’s web page I’m accesing raw data from the sensor but have no idea how to link that to concentration of VOC or NOx. I’ll let you know if I get any response from Sensirion about this matter, in the mean time I want to ask you if you had any luck gathering more information about this indexes.
In the meantime we have implemented a few things.
On the airgradient dashboard you can now change the TVOC learning offset from 12h to 720h. This will basically make it more behave like an absolute sensor.
We also log the raw signal of the TVOC sensor and this can be exported to a csv file for further analysis.
Hello @Achim_AirGradient, I wanted to confirm whether the compensation based on temperature and RH has been implemented in the firmware? Checking the documentation here (Correction Algorithms) it states N/R for TVOC, but based on your post above it seems this would be relevant?
Answering my own question above, I’ve seen in the public repo that the temperature and relative humidity are set for the sgp41 (arduino/src/Sgp41/Sgp41.cpp at dc261f668dae55ec64829cccddaccb825bd24402 · airgradienthq/arduino · GitHub) so it seems to be used as expected. Also, the formulas implemented are consistent with those originally used in the code by Sensirion (arduino-i2c-sgp41/src/SensirionI2CSgp41.h at 36e600ec61da587d87f03328348838c8bdebb616 · Sensirion/arduino-i2c-sgp41 · GitHub)
Yet another question - I’m still a bit new on the VOC topic, and after reading the discussion above I’m now tempted to switch to 720h rolling average. However, one question I would have here - why is it necessary to have the rolling average?
Maybe I’m missing some important detail in the implementation, but I was wondering whether it would be better to rather take the minimum value observed in the reference period to compute the relative index?
If my TVOC sensor is consistently exposed to VOCs and therefore its readings are consistently increasing whenever windows are closed (I’m starting to observe this behavior here, though still trying to figure out the source), the average will still provide biased results for the relative index, wouldn’t it?
Hi all. Just got my airgradient and new to the discussion. I was similarly disappointed to see how TVOC measurements are handled.
The ENS160 does report an absolute TVOC measurement in ppb by processing their raw sensor data, though they’re also doing some similar baselining and calibration under the hood. Nonetheless, the result is far more useful. I’ve sent an email to ask for more details.
I’m not really convinced by the argument that a MOX sensor fundamentally can’t be used for absolute measurements. It’s a solvable engineering problem. But maybe the cost doesn’t make sense for the markets/margins.
NOx is an interesting one because the dedicated sensors seem to be very expensive ($130+ for an analog sensor that still needs analog processing and an ADC). There is a much cheaper sensor made by Spec Sensors, but it doesn’t seem to correlate well, or even at all, to proper field measurements (see field evaluation by AQMD)
So in this case the index seems to be the best you can do. It’s also more helpful that the index starts at 1, but not having a scale on the measurement makes it somewhat useless as well.
The ind40 values under the analytics page are based on the 0-500 index. However, the ind30 values are Sensirion’s previous measurements (shown in ppb) and these are also visible on the dashboard. You can read more here:
As you can see, these ind30 values go far higher than 500 (please ignore my intermittent data, this monitor moves around a lot with me!).
Turns out they are doing a baseline operation on the output that would negate any long term VOC emissions in the measurements.
Is this for the ind30 or ind40 measurement?
What are the ind30 values exactly? ppb ethanol equivalents? Are they measured exactly without any baseline correction?
I notice my VOC measurement goes up when my force air propane furnace runs - went from 27 at 7am with furnace off all night to 450 after a few hours of having it turning on every half hour or so to heat the house.
Sounds reasonable, propane is a (V)VOC (see Technical Overview of Volatile Organic Compounds | US EPA) so it should be detected. Probably the furnace does not burn 100% of the fuel, so you should expect an increase in VOC. Did the measurements for NOx increase as well?
Hello, I m bumping the thread to ask if there is a way to request the reset of the VOC baseline like it is possible to do for the CO2. I would like to monitor a place that I suspect to be polluted long term and I think it would be helpful to be able to take my sensor out for few minutes and reset the base level instead of having to wait for a full averaging period.
Check out the .pdf posted.
The TVOC level you get is relative to the last 24 hrs. of monitoring.
So, if you’ve had it running for 24+ hrs and then you get a spike in the TVOC level, you know that something in the environment is causing the spike.
Do you know if we can reset it to a baseline?
scenario
- Room was empty for couple of days. Naturally, VOC levels will drop.
- Room is now occupied. TVOC reading show ~400.
My assumption is that because the previous 24 hours was so low due to the room not being occupied, that simply occupying it caused a significant increase (reading of 400), where in reality, if the room stayed occupied the whole time, the reading might be close to 100.
I understand the sensor is relative, and read Achim’s post on this, but I’m trying to understand how harmful this spike is.
Thanks
In the Dashboard, under General Settings>Calibration you can change the interval for TVOC learning offset, but it is either the default of 12 hours or longer
https://app.airgradient.com/settings/place?tab=1
You can restart your device by pulling power to reset it somewhat, but if VOC had been stable over the last 24 hours, it should have been around 100. A jump up to 400 would indicate a significant change in the level of VOCs, not just because it is occupied. An increase of CO2 levels would account for people being present.
Have you cooked any food, opened nail polish or alcohol based air freshener or anything like that?
500 is the max it will report, so 400 is pretty high, so I would crack a window and run some vent fans if you have them.
I have a home occupied all night and day and my VOC is currently showing 115. When we cook, it goes maybe to 200, but one painting session and it goes 400+
Thank you for your reply.
Sounds like I have a mysterious voc source I need to track down
Do you know of good voc purifiers? I’ve heard activated coconut carbon is best, but amount seems hard to find.
Trying to understand the ind30 measurement based off the discussion above… is ind30 an absolute measurement since it is measured in ppb? Or is it still a relative measurement like ind40?
Ind30 is actually the official conversion of the Sensirion VOC gas index to a RESET Air approved absolute number in ppb. We honestly think that this conversion does not make much sense and that indicating it as ppb creates a lot of confusion (this is why we avoid labeling it as ppb).
However some of our customers are using these building standards and thus we have it implemented as an optional number.
Confused? You can read the details here: