Here's another update:
My Smarthome Switches arrived on Tuesday afternoon. Unfortunately, my attic fan motor decided to call it quits on Tuesday morning.
I spent Tuesday evening removing the old motor, during which I found that the wiring wasn't done in the smartest way possible (the installer had run power first to the thermostat box, then put the switch (mounted in the closet below) on the the neutral line, not the hot - so the black wire running to the fan was always hot, even when the switch was off). Since I was planning on re-wiring anyway, this wasn't a major setback (not compared to the motor seizing up), but it still bothered me.
I found the right motor (from the same manufacturer) online, for around $60 shipped. My dad offered to head to Grainger on Wednesday, to see if they had an equivalent motor.
Sure enough, he was able to buy the motor on Wednesday for about the same $60, so I spent Wednesday evening installing the new fan and re-wiring the circuit. I needed to re-route the power first to the closet for the Smarthome switch, and then through a 3-way switch which gives me the ability to override the choice of "auto-thermostat" or "on" for testing, and then up to the fan (it is actually a shorter cable run to do it that way, too).
Everything is running again, and my first test of the Arduino-controlled attic fan worked like a charm yesterday.
[WARNING: Way too much detail below]
In a nutshell, my house was built about 50 years ago, and wasn't properly air-sealed between the house and the attic. As a result, my attic fan ends up pulling air from the house when it runs. As we replaced windows in the house, we closed up a lot of the "make-up air" intake, creating a slight negative pressure situation in the house. I know the proper fix is to properly air-seal the house, then add ventilation as needed. However, that solution is not within our budget at the moment. Anyway, the "negative pressure" problem causes the hot water heater to have to fight against the attic fan to draft the exhaust up the flue. The water heater eventually wins, but depending on the outside temperature, it can take longer than it is supposed to. When the fan is off, this doesn't occur. However, until the draft is established, that exhaust spills out of the gap between the water heater and the draft hood. (And yes, I have a CO detector nearby - it has never once been triggered by this, otherwise I would be addressing it differently).
So, the poor-man's interim solution (until I can properly air-seal the house and attic, and fix the ventilation), is to turn off the attic fan when the hot water heater kicks on, long enough to establish a draft.
So, the HVAC monitor (Arduino) checks the "spillover" temperature, and if it reached 100 degrees (a sign that the water heater burner is on, and a draft has not been established), it turns off the attic fan for 5 minutes. It then checks to make sure the draft is established (the "spillover" temp has dropped below 100 degrees), and turns the fan back on.
So, yesterday afternoon was my first "real world" test. The fan was on, and the water heater came on (the kids all took baths after playing outside - before dinner). The "spillover" temp started to rise rapidly. As soon as it hit 100 degrees, the fan turn off, the draft was established, and my "flue temp" (I have another sensor there) shot up as it was supposed to. 5 minutes later, the fan turned back on, and the draft wasn't affected.
Another reason for adding the "override-on" switch: When I do start fixing the air-sealing problem (there are some major gaps I can fix myself), I can test the effect it has (by using the water heater spillover as a guage), even if the attic isn't hot enough to trigger the fan.