An Example of Development and Implementation. Part 1

This series of articles will focus on the author’s experience in the development and implementation of a smart home system in a two-room apartment. It will present our approach to designing and developing a smart home system and demonstrate a solution that has been operating for 4 years already.

What is Smart Home?

We try to avoid formal definitions and look at it from the consumer’s point of view. When I first shared his idea of smart home with a friend, the latter said, “Can’t you get to the switch and turn on the light yourself?”. He was right in a way — I am lazy :-). The idea of a smart home is just that it can itself control lights and power supply, saving resources and ensuring safety.

Thus, a smart home is a set of hardware and software solutions that are designed to improve the quality of life. Exactly, a smart home should be viewed as something that makes your life easier and more comfortable, not as a big and expensive toy. Within this concept, I think that voice control is excessive and believe that a smart home should realize (and in future anticipate) the typical behavior of the host.

Patterns of Behavior

What should you begin with when you think about a smart home? Is it choosing a technology? Or a central controller? No, never. First ask yourself — what do I need a smart home for? What will it do for me? I think there are four groups of functions that any smart home should be able to perform:

  • Behavioral patterns — support for the typical behavior of individuals living in the apartment in terms of using electric appliances and light fixtures

All these groups of functions should be thoroughly reviewed and approved by all the individuals living in the apartment, and only then you can get to designing a smart home system. Let’s look at such a design based on my smart home functions.

So we start from behavioral patterns. To seem them, you need to observe you and your family’s behavior for some time. Through such observations we record the times (or some intervals) when the individual gets up, has meals, how he moves around the apartment from the moment he wakes up until he leaves the apartment, and from the moment he comes home until he goes to bed.

Thus, we get a general picture where we can determine which light fixtures are used and what you need for feeling comfortable — turning on the warm floor in the bathroom, soft illumination, dimmed light at night, etc. You should define such patterns for every family member and get some average that would not bother others. Say, the husband gets up earlier than his wife every day. To avoid waking up your wife, you can, instead of the ceiling lights, turn on a dim green illumination for five minutes and then turn it off.

Judging by my own experience, a dimmed green light does not wake up other people. As a result, two patterns were implemented: day-off morning and week-day morning. Following these patterns, the smart home system, when necessary, turns on the lights, radio, and turns them off, and uses different colors of ceiling illumination to show how much time remains until leaving for work. The patterns are triggered according to calculations of required times for morning routines until the time of a certain event from the Google calendar. To do that, a smart alarm clock was developed to analyze data about forthcoming events.

To create a comfortable environment, you should observe what kind of lightning is good for you and decide whether you will turn on the warm floor every morning or only on days off, and which lights you use while watching TV. Based on such observations, the author implemented green illumination in the rooms, and ceiling lights dimmed to 10% in common areas, which are turned on and off once triggered by motion sensors. When guests are coming, you can utilize smooth changing of illumination colors, show a burning fireplace video on TV, and play some pleasant music from audio speakers. And all that by a single command from the control panel or Telegram. In addition to the night mode within this group of functions, I implemented the turning on of the bright white light upon turning on the TV set, and the guest mode with smooth changing of illumination.

Informational support is optional, yet would be nice to have. It’s good to hear how your smart home in a human voice reminds you to take your umbrella because it’s raining outside. And in the evening, when you come home after a long working day, it’s always good to listen to some calm music which is automatically turned on by your smart home.

And finally, safety. A basic function of any smart home is to switch off lightning and appliances when you leave the apartment. What if you leave your inquisitive kid at home who can do a lot of mischief while the parents are at work. Your smart home will turn off electricity, leaving no chances to make any trouble. The system also can recognize when parents are coming and turn on the power supply in the apartment. On one occasion, I forgot to turn off the electric stove and left for work. It was only because the smart home automatically switched off all the appliances that nothing dangerous happened then.

In the subsequent articles I will talk about the process of developing the smart home architecture, and also demonstrate my solution that has been working for 4 years already.

Find out more at — https://www.luxoft-training.com/catalogue/

Pavel Tsytovich
.NET & C++ Consultant

Originally published at https://www.luxoft-training.com.