I'm going to be using mine as a controller for a home built solar hot air collector. It is ambitious, but doable. I'm currently waiting on my 2.2.2 HW revision board to come back with the 2012 firmware.
The code would also need to be able to support parallel processing of temperature data and relay control for a solar hot water collector and pump.
My logic requirements are:
If the temp at the top of the hot air collector (T2) is at least twenty degrees (variable 1) higher than the temp of the ambient inside air to be heated (T1), the fan will turn on.
As long as the air temp coming into the house (T3) is at least ten degrees (variable 2) higher than what is going into the collector, the fan will stay on, independent of the temp in the collector. Optionally, a second relay will turn on and off the whole house HVAC fan, in order to distribute the hot air throughout the house.
When the difference in temp between the input air and output air is less than ten degrees (variable 3), the fan will turn off.
In order to avoid turning the fan off and then on again too quickly, the code must check that the fan has been off for at least ten minutes (variable 4) before turning it back on again. By the same token, if the fan comes on, it will not turn off again until (variable 5) has passed.
If the temp inside the collector exceeds 150 degrees (variable 5), a trouble condition, such as fan failure, will be assumed, which will trigger the sending of an email alert. Also, if the controller determines that any of the temp sensors are no longer reporting, an email will be sent, and the fan will be forced on, as long as the hour is greater than 8 and less than 17.
The variables will be established separately from the logic of the code, so that the code itself doesn't need to be changed as the system is tweaked for real world performance. I understand the Webcontrol board allows variables to be easily changed via a web browser. I also understand it allows relays to be forced on independent of program logic via the web browser.