Eclipse is the development environment used since the inception of openHAB.To make development easier an out-of-the-box setup is available that completely configures Eclipse to easily develop for the openHAB projects.This guide describes the steps to setup Eclipse and how to run and debug an add-on in Eclipse.
Existing Eclipse Installations
If you already have Eclipse installed it is recommended to perform a separate Eclipse install for OpenHAB to avoid overriding your existing Eclipse configuration.
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. MyEclipse, from Genuitec is a robust, full featured, full-stack IDE solution buzzword which also enables Angular Typescript development from within the Java-Eclipse platform using its Webclipse plug-in and Angular IDE solution. buzzword Nodeclipse is Eclipse-based IDE for Node.js development.
# Eclipse IDE Setup
Install the Java 11 JDK if you did not have it installed.
openHAB development requires Java JDK version 11.
Download the 'Eclipse Installer': can be downloaded from the Eclipse web site(opens new window)
Launch the Installer and on the menu on the top right (3 bars)
Eclipse IDE for Java Developers. Select
GitHub Projects > openHABselect
openHAB Developmentand any desired option from
openHAB Add-ons(includes all add-ons from openhab-addons repo),
openHAB ZigBee Bindingor
openHAB Z-Wave Binding.
Selection Install if Branches openHAB Development Debug/Demo Environment (Required) 2.5.x, 3.0 openHAB Add-ons Add-ons Development 2.5.x, 3.0 openHAB ZigBee Binding ZigBee Binding Development 2.5.x, 3.0 openHAB Z-Wave Binding Z-Wave Binding Development 2.5.x, 3.0 openHAB BACNet Binding BACNet Binding Development openHAB Web UIs Web UIs Development 2.5.x, 3.0 openHAB Core Framework Core Framework Development 3.0
2.5.xif you want to develop for 2.5.x.The Core Framework only has a master branch (3.0 development), which means you can no longer make Core Framework changes for a 2.5.x system.
Next>, verify/modify Root and install folder name. Click on
Show all variablesto open the window shown below.
Explanation of some of the variables
Root install folder: The base folder where the
Installation folderwill be placed.
Installation folder name: This is the directory in the root install folder everything will be installed in.
GitHub user ID: This is your GitHub user name used to configure the cloned Git projects.
Finishto start installation.
During install accept licence agreement, 'Unsigned Content' for Bndtools, and Eclipse Foundation certificates when requested to complete IDE installation.
At this point the Eclipse installer is finished and the Eclipse IDE is automatically launched to continue the installation process.
It is important, during the first Eclipse IDE launch, to leave Eclipse open until all openHAB related initial Setup tasks / Download sources / Builds are completed.
Setup tasks will personalize the IDE with openHAB code formatting tools, configurations and a demo app.Setup tasks will also download openHAB latest projects you have selected during installation. Like
openhab-distroand the add-ons
openhab-addonsproject if you have selected it.
Click bottom right button in the IDE for Progress.
After all tasks are finished you are ready to start developing.
If you need additional libraries see the Build System documentation.For other libraries supported out-of-the-box check the Default Libraries on the guidelines page.
# Working with Add-ons
To easily run, modify and debug an add-on the
openHAB Development setup installs and imports a demo project that contains a complete openHAB environment to run and debug an add-on.This mechanism replaces the add-on installation process via the UI that you would use outside the IDE.
# Running Add-ons
Infrastructure you will find the project
org.openhab.demo.app.This project contains the full configuration to run OpenHAB.The following files are of interest for the execution environment:
To let the demo project know about the add-on, the add-on must be added to the demo project
pom.xml.Here is an example for the
To run the add-on with the
app.bndrunrun configuration.Double click to open
app.bndrunfile (takes a few seconds):
Browse Repossearch for the add-on you want to run (
astroin our case) and add it to the
Run Requirementslist using drag&drop from the
If you cannot find the binding you want run/debug in the Browse Repos list, or the list is empty,then it is likely either the
pom.xmlof the demo project contains an error or there is a build problem with your project.Check if your project has no compile errors.Or run Maven on the command line to check if it reports any errors.
Save and click 'Resolve': a window with the list of resolved bundles will be shown.Click
Finishand save the file.
Watch out - it's easy to miss saving the
app.bndrunfile.If you see the little asterisk next to
apptab you haven't yet saved.
Now the IDE is ready to start openHAB with a minimum set of the openHAB core bindings, UIs and the add-ons you configured.
Start openHAB from the IDE by clicking 'Run OSGi' (upper right of the
You can check that openHAB is running with your browser by going to:
Amazon Rainforest Sunset, Ecuador A magic sunset in the Amazon Rainforest inside Yasuni national park. The Amazon rainforest and its tributaries comprise the countries of Ecuador, Peru, Bolivia, Brazil, Colombia, Suriname, Venezuela, Guyana and French Guyana. Amazon rainforest stock pictures, royalty-free photos & images. Download and use 3,000+ amazon rainforest stock photos for free. Daily thousands of new images Completely Free to Use High-quality videos and images from Pexels. Browse 15,539 amazon rainforest stock photos and images available, or search for amazon river or tropical rainforest to find more great stock photos and pictures. Mata atlantica - atlantic forest in brazil - amazon rainforest stock pictures, royalty-free photos & images. Find amazon rainforest stock images in HD and millions of other royalty-free stock photos, illustrations and vectors in the Shutterstock collection. Thousands of new, high-quality pictures added every day. Amazon rainforest images.
You can check log output in the
Consoletab at the bottom.
Check the chosen binding is active in
UI > Settings > Bindings
View all the above steps in a single animation:
# Modifying and Debugging Add-ons
If you don't just want to run an add-on, but also want to modify and debug it you need to install sources for the add-on and build them locally.
Sources are installed by cloning the openHAB Add-ons(opens new window) repository.If you select
openHAB Add-onsduring installation the installer automatically clones the openHAB Add-ons(opens new window) repository into
gitopenhab-addonsunder your installation folder.
If you didn't install
openHAB Add-onsyou can manually clone the openHAB Add-ons(opens new window) repository by executing
git clone https://github.com/openhab/openhab-addons.gitin the
gitfolder under your installation folder.
You can now modify add-on sources as needed.
Add the add-on as an Eclipse project so that Eclipse will build it automatically.Import the add-on project via
File > Import.. > Maven > Existing Maven Projects.Specify your add-on's source root folder (e.g.
gitopenhab-addonsbundlesorg.openhab.binding.astrounder the installation folder) as the root folder in the wizard.
Start a Debug Session
Simply start your debug session by clicking 'Debug OSGi' (upper right of the
app.bndrunwindow).You can now use breakpoints and all other Eclipse debug tools.
Where do add-on jar files come from?
If you just run an add-on following the above steps then the required add-on jar files are retrieved through your Maven repository folder
.m2repositoryorgopenhabaddonsbundlesorg.openhab.binding.astro).If you imported your add-on as a project then the jar file is no longer retrieved from the Maven repository, but instead from the project build (e.g.
gitopenhab-addonsbundlesorg.openhab.binding.astrotarget under the installation folder).
# Using New Bindings
If you want to develop a new binding read about the Skeleton Script to generate the base for your binding and create all required files.Then follow the above steps to build your sources and to configure the demo app to run your binding.
# Updating OpenHAB
You can update the OpenHAB version you are running in the IDE at any time simply by updating your git repos under your install folder.For example to update to the latest version run
git checkout in each repo folder under your
git folder in the installation folder.