The NOAA feed is great for generating custom weather forecasts
: Click to enlarge
Although my home automation system is mostly an invisible assistant,
carrying out its duties in unseen and silent fashion there is a web
interface to it too and here's one of the screens from that web
interface. It shows the weather forecast for the area around my house.
This information comes from a NOAA feed that is specific to the
geographic location (lat/long) that you give it.
Uses for Weather Information by Home Automation
1. In the morning the house will announce the weather for the day. In
addition to the usual 'showers with a high of blah and a low of blah'
type of forecast you can get on any radio or TV station my home
automation system gives you a comparative, e.g. 'it will be much warmer
today than yesterday'. Since you know exactly what the weather was like
yesterday this simple summary is in many ways more useful than the full
forecast and can be more concise.
2. The algorithm that runs the thermostats in the house performs an
optimum start in the morning which means it continually calculates what
temperature the house needs to be at on 5 minute intervals in order to
achieve the target temperature at the target time of day - i.e. 69
degrees when you get up. But some mornings it will see that the weather
forecast for the day is such that the heating would be on for a short
period of time and after that the sun will provide all the heating you
need. On such days it will skip heating the house completely and rely
on the sun coming up and the fact that you won't notice if it's 67
degrees for an hour in the morning.
I've been working on home automation for over 15 years and I'm close to achieving my goal which is a house that understands where everyone is at all times, can predict where you are going next and can control lighting, heating and other systems without you having to do or say anything. That's a true "smart home".
An overview of the many sensors I've experimented with for home automation including my favorite under-floor strain gauge, through all the usual PIR, beam and contact sensors to some more esoteric devices like an 8x8 thermal camera.
One way to reduce the volume of sensor data is to remove redundant points. In a system with timestamped data recorded on an irregular interval we can achieve this by removing co-linear points.
Home automation systems need to respond to events in the real world. Sometimes it's an analog value, sometimes it's binary, rarely is it clean and not susceptible to problems. Let's discuss some of the ways to convert these inputs into actions.
Another super useful function for handling sensor data and converting to probabilities is the logistic function 1/(1+e^-x). Using this you can easily map values onto a 0.0-1.0 probability range.
In a home automation system we often want to convert a measurement into a probability. The ATAN curve is one of my favorite curves for this as it's easy to map overything onto a 0.0-1.0 range.
An if-this-then-that style rules machine is insufficient for lighting control. This state machine accomplishes 90% of the correct behavior for a light that is controlled automatically and manually in a home automation system.