1. Ability for each of them to know when the other one is on to prevent both of them from coming on at the same time, or restrict each thermostat to a specific period of time so they don't overlap each other. This should lower my peak demand.
2. Be able to adjust both of them from the same spot so you don't have to run back and forth.
3. Be able to tell if either of them are on and what they are doing when wondering what is eating up the power.
4. Keep visitors from playing with the temperature when they think they're getting too hot or cold.
Sounds like a job for a couple of Web enabled thermostats doesn't it? Enter another Arduino, this time a thermostat.
Basic Schematic of the relay and power supply
Instead of the WiShield that I have used on the other projects, I decided to use a wired ethernet device since I have relatively easy access to ethernet ports at both thermostat locations and I can save a few bucks. I ordered two Arduinio brand ethernet shields to serve this purpose. However a little testing turned up three serious problems. First, the darned things have a huge connector on one end directly over the USB connector on the Arduino itself. This connector sticks up high enough to prevent putting another board on top because it will short out anything above it. Second, the ethernet board won't connect properly when only power is applied. It works fine if you apply power then press the reset, but for unattended operation this will lock up the control system. Third, the board doesn't initialize to the network every time it is reset. The symptoms are that the Rx led goes solid on and the link light blinks rapidly. A search of the web turned up a couple of solutions for the power on reset problem, but the other two didn't seem to bother anyone else.
First, solving the physical size problem: This picture shows the ethernet board attached to the arduino.
This bezel is GREAT. No more filing and worrying about exactly fitting the LCD display. The depth of the bezel matches the plastic on the faceplate and I can mount the LCD display directly behind it. The bezels are available from DigiKey, I used PRD250LPW-ND that requires a couple of adhesive strips to hold it on. Below is how it looked when I got the bezel and LCD display mounted.
The hardest part so far is the keypad for controlling temp and mode local to the thermostat. I think I have it finally: