Make Your Home Smart with FOSS and IoT Devices


Home sweet home – there’s nothing like it! Our homes can be made smarter using the Internet of Things (IoT) — a system in which computing devices are connected over a network using unique identifiers (UIDs), and which can transfer data without the need for any human-to-human or human-to-computer interactions. These IoT devices can be used to automate our homes also.

It was back in 1975 that a network technology called X10 was developed and used in home automation for the first time. The X10 used electric power transmission wiring for signalling and controlling various electronic devices. The signals used radio frequency as digital data to control any digital electronic device installed in a house. But now, with the help of sophisticated hardware and free open source software (FOSS), home automation can make a dream house a reality.

The basic setup
The setup for home automation using IoT devices requires a router connected to the Internet and a controller/hub that is connected to the IoT devices/sensors. There are four primary operating standards for home automation technology – Wi-Fi, Z-Wave, Zigbee, and Bluetooth Low Energy (BLE). Wi-Fi is the most commonly used standard for home automation and IoT devices are connected to a centralised controller/hub (either wired or wireless), which is connected to the router through an Ethernet link. The IoT devices can connect to a cloud network on the Internet using the controller/hub and the router. The devices can be controlled through the cloud network using a FOSS or a mobile app (Figure 1).

Figure 1: Home automation setup

The mobile app can be used to send and receive data through the cloud network to control and monitor the IoT devices installed in a house. This architecture offers users the convenience of controlling and automating various IoT devices from a distant location with the help of a smartphone and the Internet. The IoT devices are able to send data about room temperature, supply voltage, energy consumption, etc, and even provide a live video stream to the smartphone app through the Internet so that the home can be monitored remotely.

IoT devices/sensors
There are various IoT devices that can be used for home automation. Listed below are a few basic IoT devices required for home automation and security.

Wall switches: IoT based wall switches can be mounted on the wall of a house and be controlled remotely. Such IoT switches can also be wirelessly connected to an IoT hub or router.

Voltage sensors: IoT voltage sensors can monitor the supply voltage of the house remotely, using the Internet.

Energy monitors: IoT energy monitors are digital energy meters that can monitor the power consumption of the house, and this can be done remotely.

Thermostats: IoT thermostats can be used to monitor the temperature of the house in real-time, and via the Internet; this can be done remotely.

Smart door locks: These can be controlled using a home security system and IoT OSS or apps, over the Internet.

Air conditioners: Controlling the air conditioner remotely is a key part of home automation. IoT based ACs can be automated and controlled remotely using an IoT OSS or app connected to the Internet.

Surveillance cameras: IoT cameras can be used for the surveillance of the house and one can view live video footage of the house remotely. Both indoor and outdoor cameras can be used to monitor both environments. Such a surveillance system can have features like motion detection and can alert home owners whenever a security breach occurs. Many IoT surveillance OSS and apps can be used to enhance the security and monitoring system of the house.

Many IoT based home appliances like washing machines, water heaters, refrigerators, dish washers, robot floor cleaners, etc, can also be used to improve the automation of the house.

The controller/hub used for the IoT devices is the main part of the home automation system because it controls all the IoT devices/sensors installed in a house. The connection can be either wired or wireless though the latter option is better. The controller is connected to the router (gateway) of the house for Internet connectivity. The IoT controller/hub uses mainly three types of standards to communicate with IoT devices – ZigBee, Z-Wave and Wi-Fi. Wink and SmartThings are the two most common types of IoT controllers used for home automation. With such a controller/hub, it’s possible to connect hundreds of IoT devices/sensors in a house, which in turn can be controlled with the help of a smartphone app, automatically.

FOSS for home automation
There are various free and open source software (FOSS) available for home automation. The most popular ones are featured here.

OpenHAB: This FOSS for home automation is written in Java. It is used to connect and control various IoT devices installed in a house. With this app, users can perform many operations like switching on lights and fans remotely. They can apply various rules to program (automate) the IoT devices and can also use voice commands to control them.

