While I can set my house to be a particular temperature, I still have to manually switch it between "Heat" and "Cool" mode, and this seems to be true of every thermostat (programmable or not) that I've seen. Is there a reason for this?
The logic involved is much more complex.
Right now the logic is simple:
if AC Mode and it's too hot, turn on AC, else turn off AC if Furnace mode and its too cold turn on furnace, else turn off furnace
But the determination of when to switch between heating and cooling modes is much more complex - otherwise the ac would kick on, and it would get too cold, so hte furnace would kick on, making it too hot, and a cycle would begin that would never end.
So the logic must be more like:
if the average ambient temperature has remained below a certain threshhold for a given period of time and the air conditioner hasn't been on in quite a while, change to furnace mode but if average ambient temperature has remained ABOVE a certain threshhold for a given period of time and the furnace hasn't been on in quite a while, change to a/c, then if we're in furnace mode and it's cold, turn on the furnace, but if we're in a/c mode, and it's hot, turn on the a/c.
The circuitry involved is much more complex, so the price is higher and the market share obviously will be smaller.
There are programmable thermostats that automatically switch from heat to a/c and to heat again. Some Honeywell thermostats, such as the 8000 Series, have 'auto' setting where you can program the Heat temperature and the cool temperature and the thermostat will automatically switch from heat to cool. I don't know how long they've been on the market though.
Some do automatically switch. I remember getting a new thermostat for free with my new A/C unit. The manual said that the model XXX-A auto switched. In small text it said something like "This feature is only needed in cities like Phoenix where it can be very hot during the day and very cool at night." I literally said D'Oh! I live in Phoenix, and they would not give me the XXX-A version. Oh well...
Check out www.nest.com for the Learning programmable thermostat.
It isn't stated right up front but it has an auto switching mode and does so very intelligently. It also uses local weather forecasts (via wifi) and time to temp (the time it takes for your system to heat and cool the home) to help determine what mode it should be in and when.