Coder Social home page Coder Social logo

habmin's Introduction

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

  • 30-04-2014: Initial graphical rule designer ready for testing see the overview here)
  • 18-04-2014: Add ability to view HABmin charts wihin openHAB sitemap.
  • 22-03-2014: Add a 'data pending' indicator in zwave to show when a configuration has not been confirmed.
  • 02-02-2014: Updated item editing to extend toolbar across all tabs. Added a filter option to filter listed items.
  • 20-01-2014: Added ability to save and restore charts. This allows considerable customisation of the graphs.

Overview

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

  • General configuration (openHAB.cfg)
  • Configure bindings
  • Configure items
  • Configure mapping
  • Configure sitemaps
  • Configure ZWave network
  • Configure rules and notifications
  • Query and graph data from persistence stores
  • View OSGi binding status
  • View log files

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 -:

  • Graphing of data from the persistence store including saving and restoring charts.
  • Item editor
  • Sitemap editor
  • General binding configuration (ie binding configuration in the openhab.cfg file)
  • OSGI bundle status viewer
  • Rule editor with syntax highlighting
  • Item rule library (initial test phase)
  • ZWave configuration interface (note: work in progress still)

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 -:

  • ExtJS from Sencha
  • Highcharts from Highsoft
  • moment.js for time management
  • JIT for some special charts

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 -:

  • Download the project zip file from GitHub and unzip files in the directory webapps/habmin (you will need to create this directory - note that the directory name must be lower case).
  • Place the org.openhab.io.habmin*.jar file into the addons directory (this is stored in the addons directory in the repository).
  • Place the org.openhab.binding.zwave*.jar into the addons directory (this is stored in the addons directory in the repository). Note that this bundle is currently required for HABmin to start, but if you don't have zwave then it won't actually run if it's not configured. In the longer term this dependency will be removed.

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.

habmin's People

Contributors

cdjackson avatar gregmag avatar hfanieng avatar sumnerboy12 avatar mattwire avatar petrklus avatar marcelrv avatar

Stargazers

phaerus avatar

Watchers

James Cloos avatar phaerus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.