If I would automate a whole house with arduino...
Would it be better to have multiple boards or a single board?
How likely is it to run out of pins on the board?
Lets say that the singular arduino would be in the basement and i had sensors on the ground floor. Would I use jumper cables to connect the sensors if they are so far from the board? I don't think they come that long :/?
Could I have it hook it up to a computer and send data to the computer and also use the computer as a web server for remote control?
What would the essentials components be besides an arduino board, a relay switch and the sensors?
Would it be better to have multiple boards or a single board?
That's really up to you...
My [u]X-10[/u] based system has a programmable timer/controller, a wired remote controller in the living room and one in the bedroom, a wireless controller, and a motion sensor. So, that's 5 "controllers"!!! Then, I have about 10 controlled lights & outlets.
I didn't build any of this stuff. If I was going to build anything, I'd build the controller(s), make them compatible with X-10 or one of the other common home automation protocols, and then I'd buy the switches/dimmers/outlets/relays, etc.
Buying pre-made components on the AC power-switching side solves a lot of engineering & construction "challenges". And, using an existing protocol would solve your pin-count problem and make it easy to upgrade.
[u]Smarthome.com[/u] sells equipment for the various home automation protocols if you want to see what's available.
My system doesn't connect to the Internet. But, that would be an easy thing to add.* The only time it's connected to a computer is when I want to re-program the master timer/controller.
* P.S.
Or, maybe it's not that easy... Since I don't have a fixed IP address at home I don't actually know how to access my home network from the outside. But, if you can access your network there are Wi-Fi & Ethernet controllers for home automation.
Unless your house is very small I'd use multiple Arduinos. I think connecting everything via a network is the best solution if you want to integrate your computer. You can either use an Ethernet or Wifi to connect each node. I prefer Ethernet but it does require running some cable.
For Ethernet I would recommend using a W5100, W5200, or W5500 controller rather than the ENC28J60. Even though the ENC28J60 is cheaper, it seems to be more difficult to work with so the small savings is not worth it. The most active development is on the Arduino Ethernet library which currently only supports W5100 but there are other good libraries that support W5200 and W5500.
For WiFi the most popular now is the ESP8266. This can be used either as a module controlled by an Arduino via serial AT commands or you can upload Arduino sketches directly to an ESP8266. There are also a number of other Arduino compatible WiFi boards/shields/modules but they are all more expensive than the ESP8266.
I use wired RS485 over cat5 to connect multiple arduino based controllers and sensors together, daisy chained. There is also an IP interface which enables access over the local Ethernet / Internet for command execution. I have also developed a dedicated Telnet server for system administration. All system actions are logged on an SD card.
I am now trying to make a wireless version of the RS485 link. Havent yet managed to get NRF24 link working properly for that.
Lookup WSN - wireless sensor networks. Avoiding as many wires as possible is desirable. Small ISM wireless
boards like RFM23's are often cheaper than buying the cabling. The cheapest wired method I think is to use cat5
cable - 4 signal/ground pairs in one sleeve. However its not very flexible and tedious to wire up by hand.
Ribbon cables and IDC connectors are the simplest to wire up, but ribbons are never easily hidden in trunking
and the connectors are bulky.
Small boards like the Arduino Mini Pro are good for this sort of thing. Also checkout JeeNodes.