Core framework of openHAB
Go to file
lolodomo 1fb949ba8f
Set a default presentation pattern for String/Number/Datetime items (#4175)
* Set a default presentation pattern for String/Number/Datetime items

A default state pattern was previously provided by ChannelStateDescriptionProvider only for String and Number items linked to a channel.
It is now the class DefaultStateDescriptionFragmentProvider which is responsible for providing the default state pattern for items, whether the item is linked to a channel or not.
This new class is the lowest ranked StateDescriptionFragmentProvider so that all other providers have priority in setting the state pattern.

Default pattern for string item: %s
Default pattern for datetime item or group with datetime state: %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS
Default pattern for number item or group with number state: %.0f
Default pattern for number+dimension item or group with number+dimension state: %.0f %unit%

Closes #4071
Closes #3835

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2024-05-02 16:29:35 +02:00
.github [CI] Add Java 21 compiling to J17 and native J21 (#4186) 2024-04-21 11:47:40 +02:00
bom Upgrade Jollyday to 0.27.0 (#4178) 2024-04-14 22:20:55 +02:00
bundles Set a default presentation pattern for String/Number/Datetime items (#4175) 2024-05-02 16:29:35 +02:00
features Upgrade Jollyday to 0.27.0 (#4178) 2024-04-14 22:20:55 +02:00
itests Set a default presentation pattern for String/Number/Datetime items (#4175) 2024-05-02 16:29:35 +02:00
licenses/epl-2.0 mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
tools Conditionally use a thread pool backed sequential executor for DSL rules and events (#3890) 2024-04-29 09:11:56 +02:00
.gitattributes Improve test stability and OS compatibility (#2878) 2022-04-14 23:00:33 +02:00
.gitignore Add .gradle to .gitignore (#2913) 2022-04-14 00:07:15 +02:00
CODEOWNERS Add CODEOWNERS file (#1996) 2020-12-23 20:04:44 +01:00
CONTRIBUTING.md removed 1.x compatibility layer (#1284) 2019-12-21 11:32:29 +01:00
crowdin.yml Fix Crowdin translation filename mismatch (#2302) 2021-04-20 20:26:01 +02:00
LICENSE Changed license from EPL v1 to EPL v2 (#466) 2019-01-16 22:59:49 +01:00
NOTICE Add NOTICE file (#631) 2019-03-06 16:09:24 +01:00
pom.xml Update plugins (#4197) 2024-04-27 09:34:39 +02:00
README.md Add JavaDoc build badge and reconfigure plugin to indicate JavaDoc warnings/errors (#3886) 2023-11-26 21:26:19 +01:00

openHAB Core

GitHub Actions Build Status Jenkins Build Status JavaDoc Build Status EPL-2.0 Crowdin

This project contains core bundles of the openHAB runtime.

Building and running the project is fairly easy if you follow the steps detailed below.

Please note that openHAB Core is not a product itself, but a framework to build solutions on top. It is picked up by the main openHAB distribution.

This means that what you build is primarily an artifact repository of OSGi bundles that can be used within smart home products.

1. Prerequisites

The build infrastructure is based on Maven. If you know Maven already then there won't be any surprises for you. If you have not worked with Maven yet, just follow the instructions and everything will miraculously work ;-)

What you need before you start:

Make sure that the mvn command is available on your path

2. Checkout

Checkout the source code from GitHub, e.g. by running:

git clone https://github.com/openhab/openhab-core.git

3. Building with Maven

To build this project from the sources, Maven takes care of everything:

  • set MAVEN_OPTS to -Xms512m -Xmx1024m
  • change into the openhab-core directory (cd openhab-core)
  • run mvn clean install to compile and package all sources

If there are tests that are failing occasionally on your local build, run mvn -DskipTests=true clean install instead to skip them.

How to contribute

If you want to become a contributor to the project, please read about contributing and check our guidelines first.