cdjackson / HABmin

A web admin console for openHAB home automation
http://www.cd-jackson.com/index.php/openhab/habmin
217 stars 51 forks source link

NOTE

I don't intend to actively support this version of HABmin and am turning my attentions to HABmin2. I will look to move the relevant issues over to this repository in the coming weeks. I will continue to support bug fixes etc for this version until HABmin2 supports everything supported here, so feel free to raise issues here if you like :)

Updates

Overview

HABmin is a web administration console for openHAB. It aims to provide a complete interface to administer openHAB, including the following features -:

The interface is a modern browser based system providing point and click, and drag and drop input. As features are added, the wiki is being updated - please take a look. The interface supports multiple languages - please help with translations.

Item Config Screen

HABmin interfaces to OpenHAB through a RESTful style interface - this is implemented as a separate bundle to the openHAB REST interfaces that support the standard user interface.

Sitemap Config Screen

In addition to the REST interface, it is possible to define files that describe the configurable features of OpenHAB. These files describe the configuration required for a binding or an item and are used within openHAB and exposed through the HABmin REST interface. The files are defined in XML format and are not directly accessed by HABmin.

Graph Screen

While HABmin is a supporting project to OpenHAB, providing access to openHAB's features, since the existing REST interface does not support most of the functionality required by HABmin, HABmin may drive this part of openHAB to some extent. It is also expected that as functionality is added to openHAB, HABmin will need to have its backend modified to reflect the final interfaces implemented in openHAB.

Binding Config Screen

Status

The project is just getting started. Currently implemented are the following -:

Additionally, lot of the initial user interface has been boilerplated.

Technology

HABmin is an open source project. It makes use of a number of libraries under GPL license. The following major libraries are used -:

Bundles Screen

Installation

Note that HABmin requires version 1.4 or above of openHAB. You can either use the compiled release version, or the source version. It's also possible to use a combination of the two if you know what you're doing - be careful though since the compiled version does merge some files to speed things up.

The release version is a compiled, minified version which increases the loading speed, and reduces the space used on the disk (useful if you're running on an embedded system like the Pi). To install, simply unzip from the openHAB main directory. This will put the HABmin files in the webapps directory, and the plugins in the adons directory.

Alternatively, installing the source code version is done as follows -:

Either way, you will probably need to restart openHAB for the new interfaces to take affect.

You can then start HABmin at the address http://localhost:8080/habmin/index.html (assuming openHAB is running on your local computer using the default port - if this is not the case, you will need to adjust the address accordingly).

Contributing

If you wish to help with this project, please feel free to clone the repository and work on some features. I would like to maintain a top level TODO/Issues list which lists the main features that require work. Please feel free to add to this list, or discuss implementation issues within the issue. If you are going to work on a feature please make it known so we can avoid duplication.

Source files for the JARs included in this project are available at https://github.com/cdjackson/openhab/tree/HABmin/bundles/io/org.openhab.io.habmin/src/main/java/org/openhab/io/habmin