An open-source platform for connecting building systems, view code and documentation on GitHub.
Today, most buildings have technology that controls ventilation, heating and other systems that make a building energy efficient and comfortable to live in. Buildings, just like modern cars, are controlled by computer systems that ensure that all technical devices work together with the same goals. Many buildings older than five-ten years have not just one but several systems, and these systems have previously been hard to integrate so that they collaborate with each other as one ecosystem.
For instance, lighting is commonly separate from heating systems as well as alarm systems, which makes it hard to use smart reasoning such as ‘a window is open in this room, so turning off the heat is a good idea’ and ‘as the lights are being turned off and it is dark outside, the person leaving the room should be reminded that the window is still left open’. The Elis platform has been developed to allow existing building systems to be connected with each other, which makes smarter building services simpler to create.
Elis integrates all systems into one ecosystem
Through the Elis platform, existing technologies and systems already used individually may be integrated into one system, thereby forming an ecosystem that may exchange information through the Elis platform. This integration could be between several buildings also, as the platform does not have to run locally. While the platform is first and foremost intended for energy efficiency, not just ventilation or heating, but also home entertainment systems or automated pet-feeding devices could be integrated. Through a single (and open source) API, the Elis platform allows services to be developed that build upon what all your systems and devices control.
Build adapters and connect everything
The Elis platform connects to existing systems and devices through so-called adapters. These adapters are needed to connect systems, and essentially translate the system-specific behavior to the Elis platform, which together with the system services then are made available to services through one single API. The API is where you access data on which you then build services or apps. A system owner is primarily interested in the API and the adapters, while a platform developer is also interested in the architecture of the Elis platform, which is built according to the Internet of Things Reference Architecture (IoT–A). Without the Elis platform, development of smart services would have to use different APIs for each system and device that the service would want to interact with.
Built on the OSGi framework
By being based on the OSGi framework, the Elis platform adheres to the de facto industry standard for modular Java, making the platform flexible and easily expandable. Different modules can be loaded and unloaded at runtime, thus enabling a solution that doesn’t need to be shut down for fixes or enhancements. As OSGi is Java-based, the platform can easily make use of the vast Java software catalogue. While OSGi may be used in other domains as well, the framework was initially developed with building management systems in mind, and thus is a particularly suitable foundation for the Elis platform.
Use the full version, components, or just as inspiration
There are three primary ways in which you may take advantage of the Elis platform, in order to create one larger ecosystem of systems and services rather than have many separate systems that inherently make it difficult to effectively develop smart services that rely on all systems and services within a building.
1. Use the full platform. You may integrate existing home management systems (HMS) and/or building management systems (BMS), with devices that these do not already support (including consumer-available products such as the Philips Hue), in the Elis platform by developing ‘adapters’ in accordance with the specification provided with the platform, which are found in the documentation on GitHub. A Philips Hue adapter is supplied with the Elis platform already, but we cannot disclose the specific BMS adapter used within the project as it is not an open system. Furthermore, web services may be integrated through the supplied web service adapter. End-user services may then be developed based on the open API supplied with the platform. The API is also adaptable to extend the functionality in accordance with the Elis platform description.
2. Use components of the platform. You may also use components of the platform in other, including proprietary, platforms. The Elis platform and the open-source license have been adapted to facilitate this type of reuse, for example, through the basic services that are made available through the platform, as well as the more advanced engine for creating condition-controlled behavior (if-this-then-that, IFTTT). Other possibilities include the third-party developer API in itself – shown in the scenario on the right in the figure above – which unlike most APIs in this area is well-documented, consistent and follows state-of-the-art principles for API design.
3. Use the platform as inspiration. Developing platforms for third-party development is a major undertaking. It entails a risk that design decisions made early have a restrictive effect on both the possibility of time-efficient re-engineering, as well as which opportunities for further development and integration of additional services from other parties are possible to pursue. For organizations with an interest in the development of platforms, the architectural choices made for the Elis platform – including the mapping to the Internet of Things Reference Architecture (IoT-A) – should be of interest. IoT-A is, like other reference architectures, not intended to be used in its entirety and should be adapted to the specific setting and IoT technology that is relevant within this setting.
Code and documentation on GitHub
The Elis platform is open source and released under an MIT License, which is a very permissive free software license. Code and documentation is made available through GitHub.
The Elis platform was developed within the Vinnova co-financed project Mobile Services for Energy Efficiency in Existing Buildings, which ran between 2012–2014. The project consortium included Malmö University, BTH, LTH, Eon, Ericsson, IBM, MKB, Malmö stad, Schneider Electric, Sony Mobile, ST Ericsson, Media Evolution and Mobile Heights. For more information, contact Carl Magnus Olsson, Malmö University.