The Eclipse Foundation began developing this project in 2010. In 2013, the core functionality became an official project of the foundation and was called Eclipse SmartHome. OpenHAB is not only available for Android OS but also for other systems like Linux, Windows, Mac, Raspberry Pi, PINE A64 and Docker. The app can also connect to the OpenHAB cloud network, and the IoT devices of the house can be controlled remotely, using a good Internet connection on a smartphone. OpenHAB won the IoT Challenge 2013 and the JavaOne Duke’s Choice Award 2013. It was nominated for the JAX Innovation Award 2014 and was the People’s Choice Winner at the Postscapes IoT Awards 2014/15.
Jeedom: This is FOSS that can be installed on any Linux system, and it can also be used on Android/iOS using the smartphone app. It has multiple functionalities like the capability to manage scenarios, text/sound interaction with home automation systems, history viewing, graph generation, linking of all equipment/connected objects and the personalisation of the interface. The Jeedom mobile app (for iOS and Android) allows you to control your home automation system. The app automatically connects via a QR code without the need for any configuration. You will find on your mobile the same functionalities that Jeedom (scenarios, connected devices, home automation, plugins, etc) offers on PCs, and you can also customise your app with shortcuts and more.
The main features of Jeedom are:

  • It manages the safety of goods and people.
  • Automates heating for better comfort and energy savings.
  • Views and manages energy usage to anticipate expenses and reduce wastage.
  • Communicates by voice, SMS, e-mail or mobile applications.
  • Manages all the automatic devices at home — shutters, gates, lights, etc.
  • Manages multimedia audio and video devices, and other connected objects.

Jeedom has its own Market, like the App Store or Play Store. It allows you to add home automation features and ensures compatibility with new home automation modules, but also lets you customise its fixed and mobile interfaces.

Figure 2: IoT devices

Calaos: This FOSS can be easily installed and used to transform your home into a smart one. Calaos has a long background in home automation and is built in several different layers. It has low level, as well as uniform and powerful, user interfaces. It knows how to talk to hardware and allows you to automate your home easily. It was first developed by a French company of the same name but when the company was closed in 2013, the entire code was open sourced and released under the GPL. A small community started around the project to continue the development and is growing every day. Calaos can be installed on Linux, Mac, Windows, iOS and Android operating systems. The iOS and Android apps can be used for home automation using a smartphone, remotely.

Initially, Calaos supported a special kind of hardware called programmable logic controllers (PLCs) to automate a building or apartment. PLCs can work as controllers to control various home devices like wall switches, fans, air conditioners, water heaters, etc, but have to be wired to the PLC. However, the newer version of Calaos also supports GPIO, Zibase and IoT devices.

Hardware support: Calaos supports hardware like Wago PLC, Raspberry Pi, Zodianet’s ZiBASE, Cubieboard, Squeezebox, CCTV, etc. The development community is improving the app to support newer hardware arriving in the market. Calaos OS is very easy to install and just by burning a memory card, it’s possible to have a complete working software installation.

Software stack: Calaos comes with the following software stack.

  • Calaos Server: The core application.
  • Calaos Home: A touchscreen user interface.
  • Calaos Webapp: HTML5 Web application.
  • Calaos Installer: The configuration tool.
  • Calaos iOS: An iOS app.
  • Calaos Android: An Android app.
  • Calaos-OS: The full Linux OS with everything preconfigured.

Do It Yourself (DIY): With Calaos, one can quickly and easily complete an installation. One can get support from the online community regarding any technical issues. The wiki is full of documentation on how it works, and the Calaos forum can help answer any specific question. One can configure the app as required, and as it’s open source, it’s even possible to modify it.

Apart from the above three software, there are many more open source software available for home automation but most of them don’t support iOS and Android OS on a smartphone. Other OSS that can be used for home automation are Home Assistant, Domoticz, OpenMotics, LinuxMCE, PiDome, MisterHouse and Smarthomatic.

With the help of proper hardware and software, it’s possible to make home automation more secure and smarter. Home automation also saves overall power consumption and helps reduce electricity bills. As technology improves and more advanced hardware/software come into the market, home automation will become even more convenient. Finally, some day, a sweet home will also become a smart home for everyone.


Please enter your comment!
Please enter your name here