Last modified June 16, 2021
I have been involved in home automation for more than 20 years, designing, manufacturing, installing, testing, configuring and integrating different technologies, even professionally.
Throughout these more than 20 years I have been assembling a fairly complete and complex home automation system, using various technologies. Today I am going to present it to you from a bird's eye view, so that you can get an idea, going into depth in the future in other articles dedicated to each subsystem.
Broadly speaking, my home automation system includes the following main elements (I'm sure I'm forgetting some, because there are many):
As main house control software I use the HomeSeer software on a small dedicated, low-power PC with no fans.
I have purchased the licensed PRO version for over 15 years and I couldn't be happier. The truth is that next to it, Home Assistant (the most widely used home automation software today) looks like a toy, although it has the advantage of being free, while HomeSeer is paid.
This software (really complete) takes care of the main automations, time schedules, scenes, speech synthesis, etc.
Also, something that he incorporated relatively recently has greatly improved the usability of home automation: The integration with Google Home (also called Google Assistant, yes, this is a mess of names).
I only have to mark a checkbox so that any HomeSeer item to appear on Google Home. Any infrared controlled light, temperature sensor, thermostat or appliance in the house (from TVs and amplifiers to air conditioning).
Look at a detail in the previous image. Put that it is showing 15 out of 472 devices (yes, four hundred and seventy two). No, there are not 472 domotic devices connected, it is that many of those devices are virtual.
Node-RED is very useful free software created by IBM.
I use it mainly for integrate different technologies, as a middleware.
We could say that it is the «communications concentrate» of the different systems of the house, a swiss army knife. It is like a protocol translator and also is responsible for sending data to the database for later, for example, create graphs with that data.
For example, when HomeSeer detects that the alarm has gone off, apart from performing different actions on devices that have to do with security and notifications through voice synthesis (depending on the type of alarm in question, the time at that has jumped, the people who are at home at that time, etc.) give the order to Node-RED to send us a message by Telegram with all the details of what has happened.
Node-RED also takes care of receive data by radio frequency of some of the sensors installed in the house, through a special receiver (an 868Mhz JeeNode) connected to one of its USB ports, and communicate this data to HomeSeer or send it through MQTT.
Other device, RfLink receives by radio frequency the signals of almost everything in the house that communicates via radio in 433 Mhz (sensors and humidity and temperature from Oregon Scientific, Digoo, garage controls, etc.), and sends them to Node-red via MQTT where they are processed, saved, sent to HomeSeer or other systems, etc.
Many other sensors in the house, such as those for electricity and gas consumption, bluetooth sniffers, CO2 meters, etc. send their data to Node-RED for it to process and send the information where appropriate (HomeSeer, databases, other devices, etc.).
A very important advantage of Node-red is that it needs very few resources to work. I have it installed on a Raspberry PI 3, which it shares with the MQTT server, and some other services, and it has power to spare.
Mosquitto is the MQTT server of the house and it is installed on a Raspberry PI 3, which it shares with Node-RED. Receives MQTT messages from all devices in the house and forwards them to those who subscribe to them.
There is little more to say about him. It's a piece very important, but does his important work quietly and does not cause problems nor does he ask for food.
InfluxDB is a database specialized in the storage of large volumes of data in format time-series (that is, where most of the data is limited to a date and time and the data generated at that time (a temperature, for example).
It is the main database in the house, where long-term data from all sensors and systems is stored. It is installed on a Raspberry PI 3 and works great.
I have not looked at the amount of data that there may be, but I will tell you that data from dozens of sensors over the years and some of them change every few seconds.
WeeWX is the software of the Weather Station (a Davis Vantage Pro 2 connected to one of the USB ports of the Raspberry PI 2 in which it is installed) and is in charge of storing the meteorological data, its processing and consolidation, and its sending to the web server where the meteorological web resides from eMariete station.
The Davis Vantage Pro 2 station is a semi-professional station and the truth is that after more than fifteen years in operation it is still doing quite well (although it should do some maintenance).
With so much data generated from so many sensors, count on a powerful tool to visualize that data it is something essential.
Grafana is a little miracle, is the program that is responsible for creating the graphics and panels of and for the home automation system. It consumes very few resources, so it is installed in a Docker container on one of the NAS (a somewhat old Synology).
Many of the graphics, of all kinds, that you can see on this website are created with Grafana.
OpenTherm gateway (OTGW)
When I changed the gas boiler in 2015 because the old one had suddenly died. I took the opportunity to install a boiler that I could integrate with the home automation system of the house.
The boiler chosen was a Remeha (not very well known in Spain, but an absolutely leading brand in Europe).
The reason for choosing this boiler was that it had a standard interface for heating control called OpenTherm, used by many manufacturers (almost none of the boilers that were in Spain at that time, although it seems that, fortunately, there are more available).
OpenTherm Gateway (OTGW) It is the device connected to the gas boiler that provides heating and hot water to the house.
This gateway allows access to the boiler data, programming, status, usage statistics, and take actions how to change the desired temperature from the home automation system based on the needs, occupation of the house, weather data, etc. trying to always save on your gas bill but, at the same time, providing a comfort level suitable to the inhabitants of the house.
Although OTGW supports MQTT directly, it lacks some functions, so sharing the PC with HomeSeer, there is a software that communicates with it and sends its data through MQTT to the rest of the systems. It is also capable of receive orders, via MQTT, to control the boiler.
OpenSprinkler is a programmer and controller of eight irrigation zones.
It is controlled by HomeSeer, which controls the irrigation of outdoor plants, calculating your needs based on meteorological data, always trying to save water and maintain optimal plant health.
It is 100% automated so that it is even able to use the weather forecast to decide cancel scheduled watering if it's going to rain in the next few hours and the plant will endure.
In a fully autonomous system, so that in the event of a HomeSeer, network or other failure, the programmer would continue to run his programs like any normal programmer without watering the plants.
For him control and recording of video surveillance cameras I use, the Blue Iris software.
It is an inexpensive but very capable Windows software that I have been using for at least ten years and with which I am delighted.
One of the features that I like the most is its ability to insert images and texts into the video, so that along with the live video, data of interest is shown: temperatures, state of the security system, forecasts, etc.
It is installed in a VMWare virtual machine on the main PC, receives the images from all the cameras installed in the house, processes and stores them, detecting, for example, movement in the images, which communicates to HomeSeer, to perform certain actions related to comprehensive security, combining the data with that provided by the alarm and other sensors.
I no longer use EmonCMS but I have decided to leave this description here because it seems like a good solution for those who want to thoroughly monitor their electricity consumption. In my case I stopped using it simply because it was free and it became paid and with InfluxDB and Grafana I was doing practically the same thing, so it was not worth it.
Over time I have also replaced the OpenEnergyMonitor system, based on Arduino and 868Mhz with an IoTaWatt device, which allows me to monitor up to 14 circuits with many more functionalities.
Among the elements that make up the electrical energy management of the home, this system, part of the OpenEnergyMonitor project, is in charge of reading the electricity consumption data directly from the electrical panel of the four main circuits of the home and communicating it to Node- network, which in turn sends them to the database for storage and to the rest of the system for intelligent use (for example, if the energy consumption is very high, you can turn off the air conditioning or other elements of the house from high consumption to prevent limiter tripping).
The home alarm is a Powermax Pro, from the manufacturer Visonic.
It is a wireless, autonomous and independent system that works without depending on the rest of the home automation system.
On the HomeSeer PC, and sharing it with it, a small software called Visonic Driver, which communicates with the alarm panel through a serial port and provides data on its status, detections, alarms, etc. to the rest of the system by sending them through MQTT.
In addition, the system can arm the alarm, disarm it, etc. In this way, we can also access the information, arm and disarm the alarm, etc. from the control panels, mobile phones and tablets (and even from the TV in the house).
There are tasks that the home automation system performs very interesting such as arming the perimeter security at night automatically, even depending on the events we have in our calendars.
The system also allows me to use all the motion sensors, doors and windows and the perimeter as normal sensors.
This has been a small presentation of the "brain" of the house. Of course, in addition to these smart items, there is an army of sensors and actuators providing information and executing orders. In another post I will talk about some of them.