Mastering the Diversity in Smart Homes - A Practical Approach
All existing Smart Home solutions face the same challenge: Exciting use cases are only possible if devices of many different types are interconnected. This means that such solutions need to interface with devices from many different vendors with all kinds of APIs. Furthermore, support of different home automation protocols and an agnostic way of using them is a very common requirement.
Eclipse SmartHome addresses these challenges by introducing a device abstraction layer with powerful extension mechanisms that allow easy integration of new devices, while not exposing their specifics to the application layer. As a result, solutions built on Eclipse SmartHome can be designed in such a generic way, that user interface code, automation logic and the data persistence layer do not have to be adapted when adding support for new devices.
Still, the need for describing every single device and its functionality in a formal way remains and this can be tedious for a solution provider. It makes much more sense, if this information is supplied directly by the device manufacturer, but this assumes that there is a common format for providing such descriptions.
The Eclipse Vorto project fills this gap: It defines a meta model for device information models, offers a repository for storing the concrete models and provides code generators for transforming these models into solution-specific code.
We will demonstrate how Eclipse SmartHome can benefit from Vorto, so that the efforts of adding support for new devices in a commercial solution such as QIVICON can be heavily reduced.