toDouble is a conversion to a double precision floating point number...
"floats are rounded (to nearest) to 24 significant bits; doubles are rounded to 53"
just a more accurate representation of a number that can't be represented.
You're telling the hub to do the division, with a maximum accuracy, THEN blow off the accuracy by rounding down to one decimal place. Works perfectly and sacrificing all of those bits to the bit bucket is not going to harm your Karma at all.
Most sensors send a report on an interval already. Everytime a report comes in from a selected sensor, it updates the average. Thus the options on the sensor device set the interval. Typically settings for rapid change reports and interval reports are offered. Send a report every 5 mins OR If the LUX changes by 20%... that kinda thing.
They say that full bright sun is >10,000 lux. My Aeon Multisensor6 that is outside facing my front door/walkway is currently "looking" at shade and is reporting 1065 LUX. Luxurant is calculating 8455 LUX due to virtually no cloud cover on a 15 min interval.
In other words shifts of 3 & 10 might just be noise.