Commit Graph

1853 Commits

Author SHA1 Message Date
openhab-bot
2ee85a75f5
New translations voice.properties (French) (#3709) 2023-07-17 17:58:47 +02:00
lolodomo
f71137331f
[Sitemap UI] Do not break format defined in label with extra spaces (#3708)
Fix openhab/openhab-webui#1953

Fix a regression introduced by PR #3644

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-17 17:58:01 +02:00
J-N-K
66dec25571
Keep channel properties in upgrades (#3612)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-16 10:24:21 +02:00
J-N-K
9ba8e71c54
Add unit "calorie" (#3684)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-15 22:18:27 +02:00
openhab-bot
7b7ccba5bb
New translations voice.properties (Italian) (#3703) 2023-07-15 22:17:15 +02:00
J-N-K
35ca7a9a94
Fix NPE in PersistenceManager (#3704)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-15 22:16:32 +02:00
Gwendal Roulleau
07e88234c6
[voice] Add length limit to TTS handled by cache (#3699)
* [voice] Add length limit to TTS handled by cache

We can safely assume that long TTS are generated for report (meteo, chatGPT ?), probably not meant to be repeated, and so not cached.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-15 09:47:59 +02:00
J-N-K
141b7b637a
Increase large event queue warn limit (#3702)
On larger installations with 1000+ items the limit of 1000 elements in the queue is exceeded easily. Since no events are lost (they just take longer to be processed), the limit that needs to be exceeded before a warning is issued should be increased.

See reports on the forum.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-14 21:47:14 +02:00
Mark Herwege
f0c00959aa
[rest] add unit to item response (#3654)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-07-14 20:01:22 +02:00
openhab-bot
fb4f45e3e2
New Crowdin updates (#3653)
* New translations scriptprofile.properties (Hungarian)

* New translations validation.properties (Hungarian)

* New translations automation.properties (Hungarian)

* New translations lsp.properties (German)

* New translations persistence.properties (German)
2023-07-11 18:47:44 +02:00
lolodomo
f0adf76719
HTTP audio servlet: check end of play every 2 seconds (#3695)
Instead of 5s before.
It helps triggering the end of playback earlier for audio sinks in asynchronous mode.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-11 18:46:01 +02:00
lolodomo
591b16ff35
Avoid null hash warning in WatchServiceImpl when possible (#3691)
Fix #3680

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-07 20:26:12 +02:00
J-N-K
abcfe54678
Fix marketplace add-ons missing config description URI (#3688)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-06 08:26:33 +02:00
J-N-K
6a0b268c3e
Fix wrong ready marker in ScriptEngineFactoryBundleTracker (#3683)
* Fix wrong ready marker in ScriptEngineFactoryBundleTracker
* fix ready marker handling

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-06 08:25:13 +02:00
lolodomo
e9719eb577
Make firmwareStatus field not final in DTO object (#3687)
Fix #3679

If not, calls of method limitToFields by PR #3335 fails when the list of
fields does not contain firmwareStatus.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-05 21:02:24 +02:00
lolodomo
b2934ad044
Avoid warning log introduced by PR #3644 (#3686)
Fix openhab/openhab-webui#1951

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-05 20:15:10 +02:00
J-N-K
4be95788f1
Remove error logging from PersistenceIncludeFilter (#3682)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-04 07:34:27 +02:00
J-N-K
a656073352
Improve performance for state update handling (#3635)
* Improve threading in EventHandler
* refactor pagechangelistener to event
* One executor per subscriber type, not per subscriber

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-02 12:12:53 +02:00
GiviMAD
6b914162bf
[voice] Add console commands for register/unregister dialogs and list them (#3459)
* [voice] Add voice commands for register/unregister dialogs and list dialogs and dialog registrations

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-07-02 11:27:10 +02:00
Gwendal Roulleau
3ec1457583
[audio] Improve audio duration computation (#3675)
Allows the use of a Sizeable interface (for AudioStream that we know the length of, but we cannot clone). We can then improve the duration detection, for example for the pulseaudio sink (PR coming after).
We can also give the length information to sink in more cases.

Add the support of the mark / reset methods to some common AudioStream. We then allow more stream analysis for sink requiring it (Stream analysis often requires to get back in time after consuming a few bytes)

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-02 11:19:34 +02:00
Mark Herwege
5ceaa64768
[rest] Add widget state pattern and default unit to ItemUIRegistry (#3644)
* expose widget format pattern to sitemap REST
* Add unit fields to sitemap REST

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-07-02 11:03:00 +02:00
Scott Hraban
505e51210e
Always use ThingUid as the unique identifier for thing status metrics (#3674)
* Always use ThingUid as the unique identifier for thing status metrics

At bind time, ThingId was being used, but then ThingUid was being used when changes occured,
causing multiple meters to be created for the same Thing, with the status always being 0 for
the meter created at bind time.

This change uses the full ThingUid, for both binding and event processing, since ThingUid is
the globally unique value.

Fixes #3672

Signed-off-by: Scott Hraban <scotthraban@gmail.com>
2023-07-02 09:31:02 +02:00
Wouter Born
db97610111
Replace StringBuffer usages with StringBuilder (#3668)
See: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StringBuilder.html

> This class provides an API compatible with StringBuffer, but with no guarantee of synchronization.
> This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case).
> Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-06-25 17:24:46 +02:00
J-N-K
78e66745ab
Add support for things with generic channels (#3355)
* Add support for generic channels

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-25 16:22:55 +02:00
J-N-K
64fd046266
Bump spifly to 1.3.6 and asm to 9.4 to support records (#3658)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-23 10:46:43 +02:00
J-N-K
36f95bb5b5
Fix missing query prefix in JarFileAddonService (#3664)
See title. This brings the query id in-line with the other add-on services.

Also adds correct content type.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-18 21:08:47 +02:00
J-N-K
d64bd3b90b
Improve existing and add new persistence filters (#3642)
* Improve existing and add new persistence filters
* include filter

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-18 09:29:49 +02:00
J-N-K
c2e81a13fd
Upgrade XChart to 3.8.4 (#3291)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-17 11:00:39 +02:00
Gwendal Roulleau
8eddad5c76
[audio] Enhance AudioSink capabilities using the AudioServlet (#3461)
* [audio] More capabilities for AudioSink using the AudioServlet

AudioServlet can now serve all type of AudioStream multiple times by buffering data in memory or in temporary file.
Adding method to ease disposal of temporary file after playing a sound
Adding an identifyier to audio stream for further development (allow audio sink to cache computation data)

We can now send audio with a Runnable for a delayed task to be executed after. This delayed task includes temporary file deletion and volume restoration.
This is a no breaking change / no behaviour modification for other addon AudioSink, as existing AudioSink must explicitly override the old behaviour to use this capability.
Add AudioSinkSync / AudioSinkAsync abstract classes to use this capability easily.
WebAudioSink now implements this capability, with the help of a modified AudioServlet

Adding (approximative, better than nothing) sound duration computation method for MP3 and WAV.
Use this sound duration computation to guess when the async sound is finished and when to do the post process (i.e. volume restoration)

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-06-16 21:54:11 +02:00
lolodomo
f86635fe96
[rest] Add semantic tag registry + API to manage user tags (#3646)
* Add semantic tag registry + REST API to manage user tags

Related to #3619

New registry for semantic tags.
New default semantic tags provider for all built-in semantic tags.
New managed provider to add/remove/update user semantic tags.
Storage of user semantic tags in a JSON DB file.
New REST API to add/remove/update user tags in the semantic model.
New REST API to get a sub-tree of the semantic tags.

Semantic tag class annotations are removed.

Semantic tag classes are now created at runtime.
Classes Locations, Equipments, Points and Properties are removed

Static methods SemanticTags.add removed
The adding of semantic tag classes is now managed only by the tag registry.

Avoids calling static method SemanticTags.getById when possible

SemanticsMetadataProvider service now requires semanticTagRegistry to start.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-06-16 16:38:03 +02:00
Yannick Schaus
6e83d3f8de
"Cacheability" option for critical REST resources (#3335)
* Closes #3329.

This implements a new optional `cacheable` parameter for these REST endpoints:
- `/rest/items`
- `/rest/things`
- `/rest/rules`

When this parameter is set, a flat list of all elements excluding
non-cacheable fields (e.g. "state", "transformedState", "stateDescription",
"commandDescription" for items, "statusInfo", "firmwareStatus",
"properties" for things, "status" for rules) will be retrieved along with
a `Last-Modified` HTTP response header. When unknown, the Last-Modified
header will be set to the date of the request.

Also only when this parameter is set, and a `If-Modified-Since` header is
found in the request, that header will be compared to the last known
modified date for the corresponding cacheable list. The last modified date
will be reset when any change is made on the elements of the underlying
registry. If the `If-Modified-Since` date is equal or more recent than the
last modified date, then a 304 Not Modified response with no content will
be served instead of the usual 200 OK, informing the client that its
cache is still valid at the provided date.

All other request parameters will be ignored except for "metadata" in the
`/rest/items` endpoint. When a metadata selector is set, the resulting
item list will be considered like a completely different resource, i.e.
it will have its own last modified date. Regarding metadata, the approach
to invalidating last modified dates is very conservative: when any metadata
is changed, all cacheable lists of items will have their last modified date
reset even if the change was in a metadata namespace that wasn't requested.

This also implements the abovedescribed behavior for the
`/rest/ui/components/{namespace}` endpoint, but no `cacheable` parameter
is necessary. The last modified date is tracked by namespace.

Signed-off-by: Yannick Schaus <github@schaus.net>
2023-06-15 20:16:14 +02:00
J-N-K
885a8548c8
Improve community marketplace addon handler (#3641)
Allow unusual jar naming convention

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-11 22:36:34 +02:00
J-N-K
7e734b8540
Fix AuthFilter service declaration (#3651)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-11 21:22:26 +02:00
GiviMAD
e3396c9477
[websocket] Allow registering websocket adapters (#3622)
* [WebSocket] Allow register websocket handlers

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-06-10 15:35:23 +02:00
Florian Hotze
be7488958d
[sse] Add type information to state event (#3647)
* SSE Item state stream: Provide state type

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>

* Add comment for method source

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>

---------

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-06-08 14:31:34 +02:00
openhab-bot
5550ea79b2
New Crowdin updates (#3639)
* New translations audio.properties (Romanian)

* New translations addons.properties (Romanian)

* New translations i18n.properties (Romanian)

* New translations network.properties (Romanian)

* New translations marketplace.properties (Romanian)

* New translations validation.properties (Finnish)

* New translations scriptprofile.properties (French)

* New translations scriptprofile.properties (Slovenian)

* New translations validation.properties (Hebrew)

* New translations validation.properties (Polish)

* New translations validation.properties (Slovenian)

* New translations hli.properties (French)

* New translations hli.properties (Polish)

* New translations automation.properties (Hebrew)

* New translations automation.properties (Polish)
2023-05-29 14:26:59 +02:00
openhab-bot
3e8905bcb7
New Crowdin updates (#3638)
* New translations lsp.properties (Italian)

* New translations hli.properties (Italian)

* New translations addons.properties (Finnish)

* New translations automation.properties (Italian)

* New translations LanguageSupport.properties (Portuguese)
2023-05-28 13:20:05 +02:00
J-N-K
88bb76c21c
Add event information in rules for time, manual and RunRuleAction trigger (#2965)
* Add event information for time triggers

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-28 10:15:16 +02:00
J-N-K
d34b9164f7
Trigger immediately when start level already reached (#3278)
* Trigger immediately when start level already reached

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-28 10:14:03 +02:00
J-N-K
86abf68727
Fix build (#3637)
copyright outdated

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-28 09:23:24 +02:00
J-N-K
796f66a2fa
Add a ScriptEngineFactory bundle tracker (#3275)
* Add a ScriptEngineFactory bundle tracker

The `ScriptEngingeFactoryBundleTracker` tracks all bundles that provide `ScriptEngineFcatory` capabilities and sets a `ReadyMarker` if all of them are activated.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-27 21:48:16 +02:00
jimtng
6bb15b806c
Add getAllStatesSince() and getAllStatesBetween() to PersistenceExtensions (#3466)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-05-27 21:33:48 +02:00
J-N-K
7843b6872a
Add group name to GroupStateTriggerHandler (#3536)
* Add group name to GroupStateTriggerHandler

When triggering on state change/update of group member, the group is not available in the rule context (because the event is the `ItemStateChanged/UpdatedEvent` that caused the group to change/update. This adds a new element `triggeringGroup` to the rule context.

This is useful for generalized rules that trigger on different groups.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-27 21:30:34 +02:00
J-N-K
ed392eec86
[rest] Add endpoint for UoM information (#3611)
* [rest] Add endpoint for UoM information

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-27 21:10:32 +02:00
J-N-K
ee6d7b39b2
Fix NPE in WatchServiceImpl (#3633)
It was reported on the forum that in some cases the hash is null.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-27 19:19:25 +02:00
J-N-K
c6a4dd2a31
Remove package support from FeatureInstaller (#3634)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-27 19:14:48 +02:00
Andrew Fiddian-Green
4d3535a411
[ColorUtil] optimise constants; hue overflow check (#3629)
* [ColorUtil] define constants; fix hue overflow

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-05-26 10:32:29 +02:00
J-N-K
cd06e6d324
Fix event ordering for item events (#3628)
Posting the `ItemAddedEvent` after notifying the listeners results in `ItemStateUpdated/ChangedEvents` before the `ItemAddedEvent` because the state could be altered by persistence services. This is at least unexpected and can be fixed by swapping the order.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-25 19:58:11 +02:00
J-N-K
0df4857b11
Move RuleHLI service from voice to system (#3625)
This is needed to clean-up UI. The categories should be used for add-ons while core services should use `system`.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-25 08:38:59 +02:00
J-N-K
9e088f8c62
Move LSP service from misc to system (#3626)
This is needed to clean-up UI. The categories should be used for add-ons while core services should use `system`.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-25 08:37:50 +02:00
J-N-K
8e81bebd3a
Fix exception in TransformationHelper (#3627)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-25 08:36:45 +02:00
J-N-K
cd7840dc63
Add dimension RadiationSpecificActivity (#3608)
* Add dimension RadiationSpecificActivity

This can be used e.g. for radon monitoring. The unit Bq/m3 was wrongly assigned to the dimension `Density` before.

Signed-off-by: Jan N. Klug <github@klug.nrw>

* improvement

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-20 09:42:58 +02:00
J-N-K
d87007a585
Fix only first group config considered in persistence manager (#3618)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-18 11:00:45 +02:00
Hans Böhm
f92424c0b8
Add unit rpm (#3616)
Signed-off-by: Hans Böhm <h.boehm@gmx.at>
2023-05-17 11:47:53 +02:00
J-N-K
55d6d21f1f
Fix marketplace add-on services fail after upgrade (#3572)
* Fix marketplace add-on services fail after upgrade

A format change in the database (related to the introduction of addon.xml) leads to a non-migrateable and permanent error that floods the log with exceptions and malfunctions.

If such an error is detected, the database is purged and an error logged.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 20:55:17 +02:00
J-N-K
0f1f1729b7
Reduce loglevel in UnitUtils (#3609)
The log level was increased during the UoM refactoring but it turns out that a lot of code depends on failing silently. Therefore the log level is again reduced to DEBUG.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 20:50:53 +02:00
openhab-bot
08924232fc
New Crowdin updates (#3589)
* New translations DefaultSystemChannels.properties (Greek)

* New translations restauth.properties (Greek)

* New translations voice.properties (Greek)

* New translations scriptprofile.properties (Greek)

* New translations i18n.properties (Greek)

* New translations validation.properties (Italian)

* New translations validation.properties (French)

---------

Signed-off-by: J-N-K <github@klug.nrw>
Co-authored-by: J-N-K <github@klug.nrw>
2023-05-13 17:54:26 +02:00
lolodomo
e4e23e3ccb
Fix failed persistence tests (#3601) 2023-05-10 15:56:25 +02:00
J-N-K
9ef076dc6a
[uom] Add unit metadata for NumberItem (#3481)
* Add defaultUnit metadata for NumberItem

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-09 22:42:25 +02:00
J-N-K
67b80af872
Fix storing of StateDescriptionFragment in AbstractStorageBasedTypeProvider (#3598)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-09 18:10:47 +02:00
lolodomo
6af9870c50
Fix build (AbstractStorageBasedTypeProviderTest) (#3596)
Fix #3594

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-08 11:02:36 +02:00
J-N-K
8e1a2cfd0a
Add an AbstractStorageBasedTypeProvider (#3407)
* Add an AbstractDynamicTypeProvider

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-07 21:51:10 +02:00
J-N-K
960cf0c179
Improve thing updates (#3576)
* Improve thing updates

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-07 20:46:42 +02:00
J-N-K
2e00efc9bb
Allow managing persistence configurations and enable filters (#2871)
* Allow managing persistence configurations

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-07 20:33:28 +02:00
J-N-K
28ec419afd
Fix non-unique module handler identifiers (#3592)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-05 20:25:33 +02:00
J-N-K
d7ba8ad636
Improve message when rule action fails (#3593)
Also logs the full stacktrace at DEBUG level

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-05 20:16:55 +02:00
Jacob Laursen
c8464870bb
[ephemeris] Add support for overriding holiday definitions (#3573)
* Add support for overriding holiday definitions

End Danish General Prayer Day

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-02 09:11:59 +02:00
Kai Kreuzer
476975a012
Allow OnOffType as valid conversion types for HSBType and PercentType (#3588)
* Allow OnOffType as valid conversion types for HSBType and PercentType
* Add clause for supported PercentType

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-05-02 09:10:34 +02:00
J-N-K
cdab53b814
Change default imperial unit for length to inch (#3587)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-01 15:04:59 +02:00
Holger Friedrich
5e0a4ff25a
Reduce SAT warnings (#3586)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-01 09:08:26 +02:00
Holger Friedrich
a77a303dc3
Code cleanup: Use Java 17 features (#3585)
* Code cleanup: Use Java 17 features

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-01 08:27:15 +02:00
jimtng
58df2b272d
Remove GenericScriptEngineFactory (#3550)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-30 18:38:25 +02:00
Kai Kreuzer
ac0f512178
Consider auto-update veto from channel types (#3575)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-04-24 20:14:20 +02:00
jimtng
bff92e0349
Improve log message to identify profile's link (#3568) 2023-04-22 08:18:49 +02:00
GiviMAD
7cf090140c
[voice] Remove deprecated dialog methods (#3567)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-04-21 23:05:09 +02:00
Andrew Fiddian-Green
da5ac36a68
Improve precision of ColorUtil (#3542)
* [ColorUtil] add fine precision methods and tests
* [ColorUtil] set precision to 5

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-04-21 21:31:16 +02:00
jimtng
bc922022c3
[REST] List semantic tags (#3559)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-20 22:20:30 +02:00
Jacob Laursen
4349be6945
Redefine connection in addon.xsd (#3563)
* Redefine addon.xml connection
* Remove remains of author

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-20 20:36:44 +02:00
Wouter Born
3c6d855d4b
Remove redundant public and abstract modifiers from interfaces (#3560)
* Remove redundant public modifiers from interfaces
* Remove redundant abstract modifiers from interfaces

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-20 20:22:58 +02:00
lolodomo
cfb2fa1be8
Icon server: remove old style request with the state in the URL (#3548)
The state is now expected to be passed only in the "state" parameter of the request.

As a result, the icon name can now contain hyphen(s).

Closes #3543

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-04-18 10:48:39 +02:00
Holger Friedrich
769aa562a1
Code cleanup: Use Java 17 features (#3522)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-16 21:43:59 +02:00
Sami Salonen
fdea66ae75
[modbus] Fix possible NPE when connection construction fails (#3490)
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2023-04-15 16:29:36 +02:00
jimtng
7a9b76dfdf
Fix division-by-zero error in Persistence average (#3556)
* Fix division-by-zero error in Persistence average
* Add test

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 16:03:45 +02:00
jimtng
9e334497f9
Add methods to get Semantic tag synonyms and description (#3553)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 11:24:12 +02:00
J-N-K
9bbe4567f8
Fix wrong event subscription in GroupStateTrigger and ItemStateTrigger (#3533)
The `GroupStateTrigger` subscibed to `ItemStateEvent` instead of `ItemStateUpdatedEvent` (while `ItemStateTrigger` uses `ItemStateUpdatedEvent`), this is confusiing and results in different behavior of both triggers.

The `ItemStateTrigger` did not subscribe to `GroupStateUpdatedEvent` which results in the trigger not firing for group state UPDATES. This is wrong because it fires for item UPDATES and for both, group and item CHANGES.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-15 09:25:14 +02:00
J-N-K
016828ccee
Fix thing reloading from things file (#3526)
It was found that things from textual configuration are not properly updated if changes are only made in configuration or label of a channel. The reason is that for equality only uid and accepted item-type where checked.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-15 09:16:32 +02:00
J-N-K
5ca849ed88
Fix hidden files showing up in TransformationRegistry (#3532)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-15 09:11:03 +02:00
jimtng
3fc4a4c9d2
Improve logging to identify the offending link (#3554)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-15 09:04:37 +02:00
Jacob Laursen
eb6b6b9677
[oauth] Add support for custom deserialization of AccessTokenResponse (#3537)
* Add possibility to inject custom GsonBuilder

Reverts #1891

Fixes #1888

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-14 21:19:08 +02:00
jimtng
5d46377d22
Fix IndexOutOfBoundsException in ScriptEngineFactoryHelper (#3549)
* Fix IndexOutOfBoundsException in ScriptEngineFactoryHelper

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-14 18:39:20 +02:00
jimtng
4f2af88e73
Add dynamic creation of semantic tags (#3519)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-14 14:35:43 +02:00
openhab-bot
9610404ceb
New Crowdin updates (#3541)
* New translations SystemProfiles.properties (German)

* New translations scriptprofile.properties (German)

* New translations scriptprofile.properties (Hebrew)

* New translations scriptprofile.properties (Italian)

* New translations scriptprofile.properties (Polish)
2023-04-13 20:06:03 +02:00
Mark Herwege
44a146f5a8
Add Input widget to main UI sitemap configuration and REST API (#3431)
* add input widget to UI SitemapProviderImpl
* inputHint in UIComponentSitemapProvider
* add input element to REST

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-04-13 20:04:47 +02:00
spacemanspiff2007
e535510483
Return item metadata by default (#3311) 2023-04-12 22:16:59 +02:00
jimtng
fbaf992666
Add dynamic scripting-language transformation service (#3487)
* Add dynamic scripting language transformation service

This replaced SCRIPT transformation with one specific to each language

e.g. JS, RB, GROOVY, etc.

Co-authored-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-12 21:56:06 +02:00
lolodomo
fa37a467ac
Extend sitemap syntax for icon (#3378)
The icon value can now contain until 3 segments separated by a semi-column.
First segment is the icon source. Example: oh, if, iconify, material, f7, ...
Second segment is the icon set (and can be empty). Example: classic
Third segment is the icon name (and can contain hyphen). Example: temperature

In case only two segments are provided, the first segment is the icon source and the second the icon name. "classic" icon set is assumed if icon source is "oh".
In case only one segment is provided, the icon source is assumed to be the openHAB server and its classic icon set and the value is then the icon name.

Ability to surround the value with simple or double quotes is kept for better backward compatibility.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-04-12 17:42:06 +02:00
lolodomo
953c08c367
Extend item syntax for category/icon (#3539)
The icon value can now contain until 3 segments separated by a semi-column.
First segment is the icon source. Example: oh, if, iconify, material, f7, ...
Second segment is the icon set. Example: classic
Third segment is the icon name (and can contain hyphen). Example: temperature

In case only two segments are provided, the first segment is the icon source and the second the icon name. "classic" icon set is assumed if icon source is "oh".
In case only one segment is provided, the icon source is assumed to be the openHAB server and its classic icon set and the value is then the icon name.

Ability to use a string containing anything has been removed.

Related to #3052

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-04-12 17:40:24 +02:00
J-N-K
643fe49f8a
Improve log messages in ItemStateConditionHandler (#3535)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-09 11:45:00 +02:00
rimago
26daabce9c
[persistence] fix time weighting in averageSince and averageBetween (#3439)
* fix time weighting in averageSince
* add getAllStatesBetweenWithBoundaries

Signed-off-by: Florian Binder <fb@java4.info>
2023-04-08 16:43:33 +02:00
jimtng
a39beed8dc
EventLogger minor refactor (#3523)
* EventLogger minor refactor

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>

* Fix null check

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>

---------

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-07 19:47:01 +02:00
Holger Friedrich
b0b8bb547b
Reduce rounding errors of RGB/HSB conversion and enhance ColorUtil (#3479)
* HSBType: Reduce rounding errors of RGB/HSB conversion
* Move RGB to HSV conversion to ColorUtil
* Restructuring HSBType and ColorUtil

- Move RBG/HSB conversion from HSBType to ColorUtil
- Rename helper functions "hsv" to "hsb" to be consistent with HSBType
- Add parameterized tests

Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-07 18:43:01 +02:00
J-N-K
3047ed42a5
Prevent unnecessary MODIFY events in WatchServiceImpl (#3524)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-07 14:47:08 +02:00
Florian Hotze
633002c647
Fix wrong event subscription in CommunicationManager (#3529)
* Fix wrong event subscription in CommunicationManager

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-04-07 14:26:19 +02:00
J-N-K
8af908302b
Fix IllegalStateException in CommunityKaraAddonHAndler (#3528)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-07 09:44:28 +02:00
openhab-bot
4a82f5ba49
New Crowdin updates (#3509)
* New translations scriptprofile.properties (Italian)

* New translations messages.properties (German)

* New translations scriptprofile.properties (German)

* New translations scriptprofile.properties (Hebrew)

* New translations scriptprofile.properties (Polish)
2023-04-06 20:51:40 +02:00
J-N-K
ee392e861f
Fix WatchService tests (#3518)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-04 07:33:16 +02:00
Wouter Born
4851bfbcae
Fix recently introduced SAT issues (#3516)
* Fix recently introduced SAT issues

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-01 17:18:22 +02:00
J-N-K
d557a64532
Fix AbstractDependencyTracker (#3510)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-01 14:15:01 +02:00
J-N-K
8aa9e11342
Fix resource leak in SysfsUsbSerialScanner (#3513)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-01 11:32:53 +02:00
Holger Friedrich
74052e7bcd
Code cleanup: Use Java17 features (#3508)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-01 09:51:12 +02:00
jimtng
003635dbfa
Fix Semantics default synonyms (#3511)
Fix incorrect Property id

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-01 09:32:12 +02:00
J-N-K
4182980ec8
Add ItemStateUpdatedEvent and enable group channel-links (#3141)
* Add (Group)ItemStateUpdatedEvent

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-31 23:01:40 +02:00
GiviMAD
4d0dba1abc
Fix OOBE in item metadata descriptions providers (#3488)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-30 20:33:21 +02:00
J-N-K
6294c48be4
Use try-with-resources on Files.walk/Files.list (#3504)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-29 09:54:41 +02:00
jimtng
c8cc05d24b
[REST] Sort profile-type resources by their label (#3491)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-29 08:49:04 +02:00
openhab-bot
8df40bc940
New Crowdin updates (#3489)
* New translations scriptprofile.properties (Hungarian)

* New translations voice.properties (Hungarian)
2023-03-29 08:47:45 +02:00
jimtng
30bbc95506
Clarify the script profile config description (#3506)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-29 08:41:38 +02:00
GiviMAD
b6c8aeaf10
Allow using quotes in metadata state/command description value/label (#3363)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-26 19:30:21 +02:00
Mark Herwege
850a9239de
Add inputHint parameter to sitemap Input element (#3418)
* Add inputHint param to sitemap Input element

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-03-26 11:15:56 +02:00
J-N-K
8494bf1199
[config] Fix ConvigValidationMessage in ThingManagerImpl (#3474)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-24 10:13:59 +01:00
openhab-bot
ae895790ac
New Crowdin updates (#3475)
* New translations automation.properties (Hebrew)

* New translations validation.properties (German)

* New translations validation.properties (Hebrew)

* New translations scriptprofile.properties (German)

* New translations scriptprofile.properties (Finnish)

* New translations scriptprofile.properties (Hebrew)

* New translations scriptprofile.properties (Polish)
2023-03-23 20:51:43 +01:00
openhab-bot
700b0e81ea
New Crowdin updates (#3471)
* New translations scriptprofile.properties (Danish)

* New translations scriptprofile.properties (Italian)
2023-03-22 19:50:43 +01:00
J-N-K
9289fd5a78
Bump spotless and fix formatting (#3469)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-20 23:14:59 +01:00
J-N-K
7bad9baa85
Introduce a profile for the generic SCRIPT transformation (#3292)
* Introduce a generic script profile

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-20 21:59:48 +01:00
jimtng
cb38d19360
Fix variable binding in ScriptTransformationService (#3464)
by setting all attributes before compiling

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-19 20:05:49 +01:00
jimtng
1e55914e55
Improve AbstractScriptFileWatcher initialization order and file handling (#3451)
* Remove initialImport from the constructor of AbstractScriptFileWatcher
- Calling initialImport inside the constructor may cause an NPE in child class.
* Refactor processWatchEvent in AbstractScriptFileWatcher
- Remove directory deletion handling and adapt test to check
for file removals instead.
- Include hidden files in deletions in case they were previously
loaded while not hidden, set to hidden, and then deleted.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-18 09:15:20 +01:00
J-N-K
a32f1e0253
Add ColorUtil for better support of xyY conversion (#3434)
* Add ColorUtil for better support of xyY conversion

This has been refactored to align with the usually used conversion by a lot of ZigBee products like Hue or Deconz.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-16 22:25:03 +01:00
lolodomo
52e36a0216
[sitemap] Add new color keyword "itemValue" (#3453)
Closes #3429

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-03-16 18:59:10 +01:00
GiviMAD
11e29c45f7
[voice] Fix default interpreter selection (#3458)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-16 09:05:10 +01:00
J-N-K
4390d515d6
Fix file processing in FileTransformationProvider (#3457)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-16 08:52:30 +01:00
GiviMAD
f529a7b77f
[CLI/voice] use parameters for cli voice commands startDialog and listenAndAnswer (#3253)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-16 08:07:06 +01:00
Jacob Laursen
3e1c0b3259
Fix InaccessibleObjectException (#3449)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-16 08:05:37 +01:00
J-N-K
c05fe8ad4d
Fix ready marker ordering on late subscriptions (#3454)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-13 21:15:55 +01:00
Andrew Fiddian-Green
73b8a3ae32
Fix channel order in REST API (#3448)
* Fix sort order of Things in UI
* Add itest for channel order

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-13 17:26:34 +01:00
J-N-K
95e04fccbd
Allow inline scripts in SCRIPT transformation (#3249)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-12 12:00:06 +01:00
Andrew Fiddian-Green
a5d65ce2ad
Add support for Jetty HTTP/2 clients (#3433)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-12 10:22:50 +01:00
lolodomo
a3a95b5bb9
AbstractCachedTTSService: make synthesize method non final (#3437)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-03-08 22:57:26 +01:00
openhab-bot
07ffc11c87
New Crowdin updates (#3438)
* New translations automation.properties (Polish)
* New translations automation.properties (Slovenian)
* New translations DefaultSystemChannels.properties (Slovenian)
* New translations LanguageSupport.properties (Portuguese, Brazilian)
* New translations magic.properties (Slovenian)
* New translations restauth.properties (Norwegian)
* New translations restauth.properties (Slovenian)
* New translations validation.properties (Norwegian)
* New translations validation.properties (Polish)
* New translations validation.properties (Slovenian)
* New translations voice.properties (Norwegian)
* New translations voice.properties (Slovenian)
2023-03-08 22:09:07 +01:00
Wouter Born
56f5550e6b
Fix broken ProxyServletService (#3436)
Reverts the partially working Whiteboard config changes of #3252 back to a working implementation using the HttpService.
The configurable threading makes this a non-trivial Servlet for use with the Whiteboard.

Fixes openhab/openhab-webui#1782

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-08 20:07:59 +01:00
J-N-K
d0a0e6d399
Add support for channel-groups to update instructions (#3391)
* Add support for channel-groups to update instructions

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-07 21:57:39 +01:00
jimtng
f9751448c1
Fix ISE during WatchService disposal (#3432)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-07 15:43:45 +01:00
lolodomo
6d989ea6e2
Remove List element from sitemap syntax (#3423)
Related to openhab/openhab-webui#1755
Related to openhab/openhab-android#3285

This sitemap widget is not documented.

It is not implemented neither in Android app nor iOS app.

It was implemented in BasicUI but was buggy.
Support in BasicUI has been removed.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-03-05 20:48:06 +01:00
J-N-K
278e99b461
Fix IllegalStateException in WatchServiceImpl (#3389)
Added a check to prevent attempts to unregister already unregistered service

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-05 09:44:58 +01:00
J-N-K
07e8ff56c7
Prevent duplicate events in WatchService (#3404)
On Samba shares a single MODIFY event may result in different sequences of CREATE/DELETE/MODIFY events. Unfortunately this is not properly handled by the underlying library and we have to re-introduce our ugly workaround. The solution itself is a bit improved over the old one as it not only keeps the last event but determines the correct event by examining the sequence of received events.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-05 09:44:23 +01:00
Gwendal Roulleau
ac88faa5dc
[serial] Ability to use /dev/serial/ symlinks for usb serial device (#3290)
The rxtx serial port provider is now able to scan symlink in /dev/serial/by-id and use them as valid identifier.
Benefit : users won't have to fix the path of their USB serial device  with udev anymore, they can now use the explicit and stable symlink directly.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
[serial] Ability to use /dev/serial/ links

Revert previous commit (rewriting to use discovery serial service to provide the symlinks to all serial provider, and not only rxtx).
Workaround for the rxtx provider which can resolve symlink before using the native code (limit path to 80 char).

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-03-04 14:43:46 +01:00
J-N-K
52380b7fbe
[rest] List transformation services (#3416)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-02 21:36:50 +01:00
J-N-K
76a22d9925
Fix ConfigValidationException handling in ThingManager (#3417)
Also makes sure the `checkPrerequisites` job can't crash by catching `RuntimeException` during processing.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-02 21:09:47 +01:00
J-N-K
a2cdb25aaf
Fix CME in ThingManagerImpl (#3415)
If several threads try to acquire a lock for things a CME is thrown.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-02 17:54:41 +01:00
Wouter Born
d154c8bcf9
Remove org.openhab.core.addon.sample left-over (#3413)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-02 11:29:19 +01:00
Wouter Born
59c5133815
Add Eclipse Add-on Service (#3406)
This service provides add-on information when debugging in Eclipse so it is possible to add Things based on the installed bindings and configure installed add-ons in the UI.
Replaces the Sample Add-on Service.

Also shows the "Add-on Management" configuration which allows for configuring if incompatible add-ons are included.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-02 07:41:49 +01:00
Kai Kreuzer
48c44a04d8
Fix service folder resolution path (#3412)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-03-02 07:39:59 +01:00
J-N-K
9778e6cc74
Allow initialization of incomplete things (#3397)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-01 13:14:16 +01:00
jimtng
ba7c68c05e
Fix overriding Jetty's User-Agent in HttpUtil (#3411)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-01 13:10:58 +01:00
Wouter Born
ec3af50f11
Upgrade to Karaf 4.4.3 (#3252)
* Sync runtime dependencies with Karaf 4.4.3, most notably:
  * Jetty 9.4.50.v20221201
  * Pax Logging 2.2.0
  * Pax Web 8.0.15
* Use OSGi R8 as compile dependency
* Rework Servlets to use Http Whiteboard annotations in favor of proprietary `org.openhab.core.io.http.servlet` classes
* Resolve itest runbundles

Also-by: Jan N. Klug <github@klug.nrw>

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-01 13:09:07 +01:00
Gwendal Roulleau
5544945d48
[tts] Cache mechanism (#3057)
* [tts] Cache mechanism

Implements a cache mechanism for all TTS services.
Eviction policy is LRU mode.
This cache can serve several streams concurrently, for the same utterance, with only one call to the TTS. It doesn't wait for the stream to end and can serve data rapidly.
Cache size is a voice bundle parameter (10 mb default)

Closes #3039

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-02-28 08:45:44 +01:00
lolodomo
f2b8fa77c6
Extend "iconcolor" attribute to all sitemap elements (#3403)
* iconcolor attribute added to all sitemap elements

This attribute was already available in syntax for the Image element but
was probably not used by any UI.
It is now available for any sitemap element and allows defining a color
for the widget icon based on conditional statements on the item value.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-26 19:49:51 +01:00
lolodomo
8c905b108e
Fix sitemap syntax for List element (#3402)
A "&" was missing !

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-25 19:25:18 +01:00
Mark Herwege
ea20371e21
Add Input type to sitemap model (#3398)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-02-24 20:27:13 +01:00
openhab-bot
ccef3d24ff
New Crowdin updates (#3395)
* New translations DefaultSystemChannels.properties (Czech)

* New translations addons.properties (Czech)

* New translations marketplace.properties (Czech)

* New translations restauth.properties (Czech)

* New translations voice.properties (Czech)

* New translations validation.properties (Czech)
2023-02-24 20:25:02 +01:00
J-N-K
dff6f9b984
Refactor XML handling (#3385)
* Refactor XML handling for things
* integrate config.xml and improve naming

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-23 20:06:29 +01:00
J-N-K
f48200caa6
Allow access to rule summary for Role.USERS (#3392)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-21 19:31:55 +01:00
J-N-K
c739c85208
Fix AbstractScriptFileWatcher for windows (#3388)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-20 16:20:04 +01:00
lolodomo
cd45dfe9f7
New method to build a valid consumer name for a web client (#3359)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-19 17:22:00 +01:00
J-N-K
1b18831495
Fix ConfigDispatcherFileWatcher (#3384)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-19 11:47:20 +01:00
openhab-bot
0da4a226f1
New Crowdin updates (#3381)
* New translations validation.properties (Italian)

* New translations automation.properties (Hungarian)

* New translations automation.properties (Italian)
2023-02-19 11:45:13 +01:00
J-N-K
c17481c2ac
Align AbstractScriptDependencyTracker with AbstractScriptFileWatcher (#3372)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-18 09:17:59 +01:00
J-N-K
67ca7c61c3
Fix typo in RuleEnablementAction label (#3382)
Reported on Crowdin

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-18 09:17:18 +01:00
openhab-bot
ff063b93b2
New translations validation.properties (Hungarian) (#3374) 2023-02-17 06:57:16 +01:00
lolodomo
24d3055b80
Fix a typo in ItemsValidator (#3379)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-17 06:56:08 +01:00
J-N-K
d7fa5534bf
Refactor ThingManagerImpl (#3330)
* Refactor ThingManagerImpl

This

- moves config description URI to type-base class
- decouples the thing manager from bundle loading
- makes sure that all thing/channel-types and config descriptions are available when the thing is initialized
- enables thing type updates

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-15 22:03:59 +01:00
openhab-bot
7f5694856d
New Crowdin updates (#3371)
* New translations automation.properties (Polish)

* New translations automation.properties (Hebrew)

* New translations automation.properties (Italian)
2023-02-15 19:55:09 +01:00
J-N-K
35f7f3add1
Fix file-processing in AbstractScriptFileWatcher (#3369)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-14 20:38:37 +01:00
Florian Hotze
56fa0c9851
Add method overloads for PercentType to Audio & Voice actions (#3352)
* Overload Audio & Voice actions to support float in addition to PercentType for volume
* Align params in Audio & Voice actions to increase code readability
* Fix mathematical interval notation in string

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-02-14 09:10:01 +01:00
Cody Cutrer
474d24c62d
Refactor GenericEventTrigger and GenericEventCondition (#3299)
* rework GenericEventTrigger and GenericEventCondition

fixes #3234

to make their interfaces and semantics match, as well as having a
well defined (and useful) way of defining topic filters

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-02-14 09:07:23 +01:00
lolodomo
fd6e161d21
Use setpoint as default sitemap element for item with tag "Setpoint" (#3364)
* Use setpoint as default sitemap element for item with tag "Setpoint"

Fix openhab/openhab-webui#1697

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-12 19:30:29 +01:00
J-N-K
fcb8dee9a6
Improve handling of erroneous localized messages (#3366)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-12 17:04:33 +01:00
J-N-K
7f113c51bc
Refactor WatchService (#3004)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-12 14:12:22 +01:00
J-N-K
c349c0114e
Fix CME in ThingActionsResource (#3365)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-12 13:21:26 +01:00
lolodomo
f977a59ebe
Add param sslContextFactory when creating a HTTP or web socket client (#3356)
* Add param sslContextFactory when creating a HTTP or web socket client

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-12 10:45:02 +01:00
openhab-bot
1cad11a1ba
New translations LanguageSupport.properties (Portuguese) (#3353) 2023-02-12 10:43:31 +01:00
Kai Kreuzer
304617c5b7
Remove author from addon xsd (#3362)
* Remove author from addon xsd

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-02-11 19:50:05 +01:00
GiviMAD
c30e4b8eea
[voice] Support managed dialogs (#3264)
* [voice] introduce methods for dialog persistency

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-02-08 21:12:22 +01:00
J-N-K
a91b7f6425
Fix configuration for marketplace-services (#3357)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-06 19:37:56 +01:00
J-N-K
f67809a5e8
Fix CME in JarFileAddonService (#3351)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-04 15:43:45 +01:00
J-N-K
da81c6a6be
Fix AbstractScriptFilewWatcherTest (#3342)
The test only succeeded due to bad timing.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-03 20:37:48 +01:00
J-N-K
dd89d7b5a7
[persistence] Fix wrong .historicState call (#3348)
When calculating `.changedSince` the "then" state is queried via the `.historicState` method. Regardless of the `serviceId` used when calling `.changedSince` the historic state was always queried from the default persistence service.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-03 20:35:54 +01:00
Boris Krivonog
a50a0886e8
Fix parsing of YAML default value for community marketplace UI Widgets (#3334)
* fixes https://github.com/openhab/openhab-core/issues/3332

Signed-off-by: Boris Krivonog boris.krivonog@inova.si
2023-01-29 21:20:02 +01:00
Boris Krivonog
24b1cce213
Properly handle failure when parsing marketplace add-ons (#3339)
* When parsing marketplace addons, if one fails, none is loaded. This change ignores those that fail.
Signed-off-by: Boris Krivonog boris.krivonog@inova.si
2023-01-28 22:10:27 +01:00
lolodomo
9e31a41cb3
Build default doc link for misc and ui bindings (#3343)
Fix openhab/openhab-webui#1667

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-28 16:41:12 +01:00
lolodomo
14bae356c2
Consider language in KarafAddonService when creating Addon (#3341)
* [REST] Consider language when retrieving installed addons

Fix openhab/openhab-webui#1666

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-28 14:18:58 +01:00
lolodomo
c079f2cfaf
[REST] Consider language when requesting thing actions (#3337)
Fix #3303

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-26 11:06:38 +01:00
Cody Cutrer
35a70064c4
Fix CommunicationManager erroring on unusual item<->channel link (#3326)
Some bindings that dynamically create channels (mqtt.homie) might create
a channel that declares itself as Number:Dimensionless because the
end-device metadata has a unit of "%". But a savvy user might want to
link that to a Dimmer or Rollershutter item depending on what the device
actually is. This actually works just fine since QuantityType (with unit
PERCENT) and PercentType implicitly convert between each other. Except
this odd compatibility code in CommunicationManager that tries to assist
bindings that _aren't_ QuantityType compatible. It assumes if the channel's
item type is a dimensioned item, that the actual Item is a NumberItem,
and casts without checking. All this does is checks for that case to avoid
a ClassCastException.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-23 20:53:24 +01:00
J-N-K
673827733a
Fixes and enhancements for add-on services (#3293)
* Add an add-on service that provides add-ons in the addons-folder
* fix connection and countries

This is needed to show the add-ons from the addons in the UI.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-21 22:07:48 +01:00
J-N-K
1c34321cb5
[thing] Improve channel handling in ThingImpl (#3241)
* Improve channel-handling in `ThingImpl`

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-20 14:55:13 +01:00
J-N-K
dd756b8e25
Fix logger package addition in KarafAddonService (#3322)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-18 23:04:44 +01:00
J-N-K
8f9dafd1d6
Fix addon.xsd (#3320)
The namespace was missing, leading to problems in SAT

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-16 15:25:23 +01:00
Kai Kreuzer
10eb42af3f
Fix nullable errors (#3319)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-01-15 19:03:59 +01:00
J-N-K
3d54ee54d2
Introduce metadata for all add-ons (#3050)
* Introduce addon.xml

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-15 15:31:42 +01:00
Jacob Laursen
dd584779db
Improve UPNP callback removal (#3310)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-14 11:30:06 +01:00
J-N-K
ecbb854e03
Refactor AbstractScriptFileWatcher (#3255)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-12 19:37:42 +01:00
J-N-K
a09ad3d37c
Ensure metadata available at startlevel 20 (#3273)
* Ensure metadata available at start-level 20

This makes the `MetadataRegistry` report when the elements of the `ManagedMetadataProvider` is available via a ready marker (like other registries).

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-10 22:24:26 +01:00
J-N-K
fd5b451e59
Log the version/build on startup (#3270)
* Log the version/build on startup

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-10 22:13:44 +01:00
J-N-K
6cd6f6a538
Fix DateTimeTrigger not triggering on restored state (#3277)
During startup most likely the item state is `UndefType.NULL` which results in no triggering. States are restored from persistence by directly setting the item state, not by an `ItemStateEvent` and were therefore missed. Since changing the trigger is not necessary when the state updates but does not change, the event listening was changed to `ItemStateChangedEvent` only.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-10 22:11:52 +01:00
Cody Cutrer
d8a2c19609
Prevent a provider from removing elements added by another provider (#3301)
* prevent a provider from removing an element from another provider

if multiple providers provide the same element, the added callback
simply ignores the duplicates. but the provider has no idea its element
was ignored, so it may try to remove it in the future, and things will
get all out of whack if the element is removed from the registry even
if another provider thinks it's still there

this is easily reproducible by creating an item in the UI, then
creating the same item via a .items file, and then removing the item
from the .items file. The item will seem like it is gone to most
of openHAB, but will come back after reboot when the managed
provider re-adds.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-09 19:29:14 +01:00
Sami Salonen
ef34e5b0b4
QuantityType.as(PercentType.class) fixes with dimensionless units (#3297)
* QuantityType.as(PercentType.class) fixes with dimensionless units

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2023-01-05 18:51:58 +01:00
stefan-hoehn
084f9779a7
Add method to get namespaces to MetadataRegistry and ItemResource (#3298)
* add retrieve namespaces for item

Signed-off-by: Stefan Höhn <stefan.hoehn@nfon.com>
2023-01-03 18:27:17 +01:00
Cody Cutrer
8be306a5bc
Cleanup event filtering and improve EventFilter usage (#3295)
* don't use event.topics OSGi service property
* use TopicPrefixEventFilter

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-03 16:30:12 +01:00
J-N-K
8d64ecfd8d
Update license header to 2023 (#3294)
* Update license header to 2023

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-03 09:45:42 +01:00
J-N-K
062e4a1758
[rest] Allow invoking ThingActions via API (#2810)
* [rest] Allow invoking ThingActions via API

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-01 21:13:39 +01:00
Jacob Laursen
100aa6e838
Add method to DateTimeType for returning Instant (#3287)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-30 20:40:58 +01:00
Wouter Born
5e23b0e231
Fix Marketplace add-on range pattern matching (#3288)
* Fix Marketplace add-on range pattern matching

With this fix it will use the correct string for pattern matching add-on version ranges introduced in #2811.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-30 20:32:00 +01:00
J-N-K
98b4902c4a
Remove AccessController.doPrivileged calls (#3271)
The `AccessController` and the `SecurityManager` is deprecated for removal in Java 17. We don't make use of the `SecurityManager` anyway, so we can safely remove it.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-30 16:32:34 +01:00
J-N-K
d115032940
Add JavaDoc for the ThingBuilder (#3285)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-30 16:24:43 +01:00
jimtng
ab96a6ba55
[voice ]Only call getVolume when necessary (#3280)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-29 12:19:45 +01:00
Wouter Born
a3dc57784a
Remove wrong DataAmount units (#3261)
These wrong DataAmount units were added in #3208 for backwards compatibility.
In OH4 we can clean them up because this major version allows for breaking changes.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 23:51:28 +01:00
Wouter Born
80770161ac
Fix several compiler warnings (#3260)
Fixes a deprecation, unused imports and some raw type warning.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 16:41:46 +01:00
Wouter Born
7888da1684
Fix some recently introduced SAT and NPE issues (#3251)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-22 15:11:49 +01:00
Wouter Born
687688db7e
Update Eclipse .classpath files (#3250)
Also adds some missing files for recently added projects.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-22 14:14:35 +01:00
J-N-K
41ba3ff854
Raise minimum JDK version to 17 (#2994)
* Raise source level to Java 17 (except for model classes)
* Remove Nashorn script engine
* Upgrade spotless and add jvm options  
  See https://github.com/diffplug/spotless/issues/834
* Add suppression for findBugs false positive error
* Upgrade xtext to 2.29.0
* Adjust JNA
* Resolve itests

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 19:52:43 +01:00
Дилян Палаузов
d48ac20377
typo: successful (#3236) 2022-12-19 15:45:17 +01:00
J-N-K
5a9fb679ef
Remove redundant ctor in DecimalType (#3240)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 15:44:18 +01:00
J-N-K
3fc4d23734
Fix spotless and resolve itests (#3239)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 11:09:31 +01:00
openhab-bot
35254b3a0a [unleash-maven-plugin] Preparation for next development cycle. 2022-12-18 23:08:22 +00:00
openhab-bot
97299c7dcb
New Crowdin updates (#3237)
* New translations DefaultSystemChannels.properties (French)

* New translations restauth.properties (French)

* New translations voice.properties (French)
2022-12-18 14:03:51 +01:00
openhab-bot
92040d6b22
New Crowdin updates (#3229)
* New translations voice.properties (Hungarian)
* New translations automation.properties (Dutch)
2022-12-14 23:01:45 +01:00
Cody Cutrer
1d8d04f75e
Revert "Wrap ScriptEngine executions in a SafeCaller (#3180)" (#3227)
This reverts commit ff75505e70.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-13 19:16:27 +01:00
openhab-bot
d4ea62b983
New Crowdin updates (#3221)
* New translations DefaultSystemChannels.properties (Dutch)
* New translations restauth.properties (Dutch)
* New translations units.properties (Portuguese)
* New translations units.properties (Portuguese)
* New translations units.properties (Portuguese, Brazilian)
* New translations units.properties (Portuguese, Brazilian)
* New translations voice.properties (Dutch)
* New translations voice.properties (German)
* New translations voice.properties (Hebrew)
* New translations voice.properties (Italian)
* New translations voice.properties (Polish)
2022-12-12 22:23:13 +01:00
J-N-K
b842c87f98
Fix wrong websocket topics (#3223)
* Fix wrong websocket topics

The topics of the websocket event did not follow the openHAB convention of starting with `openhab/` followed by the component.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-12 20:49:42 +01:00
J-N-K
b39f735b9d
[rest] Fix missing backward compatibility in rules/runNow (#3225)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-12 20:48:45 +01:00
J-N-K
32ea8dddd0
Fix BasicAuthentication for websockets (#3219)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-12 08:56:25 +01:00
Kai Kreuzer
1523a1f2ab
Fix nullable errors in the IDE (#3220)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-11 23:17:09 +01:00
GiviMAD
e7ebc79897
[audio|voice] Add actions/commands to synthesize melodies and add configurable melody to the dialog processor (#3139)
* [voice] Add notification sounds to dialog processor
* [audio] add actions and commands to play melodies

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-12-11 16:13:59 +01:00
J-N-K
53861794de
Fix AbstractScriptFileWatcher missing deletes on Windows (#3216)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 16:11:53 +01:00
J-N-K
5bb31074b5
Fix NPE in PersistentInbox (#3215)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 15:49:09 +01:00
Cody Cutrer
e2bcdcc8f3
Allow profiles to access the entire context of the link they're applied to (#3151)
So that they can vary their processing based on the item or channeluid itself,
instead of (or in addition to) solely on the prior states passing through it.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-11 13:30:16 +01:00
jimtng
979e2c2d3e
Add countStateChangesSince/countStateChangesBetween to persistence extensions (#3211)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-11 12:55:42 +01:00
J-N-K
08d7d13c9b
Fix default unit for Energy (#3213)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 12:06:49 +01:00
J-N-K
94b8c2a540
Fix DataAmount dimension units (#3208)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 11:00:50 +01:00
Kai Kreuzer
015fed7a18
Prevent null warnings/errors in the IDE (#3209)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-11 02:02:09 +01:00
Kai Kreuzer
664fb559a4
Prevent compiler error in Eclipse due to potential null value (#3210)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-11 01:33:10 +01:00
J-N-K
0d9b678f36
Add countSince/countBetween to persistence extensions (#3145)
* Add countSince/countBetween to persistence extensions

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 00:14:06 +01:00
J-N-K
6479e4f818
[REST] allow running rules with context (#3160)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-11 00:01:46 +01:00
GiviMAD
5e6770749e
[voice] Avoid build a context to stop a dialog (#3206)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-12-10 16:48:58 +01:00
J-N-K
1b8280812b
Fix AVG calculation in GroupFunction (#3202)
Reported on the forum. Due to selection of the `RoundingMode` instead of a `MathContext` the average calculation is returning unexpected results: 19.0 °C / 19.5 °C results in 19.3 °C (instead of 19.25 °C) which might be acceptable, but 19.5 °C / 19.5 °C results in 20 °C (instead of 19.5 °C) which is obviously not what we want or expect. Setting the `MathContext` fixes this problem. I also corrected the same calculation for non-dimensional groups.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-10 16:02:35 +01:00
GiviMAD
c6b1fe266a
[voice] Use a builder to configure the dialog context and remove some deprecated method usages (#3195)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-12-10 13:49:42 +01:00
J-N-K
da2d6a8a21
Add EventWebSocket (#2891)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-10 12:28:58 +01:00
Hilbrand Bouwkamp
207c4a04da
Fix bug in migrateThingType to not call managed thing provider directly (#3162)
The `migrateThingType` call the managed thing provider directly instead of checking if it's actually a managed thing.
This check is done in the `thingUpdated` method. Changed the code so it makes the same call as in `thingUpdated`.

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-12-10 10:12:04 +01:00
J-N-K
987cf221d3
Fix timer cancellation in automation cache (#3204)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-08 21:38:32 +01:00
J-N-K
d10cae0631
Improve UoM handling (#3201)
Also-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-07 15:55:02 +01:00
Cody Cutrer
ac7378d1bb
ScriptFileWatcher fixes for entire directories (#3185)
* handle entire directories being moved in and out of a watched script path
* ensure sorted scripts when ScriptFileWatcher restarts or new directories are added

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-06 19:01:49 +01:00