The HVAC server is a daemon that controls heating and air conditioning systems. It connects to a thermister (over a to-be-determined protocol/hardware interface) and monitors the current temperature. It can download weather information and use that to decide whether or not to heat/cool the house on a particular night. It can maintain complex user-defined schedules and switch schedules based on the day of the week or other events. It connects to an HVAC controller board connected to a parallel port using the portline system. (It expects heat to be connected to one of the parallel port output pins, cool to be connected to a pin, and the fan to be connected to a pin. If anyone needs help building the actual circuit board to connect to their computer and HVAC system, email javawizard@trivergia.com and he'll be happy to help.)

It allows the current status (heat/cool/fan/off) to be overridden for a time period specified when the override is put into effect. (This time period can be changed later on.)