Hello

This is my project thread for my new house. Where I intend to fully automate - and learn from the mistakes that I made last time around.

Due to a new job, I had to move from my automated home in the country, to a much smaller end terrace house on the outskirts of a town in wales. The house was cheap, and structurally sound. Thats about it for the good bits. The house was built around 1910, none of the walls are square, all the pipwork is visible and the electrics are ancient.

A lot has changed in the world since I was last on here, but most notably the introduction of low cost computing - i am of course talking about the raspberry pi. The previous house used a LOT of electricity due to the servers (PLURAL) and my lack of knowledge writing code in C.

During my time away, I started as the manager of an electronics design company specialising in vehicle diagnostics - and learned loads of useful things in the process. The most useful of which are 'C', and a much wider range of low power embedded platforms using I2C, SPI, CAN, LIN and 1wire. A happy coincidence was also that I had a sub contractor on a few of my projects who works for one of the big HA and BA companies - from whom I have learned much.

I alluded to the fact earlier that many mistakes were made on my previous house, so here are the main ones that spring to mind - and how I intend to solve the issues.

  • Centralised control system
  • High power consumption
  • Too many interconnected protocols
  • Mixed OS's
  • Inability to control any of the system, eg lights when the control server was under maintenance


My old system was very centralised to the server room, absolutely everything ended up here. It also meant that when there was any kind of issue, the full system went down - if that was in the evening then you got no lights. My new system will be much more localised this time, a raspberry pi for each 'area', using ethernet to feed back to the internet and low power NAS drives for media storage, and a customised CAN network connecting the various components within the area such as switches, pir, lights, sockets, and environmental monitors. Each node such as a light switch will be powered by a microcontroller connected to the local can network. The rasperry pi provides a gateway onto the ethernet backbone. One of the key changes in this version will be that when the network is fully operational - the units communicate as determined by the options on the PI, but in the event that the PI is not available - such as when down for maintenance - the switches, and lights etc have a preconfigured address.

Example, if the PI is on, then a switch may dim all the lights in a room, or change their colour - but when the PI is down, it looks at its preconfigured settings, and addresses a light directly. You will have much reduced functionality in this state, but the system will be operational until the PI is running again. PI availability is determined by a heartbeat signal given out by the PI.

The previous system had 3 large servers running constantly, each one drawing in excess of 800watts, the noise was also VERY loud due to the 4 cooling fans on each unit. This gets expensive fast. The new system will have NAS storage as required, I am currently researching power consumption of various NAS drives to find one draws least power when the drive is not in use. The COMMS server that runs the phone system is being moved on to a PI.

During the last attempt at HA, my coding skills were pretty good, but very WIN32 centric. This means that to get everything running was a combination of USB, DMX, SERIAL, PRINTER PORT, as well as lots of custom bits using micro processors - glued together with some C, Visual Basic, Asp.net, PHP, WSH and some other bits and pieces. All new systems will be written in C, C# or C++ depending on the host. The 2 networks will be ethernet and CAN. I will build adapters to convert any other protocol to can or ethernet as requires within the unit.

The old system ran on a mix of linux servers, windows servers, windows desktops, win CE, ios and XBOX. All new systems will be linux, with a html5 interface for control devices such ad the phones, tablets or desktop control. Once authentication is sorted out, the html5 interface will also give me full control (minus alarm functions) from the internets.

I still have all my gear from the old place, but much of it will be incompatible with the new setup, but i have lots of new ideas too.

And so it begins... I have just reclaimed my website, so http://www.my-digital-house.co.uk will be back up shortly, so I will be uploading pictures, schematics, gerber files and code so that if anybody likes any of my ideas they can make them. I will also be posting full details of my CAN protocol as I develop it, but would love some comments and suggestions once I start uploading the stuff.

Graham