Help needed

Unfortunately the day is only so and so long. I need your help to finish this openHAB vision. Here you find a list of all missing pieces. A hackathon, some discord coordination etc to bulk develop features are also welcome.

Extended service status

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Services with advanced feedback status (mimic Thing status) and actions

Estimated work: 15h

Objects storage associations

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

It should be possible to assign a user-settable storage association to Things, Items, Rules and everything else that goes into jsondb at the moment. That way any service that wants to write out data, can consider the storage association parameter.

Some objects like Rules already have description field (read: personal annotation). That need to be added to Items and Things as well. A service that writes out data, can consider that information to generate comments.

Estimated work: 6h

Backup service

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

A backup service, exporting/restoring in Json or Yaml, compressed&packed or uncompressed. Export targets are files and Google Drive.

Prerequires: Extended service status, Objects storage associations

Estimated work: 15h

Platform information

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

openHAB does not tell a client about its version or distribution or build date at the moment. Although that information is present within core. That knowledge must be made available for clients to perform feature detection and adapt to different APIs.

Estimated work: 2h

Log data mediator

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Provides interested clients with the openHAB real-time log via websocket connections.

Prerequires: Extended service status

Estimated work: 2h

OSGI Bundle status

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

openHAB core consists of multiple runtime units, called bundles. Those bundles are managed by a framework called OSGI. Also all bindings, transformations etc are just OSGI bundles. If a failure happens in a bundle there is currently no way to see that except from going through the logs.

A bundle status service allows interested clients to request the bundle status and (re)start bundles.

Prerequires: Extended service status

Estimated work: 2h

Long time stability service

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

If a newly installed binding is slowly eating up all memory or causes high CPU load, there is no way to find that out. A long-time-stability service will log and observe memory, cpu load and thread count and issue a warning if some threshold values are exceeded.

Prerequires: Extended service status

Estimated work: 2h

Expire1 replacement / Scheduler-Item-Metadata tasks

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Sometimes a rule is just overkill. You just want your item to change its state back after some time. With item metadata that can be archived. The core scheduler will provide a new "expire" namespace.

An item can register a command that should be performed after a while as a result of an item state change. Such a timer requires an ID to be setup. This way such a timer can also be influenced by rules/scripts, which makes it more powerful than expire1.

Prerequires: Extended service status

Estimated work: 2h

Move item/tag knowledge into the core

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

At the moment the clients themselves have a hardcoded list of item-types and semantic tags, as well as item group functions. That knowledge must be moved into the core and made accessible via the web interface.

Estimated work: 2h

Install jar files via the webinterface

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Add the possibility to upload add-on jar files, but also to list and remove jar files.

Estimated work: 4h

Extend binding/extensions bundles

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Right now openHAB only exposes a simple boolean ("installed"/"not installed") about an extension. If you have ever used Paper UI, you were probably also puzzled on what openHAB is actually doing during an install.

  • Extension descriptions as part of the current list response
  • Advanced status report instead of just a boolean "installed" (mimic Thing status)
  • Easily add more maven sources
  • Install a specific version of an Add-on
  • Add "versioninformation": Should contain "known bugs" etc with a specific version, so that a user does not report something known and is able to decided if he/she needs to update to a newer version for his/her specific needs.

Estimated work: 16h

Inbox improvements

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this
  • Allow a binding discovery process to be stopped
  • Request all bindings that have background discovery enabled
  • Enable/disable background discovery for individual bindings

Estimated work: 4h

Things improvements

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Introduce Thing Handler actions: For example to have a "Start pairing" or "Firmware reset" action.

Estimated work: 4h

Rule templates

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

Rule templates require some more information to be used as distribution format:

  • Authors
  • Required bindings
  • Version
  • Rule module-types need to know their own type (They don't at the moment!)

Estimated work: 20h

Script adding/removing/listing

  • Funding/Time acquire
  • In Development
  • PR Send
Fund this

A service that allows to upload/update/add script files via the webinterface, to allow web-uis to edit those files.

Estimated work: 2h