Commit Graph

1186 Commits

Author SHA1 Message Date
openhab-bot
a52bb42481
New Crowdin updates (#2390)
* New translations network.properties (French)

* New translations restauth.properties (French)
2021-05-30 10:15:05 +02:00
openhab-bot
0ffb5aad72
New Crowdin updates (#2387)
* New translations restauth.properties (French)

* New translations i18n.properties (French)

* New translations network.properties (French)
2021-05-30 08:10:24 +02:00
openhab-bot
e2511cd894
New Crowdin updates (#2375)
* New translations persistence.properties (French)

* New translations lsp.properties (French)

* New translations jsonStorage.properties (French)

* New translations chart.properties (French)

* New translations SystemProfiles.properties (Hebrew)

* New translations SystemProfiles.properties (Italian)

* New translations SystemProfiles.properties (German)

* Update source file SystemProfiles.properties

* New translations SystemProfiles.properties (German)

* New translations SystemProfiles.properties (Dutch)

* New translations SystemProfiles.properties (Finnish)

* New translations audio.properties (Polish)

* New translations lsp.properties (Polish)

* New translations hli.properties (Polish)

* New translations persistence.properties (Polish)

* New translations network.properties (Polish)

* New translations i18n.properties (Polish)

* New translations chart.properties (Polish)

* New translations jsonStorage.properties (Polish)

* New translations addons.properties (Polish)

* New translations restauth.properties (Polish)

* New translations ephemeris.properties (Polish)

* New translations voice.properties (Polish)

* New translations inbox.properties (Polish)

* New translations inbox.properties (Hungarian)

* New translations ephemeris.properties (Hungarian)

* New translations restauth.properties (Hungarian)

* New translations addons.properties (Hungarian)

* New translations jsonStorage.properties (Hungarian)

* New translations voice.properties (Hungarian)

* New translations i18n.properties (Hungarian)

* New translations lsp.properties (Hungarian)

* New translations brokerConnectionInstance.properties (Hungarian)

* New translations hli.properties (Hungarian)

* New translations inbox.properties (French)

* New translations addons.properties (French)

* New translations audio.properties (French)

* New translations SystemProfiles.properties (Hungarian)

* New translations SystemProfiles.properties (Polish)

* New translations ephemeris.properties (French)
2021-05-27 17:44:29 +02:00
Kai Kreuzer
0343f44601
[automation] add tags to item modules (#2378)
* add tags to item modules
* made state/command configuration optional

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-05-25 16:39:31 +02:00
Christoph Weitkamp
d43106c016
Added "timestamp-trigger" Profile (#2364)
* Added Timestamp on Trigger Profile

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-23 22:43:27 +02:00
openhab-bot
37d88a41fd
New Crowdin updates (#2366)
* New translations SystemProfiles.properties (German)

* New translations SystemProfiles.properties (Hebrew)

* New translations SystemProfiles.properties (Dutch)

* New translations SystemProfiles.properties (Italian)

* New translations SystemProfiles.properties (Finnish)

* New translations SystemProfiles.properties (Hebrew)

* New translations SystemProfiles.properties (Italian)

* New translations SystemProfiles.properties (Dutch)
2021-05-21 15:36:52 +02:00
Yannick Schaus
66149659ca
[automation] Remove readOnly flag on script type parameter (#2373)
Not sure if there's a good rationale behind it being read-only (maybe because it's not supposed to change after having been set) but removing it will fix https://github.com/openhab/openhab-webui/issues/1061.

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-05-20 20:39:32 +02:00
Wouter Born
696ebacdc7
Rework thrown exceptions for DecimalType, PercentType and QuantityType (#2374)
Throw NumberFormatException when numbers are invalid and cannot be parsed to BigDecimals.
Add JavaDocs to document when which exception is thrown.
Add more unit tests to cover the thrown exceptions.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-20 20:37:46 +02:00
Wouter Born
3c30177269
Support parsing localized strings with DecimalType, PercentType and QuantityType (#2365)
Adds constructors with a Locale parameter for parsing localized string to DecimalType, PercentType and QuantityType.
This allows for parsing locale specific group and decimal seperators in strings.

Also fixes:
* IllegalArgumentException not being thrown if numbers in strings are only partially parsed as QuantityType
* MeasurementParseException not caught and rethrown as IllegalArgumentException

Several new unit tests cover the new functionality and fixed regressions.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-19 21:21:22 +02:00
Christoph Weitkamp
0c3f8c6105
[profiles] Log warning if profile cannot be created (#2368)
* Log warning if profile cannot be created e.g. if there is a spelling mistake

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-18 16:10:04 +02:00
Christoph Weitkamp
4309fb2d53
Remove update of timestamp on Change/Update for Item update (#2353)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-18 11:05:06 +02:00
Sami Salonen
763cda0ba4
[modbus] more clear error messages (#2330)
Bumping jamod to 1.3.4.OH

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-05-17 22:14:27 +02:00
lolodomo
a3d5f3e8dc
[REST] inbox/approve: new response code 400 (#2343)
Related to openhab/openhab-webui#1035

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-05-17 21:13:40 +02:00
Christoph Weitkamp
22cbc9a08a
Catch MeasurementParseException in UnitUtils.parseUnit(String) method (#2367)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-16 19:43:58 +02:00
Christoph Weitkamp
ba53e8a08d
[profiles] Added "timestamp-offset" Profile (#2351)
* Added timestamp-offset Profile
* Fix RAWBUTTON_TOGGLE_ROLLERSHUTTER Profile

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-15 19:39:24 +02:00
Christoph Weitkamp
66525afce6
Expose Channel Type UIDs of default System Channel Types (#2361)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-14 12:21:27 +02:00
Wouter Born
568881a678
Fix decimal separator issues when creating QuantityType from String (#2362)
* Fix decimal separator issues when creating QuantityType from String

Fixes #2360

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-14 09:11:25 +02:00
Brian Warner
a8f469e5e7
Display raw item state when formatting fails (#2349)
* Display raw item state when formatting fails

With the addition of Profiles, there are situations where a Channel sends format information that
does not match the type. For example, "Timestamp on update" always sends a DateTime, but the channel
may specify a different format (e.g., if it is a battery level, "%.0f %%"). In such a case, we
attempt to format the DateTime according to the pattern, it (predictably and correctly) fails, and
this results in an error in the UI and a warning in the log.

While this is an expected error if a user uses an incorrect format code in an Item's metadata (user
error), it is somewhat unexpected if a user is choosing an option as presented in the UI. Because
this is purely a formatting issue, one solution is to direct users to add a formatting code if they
see an error. However, the disadvantage of this approach is that it doesn't work "out of the box."

This patch attempts to address the issue by displaying the raw Item state when formatting fails
instead of displaying "Err". This should provide a more balanced approach with a predictable
outcome. In addition, when a user is intentionally changing the pattern via metadata and gets it
wrong, they should still see info in the log that helps them get to the root of the problem, but
I've changed it from warn to info so it will be a little less noisy for those who choose to ignore
it.

This solution was discussed in https://github.com/openhab/openhab-core/issues/2037 and
https://community.openhab.org/t/timestamps-not-rendering-consistently-in-ui-3-0-2/121891/2

Thank you to @Rossko57 and @cweitkamp for their help in figuring it out, and in suggesting the
solution.

Signed-off-by: Brian Warner <brian@bdwarner.com>
2021-05-13 09:44:51 +02:00
openhab-bot
ff1d702f5d
New Crowdin updates (#2352)
* New translations audio.properties (Hungarian)
* New translations audio.properties (Portuguese, Brazilian)
* New translations brokerConnectionInstance.properties (Dutch)
* New translations brokerConnectionInstance.properties (Finnish)
* New translations brokerConnectionInstance.properties (Hebrew)
* New translations brokerConnectionInstance.properties (Italian)
* New translations brokerConnectionInstance.properties (Ukrainian)
* New translations chart.properties (Hungarian)
* New translations ephemeris.properties (Portuguese, Brazilian)
* New translations hli.properties (Ukrainian)
* New translations i18n.properties (Portuguese, Brazilian)
* New translations inbox.properties (Portuguese, Brazilian)
* New translations lsp.properties (Ukrainian)
* New translations network.properties (Hungarian)
* New translations network.properties (Portuguese, Brazilian)
* New translations persistence.properties (Hungarian)
* New translations restauth.properties (Portuguese, Brazilian)
2021-05-12 18:59:30 +02:00
Wouter Born
0e9cecc29b
Fix unstable CronSchedulerImplTest (#2354)
This test would often fail when the system is under load.

Fixes #1242

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-11 19:54:33 +02:00
Wouter Born
e124ad4fec
Fix unstable MqttBrokerConnectionTests (#2358)
The timeoutWhenNotReachable test often fails on systems with a lot of load.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-11 19:53:47 +02:00
Wouter Born
91307993ad
Upgrade Units of Measurement dependencies (#2319)
Upgrades UoM dependencies to:

* javax.measure 2.1.2
* si-units 2.0.1
* indriya 2.1.2

An openHAB OSGi-ified si-units bundle is used as runtime dependency, because the latest si-units release is still missing proper OSGi manifest headers.

Notable changes:

* Quantity not longer implements an `equals` method, so the unit tests had to be adjusted. This should have any impact outside of the unit tests though since the rest of openHAB should be using QuantityType instead.
* RationalConverter is not package private, so instances of it much be created through the MultiplyConverter static functions.
* Quantities.getQuantity can no longer parse values without units like `100`. A workaround has been implemented.
* The unicode greek `mu` letter is now returned for unit prefixes instead of the unicode `micro` character. These characters are visually identical but the unit tests had to be adjusted. The new library seems to parse both types just fine.

Also-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>
Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-10 20:54:25 +02:00
Mark Herwege
527f2c3565
Implement hostnameValidated flag for secure MQTT connections (#2348)
Fixes #2346

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2021-05-10 11:19:52 +02:00
Christoph Weitkamp
aa48f5990e
Added Channel of DateTimeType (#2347)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-06 22:11:30 +02:00
openhab-bot
305683ac6a
New Crowdin updates (#2339)
* New translations restauth.properties (Hebrew)

* New translations addons.properties (Hebrew)

* New translations jsonStorage.properties (Hebrew)

* New translations chart.properties (Hebrew)

* New translations DefaultSystemChannels.properties (Polish)

* New translations LanguageSupport.properties (Polish)

* New translations audio.properties (Polish)

* New translations voice.properties (Polish)

* New translations SystemProfiles.properties (Polish)

* New translations units.properties (Polish)

* New translations validation.properties (Polish)

* New translations validation.properties (Finnish)

* New translations messages.properties (Polish)

* New translations tags.properties (Polish)

* New translations firmware.properties (Polish)

* New translations chart.properties (Polish)

* New translations inbox.properties (Polish)

* New translations ephemeris.properties (Polish)

* New translations restauth.properties (Polish)

* New translations addons.properties (Polish)

* New translations persistence.properties (Polish)

* New translations jsonStorage.properties (Polish)

* New translations network.properties (Polish)

* New translations i18n.properties (Polish)

* New translations jsonStorage.properties (Finnish)

* New translations i18n.properties (Finnish)

* New translations network.properties (Finnish)

* New translations voice.properties (Dutch)

* New translations persistence.properties (Dutch)

* New translations addons.properties (Dutch)

* New translations restauth.properties (Dutch)

* New translations ephemeris.properties (Dutch)

* New translations inbox.properties (Dutch)

* New translations audio.properties (Dutch)

* New translations hli.properties (Dutch)

* New translations brokerConnectionInstance.properties (Dutch)

* New translations lsp.properties (Dutch)

* New translations jsonStorage.properties (Dutch)

* New translations chart.properties (Dutch)

* New translations i18n.properties (Dutch)

* New translations network.properties (Dutch)

* New translations DefaultSystemChannels.properties (Italian)

* New translations audio.properties (Ukrainian)

* New translations inbox.properties (Ukrainian)

* New translations restauth.properties (Ukrainian)

* New translations addons.properties (Ukrainian)

* New translations i18n.properties (Ukrainian)

* New translations network.properties (Ukrainian)

* New translations lsp.properties (Italian)

* New translations lsp.properties (German)

* New translations lsp.properties (Finnish)

* New translations lsp.properties (Hebrew)

* New translations hli.properties (German)

* New translations hli.properties (Finnish)

* New translations hli.properties (Hebrew)

* New translations hli.properties (Italian)

* New translations brokerConnectionInstance.properties (Italian)

* New translations brokerConnectionInstance.properties (Hebrew)

* New translations brokerConnectionInstance.properties (Finnish)

* New translations jsonStorage.properties (German)

* New translations jsonStorage.properties (Spanish)

* New translations network.properties (Spanish)

* New translations tags.properties (Italian)

* New translations voice.properties (Hebrew)

* New translations i18n.properties (Hebrew)

* New translations network.properties (Hebrew)

* New translations jsonStorage.properties (Hebrew)

* New translations chart.properties (Hebrew)

* New translations persistence.properties (Hebrew)

* New translations inbox.properties (Italian)

* New translations jsonStorage.properties (Finnish)

* New translations audio.properties (Finnish)

* New translations inbox.properties (Finnish)

* New translations ephemeris.properties (Finnish)

* New translations restauth.properties (Finnish)

* New translations addons.properties (Finnish)

* New translations persistence.properties (Finnish)

* New translations chart.properties (Finnish)

* New translations addons.properties (Hebrew)

* New translations voice.properties (Finnish)

* New translations i18n.properties (Finnish)

* New translations network.properties (Finnish)

* New translations audio.properties (Hebrew)

* New translations inbox.properties (Hebrew)

* New translations ephemeris.properties (Hebrew)

* New translations restauth.properties (Hebrew)

* New translations audio.properties (Italian)

* New translations ephemeris.properties (Italian)

* New translations restauth.properties (Italian)

* New translations network.properties (Italian)

* New translations addons.properties (Italian)

* New translations persistence.properties (Italian)

* New translations jsonStorage.properties (Italian)

* New translations chart.properties (Italian)

* New translations voice.properties (Italian)

* New translations i18n.properties (Italian)

* New translations i18n.properties (German)

* New translations restauth.properties (German)

* New translations addons.properties (German)

* New translations persistence.properties (German)

* New translations chart.properties (German)

* New translations voice.properties (German)

* New translations network.properties (German)

* New translations inbox.properties (German)

* New translations ephemeris.properties (German)

* New translations audio.properties (German)

* New translations voice.properties (Ukrainian)

* New translations ephemeris.properties (Ukrainian)

* New translations chart.properties (Ukrainian)

* New translations jsonStorage.properties (Ukrainian)

* New translations persistence.properties (Ukrainian)

* New translations voice.properties (German)
2021-05-05 21:09:31 +02:00
Wouter Born
7579aa4d31
Fix more SAT findings and add a few suppressions (#2335)
* Fix more SAT findings and add a few suppressions

Signed-off-by: Wouter Born <github@maindrain.net>
2021-05-05 20:59:59 +02:00
Christoph Weitkamp
a82d3effb7
Added missing properties for HLI, LSP and MQTT (#2334)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-05 01:20:22 +02:00
Christoph Weitkamp
31494c0d8a
Added i18n feature for ConfigurableServices (#2333)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-05 01:19:23 +02:00
lolodomo
6eee84661f
[inbox] Approval with newThingId: only one segment allowed (#2338)
* [inbox] Approval with newThingId: only one segment allowed

Build of the new thing UID corrected in case newThingId is provided

Fix #2331

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-05-04 19:11:25 +02:00
Christoph Weitkamp
141e73c85f
Added nullness annotations to Thing events (#2341)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-05-04 17:04:58 +02:00
Thomas Weißschuh
9663060943
[automation] match on complete channel UID (#2337)
Matching only on "topic.contains(channelUID)" will lead to false
positivies.

This was reported for the linuxinput binding, where pressing the "left"
key would also trigger rules for the "l" key.

The channels for these are
`linuxinput:input-device:test:keypresses#KEY_L` and
`linuxinput:input-device:test:keypresses#KEY_LEFT`

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2021-05-04 10:49:44 +02:00
openhab-bot
0972ad5ede
New Crowdin updates (#2336)
* New translations addons.properties (French)
* New translations audio.properties (Hebrew)
* New translations audio.properties (Hungarian)
* New translations chart.properties (Finnish)
* New translations chart.properties (French)
* New translations ephemeris.properties (Hebrew)
* New translations firmware.properties (Finnish)
* New translations i18n.properties (Hebrew)
* New translations inbox.properties (Hebrew)
* New translations jsonStorage.properties (French)
* New translations LanguageSupport.properties (Finnish)
* New translations network.properties (Hebrew)
* New translations persistence.properties (French)
* New translations persistence.properties (Hebrew)
* New translations SystemProfiles.properties (Hebrew)
* New translations tags.properties (Hebrew)
* New translations voice.properties (Hebrew)
2021-05-02 11:40:36 +02:00
openhab-bot
f2bf0a26c9
New Crowdin updates (#2326)
* New translations DefaultSystemChannels.properties (Hebrew)

* New translations addons.properties (German)

* New translations voice.properties (German)

* New translations chart.properties (German)

* New translations persistence.properties (German)

* New translations ephemeris.properties (German)

* New translations inbox.properties (German)

* New translations audio.properties (German)

* New translations DefaultSystemChannels.properties (Portuguese, Brazilian)

* New translations voice.properties (German)

* New translations messages.properties (Ukrainian)

* New translations addons.properties (Ukrainian)

* New translations restauth.properties (Ukrainian)

* New translations ephemeris.properties (Ukrainian)

* New translations inbox.properties (Ukrainian)

* New translations audio.properties (Ukrainian)

* New translations jsonStorage.properties (Ukrainian)

* New translations persistence.properties (Ukrainian)

* New translations chart.properties (Ukrainian)

* New translations i18n.properties (Ukrainian)

* New translations network.properties (Ukrainian)

* New translations audio.properties (Dutch)

* New translations inbox.properties (Dutch)

* New translations ephemeris.properties (Dutch)

* New translations restauth.properties (Dutch)

* New translations addons.properties (Dutch)

* New translations persistence.properties (Dutch)

* New translations chart.properties (Dutch)

* New translations jsonStorage.properties (Dutch)

* New translations voice.properties (Dutch)

* New translations voice.properties (Ukrainian)

* New translations i18n.properties (Dutch)

* New translations network.properties (Dutch)

* New translations persistence.properties (Finnish)

* New translations addons.properties (Finnish)

* New translations ephemeris.properties (Finnish)

* New translations audio.properties (Italian)

* New translations inbox.properties (Italian)

* New translations ephemeris.properties (Italian)

* New translations voice.properties (Italian)

* New translations addons.properties (Italian)

* New translations restauth.properties (Italian)

* New translations firmware.properties (Luxembourgish)

* New translations firmware.properties (Italian)

* New translations messages.properties (Luxembourgish)

* New translations tags.properties (Finnish)

* New translations units.properties (Finnish)

* New translations validation.properties (Italian)

* New translations LanguageSupport.properties (Italian)

* New translations persistence.properties (Italian)

* New translations chart.properties (Italian)

* New translations jsonStorage.properties (Italian)

* New translations network.properties (Italian)

* New translations i18n.properties (Italian)

* New translations i18n.properties (Portuguese, Brazilian)

* New translations network.properties (Portuguese, Brazilian)

* New translations voice.properties (Portuguese, Brazilian)

* New translations chart.properties (Portuguese, Brazilian)

* New translations jsonStorage.properties (Portuguese, Brazilian)

* New translations persistence.properties (Portuguese, Brazilian)

* New translations restauth.properties (Portuguese, Brazilian)

* New translations addons.properties (Portuguese, Brazilian)

* New translations ephemeris.properties (Portuguese, Brazilian)

* New translations inbox.properties (Portuguese, Brazilian)

* New translations audio.properties (Portuguese, Brazilian)

* New translations i18n.properties (German)

* New translations network.properties (German)

* New translations jsonStorage.properties (German)

* New translations restauth.properties (German)
2021-04-30 18:19:50 +02:00
Christoph Weitkamp
93d7973b56
[i18n] Translation of configurable services (#2306)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-29 15:20:55 +02:00
pravussum
da05f8e9fa
[metering] Fix dependency issue in io.monitor bundle (#2288) (#2289)
Signed-off-by: Robert Bach <openhab@mortalsilence.net>
2021-04-28 08:01:16 +02:00
Sönke Küper
cb36eb57e7
[rest] Added default values for rule simulation start and end dates and restricted the max. duration to < 180 days to prevent an denial-of-service. (#2296)
Fixes #2285 

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2021-04-27 21:21:00 +02:00
Wouter Born
f164be385d
Fix typo in DefaultSystemChannels (#2325)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-27 21:18:57 +02:00
Christoph Weitkamp
e4f77f7992
[REST] Added editable flag for ItemChannelLinks by introducing an EnrichedItemChannelLinkDTO (#2318)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-27 11:03:41 +02:00
Wouter Born
3b878114c9
Fix build (#2324)
The test now fails because of the updated translations.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-27 07:29:39 +02:00
openhab-bot
90ffaffa15
New Crowdin updates (#2323)
* New translations DefaultSystemChannels.properties (Hungarian)
* New translations SystemProfiles.properties (Dutch)
* New translations SystemProfiles.properties (Hungarian)
* New translations tags.properties (French)
* New translations tags.properties (French)
2021-04-26 23:04:56 +02:00
openhab-bot
38d2e6538b
New Crowdin updates (#2308)
* New translations DefaultSystemChannels.properties (Dutch)
* New translations DefaultSystemChannels.properties (Spanish)
* New translations DefaultSystemChannels.properties (Ukrainian)
* New translations firmware.properties (Ukrainian)
* New translations LanguageSupport.properties (Dutch)
* New translations LanguageSupport.properties (French)
* New translations LanguageSupport.properties (Ukrainian)
* New translations messages.properties (Bulgarian)
* New translations messages.properties (German)
* New translations SystemProfiles.properties (Spanish)
* New translations SystemProfiles.properties (Ukrainian)
* New translations tags.properties (German)
* New translations tags.properties (Japanese)
* New translations tags.properties (Ukrainian)
* New translations units.properties (Bulgarian)
* New translations units.properties (Czech)
* New translations units.properties (French)
* New translations units.properties (Ukrainian)
* New translations validation.properties (French)
* New translations validation.properties (Ukrainian)
2021-04-26 13:46:18 +02:00
Christoph Weitkamp
a1d086c116
Filter duplicate broadcast addresses for service configuration if multiple network interfaces are available (#2307)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-26 12:11:04 +02:00
Björn Lange
6258268031
Ignore illegal thing status updates from REMOVING (#2313)
* Ignore illegal thing status updates from REMOVING

Ignore illegal thing status transitions from REMOVING instead of throwing IllegalArgumentException

Signed-off-by: Björn Lange <blange@itemis.com>
2021-04-26 08:42:16 +02:00
Sami Salonen
872dacfe7c
[modbus] jamod modbus library update 1.3.3.OH (#2315)
Modbus TCP client to read the full modbus message, even if
fragmented/segmented.

Serial/RTU to error more clearly if all bytes are not received as
expected.

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-04-24 11:54:46 +02:00
openhab-bot
62c85a3214
New Crowdin updates (#2305)
* New translations firmware.properties (Czech)
* New translations firmware.properties (Dutch)
* New translations firmware.properties (French)
* New translations firmware.properties (Hebrew)
* New translations firmware.properties (Hungarian)
* New translations firmware.properties (Japanese)
* New translations firmware.properties (Norwegian)
* New translations firmware.properties (Portuguese, Brazilian)
* New translations firmware.properties (Spanish)
* New translations messages.properties (Dutch)
* New translations messages.properties (French)
* New translations tags.properties (Portuguese, Brazilian)
* New translations tags.properties (Spanish)
* New translations validation.properties (Bulgarian)
* New translations validation.properties (Romanian)
2021-04-21 00:04:44 +02:00
Christoph Weitkamp
c80719fefa
Renamed Yahoo to ACME (#2304)
* Rename Yahoo to ACME
* Remove Paper UI references

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-20 22:31:32 +02:00
openhab-bot
6d9fd2283c
New Crowdin updates (#2301)
* New translations firmware.properties (Dutch)
* New translations firmware.properties (Hebrew)
* New translations firmware.properties (Japanese)
* New translations firmware.properties (Spanish)
* New translations LanguageSupport.properties (Hebrew)
* New translations LanguageSupport.properties (Norwegian)
* New translations LanguageSupport.properties (Spanish)
* New translations messages.properties (Hebrew)
* New translations messages.properties (Italian)
* New translations messages.properties (Japanese)
* New translations messages.properties (Spanish)
* New translations messages.properties (Ukrainian)
* New translations tags.properties (Dutch)
* New translations tags.properties (Norwegian)
* New translations tags.properties (Spanish)
* New translations units.properties (Dutch)
* New translations units.properties (Hebrew)
* New translations units.properties (Hungarian)
* New translations units.properties (Italian)
* New translations units.properties (Japanese)
* New translations units.properties (Luxembourgish)
* New translations units.properties (Norwegian)
* New translations units.properties (Portuguese, Brazilian)
* New translations units.properties (Spanish)
* New translations validation.properties (Dutch)
* New translations validation.properties (Hebrew)
* New translations validation.properties (Luxembourgish)
* New translations validation.properties (Norwegian)
* New translations validation.properties (Spanish)
* Fix file names
2021-04-20 16:25:11 +02:00
Wouter Born
c5db042c20
Remove trailing space from update-canceled in firmware.properties (#2300)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-20 16:05:40 +02:00
Wouter Born
94b69e2ccb
Switch properties files encoding from ISO-8859-1 to UTF-8 (#2298)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-19 20:04:23 +02:00
openhab-bot
4afbf93270
New Crowdin updates (#2293)
* New translations DefaultSystemChannels.properties (Finnish)
* New translations DefaultSystemChannels.properties (French)
* New translations DefaultSystemChannels.properties (German)
* New translations DefaultSystemChannels.properties (Hebrew)
* New translations DefaultSystemChannels.properties (Portuguese, Brazilian)
* New translations firmware.properties (Czech)
* New translations firmware.properties (French)
* New translations firmware.properties (German)
* New translations firmware.properties (Hungarian)
* New translations LanguageSupport.properties (Czech)
* New translations LanguageSupport.properties (German)
* New translations LanguageSupport.properties (Hungarian)
* New translations LanguageSupport.properties (Japanese)
* New translations LanguageSupport.properties (Portuguese, Brazilian)
* New translations messages.properties (Czech)
* New translations messages.properties (French)
* New translations messages.properties (German)
* New translations messages.properties (Hungarian)
* New translations messages.properties (Portuguese, Brazilian)
* New translations SystemProfiles.properties (Finnish)
* New translations SystemProfiles.properties (Italian)
* New translations SystemProfiles.properties (Portuguese, Brazilian)
* New translations tags.properties (Hungarian)
* New translations tags.properties (Portuguese, Brazilian)
* New translations units.properties (Czech)
* New translations units.properties (French)
* New translations units.properties (German)
* New translations units.properties (Hungarian)
* New translations validation.properties (Czech)
* New translations validation.properties (German)
* New translations validation.properties (Hungarian)
* New translations validation.properties (Japanese)
2021-04-19 18:43:26 +02:00
Christoph Weitkamp
c9cdf5d0e8
Added i18n propertie files for DefaultSystemChannels and Profiles (#2297)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-04-19 17:06:42 +02:00
lolodomo
469613e15a
French translation added for signal strength options (#2294)
- French translation added for signal strength options

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2021-04-17 19:42:28 +02:00
Denis Denisov
221970567a
Upgrade jamod (to get rid of case with fragmented packets) (#2284)
Signed-off-by: Denis Denisov <ftc.denis@gmail.com>
2021-04-15 18:23:27 +02:00
Wouter Born
05b7ec86f1
Fix new SAT findings (#2291)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-14 18:41:07 +02:00
Sönke Küper
db488d861e
[automation] Added rule rest endpoint and backend operation for rule execution simulation (#2125)
* Added marker interface for TriggerHandler to indicate if they are time based and thus can be used to simulate execution times.
* Added marker interface for ConditionHandler to indicate, if they are time based and thus can be checked during rule execution for a certain time.
* Moved CronAdjuster to common, so it can be used for the rule simulation
* Created RuleExecutionSimulator that allows simulation of rules
* Added method in RuleManger to create simulation
* Added rest endpoint for rule simulation.
* Changed marker interface to return TemporalAdjuster instead of cron expression. This better hides the internals of the TriggerHandler (i.e. the cron expression) and is more clear and flexible for other handlers to implement

Fixes #2044
Fixes #2266

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2021-04-11 09:31:48 +02:00
Sami Salonen
b1b58436f2
[modbus] Workaround for nrjavaserial issues: do not disconnect serial (#2272)
Workaround for https://github.com/openhab/openhab-core/issues/1842.
Typically serial connections are disconnected and reconnected on IO
errors. This has turned out to be problematic with the recent
nrjavaserial updates brought by OH3 (locking behaviour of nrjavaserial
seems to be prone to deadlocks).

We workaround the issues by trying to keep the serial connection open
as long as possible.

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-04-07 20:46:36 +02:00
Wouter Born
ef1b86c1d1
Upgrade to OSGi R7 and Karaf 4.3.1 (#2264)
* Aligns compile dependencies with OSGi R7
* Aligns runtime dependencies with Karaf 4.3.1
* Fixes issues due to dependency changes:
  * AudioServletTest never ending due to Jetty upgrade
  * Feature resolution failing due to Karaf activation-api no longer visible
* Uses Pax Logging as runtime dependency instead of Felix Log
  This dependency change makes itests and Demo App behave more like the actual distro
  To change the log level in itests, change the value of org.ops4j.pax.logging.DefaultServiceLog.level in itest-include.bndrun
* Adds --add-opens and nashorn.args in itest-include.bndrun to prevent some warnings being logged in itests

Related to openhab/openhab-distro#1167

Signed-off-by: Wouter Born <github@maindrain.net>
2021-04-02 13:39:54 +02:00
spacemanspiff2007
4964b51160
Add cache for Basic Authentication (#2101)
Also-by: Sebastian Gerber <github@sgerber.de>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-03-30 22:55:26 +02:00
Kai Kreuzer
6568dc1478
Merged semantics packages in order to make API consistent (#2263)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-03-30 20:35:06 +02:00
Wouter Born
b64c84e8b9
Fix wrong/missing OpenAPI ApiResponse content (#2258)
This fixes some issues where the response content is missing or wrong in the generated OpenAPI spec.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-03-27 13:28:47 +01:00
Jonathan Gilbert
6961db74d0
[automation] Correctly unload script before reload. (#2254)
- Correctly unload script before reload.

Fixes #2246

Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-03-26 09:48:55 +01:00
Wouter Born
db11cfda51
Add null annotations to org.openhab.core.voice (#2255)
Allows for using null annotations with the voice TTS add-ons.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-03-25 20:19:11 +01:00
Wouter Born
07b95ca668
Fix SAT findings (#2256)
Fixes 65 SAT findings.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-03-25 20:18:08 +01:00
Kai Kreuzer
ee1d3f3a73
Removed outdated basic auth classes (#2245)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-03-20 12:46:30 +01:00
Wouter Born
4bf156ffc0
Upgrade Gson to 2.8.6 (#2244)
* Upgrade Gson to 2.8.6

Upgrades Gson from 2.8.2 to 2.8.6.

See change log: https://github.com/google/gson/blob/master/CHANGELOG.md#version-286

Signed-off-by: Wouter Born <github@maindrain.net>
2021-03-17 19:18:17 +01:00
Björn Brings
c2498f5c74
Sort members of groups by labe in sitemaps (#2123)
* Sort group members by label 

Signed-off-by: bjoernbrings <bjoernbrings@web.de>
2021-03-16 15:13:51 +01:00
Jonathan Gilbert
115d39ff35
Removed Jetbrains @NonNull annotations (#2241)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-03-15 00:15:21 +01:00
Jonathan Gilbert
635b700c72
[automation] Added optional per-script StartLevels (#2222)
Allows scripts to specify per-script start levels which differ from the start level for the ScriptFileWatcher itself. Also extracted some functionality from ScriptFileWatcher into distinct components & added unit tests to cover all script loading functionality.

Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-03-14 22:30:12 +01:00
Christoph Weitkamp
26e9a8ed9c
Added nullness annotations to fix NPE in HttpServiceUtil (#2234)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-03-12 22:12:03 +01:00
Arjan Mels
e20348e8d6
[channel] Fix createChannelBuilders not using overriden label/description (#2229)
* Use channelDefinition in createChannelBuilder

Closes #2225 

Signed-off-by: Arjan Mels <github@mels.email>
2021-03-12 17:54:05 +01:00
Christoph Weitkamp
11c59ccc87
Audiosink might be null (#2224)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-03-06 16:49:44 +01:00
Kai Kreuzer
62c74da0c0 Applied spotless fix
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-03-02 21:38:34 +01:00
boc-tothefuture
89796e79c0
Provide Script Names to Script Engines (#1885)
Signed-off-by: Brian O'Connell <broconne@gmail.com>
2021-03-02 21:36:07 +01:00
stedon81
361e985c1c
io transport mqtt sets wrong QoS levels to hiveMQ #2145 (#2208)
Signed-off-by: Stefan Donath <donath.stefan@mail.donath-productions.ipactive.de>
2021-02-27 11:25:33 +01:00
Hilbrand Bouwkamp
7fef42c6c8
[scheduler] Mitigation fix for earlier triggers #1976 (#2190)
Some users reported the scheduler to be run to earlier.
It actual is known the Java scheduler can drift.
To handle this problem 2 changes have been made:
1. If the scheduler triggers > 2 sec before expected end time it will
reschedule.
2. The scheduler keeps track of the timestamp the job should run. For
recurring schedulers, like cron, when the next job is run it offsets of
the calculated time, and not the actual time. This guaranties that the
next scheduled time is actual the next scheduled time and not the same
end time in case the scheduler would trigger to early.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2021-02-27 11:21:10 +01:00
Christoph Weitkamp
191a629e68
Added Sematics actions for Rules (#2088)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-02-27 10:33:32 +01:00
Christoph Weitkamp
9c0302ec26
[profiles] Added 'Range' profile (#2046)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-02-27 10:28:09 +01:00
Mark Hilbush
7de57f9ffe
[automation] Fixed memory leak caused by invalid UI DSL rule (#2212)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2021-02-20 19:53:44 +01:00
bigbasec
c7b7390c91
Fix sitemap proxy URL provided by Rest API (#2203)
Signed-off-by: Brian Homeyer <bhomeyer@gmail.com>
2021-02-19 20:27:12 +01:00
pravussum
0292806830
[metering] tag rule metric with human readable rule name in addition to the rule id (#2194)
Signed-off-by: Robert Bach <openhab@mortalsilence.net>
2021-02-14 18:07:54 +01:00
Sami Salonen
ebda155b47
[modbus] Modbus poolconfig handling (#2199)
* [modbus] More strict nullness annotations
Taking into consideration that we always have default
EndpointPoolConfiguration
* [modbus] Utilize default pool configuration consistently
* [modbus] Make (internal) ModbusCommunicationInterfaceImpl constr private
* [modbus] Handle null config of modbus comm when detecting open conns
* [modbus] default connection timeout of 10s with default pool config

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-02-14 17:14:43 +01:00
pravussum
f061512dd5
Integrated micrometer metering #774 (#2133)
Signed-off-by: Robert Bach <openhab@mortalsilence.net>
2021-02-11 21:12:58 +01:00
Wouter Born
5a4e04cb2c
Add profile to generate semantics classes with groovy-maven-plugin (#2188)
* Add profile to generate semantics classes with groovy-maven-plugin

This way you can generate the classes with Maven when adding -DgenerateTagClasses to your build command.
I.e. you no longer need to have Groovy locally installed for this.
Also properly sorts the generated imports so they match the Spotless configuration.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-02-10 17:23:16 +01:00
Christoph Weitkamp
76e0cfdb81
[voice] Changed annotation of getPreferredVoice method to allow null results (#2186)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-02-09 19:26:49 +01:00
Kai Kreuzer
44c280e249
Make absolute color temperature channel type advanced (#2183)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-02-08 20:13:16 +01:00
Christoph Weitkamp
7907f48735
Added nullness annotations to TypeParser (#2181)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-02-07 09:47:27 +01:00
Sönke Küper
65218f81fc
Added rule condition for not a holiday (#2043)
Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2021-02-06 16:37:29 +01:00
bigbasec
74c4c2386f
Support sitemaps created through UI in proxy (#2178)
* Add site provider lookup in proxy

Third attempt at this PR, but this very simply allows for the proxy to find the sitemaps for both file based as well as gui generated.

Fixes #2154
Fixes openhab/openhab-webui#763
Fixes openhab/openhab-webui#745

Also-by: Kai Kreuzer <kai@openhab.org>
Signed-off-by: Brian Homeyer <bhomeyer@gmail.com>
2021-02-06 16:26:58 +01:00
Kai Kreuzer
87211d2439
[REST] Prevent internal server error on invalid link requests on REST API (#2179)
Closes https://github.com/openhab/openhab-webui/issues/878

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-02-06 11:27:58 +01:00
Andrew Fiddian-Green
b99aa444a0
[discovery.upnp] Devices may apply a grace period for removal from the Inbox (#2144)
* [discovery.upnp] delay removing devices from Inbox

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2021-02-06 11:16:41 +01:00
Andrew Fiddian-Green
023f373b20
[transport.modbus] Remove dependencies on deprecated libraries (#2127)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2021-02-04 23:27:06 +01:00
Christian Bandowski
d48646d8c6
Fix changing temperature via BasicUI (#2091) (#2165)
Signed-off-by: Christian Bandowski <christian@myvm.de>
2021-01-30 22:50:58 +01:00
Sami Salonen
de61ce1ead
[modbus] equals and hashcode implementation for ModbusRegisterArray (#2164)
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2021-01-30 21:02:59 +01:00
Wouter Born
46666eb169
Fix deprecations (#2163)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-30 12:22:31 +01:00
Wouter Born
49e148ad7d
Fix headers (#2161)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-27 23:43:44 +01:00
Jonathan Gilbert
f1a3d824ac
Add ability for scripts to create unmanaged rules (#1897)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-01-26 22:25:09 +01:00
Jonathan Gilbert
f0c9a8434d
Added ability for ScriptEngines to allow script dependencies to be tracked and changes to trigger script reloading (#1884)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2021-01-26 22:23:31 +01:00
jimtng
b55933d769
[timer] fix to allow timer reschedule after termination (#2153)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-01-26 17:21:41 +01:00
jimtng
6de92ec6ef
[timer] Add Timer.getExecutionTime() (#2147)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-01-26 17:17:40 +01:00
Mike Major
86a447c23a
[jsondb] Restore zero byte files from backup (#2155)
* Restore zero byte files from backup
* Also handle zero byte backup files

Signed-off-by: Mike Major <mike_j_major@hotmail.com>
2021-01-26 17:12:46 +01:00
Christoph Weitkamp
12659595a6
Added system default channel type to control color temperature in Kelvin (#2157)
* Added system default channel type for controling color temperature in Kelvin

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-01-26 08:13:04 +01:00
Wouter Born
d50ea56da8
Stop commons-net proliferation (#2151)
* Exclude commons-net from core dependencies so it is no longer automatically a transitive compile dependency
* Update nrjavaserial compile dependency to a version that no longer includes commons-net packages
* Define and use commons.net.version property
* Rework features so commons-net is only installed when required

Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-24 21:43:08 +01:00
Michael Parment
3df98da080
Changed modbus polling logging level to warning when retrying (#2135)
https://community.openhab.org/t/modbus-errors/114602

Signed-off-by: Michael Parment <michael.parment@gmail.com>
2021-01-21 14:16:40 +01:00
Fabian Wolter
0a2450c919
Add message and preserve cause when throwing PortInUseException (#2126)
Signed-off-by: Fabian Wolter <fw@skytender.de>
2021-01-21 11:12:55 +01:00
Andrew Fiddian-Green
127724c0e3
[executeCommandLine] should return STDERR if STDOUT is empty (#2114)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2021-01-16 22:20:09 +01:00
Kai Kreuzer
a0d58006e8
Also return command line execution result in case of error return code (#2104)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-01-12 10:54:12 +01:00
Christoph Weitkamp
c2702d0dfe
Moved NumberExtensionsTest from itest to pure unit test and merged redundant calsses (#2087)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-01-08 23:17:28 +01:00
Christoph Weitkamp
90a460dd03
Added unit tests for check if persistence extension returns QuantityType if persistence service returns QuantityType (#2029)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-01-08 22:53:35 +01:00
Paul van den Berg
eee30b0c57
Improved error logging when adding rules (#2053)
Improved error logging for adding rules

Signed-off-by: Paul van den Berg <prj.vandenberg@gmail.com>
2021-01-06 23:23:17 +01:00
Kai Kreuzer
97e2782875
[automation] Avoid disappearing rules by correctly checking the model and its type (#2077)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-01-06 14:29:49 +01:00
Vita
0026d89caf
Extended serial port implementation (#2050)
Signed-off-by: docbender <vita.tucek@seznam.cz>
2021-01-06 08:48:16 +01:00
pravussum
75f52ac3ee
add getPoolNames method to ThreadPoolManager (#2065)
Signed-off-by: Robert Bach <openhab@mortalsilence.net>
2021-01-05 23:27:35 +01:00
Wouter Born
64f444cf6e
Update Mockito, JUnit and use MockitoExtensions in itests (#2075)
* Updates Mockito to 3.7.0
* Updates JUnit to 5.7.0
* Use MockitoExtensions where possible

Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-05 22:58:58 +01:00
Christoph Weitkamp
88253c8676
Add category for system channel type 'power'; Changed category for system channe type 'low-battery' (#2069)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-01-05 22:53:58 +01:00
Yannick Schaus
fcaf251bd0
Fix parsing integer & booleans parameters in UI component based sitemaps (#2072)
* Fix parsing integer & booleans parameters in UI component based sitemaps

Also catch remaining exceptions and log a warning/ignore the parameter
instead of making the whole sitemap building process fail.

Fix wrong feature ID for the video widget URL.

Fixes #2047.
Fixes #1987.
Fixes #1898.
Fixes #1875.
Fixes https://github.com/openhab/openhab-webui/issues/745.

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-01-05 22:42:31 +01:00
Kai Kreuzer
531a478a45
Cache parsed script in order to improve performance (#2057)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-01-03 13:18:53 +01:00
Kai Kreuzer
d11ec3ef64
Include group label in warn log message (#2059)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-01-03 13:17:53 +01:00
Christoph Weitkamp
2cf9babfab
Added method to read all files with specific extensions in 'transform/' folder (#2052)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-01-03 10:01:09 +01:00
Kai Kreuzer
4b8546b599
Prevent errors in log when client closes the HTTP connection (#2049)
Fixes openhab/openhab-distro#1188

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-01-02 09:04:05 +01:00
Wouter Born
774b9d607b
Update license headers to 2021 (#2041)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-01-01 16:43:46 +01:00
Sami Salonen
afd03df07f
[transport.modbus] Support dimensionless QuantityType commands. (#1984)
In additions, command->registers tests have been once made more
readable, covering all the corner cases with integers.

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2020-12-31 10:13:43 +01:00
Mark Hilbush
890e767d0a
[persistence] Fix varianceSince and deviationSince (#2036)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2020-12-30 22:55:41 +01:00
Kai Kreuzer
1c3e4318df
Correctly handle file extension when looking up script (#2020)
Fixes #1990

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-29 10:50:31 +01:00
Kai Kreuzer
a91f8c657b Align all threads to naming convention (#2018)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-28 09:22:13 +01:00
t2000
caaf1c7281
Expire group item states (#2009)
Fixes #1989

Signed-off-by: Stefan Triller <github@stefantriller.de>
2020-12-26 22:53:26 +01:00
Andrew Fiddian-Green
acb0cd5e9b
[transport.modbus] Added support for RTU encoding over TCP (#1965)
* [modbus] add support for rtu encoding over tcp

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2020-12-26 18:10:06 +01:00
Leon Kiefer
49a17a5f5e
[automation] Updated rule dsl filename to rule uid mapping (#2003)
use full filename without extension as uid for rules provided by DSL files
fix bug where rule filenames with common prefix and "." resulted in same uid

Signed-off-by: Leon Kiefer <leon.k97@gmx.de>
2020-12-25 13:58:31 +01:00
Wouter Born
ce95ed191e
Hide StateDescription constructor (#1995)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-23 21:43:38 +01:00
Gaël L'hopital
f7e03397fb
[OAuth] Added capability for custom deserializer (#1891)
* Added capability for custom deserializer

Closes #1888

Signed-off-by: clinique <gael@lhopital.org>
2020-12-23 15:40:54 +01:00
Christoph Weitkamp
19daef5d09
Harden ChartServlet against NPEs when no 'period' parameter is given (#1992)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-23 12:57:27 +01:00
Christoph Weitkamp
0af74400d2
Added nullness annotations to ThingHandlerHelper (#1993)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-23 12:56:15 +01:00
Hilbrand Bouwkamp
df2013805b
Fix for invalid day of week max check (#1986)
Closes #1813

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2020-12-22 20:42:37 +01:00
Christoph Weitkamp
7ce96ac06a
Fixed NPE in ScriptError if INode is empty (#1985)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-22 20:34:49 +01:00
Wouter Born
bf14e1077f
Apply Spotless, resolve itest runbundles for 3.1.0 (#1982)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-22 10:01:42 +01:00
jenkins
965531696b [unleash-maven-plugin] Preparation for next development cycle. 2020-12-20 22:24:39 +00:00
Christoph Weitkamp
f83fc07c6a
[automation] Added ItemStateUpdate action (#1970)
* Added ItemUpdate action

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-20 13:53:09 +01:00
Holger Hees
7f3de9ae02
fix spelling of german tag synonyms (#1971) 2020-12-20 13:50:24 +01:00
Yannick Schaus
150ced7012
[auth] Don't allow creating API tokens with no name (#1969)
Fixes https://github.com/openhab/openhab-webui/issues/674.

Remove unnecessary checks and fix exception message.
Add Norwegian messages for auth pages.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-12-20 12:48:46 +01:00
Kai Kreuzer
cea96b3d81
[automation] Do not consider disabled things for start level 80 (#1968)
Fixes #1967

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-20 09:44:45 +01:00
Philipp Waller
090b889dbb
[REST] Fix CORS response header to allow preflight requests with authorization payload (#1963)
Signed-off-by: Philipp Waller <1090452+philippwaller@users.noreply.github.com>
2020-12-19 13:11:46 +01:00
Kai Kreuzer
8f13b99122
[automation] Correctly trigger rules with start level 50 trigger (#1962)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-18 22:07:19 +01:00
Kai Kreuzer
4a108e5c80
Reintroduce delayed rule initialization (#1960)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-18 20:04:28 +01:00
Yannick Schaus
cc7edadd96
Auth messages translations (RC2) (#1957)
This contains an update to the messages for the login,
change password, create API token pages from Crowdin
in ISO-8859 format.

Contains a completed German translation update, and
the following new completed languages:
- Czech
- Finnish
- Hungarian
- Portuguese (Brazil)
- Swedish
- Ukrainian

Dutch, French, Italian are unchanged from RC1.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-12-17 20:37:15 +01:00
Kai Kreuzer
69b18e5a70
Introduce ready marker to correctly set start level 80 (#1953)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-17 11:16:56 +01:00
Kai Kreuzer
5d87c1def4
[automation] Fixed startup rules being triggered more than once
Fixes #1943 

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-16 23:21:47 +01:00
Christoph Weitkamp
d37fa48da4
Temporarily hide ThingAction in UIs (#1947)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-16 23:21:27 +01:00
Kai Kreuzer
4059ea2422
[automation] Correctly return the evaluation result of DSL scripts
Fixes #1946

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-16 23:20:37 +01:00
Christoph Weitkamp
397ebaab64
Fixed NPE by not calling 'toString()' (#1948)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-16 18:59:28 +01:00
Kai Kreuzer
ad189bd4f1
[automation] Make quantity types available in scripts (#1940)
Fixes #1763

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-16 15:11:46 +01:00
Kai Kreuzer
2b9f890831
Stabelized automation integration test (#1944)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-16 14:13:04 +01:00
Kai Kreuzer
0dd4cc97fe
Let StartLevelService only start once its configuration is available (#1942)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-16 12:47:03 +01:00
Christoph Weitkamp
990b579865
Use 'getStateAs()' instead of type casting (#1939)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-15 23:03:03 +01:00
lolodomo
5bf3f2fd60
[inbox REST API] Fix approve API annotation (#1933)
Related to #1848

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2020-12-15 21:17:41 +01:00
Yannick Schaus
128e7bb3c8
Add firmwareStatus to things in summary mode (#1932)
The "summary" mode for `/rest/things` introduced in https://github.com/openhab/openhab-core/pull/1827
leads to these warnings in the console:
```
Field 'firmwareStatus' could not be eliminated: Can not set final org.openhab.core.thing.firmware.dto.FirmwareStatusDTO field org.openhab.core.io.rest.core.thing.EnrichedThingDTO.firmwareStatus to null value
```
The easiest solution to remove those warnings is to add it again to the list of fields included in the summaries.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-12-15 08:07:11 +01:00
Yannick Schaus
eb176e14d2
Translated messages for auth pages (#1930)
This is the PR with the messages.properties files in
Dutch, German (partial) and Italian extracted from
#1929 and converted to the proper ISO-8859 encoding.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-12-13 21:09:13 +01:00
Kai Kreuzer
8290306348
Fixed SAT issues (#1925)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-13 13:17:35 +01:00
Wouter Born
001c00a8c3
Fix remaining deprecations (#1918)
Fixes #1408

Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-13 12:22:43 +01:00
Kai Kreuzer
ec6ac00742
increase the rule refresher delay (#1920)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-13 11:05:23 +01:00
Kai Kreuzer
0a719cca83
Always set the value of implicit vars (#1922)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-13 09:32:25 +01:00
Kai Kreuzer
313fb496ce
Added config options for start level trigger (#1923)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-13 09:31:34 +01:00
Kai Kreuzer
1a2c81d9e2
Improved startup logging and avoid scripts being loaded in start level service thread (#1919)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-13 09:31:09 +01:00
openhab-bot
91469ddb9b
New Crowdin updates (#1921)
* New translations units.properties (Portuguese, Brazilian)
* New translations firmware.properties (Portuguese, Brazilian)
* New translations validation.properties (Portuguese, Brazilian)
2020-12-12 23:29:54 +01:00
Yannick Schaus
67bdfa3ad6
Auth pages i18n (#1913)
This implements localized messages for the authorize, change
password and create API token pages using a resource bundle.

Messages in English & French are included.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-12-12 22:42:56 +01:00
Christoph Weitkamp
e909a81f4b
Removed references to not existing category (#1915)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-12 22:35:20 +01:00
Christoph Weitkamp
3293bac779
Register CommunicationManager as ItemChannelLink listener (#1917)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-12 21:55:37 +01:00
Kai Kreuzer
076ac3fe15
Implemented start level service (#1914)
Fixes #1637
Fixes #1777
Fixes #1734
Fixes #1823
Fixes #1808

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-12 14:34:37 +01:00
Christoph Hofmann
bbede78dc9
Added operationIds for OpenAPI specification (#1861)
Signed-off-by: Christoph Hofmann <christoph@hofmann.pm>
2020-12-10 23:12:11 +01:00
Christoph Weitkamp
fe677966af
[link] Use constructor injection (#1911)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-10 23:07:56 +01:00
Wouter Born
fea6237153
Improve ChannelLinkNotifier.removed and AbstractUID.getAsString performance (#1909)
Fixes #1908

Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-10 10:20:35 +01:00
Wouter Born
0dabc63423
Update "o.e.sh" references (#1910)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-10 10:15:48 +01:00
Markus Rathgeb
406f83cbb6
HexUtils: fix empty string handling (#1907)
Fixes #1903

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-12-09 09:57:39 +01:00
silamon
2f5a6269c2
[semantics] Remove semantic metadata on item tag removal (#1860)
* Remove semantic update on tag removal

Fixes #1841

Signed-off-by: Simon Lamon <simonlamon93@hotmail.com>
2020-12-08 17:12:14 +01:00
Kai Kreuzer
e075df30f8
Moved modbus transport from addons to core (#1892)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-08 12:55:52 +01:00
Wouter Born
0abf1aa987
Remove SmartHome leftovers (#1901)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-08 12:49:06 +01:00
Wouter Born
13c2d7bf2b
Rename classes with "SmartHome" in their name (#1896)
* Rename SmartHomeUnits to Units
* Rename SmartHome Servlets and HTTP Context

Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-06 23:35:37 +01:00
Kai Kreuzer
f99135ae3d
Reverted the introduction of an automation threadpool (#1890)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-05 11:50:16 +01:00
silamon
34a3487e3e
Disable AutoUpdateManager for GroupItems (#1862)
* Disable AutoUpdateManager for GroupItems

Fixes #1330 

Signed-off-by: Simon Lamon <simonlamon93@hotmail.com>
2020-12-03 17:20:59 +01:00
Kai Kreuzer
85fcb7b141
Cache safe call proxies for profiles instead of continuously recreating them (#1880)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-03 09:28:07 +01:00
Wouter Born
6e0a5d0260
Improve tags_nl.properties (#1883)
* Fix wrong Location_Indoor_Floor_SecondFloor translation
* Remove redundant whitespace chars

Signed-off-by: Wouter Born <github@maindrain.net>
2020-12-03 08:37:55 +01:00
lolodomo
5ae3c675c6
[semantics] Property Illuminance removed (#1879)
Related to #1791

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2020-12-02 20:29:18 +01:00
Christoph Weitkamp
0e7563c901
[automation] Added Actions for Play and Say which sets the volume (#1854)
* Added Actions for Play and Say which sets the volume

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-01 22:57:43 +01:00
Kai Kreuzer
c5f133b3e9
[automation] Provide triggering item name in the rule context (#1770)
* introduced implicit variable "triggeringItemName"

Fixes #1768

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-12-01 20:29:50 +01:00
Christoph Weitkamp
cd0654806b
Fixed config description (#1873)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-12-01 08:39:52 +01:00
Christoph Weitkamp
818a7c82fa
Get only relevant links instead of all (#1874)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-30 19:31:18 +01:00
Kai Kreuzer
a892c7bcac
Synchronize the executions of each rule (#1870)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-30 10:31:33 +01:00
Markus Rathgeb
c044061dc4
fix null constraint mismatch in model.thing for generic thing provider (#1872)
The type 'Thing' is not a valid substitute for the type parameter '@NonNull E extends Object'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:27:40 +01:00
Markus Rathgeb
0eaf58f047
fix null type mismatch in model.thing generic thing provider (#1865)
required '@NonNull URI' but this expression has type '@Nullable URI'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:27:16 +01:00
Markus Rathgeb
7885aa3526
fix null type in model.thing generic item channel link provider (#1864)
required '@NonNull Collection<?>' but this expression has type '@Nullable Set<@NonNull String>'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:26:56 +01:00
Kai Kreuzer
575f744a43
Request automation thread pool as a scheduled pool (#1869)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-30 10:18:56 +01:00
Marcel
aa317d8c85
Fix typo in TriggerChannelTypeBuilder (#1866)
Signed-off-by: Marcel Verpaalen marcel@verpaalen.com
2020-11-29 23:07:57 +01:00
Kai Kreuzer
f2e1dea5bf
Adapted event handler thread names to naming convention (#1858)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-29 11:12:03 +01:00
Kai Kreuzer
fe62a4fdae
Make maps thread safe (#1856)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-29 11:02:00 +01:00
Kai Kreuzer
1e2fd7b447
Make rule engine use a threadpool (#1857)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-29 10:56:01 +01:00
Christoph Weitkamp
109fae9974
[profiles] Added 'Hysteresis' profile (#1726)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-29 00:21:43 +01:00
Jonathan Gilbert
e8d017da77
Extracted accessor into interface and added to script engine context to allow access to script extensions from script engine factories (#1843)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2020-11-28 23:24:19 +01:00
Kai Kreuzer
9e89a4dbda
[magic] Added a trigger channel for easier tests (#1853)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-27 15:02:04 +01:00
lolodomo
f6d3f1d560
[semantics] Ontology enhanced (#1814)
Related to #1791

Also-by: Christoph Weitkamp <github@christophweitkamp.de>
Also-by: Mark <m.stroeve@appsoftware.nl>
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2020-11-26 15:01:33 +01:00
lolodomo
b40d10a978
[inbox REST API] Added new optional pareameter newThingId to approve (#1848)
Fix #1783

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2020-11-26 08:37:16 +01:00
Yannick Schaus
6ff65df7d2
[REST Auth] Remove user access to things (#1807)
I can't think of a good reason why listing things or querying their status should be allowed for users.
The things layer should only be of concern to admins IMHO.
As noted here: https://community.openhab.org/t/oh3-will-list-all-your-things-even-if-you-are-not-logged-in/108006/3
passwords and other sensible information in configuration could end up being exposed without auth required.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-11-26 08:31:10 +01:00
silamon
9a12f95dee
Remove the groupname from the members if the group item is removed (#1833)
Remove the groupname from the members if the group item is removed.
This is implemented in the ManagedItemProvider.

Fixes #1785
Fixes #1392

Signed-off-by: Simon Lamon <simonlamon93@hotmail.com>
2020-11-22 12:24:38 +01:00
Jonathan Gilbert
60edebc111
Pass script context to script engines (#1837)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2020-11-22 10:52:22 +01:00
Yannick Schaus
065177b730
[rest] Add summary option to rules, things, UI components resources (#1827)
The /things, /rules, /ui/components endpoints retrieve all objects
in their entirety, which can become very big, i.e. channels, config
parameters, script rule modules or trees of UI components can
quickly add up to the size.

When the UI simply displays a list of those objects it retrieves all
this extra information but does nothing with it.

This introduces an optional ?summary=true query parameter for the
above resources to limit the output to pre-defined fields which are
deemed most relevant for displaying these lists, omitting the rest.

When the option is not set, the behavior remains unchanged so this
change is not API breaking. The API version has therefore not been
incremented. The client is responsible for adding the option to
retrieve summarized collections instead of the entire objects.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-11-21 18:40:48 +01:00
Kai Kreuzer
5330de0473
Avoid potential NPE (#1839)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-19 20:13:23 +01:00
Christoph Weitkamp
ddaf0d46fd
Added support for MetricPrefix combined with byte and use byte as default instead of octet (#1838)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-19 19:33:10 +01:00
Kai Kreuzer
63ec4342f2
Added expire functionality as core framework feature (#1803)
* Added expire functionality as core framework feature

Closes #1620

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-19 14:15:02 +01:00
Kai Kreuzer
70ca7655a2
Harden item creation by checking for validity of name (#1825)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-18 00:18:00 +01:00
Wouter Born
d5e7fe3ab3
Update LastNPE EEAs to 2.2.1 (#1821)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-11-17 16:29:09 +01:00
Kai Kreuzer
94d6a80493
Create separate DSLScriptEngine instances for every handler (#1819)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-14 20:16:19 +01:00
silamon
d59d3c3cc2
[REST] Apply metadata selector regex on all namespaces (#1756)
* Change metadata selector

Fixes #1692

Signed-off-by: Simon Lamon <simonlamon93@hotmail.com>
2020-11-14 17:58:46 +01:00
Yannick Schaus
4e045204ac
[automation] Create Nashorn script engines with the proper class loader (#1799)
This should fix the issue reported here:
https://community.openhab.org/t/openhab-3-0-milestone-2-discussion/107564/8

where the Nashorn script engine would be created with the
current thread's class loader, causing JS code like this:
```
var Log = Java.type("org.openhab.core.model.script.actions.Log");
Log.logError("Experiments", "This is an OH error log");
Log.logWarn("Experiments", "This is an OH warn log");
Log.logInfo("Experiments", "This is an OH info log");
Log.logDebug("Experiments", "This is an OH debug log");
```
to run fine when the rule was triggered but fail to find the Log
class when run from the REST API's `/rest/rules/{ruleUID}/runnow`,
because in that case the generic createScriptEngine implementation
would return script engines using the JAX-RS class loader as the
"app" class loader.

Note:
We also have an opportunity to restrict which classes are exposed
to the script with a ClassFilter to a specific set:
https://docs.oracle.com/javase/8/docs/jdk/api/nashorn/jdk/nashorn/api/scripting/NashornScriptEngineFactory.html#getScriptEngine-java.lang.String:A-java.lang.ClassLoader-jdk.nashorn.api.scripting.ClassFilter-
This could prove useful to mitigate code execution vulnerabilities,
as the script code is modifiable remotely.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-11-14 15:17:33 +01:00
Christoph Weitkamp
7cb746ece1
Changed comparison from equals() to reference (#1817)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-14 13:46:03 +01:00
lolodomo
8102cffb7f
Log reason for rules/scripts refresh (#1812)
* Log reason for rules/scripts refresh

Fixes #1293

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2020-11-13 21:38:35 +01:00
Kai Kreuzer
7d2a505e13
[automation] Correctly map the state context variable of the ItemStateEvent to the implicit var newState (#1809)
Fixes #1802 

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-13 07:29:56 +01:00
Kai Kreuzer
c2b3885e9e
Do not provide unit information for plain number items (#1811)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-12 22:13:28 +01:00
Kai Kreuzer
48209e4a45
[automation] Fixes NPE when no command is given in a member-of-group trigger (#1806)
Fixes #1793 

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-11 16:27:31 +01:00
Christoph Weitkamp
53af3c99ad
Allow max, min and avg calculations on other types (#1563)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-10 22:40:55 +01:00
Sonic-Amiga
3b65a9c556
transport/mqtt: Introduce setUnsubscribeOnStop() function (#1724)
Some MQTT servers can be quirky, then do not handle Usubscribe request properly.
In this case we have to omit sending it. Introduce a boolean flag, telling
whether the request should be sent or not, and add a public function to set it.

iRobot built-in MQTT server is known to suffer from this problem.

Signed-off-by: Pavel Fedin <pavel_fedin@mail.ru>
2020-11-10 22:37:46 +01:00
Christoph Weitkamp
0b239692ce
Added NPE checks for result of 'getSymbolicName()' methods (#1795)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-10 22:36:21 +01:00
Christoph Weitkamp
91e16e0f80
Print 'ItemChannelLink' configuration in output of console commands (#1794)
* Print ItemChannelLink configuration in output of console commands

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-05 09:22:01 +01:00
Wouter Born
2f2bfde500
Remove Map null annotation workarounds (#1780)
These workarounds to prevent false positives can be removed now the EEAs allow for proper null analysis.

Signed-off-by: Wouter Born <github@maindrain.net>
2020-11-03 22:12:22 +01:00
Wouter Born
0281c10036
[infrastructure] add external null-annotations (#1775)
Add EEAs and fix null analysis errors.

Related to:

* #888
* openhab/openhab-addons#8848

Signed-off-by: Wouter Born <github@maindrain.net>
2020-11-03 21:33:48 +01:00
Christoph Weitkamp
a598fa94f4
Fixed provider comparison (#1792)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-11-03 18:00:28 +01:00
Kai Kreuzer
35b0a1275e
[charts] Add support for QuantityTypes to DefaultChartProvider (#1789)
Fixes #1781

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-02 10:45:31 +01:00
Kai Kreuzer
5a9c5e7d87
strip unit from historic states (#1782)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-11-01 01:53:02 +01:00
Christoph Weitkamp
5683cc2472
Revert ordering of accepted data types for 'StringItem' (#1776)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-30 15:15:03 +01:00
Christoph Weitkamp
25683471e8
Revert ordering of accepted datatypes for StringItem (#1774)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-29 08:45:21 +01:00
radicale
ae26ce4618
Fixed typo in class name TrustAllTrustMananger. Will probably require changes in bindings as well. (#1773)
Signed-off-by: Alessandro Radicati <radicale@gmail.com>
2020-10-28 20:42:45 +01:00
Kai Kreuzer
749b8f17fe
[automation] Allow dashes in rule file names (#1750)
* Allow dashes in rule file names

Fixes #1728

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-10-25 20:19:00 +01:00
Yannick Schaus
3df4403268
[REST Auth] Clear session cookie only when deleting own session (#1758)
Fix https://github.com/openhab/openhab-webui/issues/441

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-10-25 19:52:12 +01:00
Christoph Weitkamp
172ee2f0ad
Replaced static inline declarations by List.of() method (#1755)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-25 15:20:30 +01:00
Christoph Weitkamp
acdbdfa4d7
[ui] Added unit test for read-only Number- and String-Items to not return a Selection Element (#1754)
* Added unit test for read-only Number- and String-Items to not return a Selection Element
* Improved usage of 'lastIndexOf'

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-25 12:11:17 +01:00
Christoph Weitkamp
8744bc10fe
[cache] Added 'ByteArrayFileCache' (#1723)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-25 12:06:30 +01:00
Yannick Schaus
8b52cab5ef
[REST Auth] API tokens & openhab:users console command (#1735)
This adds API tokens as a new credential type. Their format is:
`oh.<name>.<random chars>`

The "oh." prefix is used to tell them apart from a JWT access token,
because they're both used as a Bearer authorization scheme, but there
is no semantic value attached to any of the other parts.

They are stored hashed in the user's profile, and can be listed, added
or removed managed with the new `openhab:users` console command.

Currently the scopes are still not checked, but ultimately they could
be, for instance a scope of e.g. `user admin.items` would mean that the
API token can be used to perform user operations like retrieving info
or sending a command, _and_ managing the items, but nothing else -
even if the user has more permissions because of their role (which
will of course still be checked).

Tokens are normally passed in the Authorization header with the Bearer
scheme, or the X-OPENHAB-TOKEN header, like access tokens.
As a special exception, API tokens can also be used with the Basic
authorization scheme, **even if the allowBasicAuth** option is not
enabled in the "API Security" service, because there's no additional
security risk in allowing that. In that case, the token should be
passed as the username and the password MUST be empty.

In short, this means that all these curl commands will work:
- `curl -H 'Authorization: Bearer <token>' http://localhost:8080/rest/inbox`
- `curl -H 'X-OPENHAB-TOKEN: <token>' http://localhost:8080/rest/inbox`
- `curl -u '<token>[:]' http://localhost:8080/rest/inbox`
- `curl http://<token>@localhost:8080/rest/inbox`

2 REST API operations were adding to the AuthResource, to allow
authenticated users to list their tokens or remove (revoke) one.
Self-service for creating a token or changing the password is more
sensitive so these should be handled with a servlet and pages devoid
of any JavaScript instead of REST API calls, therefore for now they'll
have to be done with the console.

This also fixes regressions introduced with #1713 - the operations
annotated with @RolesAllowed({ Role.USER }) only were not authorized
for administrators anymore.

* Generate a unique salt for each token

Reusing the password salt is bad practice, and changing the
password changes the salt as well which makes all tokens
invalid.

Put the salt in the same field as the hash (concatenated
with a separator) to avoid modifying the JSON DB schema.

* Fix API token authentication, make scope available to security context

The X-OPENHAB-TOKEN header now has priority over the Authorization
header to credentials, if both are set.

* Add self-service pages to change password & create new API token

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-10-25 12:04:40 +01:00
Christoph Weitkamp
dd92288e97
Added nullness annotations, ctor injection (#1747)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-24 10:08:38 +02:00
Christoph Weitkamp
5d75bce553
Sort audio sinks (#1744)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-21 23:56:44 +02:00
Wouter Born
584c85a07f
[automation] Improve rule debugging (#1742)
* Add rule UID to error message
* Add exception with stacktrace when debug level is enabled

Related to #1734

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-20 15:50:25 +02:00
Yannick Schaus
d262b6f5bc
Add missing roles checks (#1739)
(I included these fixes in #1735 but extracted them in a stanalone
PR because it's easier to review and a little more urgent.)

As a result of the refactoring in #1713, the operations annotated with
`@RolesAllowed` containing `Role.USER` are not anymore automatically
considered accessible to all users, regardless of their actual roles.

4 operations are therefore now denied to admins if they only have the
`Role.ADMIN` role, as the first admininistrator is created only with
that role the UI encounters unexpected access denied errors and breaks.
(See https://github.com/openhab/openhab-webui/issues/422).

Closes https://github.com/openhab/openhab-webui/issues/422.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-10-20 08:20:39 +02:00
Wouter Born
0ac14b9f8f
Fix IAE when enabling debug logging on PersistenceManagerImpl (#1737)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-19 22:47:28 +02:00
Christoph Weitkamp
7d70a97b77
Fixed IndexOutOfBoundsException in ScriptModuleTypeProvider (#1730)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-19 13:41:58 +02:00
Wouter Born
b2c045d0fe
Fix build by wrapping lines (#1729)
Caused by #1713

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-19 11:42:26 +02:00
Yannick Schaus
e26c49b9bf
Allow basic authentication to authorize API access (#1713)
* Allow basic authentication to authorize API access

Closes #1699.

Note, this opens a minor security issue that allows an attacker
to brute force passwords by making calls to the API - contrary to
the authorization page, the credentials parsing for the REST API
is stateless & doesn't have a lock mechanism to lock user accounts
after too many failed login attempts.

Signed-off-by: Yannick Schaus <github@schaus.net>
2020-10-18 20:59:51 +02:00
Wouter Born
4c31c0b3ff
Fix issues with configuration PIDs (#1727)
* Fixes warnings about "using different service PIDs"
* Fixes missing default values

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-18 18:02:13 +02:00
Wouter Born
3d88e91952
Open ProviderTracker asynchronously when activating AbstractRegistry (#1719)
* Open ProviderTracker asynchronously when activating AbstractRegistry

Fixes #890

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-18 00:31:13 +02:00
Christoph Weitkamp
4ba70778d1
Added validation for relation between ThingUID and BridgeUID (#1704)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2020-10-17 17:59:34 +02:00
Wouter Born
605c1c238c
Add Automation extension type (#1722)
Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-17 15:08:53 +02:00
Kai Kreuzer
5d830d64f0
Fixed missing item resolution of DSL scripts created through the UI (#1720)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-10-15 23:04:30 +02:00
Kai Kreuzer
70fed5a9c2
Fixed initialization of group items with aggregation functions (#1718)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-10-15 23:03:22 +02:00
Kai Kreuzer
e9ffff9f01
Fixed name of measurement systems (#1717)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2020-10-14 22:46:55 +02:00
Wouter Born
0d1a15ef34
Update ActionService and ThingActions classes in Xtext cache (#1714)
Xtext uses a cache for looking up classes when rules are run.
It also adds a null class value to this cache when a class is not found.

Once a value has entered the cache it will not be updated.
This causes the cache to return the wrong class (or the null value) when
calling static methods on ActionService and ThingActions classes that
were added/updated.

With the changes in this PR Xtext will be configured to use a custom cache
that updates the ActionService and ThingActions class references.

The PR also has a fix for the AnnotatedThingActionModuleTypeProvider not
properly sending ModuleType removed events when all ThingActions
registrations have been removed.

Fixes #1265
Fixes #1694

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-13 23:17:57 +02:00
Wouter Born
7d8126e89f
Fix ScriptEngine parameter option removal (#1716)
When one of the engines is unset the ScriptModuleTypeProvider clears all parameter options instead of only those that apply to that engine.
This fixes the Nashorn engine missing from the parameter options on the first openHAB startup.

Signed-off-by: Wouter Born <github@maindrain.net>
2020-10-13 23:13:30 +02:00