Reengineering and development of IoT Systems for Home AutomationRef: CISTER-TR-171204 Publication Date: 9, Nov, 2017

Reengineering and development of IoT Systems for Home Automation

Ref: CISTER-TR-171204 Publication Date: 9, Nov, 2017

Abstract:With the increasing adoption of technology in today’s houses, electricity is at an all-time high
demand. In fact, given the plethora of vital electricity-powered appliances used every day,
such as refrigerators, washing machines, and so forth, it has been proven difficult to even
handle all devices’ electric consumption. To reduce consumption costs and turn it into a more
manageable process, the concept of flex-offers was created. A flex-offer is built around
scheduling energy usage in conjunction with the prices of electricity, as provided by an energy
market. More specifically, a flex-offer is an energy consumption offer containing the user’s
energy consumption flexibility, which is sent to an entity called the Aggregator, who
aggregates together flex-offers from multiple parties, bargains with the energy market, and
responds to each flex-offer with a schedule that meets the lowest prices for consumption,
while still satisfying the users’ needs. By using flex-offers on a house’s equipment, the idea of
FlexHousing was born. The aspired goal of the CISTER Research Center’s FlexHousing project
is to deliver a platform where users can register their smart appliances, regardless of its brand
and distributor, set up preferences for the devices’ usage, and let the system manage the
energy consumption and device activation schedules based on the energy market prices.
A previous project had already built a prototype of the FlexHousing system. Nevertheless, the
original platform had many limitations and lacked maturity from a software engineering point
of view, and the goal of this internship is to apply a reengineering process on the FlexHousing
project, while also adding new features to it. Thus, the project’s domain model, its database,
and class structures were altered to satisfy the new requirements. Furthermore, its web
platform was rebuilt from the ground up. Also, a new interface was developed to facilitate
support for devices of different brands. As a proof of concept for the benefits provided by this
new interface, a connection with a new device (Sonoff Pow) was also established. Moreover,
a new functionality was developed to identify a device’s type of appliance based on its energy
consumption, in other words, to specify if a device is, for instance, a refrigerator or not. Finally,
another new feature was added in which, based on a device’s type and its energy consumption
pattern, the flex-offer creation is automated, minimizing user input.
As planned, the FlexHousing platform now supports multiple types of devices, and has a
software interface to support more types in the future with minimal effort. The flex-offer
creation process has been simplified and is now partially automated. Finally, the web
platform’s UI has been updated, becoming more intuitive and appealing to the user.