bernieke's projects - domotica

When we bought our house I started looking at the available domotica options on the market.

And the one thing they all had in common at the time was their non-interoperability.

So I decided to design my own system, so as not to be restricted in what I could connect and control, now and in the future.

I picked CAT6 as my carrier cable as it's cheap, has eight wires, and plenty of connector and patching options.

The electrician put in 2km(!) of it throughout the house.

I went with a star layout because it offers the most options in how to wire and control it all.

164 CAT6 cables (142 for the domotica, 22 for network) are terminated at four 48 port patch panels in a second hand (old telco) 19" rack in my home office.

From there they are patched through to eight 24 port patch panels, each of which houses four domotica modules which are connected to six ports each.

The first port on each module is used for the rs485 bus which the modules use to communicate with the master (an embedded linux device), the other five can be hooked up to a number of combinations of sensors and actors.

The bus cables are patched to two extra 24 port patch panels which are wired up to a 2u panel with 32 leds and a five and twelve volt power supply.

Throughout the house there are 31 sensor combinations which measure light, temperature and detect movement.

In the hallways, stair cases, basement and toilet the lights are controlled by movement.

The modules I designed around the arduino mini 04.

These communicate over rs485 with the master using a token based protocol.

They get input from the 31 sensor combinations, 28 two button wall switches and 8 thermostats.

And they give output to 29 lights, 3 dimmers, 17 switchable power sockets, 8 thermostats, 6 blinds and 2 doors.

I also still need to connect an electrovalve to fill the bath tub along with an ultra sonic range finder to detect whether the bath tub is full, a controller for the garage port, and sensors for the electricity meters, gas meter, boiler, water pumps, dryer and washer.

And the 23" touchscreen I built into the kitchen isn't currently hooked up to anything either.

The existing radiators I connected to the domotica system by using cheap HoneyWell HR20 thermostats, which I hooked up through their serial debug ports.

During the remodelling I had speakers put in all rooms (10 in total), for which I built five stereo amplifier modules, connected to an old media server with two sound cards.

The sound server shares its case with my VM server.

The amplifier modules are switched on by solid state relays, which are switched by the parallel port on the sound server.

This gives us the ability to have separate music streams in each room. (Or the same streams in any combination of rooms.) As well as intercom capability. (Mainly used for the doorbell.)

The doors are equiped with smart locks from Invited. I put remote controls for these in the ceiling as well, so I can open/lock the doors through the domotica.

The television in our living room is solely connected to a small htpc (a xtreamer ultra 2 from Xtreamer) which sends its sound over a fiber optic (toslink) cable to the avr amplifier in the rack.

The whole setup is controlled through a single streamzap remote controller, which sends its signal to an IRTrans Ethernet Module ( The signal for this is translated by a process running on the domotica master, which sends the necessary signal onwards to either an IRTrans USB Module for the avr receiver, or to a lirc process on the htpc.

UPDATE 2019/3/30: The Xtreamer has given up the ghost after seven years of faithful service, and has now been replaced with an OSMC Vero 4k. This comes with a radio remote, so I did away with the streamzap and the IRTrans in the living room (the one in the office is still used to control the avr receiver). And have replaced its functionality with on the one hand the OSMC CEC capability, allowing me to control the television from within kodi over the hdmi cable. And on the other hand a few Kodi remote button mappings to control the avr receiver volume through the other IRTrans module.

created: 2013/3/9
last updated: 2019/3/30