Commit Graph
3393 Commits
Author SHA1 Message Date
Mark HerwegeandGitHub a9754957a8 Fix managed sitemap rules (#5551)
* fix managed sitemap conditions

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-05-11 14:57:30 +02:00
lolodomoandGitHub 980f09d1fa Fix keyword-identifier collisions in DSL rules (#5567)
Fix #5498

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-11 14:25:30 +02:00
Holger FriedrichandGitHub 18c26c07af Upgrade Eclipse Equinox dependencies (#5555)
* Upgrade Eclipse Equinox dependencies

* Upgrade org.eclipse.equinox.metatype from 1.6.400 to 1.6.900
* Upgrade org.eclipse.equinox.event from 1.6.300 to 1.7.300
* Upgrade org.eclipse.equinox.log.stream from 1.1.200 to 1.2.100

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>

* resolve

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>

---------

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-05-09 10:53:32 +02:00
Holger FriedrichandGitHub 7d339d8da9 Bump logback to 1.5.32 (#5553)
* Upgrade logback-classic from 1.5.27 to 1.5.32
* Upgrade logback-core from 1.5.27 to 1.5.32

This aligns with pax web 2.3.3 used in Karaf 4.4.11.

Follow-up to 5510.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-05-09 10:52:37 +02:00
Holger FriedrichandGitHub 41cb074e55 Upgrade hivemq-mqtt-client to 1.3.14 (#5554)
* Upgrade hivemq-mqtt-client from 1.3.12 to 1.3.14,
  changelog:
  https://github.com/hivemq/hivemq-mqtt-client/releases/tag/v1.3.13
  https://github.com/hivemq/hivemq-mqtt-client/releases/tag/v1.3.14
* Upgrade netty from 4.1.130 to 4.1.133,
  changelog:
  https://netty.io/news/2026/02/06/4-1-131-Final.html
  https://netty.io/news/2026/03/24/4-1-132-Final.html
  https://netty.io/news/2026/05/04/4-1-133-Final.html

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-05-09 10:51:52 +02:00
openhab-botandGitHub d1927f5f2b New Crowdin updates (#5548)
* New translations tags.properties (Italian)
* New translations voice.properties (Italian)
* New translations magic.properties (Italian)
* New translations messages.properties (Italian)
* New translations automation.properties (Italian)
2026-05-07 20:10:26 +02:00
lolodomoandGitHub 7da2f48b2d Fix coding of sitemap page/widget id to remain compatible with REST API (#5547)
Fix #5546

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-07 01:20:59 +02:00
jimtngandGitHub ba06ad86f3 Add wildcard support for ChannelEventTriggerHandler (#5512)
* Add wildcard support for ChannelEventTriggerHandler
* Fix event matching on wildcard channel and add relevant tests
* Add negative match test for wildcard filter
* Check against null and blank channelUID configuration

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2026-05-06 19:52:13 +02:00
Дилян ПалаузовandGitHub bd23e475d8 RulesJvmModelInferrer: do not add things as possibly valid identifiers in DSL Rules (#5519)
as they contain colon and colon invalidates the ID in Xbase.
2026-05-06 19:40:25 +02:00
Holger FriedrichandGitHub d98954b97a Upgrade Karaf to 4.4.11 (#5510)
* Upgrade Karaf dependencies and libraries

Upgrade Karaf-related dependencies and several libraries.
This includes upgrades for the following libraries:

* jackson from 2.21.1 to 2.21.2
* pax-logging from 2.3.2 to 2.3.3
* org.eclipse.osgi from 3.18.0 to 3.24.0
* org.apache.felix.scr from 2.2.6 to 2.2.18
* org.ow2.asm from 9.9 to 9.9.1
* org.apache.groovy:groovy-all from 5.0.5 to 5.0.25
* org.eclipse.equinox.common from 3.19.0 to 3.20.300
* org.eclipse.equinox.registry from 3.12.0 to 3.12.600
* bndtools/biz.aQute.tester.junit-platform from 7.2.1 to 7.2.3
* org.ops4j.pax.logging.pax-logging-api from 2.3.2 to 2.3.3
* xtext/xtend requirements from 2.41.0 to 2.43.0.M1
* lsp4j from 0.24.0 to 1.0.0
* commons-io from 2.21.0 to 2.22.0

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-05-06 19:35:52 +02:00
Jacob LaursenandGitHub ec6cdb1147 Fix config deserialization for records (#5458)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2026-05-05 21:51:25 +02:00
055259bd2e Rule UID syntax validation (#5467)
* Add a validity check for the rule UID

A valid rule UID must consist of one or several segments separated by a colon, each segment must only contain alphanumeric, underscore or hyphen, and must not contain any other symbols.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>

* Apply UID validation to YAML rules

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Alternatives

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Implement RulesValidator in Java instead

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Workaround to let specific errors fail rule parsing while others are just a warning

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Alternative way to express model validation expression

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Enforce rule UID in RuleRegistry

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Apply my preferred alternative

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review feedback

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Add tests for RuleUtil

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

* Address review comments

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>

---------

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
Co-authored-by: Ravi Nadahar <nadahar@rediffmail.com>
2026-05-05 20:45:04 +02:00
lolodomoandGitHub af347ff26a Accept any number of sub-widgets in a sitemap frame/page (#5466)
* Accept any number of sub-widgets in a sitemap frame/page

The previous limit was 100.

Widget id coding is enhanced to support any size.
Old coding is still supported.

Closes #5434

Signed-off-by: Laurent Garnier <lg.hc@free.fr>

* Simplify how is built the widget id (no need to retry)

Signed-off-by: Laurent Garnier <lg.hc@free.fr>

---------

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-05 18:52:31 +02:00
lolodomoandGitHub 05bfe08484 Add line number to validation errors/warnings in DSL thing provider (#5433)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-05 18:28:20 +02:00
Дилян ПалаузовandGitHub b76a02c64e DSL Scripts and Rules: allow usage of org.openhab.core.automation.RuleManager (#5484) 2026-05-04 21:04:09 +02:00
Mark HerwegeandGitHub f9c91218d1 Reduce log level for loading/unloading isolated models (#5539)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-05-04 16:51:59 +02:00
Florian HotzeandGitHub da0e1de29b [rest] PersistenceResource: Support transforming states to display states (#5518)
* Extract displayState calculation from SseItemStatesEventBuilder to utility class
* [rest] PersistenceResource: Support transforming states to display states
* ItemDisplayStateUtil: Extract state transformation into dedicated method
* ItemUIRegistryImpl: Use transform method from ItemDisplayStateUtil

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2026-05-03 21:29:52 +02:00
Дилян ПалаузовandGitHub 08634b6584 Generate{Item,Persistence,Sitemap,Thing}.mwe2: do not create Generator.xtend (#5508) 2026-05-03 13:26:02 +02:00
lolodomoandGitHub 4b540a2997 Sitemap YAML serialization and parsing (#5482)
* Sitemap YAML serialization and parsing

This PR creates a new YAML format for sitemaps.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-03 08:15:38 +02:00
lolodomoandGitHub 5c0087ec8f Do not set offset in rule condition when not set in DSL file (#5535)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-02 22:14:52 +02:00
lolodomoandGitHub 3084fcb7af Deprecate defining buttons as properties of a Butongrid widget (#5530)
* Deprecate defining buttons as properties of a Butongrid widget

Remove specific related objects from core sitemap registry.

For backward compatibility, such buttons definition present in existing user sitemaps are automatically replaced by Button sub-widgets. A warning is logged to announce the deprecation when such definition is encountered.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-02 09:29:56 +02:00
lolodomoandGitHub e83cde5e9b Allow multiple sitemaps in a DSL file (#5531)
New file extension ".sitemaps" is added.
A .sitemaps file can contain one or several sitemap definitions.
.sitemap extension is kept for backward compatibility.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-02 09:28:07 +02:00
github-actions[bot]andGitHub 477a022083 Update maven wrapper to 3.9.15 (#5534) 2026-05-01 22:43:54 +02:00
lolodomoandGitHub 832a35c11d Serialize row/column as first properties of a Button widget (DSL sitemap) (#5533)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-01 22:00:46 +02:00
lolodomoandGitHub f7681c08f8 Avoid DSL sitemap serializer generating "forceAsItem=false" (#5532)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-05-01 21:39:38 +02:00
jimtngandGitHub be7f1ebd84 Add file-based YAML support for UI pages and widgets (#5493)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2026-05-01 18:27:42 +02:00
Holger FriedrichandGitHub 392241a029 [GHA] Fix mvnw checksum pinning (#5500)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-04-30 21:35:52 +02:00
Mark HerwegeandGitHub 4d6454c632 allow DSL empty sitemap (#5526)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-04-30 21:30:04 +02:00
Mark HerwegeandGitHub 2da9958f50 Fix conditions parsing in managed sitemaps (#5513)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-04-27 23:33:38 +02:00
Дилян ПалаузовandGitHub 470638997e ThingValidator.xtend does not need INVALID_NAME (#5521)
- ThingValidator.xtend does not need INVALID_NAME
- .mwe2:StandardLanguage: `serializer = { generateStub = true }` is the default
2026-04-27 22:15:27 +02:00
openhab-botandGitHub 3899037336 New translations tags.properties (German) (#5524) 2026-04-27 22:00:22 +02:00
Mark HerwegeandGitHub b37cf7289e make all sitemap DTOs schema names specific to Sitemaps (#5523)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-04-27 17:11:26 +02:00
lsiepelandGitHub 9b2a1b1609 Align thread calculation with Jetty (#5516)
Scale maximum number of threads to avoid Jetty errors on CPUs with a large number of threads.
2026-04-27 16:18:14 +02:00
jimtngandGitHub 64253e54a8 Prune orphaned entries in automation_rules_disabled.json on start up (#5514)
* Prune orphaned entries in automation_rules_disabled.json on start up
* Configurable startup delay
* Wait for removal in case rules are being reloaded

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2026-04-27 12:36:12 +02:00
jimtngandGitHub fb8e12efce Improve consistency of channelID / channelUID param documentation (#5520)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2026-04-27 10:41:39 +02:00
Mark HerwegeandGitHub 1e33058bb7 remove uicomponents identifier for sitemaps (#5505)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-04-24 09:25:08 +02:00
NadaharandGitHub 0926c54c1e Rule conversion preparation (#5502)
* Make YAML Rule and RuleTemplate providers handle isolated models
* Fix bug from #4633
* TemplateState was originally (during #4718 development) called TemplateStatus, and when changed, not every reference was included, which is corrected here
* Add a new constructor to RuleBuilder that allows to make a "copy" of a Rule using a new UID, and add Javadocs to the constructors
* Remove remnants of pre #4718 logic in Rule Javadocs
* Make StateAndCommandProvider sets immutable and all getters static
* Add /src.moved/ to .gitignore because it appears there after every build, constantly causing diffs.
* Use the new constants in ModuleTypeAliases and fix a bug in typeToAlias()
* Minor refactoring of rule template resolving
* Correct ConfigDescriptionParameter Javadoc and create toString() in ModuleImpl to ease debugging

Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>
2026-04-23 15:06:02 +02:00
lolodomoandGitHub 7d99e35439 Adjust syntax for conditions in DSL Rule (#5501)
Fix #5488
Fix #5489

Also avoids the 'a' keyword.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2026-04-23 08:55:21 +02:00
Holger FriedrichandGitHub eb87e75200 Fix boucycastle upgrade (#5507)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2026-04-21 23:17:57 +02:00
Дилян ПалаузовandGitHub aa3ba46d09 Generate{Rule,Script}.mwe2: do not create ScopeProvider.xtend stubs (#5506) 2026-04-21 15:01:30 +02:00
Дилян ПалаузовandGitHub 383c5fd43f Generate{Persistence,Rule,Script}.mwe2: do not generate Validator.xtend stubs (#5503) 2026-04-20 20:26:10 +02:00
github-actions[bot]andGitHub 511d4a194e Resolve itest dependencies (#5499) 2026-04-19 01:14:45 +02:00
Mark HerwegeandGitHub 0f8df85557 Sitemap DSL serialization and parsing (#5459)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2026-04-18 12:38:18 +02:00
Kai KreuzerandGitHub 9fd8692891 Add support for HTTP401 in OAuth connector (#5432)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2026-04-18 07:06:52 +02:00
dependabot[bot]andGitHub eb6ed9b442 Bump org.bouncycastle:bcprov-jdk18on from 1.83 to 1.84 in /bom/runtime (#5497)
Bumps [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.83 to 1.84.
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-18 05:20:31 +02:00
github-actions[bot]andGitHub 32a1370863 Update maven wrapper to 3.9.15 (#5496) 2026-04-18 05:15:35 +02:00
dependabot[bot]andGitHub c1c5952dde Bump org.bouncycastle:bcpkix-jdk18on (#5494)
Bumps [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) from 1.83 to 1.84.
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 08:01:47 +02:00
NadaharandGitHub 2960545bd1 Fix Operator definition in Rules.xtext (#5491)
Signed-off-by: Nadahar <Nadahar@users.noreply.github.com>
2026-04-16 16:55:31 +02:00
lolodomoandGitHub d405504e22 Add optional rule UID to DSL Rule file syntax (#5449)
* add optional rule UID to DSL file syntax
* avoid notifying the rule registry for isolated models
* check other model files for rule with same name before rule removal

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Also-by: Ravi Nadahar <nadahar@rediffmail.com>
2026-04-15 22:54:49 +02:00
Дилян ПалаузовandGitHub 911e102341 model.rule.runtime/RuleContextHelper.getContext() - initialize logger and injector only when they are needed (#5485)
FTR: small patch exception
2026-04-13 12:04:58 +02:00