Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
O

openhab-addons

> 编程语言
Open source

Add-ons for openHAB

2.1K stars0 likes0 views
WebsiteGitHub

About

Add-ons for openHAB

openHAB Add-ons

This repository contains the official set of add-ons that are implemented on top of openHAB Core APIs. Add-ons that got accepted in here will be maintained (e.g. adapted to new core APIs) by the openHAB Add-on maintainers.

To get started with add-on development, follow our guidelines and tutorials over at https://www.openhab.org/docs/developer.

If you are interested in openHAB Core development, we invite you to come by on https://github.com/openhab/openhab-core.

Add-ons in other repositories

Some add-ons are not in this repository, but still part of the official openHAB distribution. An incomplete list of other repositories follows below:

  • https://github.com/openhab/org.openhab.binding.zwave
  • https://github.com/openhab/org.openhab.binding.zigbee
  • https://github.com/openhab/openhab-webui

Development / Repository Organization

openHAB add-ons are Java .jar files.

The openHAB build system is based on Maven. The official IDE (Integrated development environment) is Eclipse.

You find the following repository structure:

…

Command line build

To build all add-ons from the command-line, type in:

bash
mvn clean install

Most of the time you do not need to build all bindings, but only the binding you are working on. To simply build only your binding use the -pl option. For example to build only the astro binding:

bash
mvn clean install -pl :org.openhab.binding.astro

If you have a binding that has dependencies that are dynamically as specified in the feature.xml you can create a .kar instead of a .jar file. A .kar file will include the feature.xml and when added to openHAB will load and activate any dependencies specified in the feature.xml file. To create a .kar file run Maven with the goal karaf:kar:

bash
mvn clean install karaf:kar -pl :org.openhab.binding.astro

To improve build times you can add the following options to the command:

Option Description
-DskipChecks Skip the static analysis (Checkstyle, FindBugs)
-DskipTests Skip the execution of tests
-Dmaven.test.skip=true Skip the compilation and execution of tests
-Dfeatures.verify.skip=true Skip the Karaf feature verification
-Dmarkdownlint.skip=true Skip the Markdown linting
-Dspotless.check.skip=true Skip the Spotless code style checks
-o Work offline so Maven does not download any updates
-T 1C Build in parallel, using 1 thread per core
-pl :<add-on artifactId> Build a single add-on

For example you can skip checks and tests during development with:

bash
mvn clean install -DskipChecks -DskipTests -pl :org.openhab.binding.astro

Adding these options improves the build time but could hide problems in your code. Parallel builds are also less easy to debug and the increased load may cause timing sensitive tests to fail.

Translations

Add-on translations are managed via Crowdin. The English translation is taken from the openHAB-addons GitHub repo and automatically imported in Crowdin when changes are made to the English i18n properties file. When translations are added or updated and approved in Crowdin, a pull request is automatically created by Crowdin. Therefore translations should not be edited in the openHAB-addons repo, but only in Crowdin. Otherwise translation are overridden by the automatic process.

To fill the English properties file run the following Maven command on an add-on:

bash
mvn i18n:generate-default-translations

This command can also update the file when things or channel are added or updated.

In some cases the command does not work, and requires the full plug-in name. In that case use:

bash
mvn org.openhab.core.tools:i18n-maven-plugin:5.0.0:generate-default-translations

Code Quality

To check if your code is following the code style run:

bash
mvn spotless:check

To reformat your code so it conforms to the code style you can run:

bash
mvn spotless:apply

Integration Tests

When your add-on also has an integration test in the itests directory, you may need to update the runbundles in the itest.bndrun file when the Maven dependencies change. Maven can resolve the integration test dependencies automatically by executing:

bash
mvn clean install -DwithResolver -DskipChecks

The build generates a .jar file per bundle in the respective bundle /target directory.

Troubleshooting

When having issues with running the integration tests, try the following steps:

  1. Clear the bnd cache: Remove the ~/.bnd directory.
  2. Rebuild the bom index: Execute mvn clean install in the bom directory.
  3. Rebuild the itests index: Execute mvn clean install -N in the itests directory.

How to develop via an Integrated Development Environment (IDE)

We have assembled some step-by-step guides for different IDEs on our developer documentation website:

https://www.openhab.org/docs/developer/#setup-the-development-environment

Happy coding!

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javaadd-onsjavaopenhab

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言