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
Services with advanced feedback status (mimic Thing status) and actions
Estimated work: 15h
Objects storage associations
- Funding/Time acquire
- In Development
- PR Send
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
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
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
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
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
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
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
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
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
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
- 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
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
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
A service that allows to upload/update/add script files via the webinterface, to allow web-uis to edit those files.
Estimated work: 2h