I use a Dallas 1-wire
network for temperature sensing and control around the house.
Ideally you run a single cable from the PC interface and attach
sensors along the wire, but I didn't think of that before the house
was wired. So instead I use a star network using the existing
cat5 networking to each room, with a one-wire hub from AAG
handling switching between the different spokes of the hub.

At the Home Automation server is a USB to 1-wire interface unit.
This interface connects directly to the one-wire hub. 6 outputs
from the hub go to various places around the house.

Output C6 has a ds18s20 temperature sensor plugged straight into
it, this provides the temperature of the home automation cupboard.

Output C5 goes to the lounge, which has a single ds18s20 temperature
sensor plugged straight into it, this provides the temperature of
the lounge which is used as the master control for the heating system.

Output C2 goes to the master bedroom, again with a single ds18s20
temperature sensor.

Output C1 goes to the garage, where a temperature
sensor is connected and poked out of the vent to get the outdoor
temperature, and on the same wire is a 1-wire switch used to
control the heating system.

The final output C4 goes to a hacked wireless doorbell. A one-wire
switch detects when the doorbell is activated. The one-wire hub
provides a 5v supply and so we use this to power the doorbell to save
on batteries.

The home automation sensor polls each device in turn to get a reading.
For short events (like a doorbell push) it monitors a latched register
which shows if the state of the input has changed since the last time
the device was polled. I'll write more about the software side of
this and give my source code in a later article.