Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.

Web AppUI

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

Technical description for the Classic UI

Introduction

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.

Installation


User Interfaces


Community

(link to openHAB forum)

Development



Misc


Samples

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.

Use case examples

Collections of Rules on a single page

Single Rules

Scripts


Release Notes

Clone this wiki locally