OpenRemote
Introduction
OpenRemote is an open source project, with the ambition to overcome the challenges of integration between many different protocols and solutions available for home automation, and offer visualization tools. OpenRemote Inc. was created, to enable the sponsorship of the OpenRemote open source project – in the vein of JBoss. OpenRemote follows a Professional Open Source methodology. It means that top contributors usually end up participating in the company, first as contributors, then as consultant as business develops, then as full-time employees and owners.
The founders of OpenRemote are Marc Fleury, founder of JBoss, and Juha Lindfors.
The rationale
In any automation project there are two roles: the ‘technicians’ and the ‘user interface designer’. The designer is primarily interested to define the use cases, and translate this into the behavior as well as UI of the system. For B2B projects, these roles are filled in by installers and UX/UI designers. In the ultimate B2C product these roles can be automated and both handled by the end-user. OpenRemote has chosen for a set of cloud-based configuration tools, with a clear distinction between the technical integration and UI design. These support both roles. The advantage of cloud-based tools is the possibility of remote support, both in project configuration as well as updates and maintenance.
A second choice they made was to have the integration and automation logic of devices and sensors, organized by a local runtime controller. The rationale is based on organizing an intrinsically stable and responsive system, meaning independence at the lowest level possible with the least dependency of higher level systems. An internet connection is only required for communication to (sub)systems outside the own network, or during configuration of the system. The presence of non IP based wired or wireless protocols, is another reason of requiring a local controller.
The third choice made was to use an object model to describe devices, commands and data, allowing for the programming of rules (using Drools), macros, commands, and designing a UI, independent of the underlying brand or protocol. This limits the system programming effort as the protocol specific programming will be eliminated.
The architecture
The software architecture can be split into three main elements:
- cloud-based configuration tools, both for configuration as well as UI Design
- local runtime controller, integrating between different protocols, and managing automation rules
- control panels (apps, webview) used in a local network or when accessing a runtime controller from a remote location via a remote proxy service.
How it gets applied
OpenRemote is applied in a large range of home automation applications. That's where it all started. Many examples can be found on their community website openremote.org. Recently, they have gained some traction with licensing. In addition they are getting adopted by installers who apply the tools to building automation, smart cities and healthcare.[1]
References
External links
- Community website of OpenRemote openremote.org
- Professional website of OpenRemote openremote.com