Core framework of openHAB
Go to file
Cody Cutrer 3659542bae
Support mired units (#3108)
* Support mired units

Mired are fairly common to describe the color temperature of
lightbulbs (slightly less common than Kelvin), but are very
useful for various calculations when adjusting the color
temperature, as well as being necessary for various integerations
that require mired units.

This commit makes them a well-known unit (previously they were
still usable, using "MK^-1"), as well as making them easier to
work with on QuantityType. The hiccup is that Mireds aren't
technically a Temperature dimension, because they're a reciprocal.
So add a `inverse` method that delegates to javax.measure's
same method, and then use it as necessary when doing unit
conversions and comparisons. Unfortunately, because the
dimension changes, the return value of a conversion won't
necessarily be the same type, an additional method is added
for callers that are willing to handle the change in
dimension. This is implemented for all callers that can use
it in core.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-16 13:50:46 +02:00
.github GitHub Actions workflow improvements (#3015) 2022-06-26 17:15:26 +02:00
bom Upgrade Californium to 2.7.3 (#3085) 2022-09-21 07:48:58 +02:00
bundles Support mired units (#3108) 2022-10-16 13:50:46 +02:00
features Upgrade Californium to 2.7.3 (#3085) 2022-09-21 07:48:58 +02:00
itests Fix missing initial thing status event (#3072) 2022-09-20 21:04:52 +02:00
licenses/epl-2.0 mavenize openHAB and integrate mavenized ESH repository (#467) 2019-01-28 13:07:31 +01:00
tools Improve binding archetype for Crowdin usage (#3089) 2022-09-23 18:15:50 +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 Move Eclipse m2e configuration to a profile (#3034) 2022-07-09 17:38:12 +02:00
README.md Added GHA build badge (#2558) 2021-11-04 09:23:09 +01:00

openHAB Core

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

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.