Commit Graph

1083 Commits (eb3f1e92cc02869af0d96ad3a67f0471cc380355)

Author SHA1 Message Date
Dan Cunningham eb3f1e92cc
Use the mime types provided by the ScriptEngineFactory (#2595)
* Use the mime types provided by the ScriptEngineFactory and not the underlying script engines they provide. This allows mutliple versions of script engines to co-exist, like Nashorn and GraalVM .

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2021-12-13 07:13:04 +01:00
Michael Rossner 3b2d2ad4cc
[semantics] Fix typo (#2597)
* Update SemanticTags.csv

fix typo proches -- porches

Signed-off-by: Schrotti <Schrott.Micha@web.de>
2021-12-12 22:09:11 +01:00
Yannick Schaus 198e2eb405
Change the syntax for references in automation modules configuration (#2606)
Fixes #2510.

This changes the placeholder syntax used by the reference resolver notably
used in rule templates from `${reference}` to `{{reference}}`.

The former syntax is also used by other languages, notably JavaScript's
template strings, and therefore writing rule templates including JavaScript
code with template strings wouldn't behave as expected.

This also fixes a bug identified in #2510 where you couldn't have a
single closing brace before the start of the first placeholder - which
could more easily happen than having two closing braces.

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-12-12 19:20:19 +01:00
Jonathan Gilbert 2883dfbc3e
Made script file watchers reusable in preparation for language-specific versions (#2593)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-12-12 13:48:38 +01:00
Christoph Weitkamp 8f23e2f04a
Added nullness annotations to Addon related classes (#2605)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-12 10:07:05 +01:00
J-N-K 8a29b07855
[marketplace] add a 3rd Party marketplace (#2592)
* [marketplace] add a 3rd Party compatible marketplace

This adds a new marketplace addon provider which allows to add marketplaces maintained by 3rd party organizations (similar to alternative app stores on your smartphone). The configuration allows one or multiple marketplaces which provide their addons via JSON files (instead of a topic in the community forum).

Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2021-12-11 16:15:45 +01:00
Christoph Weitkamp 793ced6286
Added basic time-related classes for usage in script and ruled (#2587)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-10 23:41:08 +01:00
Yannick Schaus f641d1d6ec
[marketplace] Add add-on handler for block libraries (#2598)
Related to https://github.com/openhab/openhab-webui/pull/1225.

This add-on handler supports installing block libraries in the
UIComponentRegistry, `ui:blocks` namespace.

It is very similar to the CommunityUIWidgetAddonHandler, as the format
is the same, so are the features and implementation, the only
differences being:

- Supported content type: `application/vnd.openhab.uicomponent;type=blocks`
  (vs. `application/vnd.openhab.uicomponent;type=widget`)
- Discourse category nb.: 76 (vs. 75)
- Inferred Add-on type: "automation" (vs. "ui")

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-12-10 23:35:25 +01:00
Wouter Born 69043bea74
Use Accept-Language header for locale in ConfigurableServiceResource (#2602)
Most RESTResources already use the LocaleService to get the locale based on the Accept-Language header and use the system locale only as fallback.
Because the ConfigurableServiceResource does not do this, it results in mixed up languages whenever your browser locale is not the same as the configured system locale.

See:

* https://community.openhab.org/t/language-support-question-regional-settings-language-vs-browser-language/128010
* https://github.com/openhab/openhab-webui/issues/1083

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-10 23:33:13 +01:00
Christoph Weitkamp f30beb5aeb
Added item name to error message (#2594)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-07 17:06:19 +01:00
Wouter Born 044aad891e
Remove unnecessary executable permissions (#2591)
These files are marked as executable for no good reason at all.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-05 19:58:23 +01:00
Christoph Weitkamp eb982f430d
Fixed nullness anotations for TriggerHandlerCallback (#2589)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-04 17:48:18 +01:00
Christoph Weitkamp 3493c85e19
Added nullness anotations to TimerImpl and synchronize reschedule method (#2588)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-03 14:33:04 +01:00
Christoph Weitkamp 07ee8e6ffc
Added nullness anotations to ChannelEventTriggerHandler (#2586)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-03 14:32:05 +01:00
Christoph Weitkamp 674db6c744
Added variable 'triggeringChannel' to DSL rules (#2567)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-02 22:08:17 +01:00
Wouter Born 8c1fe60abc
Fix IllegalStateException in IconServlet (#2577)
Fixes #2529

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-28 22:01:00 +01:00
Wouter Born bb97d85d3b
Fix ConcurrentModificationException in ExpiringUserSecurityContextCache (#2579)
The issue occurs when expired entries are removed from the cache.
Also adds some unit tests in which the same issue could be reproduced.

Fixes #2528

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-26 23:06:34 +01:00
jimtng a4b737c401
Add Timer.isCancelled() method (#2570)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-23 21:51:51 +01:00
J-N-K 3e8b664085
[marketplace] avoid collisions with multiple AddonProviders (#2564)
* [marketplace] avoid collisions with multiple AddonProviders

The current implementation could result in collision of file-path and failed in determining the installation status if other AddonProviders re-use the marketplace addon handlers.

Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2021-11-23 21:49:35 +01:00
openhab-bot 598245b919
New Crowdin updates (#2566)
* New translations audio.properties (Hungarian)
* New translations DefaultSystemChannels.properties (German)
* New translations inbox.properties (Hungarian)
* New translations magic.properties (Hebrew)
* New translations magic.properties (Hungarian)
* New translations magic.properties (Italian)
* New translations marketplace.properties (Hungarian)
* New translations sitemap.properties (Hungarian)

* Fixed unit tests

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-11-21 13:06:09 +01:00
Christoph Weitkamp fea3615109
Added Magic Button triggering some events every 5 seconds (#2569)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-11-18 16:03:06 +01:00
Jan Vybíral a32844358b
Prevent shutdown of shared thread pool (#760) (#2531)
Fixes #760

Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
2021-11-15 21:13:31 +01:00
Yannick Schaus d4f62ed024
Add compilation errors & SAT GitHub annotations (#2543)
Signed-off-by: Yannick Schaus <github@schaus.net>
2021-11-13 22:13:28 +01:00
Wouter Born 917e268e68
[discovery] Add ser2net mDNS USB serial discovery (#2519)
* Add ser2net mDNS USB serial discovery

* Add support for using multiple UsbSerialDiscovery services
* Add Ser2NetUsbSerialDiscovery that can use mDNS to discover ser2net RFC2217 serial ports
* Use discovered USB ports in SerialConfigOptionProvider

mDNS discovery is supported in ser2net 4.3.0 and newer.
E.g. you can install a ser2net version that provides this using APT in Ubuntu 21.04 and Debian 11.

Example ser2net YAML configuration that allows a serial port to be discovered using mDNS discovery:

%YAML 1.1
---
connection: &con01
  accepter: telnet(rfc2217),tcp,2222
  connector: serialdev,/dev/ttyUSB0
  options:
    mdns: true
    mdns-sysattrs: true
    mdns-name: devicename

Closes #1511

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-12 23:27:50 +01:00
jimtng 5d5b7665b4
[automation] Make LifecycleScriptExtensionProvider and its Disposable interface public (#2565)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-12 21:02:27 +01:00
lolodomo 998ce26ef5
[core] Added basic exception classes which supports internationalization (#2549)
* New exception class that incorporates support for internationalization
* Add ConnectionException, CommunicationException and ConfigurationException

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-11-12 20:58:53 +01:00
jimtng 8343703406
Fix NPE on WatchQueueReader (#2563)
Signed-off-by: Jimmy Tanagra <jimmy@tanagra.id.au>
2021-11-11 09:43:24 +01:00
openhab-bot 85b0910ef1
New translations marketplace.properties (French) (#2559) 2021-11-05 19:24:21 +01:00
lolodomo 089b9d22ce
mDNS / UPnP discovery internationalization (#2547)
* mDNS / UPnP discovery internationalization

Related to #2546

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-11-03 21:35:13 +01:00
Wouter Born c4837b2c8b
WebClientFactoryImpl deprecation and blocking test fixes (#2551)
Update the WebClientFactoryImpl so it no longer uses a deprecated WebSocketClient constructor.
Use a workaround so WebClientFactoryImplTest.tearDown() cannot block forever when the commonWebSocketClient is stopped when it has not yet been fully started.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-03 21:17:58 +01:00
Christoph Weitkamp 70555c5020
Removed failing offset test (#2555)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-11-03 15:33:43 +01:00
spacemanspiff2007 abb17c1658
[rest] Align item endpoint with items endpoint (#2533)
Add option to skip members, e.g. if the goal of the request to just get the metadata of a group item

Signed-off-by: spacemanspiff2007 <git@sgerber.de>
2021-11-02 08:25:18 +01:00
openhab-bot 4ef1255e02
New Crowdin updates (#2545)
* New translations brokerConnectionInstance.properties (Portuguese, Brazilian)

* New translations sitemap.properties (Portuguese, Brazilian)

* New translations marketplace.properties (Portuguese, Brazilian)
2021-10-30 23:58:54 +02:00
Wouter Born bf81eaa1c2
Fix/suppress PMD CompareObjectsWithEquals findings (#2548)
Newer PMD versions discover more CompareObjectsWithEquals findings.

Related to https://github.com/openhab/static-code-analysis/pull/423

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-30 19:37:34 +02:00
openhab-bot 40e23e23ca
New translations brokerConnectionInstance.properties (Russian) (#2523) 2021-10-27 22:39:05 +02:00
Christoph Weitkamp f694535598
Log item name in warnings of ItemStateConditionHandler (#2540)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-10-25 22:14:06 +02:00
Wouter Born 569dddd046
Exclude JUnit 4 from Whiteboard and update imports to JUnit 5 (#2534)
* Exclude JUnit 4 from Whiteboard and update imports to JUnit 5

Excludes the transitive JUnit 4 dependency from the Aries JAX-RS Whiteboard.
The Whiteboard should not have a compile scope dependency on JUnit so I've created https://github.com/apache/aries-jax-rs-whiteboard/pull/135 to fix this.
The wrong scope has resulted in some tests using JUnit 4 imports which is also fixed in this PR.

Signed-off-by: Wouter Born <github@maindrain.net>

* Add commonly used JUnit 4 classes to forbidden packages

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-24 10:35:28 +02:00
Yannick Schaus 9d9dc70d89
Add image_link field to community marketplace invididual add-ons (#2521)
When I ported over the code from the HABPanel gallery which was also
based on Discourse topics, the image_link field that was present on
topic lists wasn't replicated on single topic entries, but now it is:

See
https://meta.discourse.org/t/single-topic-api-endpoint-should-contain-image-url/131020
3201613f13

I have confirmed the field is present on community.openhab.org.
So this should help moving the "primary image" to the place where
the logo should be in the UI.

We can prevent the same image from being displayed twice with some
measures on the Discourse posts themselves
(like have it between <details></details>).

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-10-15 17:47:54 +02:00
openhab-bot cffdcd04b3
New Crowdin updates (#2515)
* New translations brokerConnectionInstance.properties (Russian)
* New translations DefaultSystemChannels.properties (Russian)
* New translations firmware.properties (Russian)
* New translations inbox.properties (Russian)
* New translations LanguageSupport.properties (Russian)
* New translations restauth.properties (Russian)
* New translations SystemProfiles.properties (Russian)
* New translations tags.properties (Russian)
* New translations voice.properties (Russian)
2021-10-12 19:01:49 +02:00
Wouter Born fa92c20bb1
Prevent Marketplace NPE on last page without topics (#2518)
Fixes #2505

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-12 09:04:42 +02:00
Wouter Born 875ca0602e
Remove deprecated XStream.setupDefaultSecurity call (#2516)
The XStream.setupDefaultSecurity method is deprecated since XStream 1.4.18.
It no longer does anything, because this is the default in newer XStream versions.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-10 20:36:25 +02:00
Wouter Born ac842063aa
ChartServlet bug fixes and improvements (#2502)
* Improve exception handling
* Add transparent themes
* Add null annotations
* Use java.time classes instead of Date and magic numbers
* Upgrade XChart to 3.1.0
* Fix buggy legend position logic:
  Reinitialize counter to 0. So it does not work on legend position counter values of previously created charts.
  Use a local variable for the position counter instead of a field. This prevents issues when creating multiple charts simultanuously.

For XChart release notes see:

https://knowm.org/open-source/xchart/xchart-change-log/

On newer XChart versions there is an issue when using customized grid lines:

https://github.com/knowm/XChart/issues/628

Fixes #1183
Related to #2501
Supersedes #2415

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-09 18:39:17 +02:00
openhab-bot fb8308a7a0
New Crowdin updates (#2511)
* New translations chart.properties (Russian)

* New translations hli.properties (Russian)

* New translations jsonStorage.properties (Russian)

* New translations network.properties (Russian)

* New translations audio.properties (Russian)

* New translations ephemeris.properties (Russian)

* New translations persistence.properties (Russian)
2021-10-08 18:02:58 +02:00
Wouter Born 5afa5fe8e9
Fix add-on type inconsistencies (#2508)
* Fix add-on type inconsistencies

This makes the CommunityMarketplaceAddonService return the same add-on type responses as the KarafAddonService.
This allows for add-ons tagged with "io" in the Marketplace to show up in the UI.

Fixes #2507

* Update "io" tag to "misc"

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-08 18:01:49 +02:00
openhab-bot 11a96d87d6
New Crowdin updates (#2506)
* New translations addons.properties (Czech)
* New translations audio.properties (Czech)
* New translations brokerConnectionInstance.properties (Czech)
* New translations chart.properties (Czech)
* New translations DefaultSystemChannels.properties (Czech)
* New translations ephemeris.properties (Czech)
* New translations hli.properties (Czech)
* New translations i18n.properties (Czech)
* New translations inbox.properties (Czech)
* New translations jsonStorage.properties (Czech)
* New translations lsp.properties (Czech)
* New translations marketplace.properties (Czech)
* New translations marketplace.properties (Dutch)
* New translations marketplace.properties (Ukrainian)
* New translations network.properties (Czech)
* New translations persistence.properties (Czech)
* New translations restauth.properties (Czech)
* New translations sitemap.properties (Czech)
* New translations SystemProfiles.properties (Czech)
* New translations tags.properties (Czech)
* New translations voice.properties (Czech)
2021-10-05 22:49:21 +02:00
J-N-K 1d17166c79
add item name to ScriptBusEvent log messages (#2503)
Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2021-10-03 22:15:18 +02:00
J-N-K 06f8107430
replace multi-parameter constructor with builder on org.openhab.core.Addon (#2499)
Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>
2021-09-29 20:28:15 +02:00
Wouter Born ba6386d83b
Use CoreItemFactory item type constants in tests (#2497)
This prevents typos and using the constants makes it easier to find out what other items types are accepted.
It also makes it easier to see that these values are item types and not labels or descriptions.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-09-27 07:34:58 +02:00
Sami Salonen 33703532e8
[modbus] Improved error messages, fixed typos (#2492)
When modbus slave responds with explicit error code, we communicate the
user what it means. E.g. error code 2 refers to "Illegal Data Access".

In addition, fixed some simple typos discussed in
https://github.com/openhab/openhab-addons/issues/8973#issuecomment-922232756

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-09-25 20:23:01 +02:00
Wouter Born 641b92324d
Prevent NSEE when there is no AddonService (#2493)
The code was already prepared for a nullable default service and then returns a 404 not found.

Fixes #2491

Signed-off-by: Wouter Born <github@maindrain.net>
2021-09-25 20:21:53 +02:00