Web AppUI

Thomas Eichstädt-Engelen edited this page Jun 13, 2016 · 11 revisions

Technical description for the Classic UI


The standard user interface for openHAB is based on the WebApp.Net framework and can be accessed through any (webkit-based) web browser.

You can directly try it out on our demo server!

Details on WebApp.Net

WebApp.Net consists mainly of Javascript and CSS files. Thus it runs on top of the embedded Jetty HTTP server of the openHAB runtime. Simple HTTP access to the openHAB server is therefore enough to use this user interface (e.g. also remotely through a dynamic DNS service).

Although WebApp.Net is a pure HTML/JS solution, it mimicks an iPhone app and is optimized for touch operation. It not only works on iPhone/iPod touch, but also perfectly on Android. Even Symbian and Blackberrys are supported, and of course the !WebKit-based web browsers. So where ever you are and whatever device you have available, you should be able to access the UI to operate your home.

See here some examples of its look:

classic ui

Technical Implementation

The UI can be found in the bundle org.openhab.ui.webapp. It registers a servlet with Jetty (usually openhab.app) and processes incoming requests. The UI makes use of the Sitemap definition file in order to render the pages.

Each widget of the Sitemap definition is rendered as a line in a list. Hence there are currently not many possibilities to construct custom HTML blocks, but it also means that the user does not have to configure anything special as a Sitemap file suffices for
the definition of the UI.

Labels and icons for the widgets are retrieved through the ItemUIProviders and thus can be shared among different UIs.

feature overview


Setup intro

Linux and OS X





User Interfaces



(link to openHAB forum)



Application Integration



A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.

Please update the wiki if you do come across any out of date information.

Binding configurations

Use case examples

Item definition examples

Sitemap definition examples

Collections of Rules on a single page

Single Rules


Syntax highlighting for external editors

Release Notes

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.