Android App for Smart Home Control
Client
The Client is a US smart home appliances supplier that focuses on smart thermostats and home control systems. Along with selling thermostat controllers, cameras, and motion/CO2 detectors, the Client offers free mobile and web apps for convenient remote management of the entire smart home system. Recently, the Client has also extended its business to Europe, providing boiler systems for smart water temperature control.
Challenge
Since its inception 4 years ago, the Client’s smart-home project has been growing to include new functions, and the mobile app needed corresponding updates. With an increasing project scale, the Client was looking for developers with experience in IoT solutions to assist with updating the mobile app for smart home control.
Eventually, as the project matured and the number of features planned for implementation outstripped that of the features already in development, the Client turned to ScienceSoft for help with further upgrades of their Android app version.
Solution
The latest version of the application, released in cooperation with ScienceSoft, allows users to create different accounts for each apartment or home and bind several users to each account. The actions of the users are stored in the cloud, and every user can see what the others connected to the account are doing. The mobile app displays the list of sensors, the information about them (location, status, etc.), and the data they generate.
The sensors connected to smart thermostats take the data about the temperature in a room. These data are transferred to the cloud for comparison with the thresholds set by users. In accordance with the results, cloud control apps send the commands to increase or reduce heating, switch it on or off. The temperature in an apartment can be changed via the mobile application as well.
In addition, the smart system stores the data from the temperature sensors in the big data warehouse to use it for machine learning. Identifying the data users repeatedly input, the smart system devises a respective schedule offering automatic temperature changes at the periods of time the user has been inputting most often.

The system can update the heating options depending on whether smart home inhabitants are there using geolocation data (tracking the info from the users’ mobile phones). When the system makes a conclusion that nobody is home, the control apps send the commands to switch to low energy consumption mode.
As the Client has signed a contract with the major US energy services provider, the mobile application now allows users to check the latest electricity price rates. Also, by learning the dynamics of energy costs throughout the day, the app marks the time with the most preferable prices, thus helping users save money on their energy bills.
The smart home control system also contributes to security. Thermostats are equipped with security cameras. The data recorded by the cameras is transferred to the mobile app’s back-end and displayed on the app‘s home screen once the user’s device connects to the Internet. The video surveillance system has the codecs for quick video downloading. With a free account, users can only see the live video. The subscription gives the option to store video fragments in the cloud.
When intrusions are detected, the cloud control apps send commands to activate the alarm. At the same time, the alerts are sent to users’ mobile apps and the security service. Also, the smart home system can distinguish between people and animals and apply face recognition to prevent false alarms.
Results
The Client has been completely satisfied with ScienceSoft's Android development services and the app features released so far. The cooperation is still in progress, and, by 2020, the Client is planning to introduce new features to enhance the IoT solution and add functionality to the mobile user app.
Technologies and Tools
Android SDK, Java, Kotlin, Bluetooth Low Energy, Geofencing, Google Directions API, Location API