Add-ons for openHAB
Go to file
Luca Calcaterra 649c865c16
[souliss] Souliss Binding initial contribution (#11083)
* Initial Contribution

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update pom.xml

spotless-apply

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Renamed healty in healthy (simple word error)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

onOff to CamelCase
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* camelCase fixed on some types

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed camelCase on thhings parameters

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

fixed label cases
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Revert "Update thing-types.xml"

This reverts commit 5c19fbc69dee53f41d56a847bc82660192e0158c.

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Initial Contribution

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Fix some errors (Nullable issues) and pom.xml format

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update pom.xml

spotless-apply

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT11Handler.java

Default case on switch (handlecommand )

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* added secoresend to t31 skeleton and variable smessage fix declaration

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Initial Contribution

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update pom.xml

spotless-apply

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
Co-Authored-By: Tonino Fazio <fazioa@gmail.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

Cutted comments and uneccessary log on gw status

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Renamed healty in healthy (simple word error)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed camelCase on thhings parameters

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* cleanup and quality code fixes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissBindingUDPDecoder.java

fixed some npe

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* npe check fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissCommonCommands.java

Remove comments unused code

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissCommonCommands.java

commented out code unused

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissCommonCommands.java

remove unused code commented out
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissBindingUDPServerJob.java

remove unused code comments
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissBindingSendDispatcherJob.java

fixed logger trace and remove unused code comments
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* removed completely unnecessary comments

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed some thing types cases

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

removed unnecessary log line
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

removed unnecessary comment
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* loggers as final !

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayJobHealthy.java

removed unnecessary logs

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayJobPing.java

removed unnecessary logs
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed redundancy on types checks

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

fixed examples parms
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

changed parm var name bridge
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/src/main/java/org/openhab/binding/souliss/handler/SoulissT11Handler.java

remove comments

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/src/main/java/org/openhab/binding/souliss/handler/SoulissT12Handler.java

comments removed

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/src/main/java/org/openhab/binding/souliss/handler/SoulissT13Handler.java

comments removed

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed thing type on README and some case on xml thing types

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

cutted part about manually thing config specs on README . Who use oh already knows it .
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Code cleanup and optimizations based on @Skinah tips

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixes from @Skinah suggestions

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

Fixed typeid's on costants files

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various optimizations follow @Skinah tips (thanks!)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* spotless:apply fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixes constants and channel id types of t31

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Fix various NPE warnings

Fixes many ... Some added suppresswarnings.
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGenericActionMessage.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Refactor handlers into souliss.internal.handler

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* spoless:apply fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* spotless:apply

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fix t19 (securesend parm ,labels and setvalue)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

spotless:apply fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* spotless:apply fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Null checks Warnings removed

(mitigated with local copy of field)  - removed comments

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* syntax sugar fixed of consts and section removed from README

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* moved files to internal package

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissHandlerFactory.java

check types on object and not on strings

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various fixes based on @fwolter

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Gateway ip address regex on config param

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* changed description of gateway ip on param

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* formatted tables in README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* removed comments

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip for npe checks - breaking functionality :-(

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* spotless fix Author: Luca Calcaterra <calcaterra.luca@gmail.com>

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fix contrib header in some files

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* reworked udp - only one bridge allowed and  UDP  listen only to bridge port 230

...passing datagramsocket  with soulissnetworkparameter class

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* quite ok. Where to close socket in case of thread interruption ?

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip2

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip3 udp receive but not on vpn

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Classes names Refactor

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* replaced datagramsocket with nio socket- seems to be ok

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update UDPListenDiscoverRunnable.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Fixed some null checks removed securesend option (only t11 end similar)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* dummy initial value of raw values - removed thread on decoder line

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fix t19 ex catch and broadcast function

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Reworked Config of Gateway as Class (todo check nulls...)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Added representation property on gw - some cleanups

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

cleanup unused vars

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* refactor methods of gw parameters

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP to remove NetworkParameter class

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip refactor DiscoverResult

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip remove networkparameters

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP remove NetworkParameter Class. Things online only on a health message

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP Fix Topics

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP2 Fix topics

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update pom.xml

upgrade  binding version to 3.2 snapshot
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* topics bound to bridge - seems to be ok.

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* remove NetworkParameters class - topics ok but need parse rework

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* code cleanup and bugs check fix

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Add node and slot to property - other fixes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* change default interval subscription -cleanup constants

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP WAN Address gw

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WAN option external network. Fixed Putin on commands - to test well

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* cleanup - safesend check WIP

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed secursend for t11-18

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP Fix null checks

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGenericHandler.java

fixed wrong assignment of prop
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* null checks fixes for code quality

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixed listen port according to gw parm (default 23000)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* nuances

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

changed default values
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* CommonCommands to static - other fixes .

seems quite ok, remain T31 to fix (securesend)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update UDPListenDiscoverRunnable.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

changed executor imp for udp
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* restored commoncommands non static

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SendDispatcherRunnable.java

safesendcheck fix (not really)
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various nuances (sonarlint)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

removed explain how oh works on example
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update bundles/org.openhab.binding.souliss/src/main/feature/feature.xml

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* @fwolter various fixes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT11Handler.java

wrong header

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT11Handler.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fix headers descriptions before authors on all classes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* all var on begin of classes and @nullable sugar syntax

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* removed @nullable on local vars

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip comments translations and cleanup

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* cleanup comments and translated them (if italian occourred)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* @fwolter suggestions for approval...various fixes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various fixes based on @fwolter suggestions.

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various fixes based on @fwolter suggestions.

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayHandler.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update UDPListenDiscoverRunnable.java

hexutils usage
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT22Handler.java

removed unused method
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT22Handler.java

fix previous commit
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissT11Handler.java

@Nullable on configuration
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* method to put bridge offline (network exception on listener)

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

changed some channels to trigger type
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* WIP broken

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update thing-types.xml

spotless:apply
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* various changes

call super on initialize() of all handlers. Changed to QuantityType where appliable
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGatewayDiscovery.java

added uniqueId (ip of gateway+node+slot) as representationProperty
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* wip for load discovery component

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* big fixes and code quality improvments

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* fixes

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update SoulissGenericHandler.java

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

* Update README.md

wrong format ..

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>

Co-authored-by: Tonino Fazio <fazioa@gmail.com>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2021-10-17 13:31:36 +02:00
.github Fix Crowdin URL in issue template configuration (#10616) 2021-04-29 18:57:45 +02:00
bom [souliss] Souliss Binding initial contribution (#11083) 2021-10-17 13:31:36 +02:00
bundles [souliss] Souliss Binding initial contribution (#11083) 2021-10-17 13:31:36 +02:00
features applied spotless 2021-06-27 23:25:35 +02:00
itests [avmfritz] Added support for DECT500 and HAN-FUN bulbs (#11348) 2021-10-16 07:27:27 +02:00
licenses/epl-2.0 Codebase as of c53e4aed26 as an initial commit for the shrunk repo 2020-09-20 23:57:58 +02:00
src/etc Codebase as of c53e4aed26 as an initial commit for the shrunk repo 2020-09-20 23:57:58 +02:00
tools/static-code-analysis/checkstyle Upgrade Units of Measurement dependencies (#10583) 2021-05-11 08:31:03 +02:00
.gitattributes Fix .gitattributes (#10472) (#10504) 2021-04-11 16:36:39 +02:00
.gitignore Ignore files from openapi-generator (#11081) 2021-08-02 18:15:41 +02:00
CODEOWNERS [souliss] Souliss Binding initial contribution (#11083) 2021-10-17 13:31:36 +02:00
CONTRIBUTING.md Codebase as of c53e4aed26 as an initial commit for the shrunk repo 2020-09-20 23:57:58 +02:00
crowdin.yml Only upload properties files from i18n folder to Croedin (#10626) 2021-05-01 10:58:35 +02:00
LICENSE Codebase as of c53e4aed26 as an initial commit for the shrunk repo 2020-09-20 23:57:58 +02:00
logo.png Codebase as of c53e4aed26 as an initial commit for the shrunk repo 2020-09-20 23:57:58 +02:00
pom.xml Update bnd to 6.0.0 (#11359) 2021-10-09 19:57:33 +02:00
README.md Added Crowdin badge (#10576) 2021-04-25 11:50:48 +02:00

openHAB Add-ons

Build Status EPL-2.0 Crowdin Bountysource

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 binding 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:

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:

.
+-- bom       Maven buildsystem: Bill of materials
|   +-- openhab-addons  Lists all extensions for other repos to reference them
|   +-- ...             Other boms
|
+-- bundles   Official openHAB extensions
|   +-- org.openhab.binding.airquality
|   +-- org.openhab.binding.astro
|   +-- ...
|
+-- features  Part of the runtime dependency resolver ("Karaf features")
|
+-- itests    Integration tests. Those tests require parts of the framework to run.
|   +-- org.openhab.binding.astro.tests
|   +-- org.openhab.binding.avmfritz.tests
|   +-- ...
|
+-- src/etc   Auxilary buildsystem files: The license header for automatic checks for example
+-- tools     Static code analyser instructions
|
+-- CODEOWNERS  This file assigns people to directories so that they are informed if a pull-request
                would modify their add-ons.

Command line build

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

mvn clean install

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
-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

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

mvn clean install -DskipChecks -DskipTests

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.

To check if your code is following the code style run: mvn spotless:check To reformat your code so it conforms to the code style you can run: mvn spotless:apply

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: mvn clean install -DwithResolver -DskipChecks

The build generates a .jar file per bundle in the respective bundle /target 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!