The UPnP spec gives us standard service files for temperature and humidity, but it doesn’t specify other environmental properties that users might want to use for home automation purposes. Let’s fill that gap.
Wind sensors can tell us:
[ul][li]what direction the wind is coming from[/li]
[li]what the current (instantaneous) wind speed is[/li]
[li]a time-smoothed average of the wind speed over the last n minutes[/li]
[li]what the strongest wind gust speed was in the last n minutes, and when it was[/li][/ul]
Rainfall sensors can tell us:
[ul][li]how much rain fell in the last n minutes[/li][/ul]
Pressure sensors can tell us:
[ul][li]what the current barometric pressure is[/li]
[li]what the corrected-for-sea-level barometric pressure is[/li]
[li]whether the pressure has risen or fallen since n minutes ago[/li][/ul]
I want to create three UPnP-style S_*.xml service files that plugins can use to expose physical weather station data, and scraped-from-the-web weather data.
Some comments:
Not every sensor can detect every aspect of a property. For instance, not every wind sensor detects gusts or can do time-smoothing. Not every pressure sensor knows if the pressure is rising or falling.
Time spans (n minutes in the above lists) are dictated by the sensor, not the user. My weather station can report rain-since-midnight, but not for other intervals. Weather Underground reports rain-in-the-last-hour.
There are also derived values such as rain rate, computed from the reciprocal of the time between rain collector bucket tips. I’m not sure that these belong on the sensor service specifically, but I could be convinced otherwise.
All of these measurements have different units in different parts of the world. Much as I would like to follow the UPnP approach and store everything in metric*10, that’s not practical (and MCV didn’t follow it either because of Z-Wave devices not sticking to the spec). Probably every measurement will have to have an accompanying unit.
Also: I’m deliberately leaving forecasts out of this. That’s a different discussion.