OpenRemote develops the Building Operating System Standard (BOSS).
The Boss includes the following functionality.
- Controller Software (deployed on a ORB)
- Panel Creation Software (iPhone, web enabled hand-helds, etc.)
- Manager Applications (hosted on OpenRemote website)
We release our software under the GNU General Public License (GPL) in order to promote free and open home and building automation implementation, to avoid vendor lock-in and to establish de-facto standards. Our goal is to enable the community, do-it-yourself enthusiasts, software developers, experts and hobbyists to participate in the development, evolution and innovation of the software stack. We believe this will lead to a superior state of the automation field that serves both the users as well as the professional installer community better than the current proprietary environment.
If you are an OEM interested in discussing redistribution and licensing options for OpenRemote software, please contact us via email.
Boss: Controller Software
When the Boss is deployed in a building or a residential home it serves as a controller. OR Boss is a home server enabled for Internet access and capable of receiving commands from panels, remote controls and home devices. It is a controller for a room, a floor, a home or a building and clustered for redundancy. It can act as a node in a mesh network of home devices and is capable of hosting higher level functionality such as scheduled events and macros, programming APIs for integrating building automation protocols and manage device configurations of a building.
The Boss is written in java and therefore is portable. In some cases however we need to go native and our software currently targets a Linux operating system as the hardware OS. The focus at the moment is on Debian Linux derivatives, Ubuntu and Eeebuntu distributions for Eee-based boxes and Voyage Linux for ALIX-based boxes.
On top of the operating system layer, the Boss software uses C programming language for accessing system services such as serial ports, USB ports and native software for device control such as LIRC for infrared. In general, the native layers are intended to offer a suitable software abstraction to the higher level Java services. The goal is to make various home automation protocols such as X10, Zigbee, Insteon, KNX or infrared available for higher level Java programs.
The Java layer of the Boss is intended for higher level functions. Hosting the REST interfaces to interact with OpenRemote panels, mapping and routing home automation protocols to integrate systems from different vendors and management software all belong to this layer. One of the main functions of the Java layer is to deploy user or installer configurable plugins to match the devices and configurations of home appliances, lights, security, A/V and so on.
It is worth insisting on the fact that the Boss is hardware agnostic (java) in most cases but can run in a specialized box we call the ORB. The ORB will always be specified in terms of off-the-self, common hardware configurations.
Boss: Panel Software
The Boss also includes software to generate user interfaces for home control. The panel hardware can be an iPhone, a web-enabled WiFi hand-held device or a touch screen. These devices act as universal control devices for A/V equipment, lights, security, HVAC, etc.
The communication between a panel or console and the Boss can occur either wirelessly over WiFi or via an Ethernet connection using HTTP/REST or JSON protocol. The user interface is created and can be customized via the UI composer applications in the OpenRemote Manager. The panel software will support user interfaces customized for individual family members or user profiles.
Boss: User Interface Composer
The OpenRemote Manager software provides tools for home-owners and installers to configure and deploy device configurations to ORB, to compose user interfaces for panels and consoles, to manage user profiles and to monitor and maintain ORB installations.
The Online Manager is server-side software written in Java programming language and using various Java middleware technologies and frameworks. It is intended to be robust and scalable enoug to support monitoring and management of industrial and commercial installations as well as residential ones.
UI composer tools allow creation of user interfaces against the model of a home or a building. Different user interface elements can be selected for a panel based on the devices collected from the modeler tools. User interfaces can be created to match separate user profiles to suite both regular and power-users.
Beehive database collects device configuration and installation information from the user community. Beehive provides the data for the modeler tools allowing users to discover their home devices and model floor plans and user interfaces accordingly.
Beehive attempts to become a central location for device configuration information, such as LIRC and CCF infrared codes, KNX VD files, etc. For more information on Beehive, see Beehive Overview.