Home Automation And Security Using IoT Devices

By Debojit Acharjee


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.

IoT is a system in which computing devices are connected over a network using unique identifiers (UIDs) and can transfer data without the need of any human-to-human or human-to-computer interaction. Such computing devices are called IoT devices and can be used to automate our home as well.

The first home automation technology was developed in 1975 using a network technology called X10, which is a communication protocol that was used for home automation devices back then. It used electric power transmission wiring for signaling and controlling various electronic devices. The signals used radio frequency as digital data to control any digital electronic device installed in a house.

Technology has changed now; with the help of sophisticated hardware and free open source software (FOSS), home automation can make a dream house come to reality.

Basic setup for home automation

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 or 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 where 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. They can be controlled through the cloud network using a FOSS or a mobile app. 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.

The above architecture gives the convenience to control and automate various IoT devices from a distant location with the help of a smartphone and the Internet. The IoT devices will be able to send data like room temperature, supply voltage, energy consumption, live video stream, etc to the smartphone app through the Internet and enable remote monitoring of our homes.

Home automation setup
Fig. 1: Home automation setup

IoT devices for securing your home

There are various IoT devices and sensors that can be used for home automation and security. The basic ones are:

1. Wall switches. IoT-based wall switches can be mounted on the wall of a house like regular wall switches, but can be controlled remotely. Such IoT switches can also be wireless and can be connected to an IoT hub or router wirelessly.

2. Voltage sensors. IoT voltage sensors can monitor the supply voltage of the house and one can even monitor the same remotely using the Internet.

3. Energy monitors. IoT energy monitors are digital energy meters that can monitor the power consumption of the house, also helping one monitor the overall power consumption remotely.

4. Thermostats. IoT thermostats can be used to monitor the temperature of the house in real-time. Using such thermostat sensors can help monitor the temperature inside the house from anywhere using the Internet.

5. Smart door locks. Smart door locks are IoT door locks that can be controlled using a home security system and IoT OSS/app over the Internet. One can lock and unlock them remotely via the app.

6. Air-conditioners. Air-conditioning is a very important part of a house and controlling the air-conditioner remotely is a part of home automation.

7. Surveillance cameras. IoT cameras can be used for the surveillance of the house and they can give live video footage of the house remotely. Both indoor and outdoor cameras can be used to monitor the indoor and outdoor environments. Such a surveillance system can have features like motion detection and can alert whenever there is a security breach.

Apart from the above IoT devices, many other devices can be installed in a house to improve the convenience and automation. Many IoT-based home appliances like washing machines, water heaters, refrigerators, dish washers, robot floor cleaners, etc can also be installed additionally to make your house fully automated.

IoT devices
Fig. 2: IoT devices

Controller/hub: The brain of the setup

The controller/hub used for IoT devices is the main part of the system because it controls all the IoT devices/sensors installed in a house.

The connection can either be wired or wireless, but wireless is a better option. The controller is connected to the router (gateway) of the house for Internet connectivity. The IoT controller/hub uses mainly three types of protocol standards to communicate with the IoT devices—ZigBee, Z-Wave, and Wi-Fi.

Wink and SmartThings are two most common types of IoT controllers used for home automation. With such a controller/hub, it is possible to connect hundreds of IoT devices/sensors in a house and control them with the help of a smartphone app, automatically.

Fig. 3: Hub

Automate your homes with open source software

There are various FOSS available for home automation and the most popular ones are:

1. OpenHAB. It is a FOSS for home automation written in Java. It is used to connect and control various IoT devices installed in a house. With this app, one can perform many operations like switching on lights and fans remotely. One can use various rules to program the automation of the IoT devices and can also use voice commands to control the devices.
The project to develop this app started in 2010 and in 2013 the core functionality became an official project of the Eclipse Foundation under the name 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.

Fig. 4: OpenHAB

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.

2. Jeedom. This is another 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 management of scenarios, text/sound interaction with home automation system, history viewing, graph generation, linking of all equipment/connected objects and personalisation of the interface.

Fig. 5: Jeedom

The Jeedom mobile application (for iOS/Android) allows to drive your home automation system and the app automatically connects via a QR code without the need for any configuration. You will find on your mobile the same functionality to your Jeedom (scenarios, connected devices and home automation, plugins) and you can also customise your application with shortcuts and more.

The main features of Jeedom are:

  • Manage the safety of goods and people.
  • Automate heating for better comfort and energy savings.
  • View and manage energy use to anticipate expenses and reduce usage.
  • Communicate by voice, SMS, e-mail or mobile applications.
  • Manage all of the home’s automatic devices: shutters, gate, lights.
  • Manage multimedia audio and video devices and connected objects.

Jeedon includes its own Market, like what you find on your smartphones with the App Store or Play Store. It allows you to add home automation features, assures compatibility with new home automation modules and even lets you customise its fixed and mobile interfaces.

3. Calaos. This FOSS lets you control and monitor your home with many features. It can be easily installed and used to transform your home into a smart home. 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 gives you the convenience 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 as GNU General Public License. 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 controller (PLC) to automate a building or apartment. PLCs can work as a controller 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.

Fig. 6: Calaos

The main features of Calaos are:

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

  • Calaos Server: Core application.
  • Calaos Home: Touchscreen user interface.
  • Calaos Webapp: HTML5 web application.
  • Calaos Installer: Configuration tool.
  • Calaos iOS: iOS App.
  • Calaos Android: Android App.
  • Calaos-OS: Full Linux OS with everything preconfigured.
  • Do It Yourself (DIY): With Calaos, one can quickly and easily install a complete 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 is an OSS, it is even possible to modify.

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

From ‘home sweet home’ to ‘home smart home’

With the help of proper hardware and software, it is possible to make the home automation more secure and smart. Home automation also saves overall power consumption and helps reduce the electricity bill. As technology improves and more advanced hardware/software comes to the market—home automation will become easier and more convenient. Someday, a home sweet home will also become a home smart home for everyone.

This article was first published in May 2020 issue of Open Source For You

Debojit Acharjee is software engineer/writer