I live in Australia so UV is a big deal. I have VEML6075 connected to Tasmota, running fine (well, i2c works and sensor provides data), the sensor looks at the clear sky through a thin glass (and I checked it reduces readings for less than 10%), typical winter readings are:
The actual sensor provides UVA/UVB readings as “counts/μW/cm2” so these thousands of watts look odd but it is likely an interface problem (should be 39.73W/m2, and so on?).
The main problem is the UV index which is calculated by the formula on page6 of [3]. It is winter here now and the actual index is less than 3 but the formula returns 10. So something is really wrong bit I cannot pinpoint what?
Are these indexes the same as the local meteorology service (bom.gov.au) uses? A chart from [3] suggests the max index of 12 but the calculations return 20+ during the summer.
Or actual readings are too high for some reason, then what are the expected numbers? [1] suggests it should be mW/m2, not W.
Has anyone figures this out? Or may be esphome gets it right (does not like it is any different, the same math).
My weather station does not distinguish between UVA and UVB.
I’m not a meteorologist, so can’t verify that this data is absolutely correct. However, according to Wikipedia, the “maximum normal surface irradiance at approximately 1000 W/m2 at sea level on a clear day”. I am at a latitude of about 33.5ºS, and the graph is from May (mid-autumn), so kind of makes sense to me.
Today (in mid-summer) my peak reading was around 950 W/m2.
I have just wrapped the Adafruit library, but unfortunately that does not actually mention the unit of measurement as far as I can see.
So, my pick of W/m² might be wrong.
My understanding of the Adafruit library is that it integrates the sensor values over a short period of time, and that would at least explain why the “counts” of the original sensor don’t matter.