2564 Commits

Author SHA1 Message Date
308c25c5b7 change git attributes 2024-01-04 12:22:40 +01:00
630620edbd adapt to 4.1.x 2024-01-04 12:20:57 +01:00
Av3m
af2f10bde8 ... 2024-01-04 12:07:36 +01:00
Av3m
c34a9fd911 initial implementation for Elero devices 2024-01-04 12:07:33 +01:00
Av3m
e0bfb4e978 ... 2024-01-04 12:03:13 +01:00
Av3m
9649f64da8 initial commit for mediala aio gateway 2024-01-04 12:03:05 +01:00
J-N-K
d434fc5e4e [inmemory] Add filterCritera ordering (#16185)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2024-01-02 21:04:11 +01:00
Wouter Born
733d2e7b0c [shelly] Fix WebSocketServerFactory ClassNotFoundException (#16150)
Adds a package import so the class can be found by the class loader.

Fixes #16118

Signed-off-by: Wouter Born <github@maindrain.net>
2023-12-31 12:05:59 +01:00
Wouter Born
4269e3ea2a [amazonechocontrol] Fix Servlet exceptions due to non-unique names (#16152)
Fixes #16149

Signed-off-by: Wouter Born <github@maindrain.net>
2023-12-31 01:03:58 +01:00
Nils Schnabel
72e22e241f [PJLink] forget threadpool after it was shutdown (#16119)
This is an issue if the user cancels/restarts discovery scans, new tasks were added to the shutdown threadpool.
With this PR, a new threadpool will be created on the next scan in getExecutorService().

Signed-off-by: Nils Schnabel <github@to.nilsschnabel.de>
2023-12-28 11:19:35 +01:00
Cody Cutrer
2a05265efa [mqtt.espmilighthub] fix upgrade instructions (#16127)
since #13801, it's not been possible to add new milight things,
because the thing XML already has the new channel types, but not
the thingTypeVersion property set, so it would try to apply the
update instructions and error about duplicate channels

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-28 00:22:41 +01:00
Florian Hotze
222c40bdff [jsscripting] Upgrade openhab-js to 4.7.3 (#16112)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-25 23:53:39 +01:00
Florian Hotze
2fd46961fc [jssscripting] Fix JS Quantity to Java QuantityType conversion (#16106)
Regression from https://github.com/openhab/openhab-js/pull/312.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-25 23:49:30 +01:00
Kai Kreuzer
79a2c21202 Bump to next snapshot version 2023-12-25 23:23:14 +01:00
Holger Friedrich
7ec655d01c [heos] Minor doc update (#16092)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-20 23:49:47 +01:00
Jacob Laursen
0055ce3954 [surepetcare] Fix DateTimeParseException (#16087)
Fixes #16082

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-20 18:38:53 +01:00
Jacob Laursen
90f66cbb82 [surepetcare] Fix NPE (#16088)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-20 18:25:51 +01:00
Matthew Skinner
3e7162d69a [opensprinkler] Fix excessive WARN in logs due to wifi dropouts, and current displays as 0 (#16080)
* Fix 300mA current draw will display as 0 due to rounding.
* Remove WARN logs when retries have not yet expired.

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-12-20 13:40:38 +01:00
Jacob Laursen
9872ca7789 [energidataservice] Provide work-around for currency issues (#16085)
* Provide work-around for currency issues
* Verify unit before trying to instantiate QuantityType

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-20 11:21:08 +01:00
Wouter Born
fe2d521209 Resolve runbundles for logback upgrade (#16083)
Related to openhab/openhab-core#3935

Signed-off-by: Wouter Born <github@maindrain.net>
2023-12-20 01:02:59 +01:00
Jacob Laursen
f61364d2cd [wemo] Fix discovery methods (#16077)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-19 22:54:42 +01:00
openhab-bot
6763100511 New Crowdin updates (#16076)
* New translations energidataservice.properties (Italian)
* New translations smgw.properties (Italian)
2023-12-18 17:12:39 +01:00
openhab-bot
27991324e6 New Crowdin updates (#16074)
* New translations energidataservice.properties (Danish)
* New translations openweathermap.properties (Italian)
2023-12-17 14:56:50 +01:00
stefan-hoehn
329f2b71e8 [govee] New Govee LAN-API Binding (#15696)
Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2023-12-17 13:38:31 +01:00
Jacob Laursen
0c6a80a3be Update I18N properties (#16073)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-17 13:33:30 +01:00
Holger Friedrich
4ee3a68f37 [knx] Metadata for discovery (#16055)
* [knx] Metadata for discovery

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-17 13:13:42 +01:00
Florian Hotze
7d7acb5dbf [jsscripting] Upgrade openhab-js to 4.7.2 (#16072)
Fixes a minor issue introduced by openhab-js 4.7.1.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-17 12:17:38 +01:00
J-N-K
3e0deab3ba [smgw] Initial contribution (#16017)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-12-17 10:13:00 +01:00
Stefan Triller
e4c4d03167 [ipcamera] Fix Hikvision cameras stay offline when a 401 reply is given with no www-authenticate header (#15613)
Signed-off-by: Stefan Triller <github@stefantriller.de>
2023-12-17 06:58:34 +01:00
openhab-bot
79dc3c9312 New translations mqtt.properties (Italian) (#16071) 2023-12-17 00:03:56 +01:00
Andrew Fiddian-Green
d2e271d053 [hue] recreate missing scene channel (#16038)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-12-16 21:16:02 +01:00
Jacob Laursen
413ce0898c Add UoM support for energy prices (#16070)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-16 17:29:06 +01:00
Mark Herwege
0228f43004 more restrictive HEOS finder (#16045)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-12-16 15:06:21 +01:00
Mark Herwege
463cebcbdf change mdns add-on discovery syntax (#16060)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-12-16 14:14:32 +01:00
Florian Hotze
63d71f4865 [jsscripting] Upgrade openhab-js to 4.7.1 (#16069)
You'll find the changelog at the openhab-js repo: https://github.com/openhab/openhab-js/blob/main/CHANGELOG.md#471.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-16 13:50:41 +01:00
Holger Friedrich
4ba325d0df [knx] Add integration tests (#15727)
* [knx] Add integration tests
* [knx] Adapt handling of DPTs

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-16 12:51:14 +01:00
Holger Friedrich
e6982e71bb [knx] Add discovery service (#16033)
* [knx] Add discovery service

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-16 11:37:57 +01:00
Holger Friedrich
157d3d0141 addoninfo for new add-on suggestion finder "process" (#16031)
* addoninfo for new add-on suggestion finder "process"

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-16 10:53:37 +01:00
Gaël L'hopital
7a1884d4d1 [netatmo] Ensure to close all scheduled jobs (#16056)
* Close all jobs

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-12-16 10:10:35 +01:00
aliijm
5a70137e7b [neato] Fix things file example in Readme (#16064)
* Correct things definition in README.md

Add example of bridge and link thing to bridge.

---------

Signed-off-by: aliijm <44173819+aliijm@users.noreply.github.com>
2023-12-16 10:00:13 +01:00
Cody Cutrer
de418fe42c [mqtt.espmilighthub] Use system channel types for color temp and brightness (#13801)
* [mqtt.espmilighthub] use system channel types for color temp and brightness

closes #10096

also add absolute color temp channel. and remove level channel when we
already have a color channel (you can link a DimmerItem to a color
channel if your light doesn't happen to have color or you want direct
control of brightness only for some reason)

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-16 09:49:35 +01:00
openhab-bot
71066837dc New translations mqtt.properties (Italian) (#16067) 2023-12-15 20:57:40 +01:00
Cody Cutrer
cece5c589b [mqtt.espmilighthub] use ColorUtil instead of deprecated HSBType.fromXY (#16066)
and fix that it expects ranges from 0.0 to 1.0 instead of 0.0 to 100.0

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-15 19:48:17 +01:00
Cody Cutrer
98fb791dc5 [mqtt.homeassistant] Add support for Update component (#14241)
* [mqtt.homeassistant] add support for Update component

This component is fairly non-standard - it doesn't add any channels.
Instead, it provides several properties to the thing, and also adds
a thing configuration allowing you to trigger an OTA update on a
Home Assistant device from MainUI.

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-14 23:53:14 +01:00
Matthieu
1712783945 Update README.md (#15234)
Differences in address writing convention between Niko's software and this binding

Signed-off-by: Matthieu <webmail@gaillet.be>
2023-12-14 23:35:55 +01:00
Markus Minichmayr
03b7b1dbac [modbus] Improve error message if data thing is configured for reading but not connected to a polling bridge. (#16054)
Signed-off-by: Markus Minichmayr <markus@minichmayr.net>
2023-12-14 23:25:25 +01:00
Martin Grassl
4f84c48b21 [mybmw] Upgrade to new BMW API (#14452)
* [mybmw] fix not working binding due to API update

to make it work the code has been refactored and due to API changes some
improvements could be made. These include:
- (improvement) fingerprint generation: You can
  take a look at the README how to create a
  fingerprint more conveniently.
- (change) changed channel: charge-info has been
  renamed to charge-remaining
- (improvement) added channels:
  estimated-fuel-l-100km and estimated-fuel-mpg
  which calculates the estimated fuel consumption
  based on the range and remaining fuel liters
  - unfortunately such a calculation is not available
  for EVs as there is no information about the capacity of the battery.
- (improvement) added channel last-fetched:
  the last-updated timestamp is showing by when
  the last update of the vehicle happened. As right
  now you can not see from the channels if a thing
  is offline due to connection issues, you can check
  now if last-fetched is more than 5 minutes ago to identify an issue
- (fixed) remote command typos fixed

Fixes #14065

Also-by: Mark Herwege <mark.herwege@telenet.be>
Signed-off-by: Martin Grassl <martin.grassl@digital-filestore.de>
2023-12-14 23:08:25 +01:00
GiviMAD
6d2b8bc92f [porcupineks] Remove from add-on repo (#16063)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-12-14 22:58:06 +01:00
Tim Harper
9ebb203d58 [opengarage] Add door transition status support (#14028)
* Add support for garage door transition status

Homekit requires a status for the garage door of OPEN, CLOSED, CLOSING,
OPENING. In order to report that, we must provide state transition
information. State transition information is inferred when the garage
door state is changed. For door_transition_time_seconds since the last
open/close command was issued, the binding reports the state as either
"closing" or "opening".

---------

Signed-off-by: Tim Harper <timcharper@gmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2023-12-14 22:09:23 +01:00
wzbfyb
4a8cb5fac9 [opensprinkler] Make http connection more resilient (#14998)
Signed-off-by: Bernhard Kreuz <bernhard@kreuz.wien>
Signed-off-by: wzbfyb <57131473+wzbfyb@users.noreply.github.com>
Co-authored-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2023-12-14 21:55:12 +01:00
Florian Hotze
7b16ef1de8 [jsscripting] Upgrade openhab-js to 4.7.0 (#16062)
You'll find the changelog at the openhab-js repo: https://github.com/openhab/openhab-js/blob/main/CHANGELOG.md#470.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-14 20:23:37 +01:00
Florian Hotze
c81a263b91 [openweathermap] Add support for persisting OneCall API forecasts (#15963)
Implement time series support introduced by https://github.com/openhab/openhab-core/pull/3597.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-12-14 20:21:54 +01:00
Kai Kreuzer
ea3e608c81 [rrd4j] Reliably get the latest value, if the filter end date is set to "now" (#16059)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-12-14 07:23:49 +01:00
Holger Friedrich
969518a077 [knx] Refine GA documentation (#16058)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-13 22:01:26 +01:00
mlobstein
872013a700 Add support for 4 zone model (#16043)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-12-13 12:27:46 +01:00
Holger Friedrich
992f65d8e2 [knx] New modifier to set mainGA write-only (#16042)
* [knx] New modifier to set mainGA write-only

Co-authored-by: Florian Hotze <florianh_dev@icloud.com>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-13 09:17:00 +01:00
lolodomo
3972dde690 [sonyprojector] Add new channel to send infrared remote commands (#15753)
Fix #15409

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-12-12 23:20:10 +01:00
Jacob Laursen
2be0f8dd66 Fix discovery for deCONZ (#16053)
Fixes #16036

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-12 22:04:06 +01:00
Jacob Laursen
f45630064a Fix scene channel updates (#16018)
Fixes #16000

Also-by: Andrew Fiddian-Green <software@whitebear.ch>

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-12 08:46:29 +01:00
openhab-bot
ccdb851085 New Crowdin updates (#16049)
* New translations tasmotaplug.properties (French)
* New translations ecowatt.properties (French)
2023-12-11 20:51:47 +01:00
Cody Cutrer
73559be058 [mqtt.homeassistant] Improve Cover support (#15875)
* [mqtt.homeassistant] improve Cover support

 * Add support for covers that report position
 * Handle when command and state values for OPEN/CLOSE/STOP
   differ (as they do by default)
 * Expose the full cover state, since it can have tell you
   if the cover is moving or not
 * Handle covers that have a position only, but not a state

* add constants to clarify up/down values

* Be sure to parse percents from strings in RollshutterValue

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-11 19:11:27 +01:00
Mark Herwege
0aab1f5818 capture all addon xml files (#16044)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-12-11 14:19:41 +01:00
David Pace
2b9b3dfa0f [boschshc] Add support for motion detector illuminance sensor (#16021)
* [boschshc] Add support for motion detector illuminance sensor

- add channel and corresponding channel type
- add update description
- add state model
- implement service and handler
- add documentation
- add unit test

---------

Signed-off-by: David Pace <dev@davidpace.de>
2023-12-11 00:57:59 +01:00
openhab-bot
10a46a8039 New translations mqtt.properties (Italian) (#16039) 2023-12-10 23:32:27 +01:00
M Valla
60813fdcb5 [openwebnet] updated links in README (#15962)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-12-10 23:12:50 +01:00
Giovanni Fabiani
b1c9a17437 [openwebnet] Update label pattern in items example (#16016)
Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
2023-12-10 20:44:06 +01:00
Jacob Laursen
9f4b8a6cb7 Add discovery method for Denon receiver (#16035)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-10 13:10:43 +01:00
Stefan Roellin
8c560a409c [pilight] Add option to disable background discovery for a given pilight bridge thing (#15986)
* [pilight] Add option to disable background discovery for a given pilight bridge thing

Previously the background discovery updated periodically all channels of all
devices regardless whether they have sent an update or not.  This behavior
makes it impossible to decide whether a device is still alive by observing
channel updates sent by a device itself.  Especially for devices running on
battery, it is important to know, if it still sends updates.

Create ExecutorService during initialize

---------

Signed-off-by: Stefan Roellin <stefan@roellin-baumann.ch>
2023-12-10 12:14:59 +01:00
Andrew Fiddian-Green
7da863aa49 [neohub] Avoid too frequent requests to hub (#15743)
* [neohub] throttle requests to hub
* [neohub] handle websocket error; and attempt restart

---------

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-12-10 11:20:54 +01:00
Cody Cutrer
c3660e2414 [mqtt] Interpet incoming NaN as UNDEF for NumberValues (#15897)
* [mqtt] Interpet incoming NaN as UNDEF for NumberValues

Since DecimalType and QuantityType don't support NaN, but
when you're linking to a topic that the device is using
floating point, NaN might happen.

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-10 11:01:15 +01:00
Kai Kreuzer
92383abf57 Store active route location in dedicated fields (#16032)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-12-10 10:36:24 +01:00
Matthew Skinner
a950f19e60 [opensprinkler] Fix Program names and add new features for firmware 2.2.0 (#15410)
* Fix Program names are not parsed correctly in firmware 2.2.0

---------

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-12-10 10:25:57 +01:00
GiviMAD
d791e7900a [Jellyfin] Fix how refresh is handled (#16013)
* [Jellyfin] Fix how refresh is handled

---------

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-12-10 09:53:33 +01:00
Kai Kreuzer
b33ebb8433 Hide refresh token in the UI as it is considered a secret (#16030)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-12-09 23:54:41 +01:00
Gaël L'hopital
faf400eb8d Enhance error handling when no value is provided for Synop (#16024)
Signed-off-by: clinique <gael@lhopital.org>
2023-12-09 22:31:15 +01:00
Kai Kreuzer
6e9ef27006 Fix location with firmware 2023.38.x (#16029)
Signed-off-by: Paul Smedley <paul@smedley.id.au>
Co-authored-by: Paul Smedley <paul@smedley.id.au>
2023-12-09 22:25:45 +01:00
cyril
2de14d2d65 Update README.md (#16019)
Add an explain regular expressions to Further Reading

Signed-off-by: cyril <38669260+cyrilbois@users.noreply.github.com>
2023-12-08 19:48:53 +01:00
Jacob Laursen
849117c7a4 [hue] Improve handling of unknown resource ID (API v2) (#16020)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-08 15:53:58 +01:00
maniac103
d14733f100 [ecovacs] Add some new models to device database (#16022)
Fixes #15750

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-12-08 08:59:56 +01:00
Andrew Fiddian-Green
3814f37d9a Make bindings discoverable on system startup (#15817)
* [discovery-methods] mDNS discovery methods
* [discovery-methods] UPnP discovery methods

---------

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-12-07 20:34:45 +01:00
Cody Cutrer
d6b19fecfe [mqtt.homeassistant] handle multiple availability topics (#15977)
* [mqtt.homeassistant] handle multiple availability topics

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-12-07 20:22:03 +01:00
openhab-bot
5b98e41b7a New translations hue.properties (Italian) (#16011) 2023-12-06 17:24:48 +01:00
Andrew Fiddian-Green
4476e6dcd0 [hue] Fix edge cases for broken lights (#15999)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-12-06 15:22:04 +01:00
J-N-K
c44c9dc67e [knx] Fix IOOB exception with missing DPT in number channels (#15730)
* Fix IOOB exception with missing DPT in number channels

Also improves test messages for DPT unit tests

Signed-off-by: Jan N. Klug <github@klug.nrw>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de>
2023-12-06 07:53:16 +01:00
Jacob Laursen
58a8580a97 [squeezebox] Add UoM support for time channels (#15997)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-05 20:04:49 +01:00
Jacob Laursen
2fae1dd99e Use auto update policy 'veto' for light channels (#15984)
Resolves #15983

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-05 18:56:46 +01:00
openhab-bot
cff35b392d New Crowdin updates (#16007)
* New translations bluetooth.properties (Italian)
* New translations bluetooth.properties (Danish)
2023-12-05 16:48:03 +01:00
J-N-K
a850df1e8f build addon xml (#15870)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-12-04 22:42:40 +01:00
Jacob Laursen
a76187fa3a Fix multiple state updates (#15905)
Fixes #15700

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-12-04 22:40:31 +01:00
Markus Heberling
f5065ad6e4 [grundfosalpha] Initial contribution (#15907)
* [Bluez] Disable automatic filtering of duplicate data
* Added Grundfos Alpha binding

Signed-off-by: Markus Heberling <markus@heberling.net>
2023-12-04 11:10:10 +01:00
openhab-bot
c22de9bcd3 New translations energidataservice.properties (Italian) (#16004) 2023-12-04 07:01:47 +01:00
GiviMAD
b86097cacd [actiontemplatehli] Remove add-on. (#15972)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-12-03 11:22:49 +01:00
mlobstein
55b8e1ce63 Update README (#15998)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-12-03 11:17:35 +01:00
openhab-bot
f0c8defabb New translations shelly.properties (German) (#15988) 2023-12-02 00:15:26 +01:00
Sascha Binger
b490b56dbd Update README.md (#15981)
Fixed typos in example item configuration

Signed-off-by: Sascha Binger <glazfehler@users.noreply.github.com>
2023-12-01 08:58:09 +01:00
Andreas Berger
4fbb6c9655 [fineoffsetweatherstation] Fix handling of undefined lightning distance and time (#15979)
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2023-11-30 11:13:41 +01:00
Andrew Fiddian-Green
73ec188067 [hue] eliminate scenes having the same name (#15976)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-11-29 22:36:44 +01:00
Jacob Laursen
b80273a88a [hue] Refactor method to reduce nesting and code duplication(#15971)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-29 12:20:57 +01:00
mlobstein
e33cccc29c [roku] Improve exception handling for failed http connections (#15932)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-11-29 08:12:27 +01:00
Siegmar Immel
6df602599e [mail] Improve action documentation (#15970)
* Use of actions.get instead of getActions 

Adopt doc to newest default JS environment regarding calling mail actions via actions.get

Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>

* [mail] Adding Javascript examples in documentation

Because function name has changed to get actions defined within the mail binding, the examples have been extended by a tab for JavaScript code.

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

Co-authored-by: J-N-K <github@klug.nrw>
Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>

---------

Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>
Co-authored-by: J-N-K <github@klug.nrw>
2023-11-28 22:45:26 +01:00
Konstantin Polihronov
f4aa1c6d59 [solax] Implementation of refresh command and improved thread safety (#15958)
* Implementation of refresh command and better multi-thread handling

---------

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-11-28 00:29:16 +01:00
Marcel
4d13a6d20e [miio] Fix cleaning record for newer vacuums (#15944)
* [miio] Fix cleaning record for newer vacuums

Fixes Roborock Q7Max Historical Cleaning record missing

closing #15490

---------

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-11-28 00:10:27 +01:00
Cody Cutrer
6e58b1ed22 Claim ownership of mqtt, mqtt.homie, and mqtt.homeassistant bindings (#15930)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-27 19:23:32 +01:00
lolodomo
9b55bfba58 [ecowatt] Add support for API version 5 (#15953)
A new thing parameter to define the API version has been added.
Its default value is 4 for backward compatibility even if this version
is now deprecated. The documentation explains what to do to switch from
a version to another.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-11-26 23:34:45 +01:00
Markus Michels
a4da986330 [shelly] Support for Plus Dimmer 10v (#15950)
* Implements #15949: Plus Dimmer 10v added
* category DimmableLight does not exist; README updated

---------

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-11-26 00:27:03 +01:00
Wouter Born
5177cf1e0c [lifx] Add support for new LIFX products (#15957)
Allows for discovering all the new LIFX products and their features:

* LIFX Neon
* LIFX String

See:

* https://github.com/LIFX/products/blob/master/products.json
* https://www.lifx.com.au/products/neon-flex-2m-indoor
* https://www.lifx.com.au/products/lifx-string-light

Signed-off-by: Wouter Born <github@maindrain.net>
2023-11-25 22:56:04 +01:00
Wouter Born
1c8ce7c6a9 Add SAT warning when jSerialComm, PureJavaComm imports are used (#15952)
Add-ons should use the OH serial transport and not their own serial communication libraries.

Related to #7573

Signed-off-by: Wouter Born <github@maindrain.net>
2023-11-25 14:36:52 +01:00
mueller-ma
dc6c08801c [nanoleaf] Fix typos (#15956)
Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2023-11-25 14:36:20 +01:00
Cody Cutrer
9d214b0558 [mqtt.homeassistant] interpret a dimmable light as OFF properly from zigbee2mqtt (#15925)
* [mqtt.homeassistant] interpret a dimmable light as OFF properly from zigbee2mqtt

zigbee2mqtt can send a brightness of say 99, with a state of OFF, when a bulb is
off. make sure if state is sent, it overrides all other inferences

* handle brightness but not color bulbs

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-25 12:47:00 +01:00
Jacob Laursen
c7aed14a49 Reorganize API classes (#15934)
Resolves #15731

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-25 12:33:59 +01:00
Cody Cutrer
935415aa6e [mqtt.homeassistant] VETO updates to read only channels (#15937)
I.e. Button, Scene, and Binary Sensors.

Also ensure we set up the CommandDescription, since some value types mights use it.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-25 12:27:05 +01:00
Markus Michels
a13fd80bfe [shelly] Misc changes (small fixes, log improvements, hardened leak prevention on (#15922)
* Misc changes (same fixes, log improvements, hardened leak prevention on
exceptions)

---------

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-11-25 09:46:22 +01:00
openhab-bot
a31b1578be New translations energidataservice.properties (Danish) (#15948) 2023-11-23 20:54:56 +01:00
Jacob Laursen
9b1553c333 Rename channels net-tariff and transmission-net-tariff (#15938)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-23 19:36:30 +01:00
Matthew Skinner
50801be9d5 Fix Reloink alarms not working after reconnect. (#15943)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-11-23 13:39:07 +01:00
openhab-bot
3c0c402761 New translations energidataservice.properties (Italian) (#15947) 2023-11-22 23:27:42 +01:00
openhab-bot
2064b51610 New Crowdin updates (#15939)
* New translations shelly.properties (German)
* New translations energidataservice.properties (Danish)
2023-11-22 07:00:48 +01:00
Jacob Laursen
b2b7602eee Rename price element to price component (#15935)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-20 23:18:46 +01:00
David Pace
ff873fff14 [boschshc] Update active profile of intrusion detection system (#15899)
* [boschshc] Update active profile of intrusion detection system

Fixes an issue that caused the active configuration profile of the
intrusion detection system not to be updated.

closes #15848

* [boschshc] add channel to control state service registration

Signed-off-by: David Pace <dev@davidpace.de>
2023-11-20 20:59:52 +01:00
openhab-bot
62f9f03bbf New Crowdin updates (#15931)
* New translations openwebnet.properties (Italian)
* New translations jsscripting.properties (Danish)
* New translations hdpowerview.properties (Danish)
2023-11-20 12:30:32 +01:00
Cody Cutrer
89380b0e41 [mqtt.homeassistant] Add support for Scene component (#15916)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:54:33 +01:00
Cody Cutrer
44e32d3fbb [mqtt.homeassistant] implement effect channel for light (#15914)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:52:51 +01:00
M Valla
dcf4255b98 [openwebnet] fix CEN/CEN+ scenario control buttons param descriptions (#15924)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-11-19 17:26:27 +01:00
Cody Cutrer
fc9579430e [mqtt.homeassistant] Add support for Button component (#15892)
* [mqtt.homeassistant] Add support for Button component
* use a StringValue instead of an OnOffValue

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 17:06:54 +01:00
Giovanni Fabiani
9a920a244a [openwebnet] Energy: add totalizers channels for energy kWh consumed for today and current month (#15837)
* feat(energy): get current day and current month totalizers
* fixed unit (Power:Energy), refreshPeriod config and scheduler

---------

Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
Co-authored-by: Conte Andrea <andrea@conte.com>
2023-11-19 16:57:13 +01:00
Simonas Kazlauskas
1ea6865254 [velbus] Review/rewrite documentation (#15537)
The page was missing information in some places (e.g. some supported
modules were not listed at all,) and some outdated information in
others. Some examples were malformed, and some wording didn’t flow too
well. The section on Channels is still pretty iffy, but I left this as
an exercise for a future me or somebody else :)

Signed-off-by: Simonas Kazlauskas <openhab@kazlauskas.me>
2023-11-19 15:59:32 +01:00
Cody Cutrer
c2a6329408 [mqtt.homeassistant] Handle empty device name (#15918)
Follow on to #15427

ring-mqtt sends `"name": ""`, not `"name": null` or simply omitting it,
so be sure to handle that way as well

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-19 00:58:25 +01:00
Cody Cutrer
8ca03bd5c7 [mqtt.homeassistant] fix compilation problems (#15915)
Due to #15427 and #14839 being developed independently, but merged
to main successively

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 23:38:52 +01:00
Jacob Laursen
96470d4448 Fix openhab unit name (#15913)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-18 23:20:27 +01:00
Cody Cutrer
7fc351c9c2 [mqtt.homeassistant] handle null component name (#15427)
* [mqtt.homeassistant] handle null component name

channels from such components will not have a group. this is
now done by zigbee2mqtt for the "default" component of a device,
such as the light. HASS encourages this as of release 2023.8

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 22:46:57 +01:00
Markus Michels
a535caa13c [shelly] BLU Motion, optimize ShellyManager for BLU devices (#15401)
Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-11-18 21:50:10 +01:00
Cody Cutrer
27924d677f [mqtt.homeassistant] Support color temp on JSON schema lights (#14839)
* [mqtt.homeassistant] support color temp on JSON schema lights

also adds a color_mode channel if color temp is possible, so you can
know how the bulb is behaving

* put color mode channel construction into buildChannels()

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-11-18 21:31:49 +01:00
maniac103
87ae9e2a37 [homematic] Fix duplication of LONG_REPEATED events for HM devices (#15906)
Depending on device configuration and used central [1], HM devices may
indicate long press repetition either by a single PRESS_CONT event or by
a PRESS_CONT + PRESS_LONG combination. In the latter case, make sure to
not generate a LONG_REPEATED trigger channel event for both PRESS_CONT
and PRESS_LONG, but instead keep LONG_REPEATED generation to the
PRESS_CONT handling.

[1] I'm not sure what a real CCU is doing, but for Homegear, a
    configured long press timeout of less than 1s generates only
    PRESS_CONT, while a timeout of more than 1s generates
    PRESS_CONT + PRESS_LONG ... see [2].
[2] https://github.com/Homegear/Homegear-HomeMaticBidCoS/blob/master/src/BidCoSPeer.cpp#L1711-L1716

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-11-18 20:38:55 +01:00
Dan Cunningham
01ab38ee13 [myq] Remove MyQ Binding (#15911)
Fixes #15910

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-11-18 20:30:48 +01:00
Markus Michels
45786fa12c [shelly] Fix Gen2 auth, improved security for Gen1 auth, improved discovery (#15898)
Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-11-18 16:28:44 +01:00
Jacob Laursen
608007c67e Fix color state update (#15908)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-18 16:24:10 +01:00
Jacob Laursen
7d24cfbc9e [hdpowerview] Improve color channel for Repeater and remove redundant brightness channel (#15880)
* Improve color channel
* Log warning for unexpected color command

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-18 12:44:09 +01:00
Hakan Tandogan
70095cdb49 [tesla] extend docu on 'softwareupdateversion', this can hold map updates too (#15835)
* [tesla] extend docu on 'softwareupdateversion', this can hold map updates too

---------

Signed-off-by: Hakan Tandogan <hakan@tandogan.com>
2023-11-17 19:52:53 +01:00
mlobstein
6a39bbf076 Ignore invalid elapsed/total time values (#15900)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-11-17 18:51:26 +01:00
openhab-bot
97975cfbc2 New translations x.properties (Italian) (#15901) 2023-11-17 18:44:06 +01:00
Gaël L'hopital
596015d2ba [netatmo] Enhance errored modules handling (#15866)
* Resolves issue #15858
* Enhance null control in DTO

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-11-17 18:41:59 +01:00
lsiepel
12f02124b6 [twitter] rename binding to X (#15809)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-15 09:12:24 +01:00
mlobstein
ab0ea34d5a Suppress warning messages (#15129)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-11-14 15:44:47 +01:00
lsiepel
2b393699bf [Bluetooth] re-fix ArrayStoreException (#15891)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-13 19:39:39 +01:00
Markus Michels
beade55ca6 [shelly] Fix resource leak, BLU script installation, TRV init, NPE on IPv6 mDNS discovery (#15798)
* Fix resource leak when discovery handling failed and NPE when a IPv6
address is reported.
* remove callApi(request/innerRequest from Shelly1HttpApi, which changes
to callApi/httpRequest in ShellyHttpCLient.

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-11-13 19:37:04 +01:00
openhab-bot
c15f1344c3 New Crowdin updates (#15886)
* New translations sonos.properties (French)

* New translations influxdb.properties (French)

* New translations netatmo.properties (French)

* New translations jpa.properties (French)

* New translations chatgpt.properties (French)
2023-11-12 20:16:43 +01:00
mueller-ma
49bf5eb085 Remove Bountysource badge (#15884)
It seems that Bountysource has been shut down as the website isn't reachable anymore and they don't respond to support mails.

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2023-11-12 10:03:53 +01:00
openhab-bot
1e1632b78f New Crowdin updates (#15881)
* New translations boschshc.properties (Italian)

* New translations tasmotaplug.properties (Italian)
2023-11-11 23:56:49 +01:00
J-N-K
28927310eb [influxdb] Improve connection handling (#15879)
* [influxdb] Improve connection handling

Especially for InfluxDB2 the connection check was not properly implemented. It only checked if a connections was ever successfully established. Since we removed the full crash when a write error occured, this lead to a situation where a broken connection was not detected. A ping is now implemented and also a failed write results in a disconnect.

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-11-11 23:15:21 +01:00
Patrick
1b466fb319 [boschshc] Add scenario channel (#15752)
Signed-off-by: Patrick Gell <patgit023@gmail.com>
2023-11-11 14:22:52 +01:00
Robert D
1eacf67f34 [Senec] Fix for Senec firmware update (#15535)
* Fix for Senec update

Signed-off-by: querdenker2k <querdenker2k@gmx.de>
2023-11-11 14:01:37 +01:00
Gaël L'hopital
6176b080c4 Adding unknown event type + bootstrap handling of topology changes (#15860)
Signed-off-by: clinique <gael@lhopital.org>
2023-11-11 13:52:06 +01:00
billfor
d0c70f88b3 [mqtt] Add Topic Name for Incoming Payload Not Supported (#15872)
Signed-off-by: bill <git@billforsyth.net>
Co-authored-by: Bill Forsyth <git@billforsyth.net>
2023-11-11 13:45:31 +01:00
Jacob Laursen
50e1687472 Persist future prices (#15864)
Resolves #15863

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-11 13:39:05 +01:00
Jacob Laursen
49b952b9a3 Implement TimeSeriesProfile (#15873)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-11 13:30:52 +01:00
hutcheonk
97039d0a3f Update README.md (#15019)
Add "MQTT Client Status Messages Mode setting" to ESP Config..

Signed-off-by: hutcheonk <76188428+hutcheonk@users.noreply.github.com>
2023-11-11 12:51:15 +01:00
Jacob Laursen
2b0c805b33 [jdbc] Fix addon id for SQLite (#15877)
Fixes #15847

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-11 11:51:03 +01:00
mlobstein
ffc127f91c [tasmotaplug] Initial contribution (#15857)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-11-10 23:51:43 +01:00
Andreas Berger
10d519bd6b [fineoffsetweatherstation] Fix wrong handling temperature reading for of WH34 (#15853)
* [fineoffsetweatherstation] Improve tracing
* [fineoffsetweatherstation] Fix wrong handling temperature reading for of WH34

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2023-11-10 13:29:25 +01:00
Jamie Townsend
fc67ec8161 Fix control signal circulating pump
Fixes #15836

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
2023-11-09 20:01:44 +01:00
openhab-bot
6db0b18ab3 New translations hue.properties (Italian) (#15874) 2023-11-09 18:48:41 +01:00
Andrew Fiddian-Green
4f6d33bb79 [hue] Support new home security products (#15601)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-11-09 08:09:20 +01:00
truidix
5555d68f92 [miio] Add a few new vacuum robots and station channels (#15704)
* Added a few new channels:
- cleaning the mop
- check if mop drying is enabled
- remaining time for mop drying

Signed-off-by: David Kumar <github@truidix.de>
2023-11-08 21:39:59 +01:00
J-N-K
91b294521e Fix build after core changes (#15869)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-11-08 20:31:44 +01:00
Konstantin Polihronov
24f4234e9b [solax] Support for three phase inverter X3 Hybrid G4 (#15710)
Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-11-07 08:54:08 +01:00
jimtng
1881f17e3e [jrubyscripting] Update to jruby 9.4.5.0 (#15852)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-11-06 23:27:51 +01:00
J-N-K
d2694d47e4 [deconz] Support window covering controller (#15856)
Some devices report "Window covering controller" instead of "Window covering device". They are controlled in the same way.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-11-06 21:31:53 +01:00
lsiepel
4e7d7363c1 [irtrans] Remove org.apache.common (#14408)
* Fix warnings

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-06 15:30:57 +01:00
Holger Friedrich
6196de7742 [knx] Fix all compiler warnings (#15840)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-11-05 19:46:18 -08:00
Jacob Laursen
af169f1ea1 Remove maintainers (#15849)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-05 21:12:18 +01:00
openhab-bot
85215e0d93 New Crowdin updates (#15842)
* New translations sonos.properties (Italian)

* New translations androiddebugbridge.properties (Italian)
2023-11-05 16:49:27 +01:00
Bernd Weymann
fd41eb75be [sensorcommunity] State pattern for dB, Percent and Microgram/m3 added (#15692)
* State pattern for dB, Percent and Microgram/m3 added

---------

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2023-11-05 16:36:33 +01:00
Christian
b9b98dfb74 Update README.md (#15843)
Fixed copy-paste error

Signed-off-by: Christian <chj.maurer@gmail.com>
2023-11-05 16:02:08 +01:00
lsiepel
38a9612b6c [plugwise] Prevent possible chomp bug (#15339)
* Improve chomp
* Adapt to core Stringutils
* Improve minor null check

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-04 11:38:27 +01:00
lsiepel
6efa3d792c [doorbird] Warning and SAT cleanup (#15824)
* Warning and SAT clenaup

---------

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-04 10:31:52 +01:00
lsiepel
0a5a9912a5 null check (#15841)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-04 10:29:43 +01:00
Gaël L'hopital
c7ce929aa2 [Freeboxos] npe when updating inactive Player (#15813)
* Correcting npe
* Added status update

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-11-04 10:28:46 +01:00
Holger Friedrich
1ca0f643a0 [knx] Fix typos in code comments (#15839)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-11-03 23:16:41 +01:00
lsiepel
fddacb4c80 Warning and codeanalysis (#15828)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-03 22:51:23 +01:00
lsiepel
7724f16e7c gson fields alias (#15829)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-03 22:05:31 +01:00
Tim
888f4388a3 [sonnen] Fix channel types, Energy should be Power (#15384)
Also adapt the documentation and drop the batteryFeedIn in the documentation
which is not part of the binding.

Fix #15365

Signed-off-by: Tim Lochmüller <tim@fruit-lab.de>
2023-11-03 21:29:39 +01:00
uqs
3daede06e4 [astro] Update README.md (#15648)
Help users detangle #start, #end and #event trigger channels and their
respective offsets. I was struggling with this and it took reading
https://community.openhab.org/t/solved-open-rollershutters-based-on-astro-binding-with-offset-does-not-work/123336
to figure out where I went wrong.

While here, maybe fix the Markdown rendering of QuantityType<Intensity>

Signed-off-by: Ulrich Spörlein <uspoerlein@gmail.com>
2023-11-03 20:55:20 +01:00
Simon Spielmann
538a455bfd [keba] Split channel ENABLED to USER and SYSTEM channels (#15531)
* Split channel ENABLED to USER and SYSTEM channels

---------

Signed-off-by: Simon Spielmann <simon.spielmann@gmx.de>
2023-11-03 20:48:39 +01:00
GiviMAD
94d9fb7d36 [androiddebugbridge] Reconnect on max timeouts and improve volume channel (#15788)
* [androiddebugbridge] Reconnect on max timeouts and improve volume channel

---------

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-11-03 20:45:48 +01:00
Christian Kittel
cb74d85eb0 Adjust handling empty values (#15760)
Signed-off-by: Christian Kittel <ckittel@gmx.de>
2023-11-03 19:35:19 +01:00
Jacob Laursen
2df66bfee2 Process operations asynchronously (#15801)
Resolves #14927

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-03 19:29:05 +01:00
Stefan Roellin
b503382e93 [pilight] Fix background discovery in case of multiple network interfaces (#15791)
If there were multiple network interfaces and the DatagramSocket.receive
timed out an exception was thrown and the remaining network interfaces
were not considered anymore.

Signed-off-by: Stefan Roellin <stefan@roellin-baumann.ch>
2023-11-03 19:08:16 +01:00
lsiepel
532476a9c6 [networkupstools] Add battery.temperature channel (#15812)
* Add channel battery-temperature

---------

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-11-03 18:47:40 +01:00
Gaël L'hopital
15a673a027 Avoids NPE if no station provided by API (#15832)
Signed-off-by: clinique <gael@lhopital.org>
2023-11-03 18:17:36 +01:00
Jacob Laursen
740f80fff1 Reduce log level for logging of unknown resource types (#15815)
Resolves #15468

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-11-03 14:02:58 +01:00
morph166955
cf6f531ab3 [sonos] Add TrueHD5.1 and normalize Atmos (#15831)
* Add TrueHD5.1 and normalize Atmos

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-11-03 08:47:55 +01:00
Hakan Tandogan
59c3135ccb [tesla] Add channels for software update (#15816)
* [tesla] Add value holders for Software Update state

Signed-off-by: Hakan Tandogan <hakan@tandogan.com>
2023-11-01 21:24:36 +01:00
mueller-ma
e2b03dea75 Fix typo in README.md (#15826)
Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2023-10-31 19:58:11 +01:00
Jeremy Rumpf
b24f3a2feb [GPIO] Update GPIO binding to fix issues and provide new functionality (#13643)
* [GPIO] Update the GPIO binding to fix issues and provide new functionality.

* Add the ability to recover from network disconnects to pigpiod.
* Provide actions to what the binding does on pigpiod connect/disconnect/reconnect.
* Provide the ability to pulse outputs in a one-shot/momentary fashion.
* Provide edge level configuration for gpio outputs.
* Fix automated style checks.
* Attempt to squash jenkins build warnings/errors.
* Correct Null annotations and adjust log levels in certain areas.
* Fix bracing per checkstyle review.
* Normalize gpiod/pigpiod to pigpiod. openhab/openHAB normalized to OpenHAB.
* Fix a copy/paste error. Output channels should not be referred as input. Attempt to clarify plurals.
* Convert strings to defined constants.
* Convert pulse command strings to binding constants.
* Java17 instanceof pattern matching.
* Nit, fix missed pulse command string to binding constant.
* Add missing quotes in demo.things file definition.

Workaround #11039
Fixes #11038
Fixes #13376

Signed-off-by: Jeremy Rumpf <rumpf.99@gmail.com>
2023-10-30 21:20:42 +01:00
lsiepel
597f01efe1 [sonyaudio] small cleanup (#15823)
* More SAT fixes

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-29 21:57:30 +01:00
mlobstein
45760bff62 Register connection in Kaleidescape System log (#15820)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-10-29 11:13:55 +01:00
Marcel
b3da0511b1 [miio] readme hyperlink fix (#15814)
* Minor formatting
* Fix hyperlink for robo rock vacuums channels

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-10-29 11:07:10 +01:00
lsiepel
e761240bf0 adapt to core StringUtils (#15784)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-28 14:39:27 +02:00
lsiepel
ab5ebbc41b [enturno] Remove org.apache.commons (#14406)
* Remove org.apache.commons
* Fix warnings

Also-by: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-27 20:52:54 +02:00
Jacob Laursen
a357f7f0cb Upgrade json to 20231013 (#15745)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-27 20:13:03 +02:00
Jacob Laursen
1702631303 [hue] Add channels for time of last sensor update (API v2) (#15552)
* Add channels for last motion/temperature sensor update (API v2)
* Add channel for last light level sensor update (API v2)
* Add channel for last rotary steps update (API v2)
* Add channel for last button update (API v2)

Resolves #15546

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-26 23:52:00 +02:00
Gaël L'hopital
bdba338f44 Correcting some existing events wrongly associated to Outdoor (weather) module instead of Presence. (#15808)
Adding 'alarm_started' event.

Signed-off-by: clinique <gael@lhopital.org>
2023-10-26 18:57:14 +02:00
Jacob Laursen
8bcbd4598a Adjust filter for Elnet Midt (#15807)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-26 07:25:44 +02:00
Jacob Laursen
0886a24182 [jdbc] Upgrade MySQL Connector/J to 8.1.0 (#15802)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-25 07:21:47 +02:00
hamsil
807a14a655 [ekey] Update documentation (#15792)
Adapted README based on my recent experience with the MULTI protocol

Signed-off-by: hamsil <bwal@mail.de>
2023-10-22 17:02:02 +02:00
openhab-bot
a09ed8658e New translations miele.properties (Danish) (#15793) 2023-10-22 11:50:42 +02:00
lsiepel
7975afb7a6 [oceanic] Remove org.apache.common (#15332)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 22:39:42 +02:00
lsiepel
3ed22b40f4 [keba] Remove org.apache.commons (#14409)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 22:36:12 +02:00
lsiepel
38df4ac713 [neeo] Remove org.apache.common (#14442)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 22:25:29 +02:00
Jacob Laursen
089b4152c0 [pushover] Add support for Expiring Messages (#15289)
* Add support for Expiring Messages
* Add action variants with TTL parameter

Resolves #15288

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-21 13:34:25 +02:00
lsiepel
7d63504eee adapt to core StringUtils (#15781)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 12:03:26 +02:00
lsiepel
bf0cc2ba0f adapt to core StringUtils (#15785)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 11:56:27 +02:00
lsiepel
041c30159d adapt to core StringUtils (#15787)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 11:54:50 +02:00
lsiepel
468a245ab8 cleanup regarding to core StringUtils (#15786)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-21 11:48:38 +02:00
openhab-bot
9ce74b264c New translations speedtest.properties (Italian) (#15790) 2023-10-20 23:58:27 +02:00
morph166955
e9a2976053 Removes extra NEEO from thread name (#15779)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-10-20 07:44:56 +02:00
lsiepel
7313415ae0 Set explicit timeout for http request (#15505)
* Bondhome
* chatgpt
* electroluxair
* energidataservice
* freeboxos
* gardena
* generacmobilelink
* hdpowerview
* icalendar
* juicenet
* kostalinverter
* liquidcheck
* mcd
* meater
* miele
* mercedesme
* mybmw
* myq
* ojelectronics
* plex
* radiothermostat
* renault
* semsportal
* sensibo
* tapocontrol
* tellstick
* verisure
* vizio

---------

Signed-off-by: lsiepel <leosiepel@gmail.com>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 22:30:41 +02:00
MikeTheTux
c7568cb206 [speedtest] Add timestamp and result image channel, update thing description (#15278)
* added timestamp channel, updated thing description
* added resultImage

---------

Signed-off-by: Michael Weger <weger.michael@gmx.net>
2023-10-19 22:22:47 +02:00
lsiepel
b8805ba687 adapt to core StringUtils (#15770)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 21:48:09 +02:00
lsiepel
e798ba9406 adapt to core StringUtils (#15769)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 21:46:58 +02:00
lsiepel
11a716dfbe [ecobee] adapt to core StringUtils (#15762)
* adapt to core StringUtils

---------

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 21:41:22 +02:00
lsiepel
e9431a55bd [jeelink] adapt to core StringUtils (#15771)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 21:41:00 +02:00
lsiepel
5395de2548 adapt to core StringUtils (#15761)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-19 21:32:42 +02:00
jimtng
fa94100721 [fronius] Support multiple inverters in powerflow data (#15431)
* [fronius] Support multiple inverters in powerflow data

---------

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-19 18:55:00 +02:00
Konstantin Polihronov
18ae9d46ec [paradoxalarm] Implement detailed partition state (#14618)
* Implement partition detailed state

---------

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-10-19 13:10:20 +02:00
Jacob Laursen
b4f367cfd7 Clarify priority message documentation (#15734)
Resolves #15733

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-19 00:39:17 +02:00
niclas18
d63934bcc5 [homematic] Expansion of virtual data channel for all window/door contacts (#15641)
* make VirtualDatapoint belonging ContactSensor for more devices available

---------

Signed-off-by: niclas18 <87126599+niclas18@users.noreply.github.com>
2023-10-18 22:17:35 +02:00
openhab-bot
8b55f02985 New Crowdin updates (#15775)
* New translations energidataservice.properties (Italian)
* New translations energidataservice.properties (Danish)
* New translations sonos.properties (Italian)
2023-10-18 20:16:10 +02:00
Kai Kreuzer
9a85fca6cb [ipcamera] Handle empty snapshotUrls and XML encoded characters (#15707)
* [ipcamera] Handle empty snapshotUrls and XML encoded characters
* use unescape method from StringUtils

---------

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-10-18 19:00:49 +02:00
Jacob Laursen
b92f1a241a [miele] Rename channel powerConsumption to energyConsumption and set display unit to litres for waterConsumption (#15774)
* Rename channel powerConsumption to energyConsumption and set display unit to litres for waterConsumption

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-18 12:30:18 +02:00
Jacob Laursen
d564eb7bee Add new channel for reduced electricity tax (#15636)
Resolves #15635

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-18 08:25:00 +02:00
morph166955
729a19a8da [roku] Add power, powerState, player, and activeAppName (#15542)
* Adds power and powerState.  Updates refresh to allow 1 second refresh.
* Add activeAppName channel
* Add Player channel for transport control

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-10-18 00:10:17 +02:00
lsiepel
74a9de313a adapt to core StringUtils (#15772)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-18 00:02:06 +02:00
openhab-bot
5582a9a7ce New translations chatgpt.properties (Italian) (#15768) 2023-10-17 20:33:45 +02:00
Rosi
76268a76d0 [boschindego] Add note that batteryVoltage is not populated correctly (#15764)
Add a note on how to interpret the `batteryChannel` channel - or rather not to use it at all.
2023-10-17 20:33:16 +02:00
Kai Kreuzer
1e090bddae [ipcamera] Fix warnings and improve logging (#15703)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-10-17 16:03:25 +02:00
Marcel
7cb94f9238 [miio] Add support Mi Robot Vacuum-Mop 2 Pro (ijai.vacuum.v3) (#14210)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-10-17 15:57:24 +02:00
Andrew Fiddian-Green
a0bc1e0f8b [hue] Support smart scenes (#15388)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-10-17 14:35:21 +02:00
lsiepel
a8c1d0927f [rme] Remove org.apache.common (#14433)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-17 14:22:05 +02:00
Kai Kreuzer
1fca7bfdc6 [chatgpt] Add support for LocalAI and other compatible services (#15385)
* Add support for LocalAI and other compatible services

--------

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-10-17 12:30:52 +02:00
Hakan Tandogan
062f7b13eb [tesla] regenerate i18n file (#15767)
Signed-off-by: Hakan Tandogan <hakan@tandogan.com>
2023-10-17 09:33:22 +02:00
billfor
118afa31fd [tesla] Fix update timestamp and null exception for offline state (#15756)
Signed-off-by: Bill Forsyth <git@billforsyth.net>
2023-10-17 07:40:50 +02:00
lsiepel
43f5b216f1 adapt to core StringUtils (#15766)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-16 23:43:00 +02:00
lsiepel
381d8ac93b [sonos] adapt to core StringUtils (#15765)
* adapt to core StringUtils

---------

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-16 23:27:31 +02:00
lsiepel
84db35d656 [exec] Remove org.apache.common (#14443)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-10-16 22:59:29 +02:00
Jacob Laursen
eadfd58cd1 Fix authentication after communication error (#15747)
Fixes #15746

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-16 20:07:52 +02:00
Timotheos Constambeys
d2b3f68d2e [http] Fix brightness (#15751)
* [http] Fix brightness

---------

Signed-off-by: Timotheos Constambeys <timo0190@gmail.com>
2023-10-15 11:24:18 +02:00
Bernd Weymann
09c596cf7d State pattern with Percent as default for QuantityType:Dimensionless (#15691)
Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2023-10-15 10:48:54 +02:00
Peter Wojciechowski
3c179d3fa7 [lutron] initial submission for RA3 support (#15541)
* [lutron] initial submission for RA3 support
* add parameter to getDevices(), remove getRA3Devices()

---------

Signed-off-by: Peter J Wojciechowski <peterwoj@dwellersoul.com>
2023-10-15 10:41:41 +02:00
Gemertw
57b265574d Update readme_v2.md (#15656)
Under demo.items the button-last-event channel was of the Number type. I have changed this to String.
In the channels for devices section this was already corrected but is not 'live' yet?

Signed-off-by: Gemertw <59452423+Gemertw@users.noreply.github.com>
2023-10-14 19:35:01 +02:00
Andrew Fiddian-Green
247c0973b6 [hue] Support timed effects (#15408)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-10-14 19:30:15 +02:00
Jacob Laursen
4b0c551065 [hue] Fix channel refresh (API v2) (#15736)
* Fix refresh/initial state request

Fixes #15735

* Fix channel updates when thing comes online
Fixes #15669

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Also-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-10-14 19:18:52 +02:00
GiviMAD
31101685fc [jellyfin] Upgrade sdk (#15754)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-10-14 19:11:25 +02:00
Dan Cunningham
e8fd791c38 Fixes broken authentication due to changes in the myq cloud api (#15755)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-10-14 19:05:47 +02:00
openhab-bot
2d92fda0f2 New translations ahawastecollection.properties (German) (#15742) 2023-10-12 22:53:41 +02:00
Hakan Tandogan
74d55c60e1 [tesla] Add channels for active routing (#15705)
Signed-off-by: Hakan Tandogan <hakan@tandogan.com>
2023-10-12 09:25:00 +02:00
Jacob Laursen
bbbc77823b Add discount tariffs (#15737)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-12 09:20:52 +02:00
uqs
2797e6f278 [tesla] Remove the minimum 5A charge current limit (#15711)
While the app can't go lower than 5A, the API allows setting values down
to 0A, and at least going to 2-3A can make sense if you want to put
excess solar power into the car without also drawing some from the grid.

Due to the overhead this causes it can be wasteful, so keep logging the
warning about going below 5A.

Signed-off-by: Ulrich Spörlein <uspoerlein@gmail.com>
2023-10-11 23:10:37 +02:00
openhab-bot
7f32499a8a New Crowdin updates (#15739)
* New translations jpa.properties (Italian)
* New translations inmemory.properties (Italian)
* New translations mapdb.properties (Italian)
* New translations mongodb.properties (Italian)
* New translations rrd4j.properties (Italian)
2023-10-11 21:53:14 +02:00
Andrew Fiddian-Green
2382a557d3 [hue] support new effects (#15732)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-10-10 19:11:36 +02:00
jimtng
b9286b0fce [jrubyscripting] Inject script context as global (#15618)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-10 14:11:59 +02:00
Florian Hotze
7e1f4b0e1c [persistence] Capitalize add-on names (#15378)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-10-10 14:04:21 +02:00
Wouter Born
1759058921 [jdbc] Upgrade H2 to 2.2.224 (#15726)
Upgrades H2 database from 1.4.191 to 2.2.224.

Add ';NON_KEYWORDS=VALUE' to the JDBC URL because the add-on uses 'value' (which is also a keyword) as column name.

Also fixes some queries used by the command extension because H2 always uses upper case table names.

For the change log, see:

https://h2database.com/html/changelog.html

For migration notes, see:

https://h2database.com/html/migration-to-v2.html

Fixes #13115

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-10 13:14:48 +02:00
Marco Müller
06d8e750f2 [knx] Bugfix problem with DPT 251.600 (#15723)
* Fix problem with DPT 251.600.
In the old implementation the datatype was implemented with byte 0-255.
The DPT 251.600 is defined with 0-100%, change this from byte to
PercentType.

Signed-off-by: Marco Mueller <marco@ms.mueller.ch>
2023-10-10 09:58:49 +02:00
Wouter Born
0c3ef0a5f4 [shelly] Always try to stop WebSocketClient (#15721)
If the client is not stopped it will not be garbage collected because the ShutdownThread keeps a reference to the client so it can be stopped on shutdowns.

See: https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java#L420-L433

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-10 09:44:37 +02:00
bofakin
f1ccd728a6 Fix openhab#15514: Temperature sensors in JSON from shelly may not be in order (#15530)
Signed-off-by: Anton Hattendorf <anton@hattendoerfer.de>
2023-10-08 22:47:10 +02:00
Wouter Born
756b32d988 [jdbc] Fix logging not working (#15722)
The dependency change in #15659 caused slf4j to be embedded into the bundle.

As a result the bundle no longer uses Pax Logging so it cannot find an SLF4J provider and logs the following when it is installed:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-08 19:57:28 +02:00
Jacob Laursen
94f2837fe0 Revert "[shelly] Always try to stop WebSocketClient (#15719)" (#15720)
This reverts commit 72622a1409.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-08 13:46:27 +02:00
jimtng
5a5cfc28fb [jythonscripting] Add a note not to use jython (#15623)
* [jythonscripting] Add a note not to use jython
* [jythonscripting] Mark as deprecated

---------

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-08 12:55:05 +02:00
Wouter Born
72622a1409 [shelly] Always try to stop WebSocketClient (#15719)
If the client is not stopped it will not be garbage collected because the ShutdownThread keeps a reference to the client so it can be stopped on shutdowns.

See: https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java#L420-L433

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-08 11:28:10 +02:00
Gaël L'hopital
bef7744c56 [freeboxos] Add websocket connection refresh mechanism (#15543)
* Adding the possibility to disable websocket listening.
This is set up in order to ease debugging of the "Erreur Interne" issue.

* Enhancing websocket work with recurrent deconnection, simplification of listeners handling
* refactored function name
* Fixed the name of the channel where the refresh command is sent.
* Solving SAT issues
* Corrected doc error
* Added properties
* Removed gson 2.10 now that it is included into core.

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-10-08 10:47:08 +02:00
morph166955
58d20839c1 [neeo] Convert to OH jetty HttpClient (#15571)
* Convert to OH jetty HttpClient
* Adds a Stack for HttpClient storage
* Add synchronized to prevent exception
* fix binding
* Stop stack on close
* Resolves exception on registring forward actions
* Reduces client count to 5 to align to expected thread pool limit of 5

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
Co-authored-by: Mark Herwege <mark.herwege@telenet.be>
2023-10-08 10:22:53 +02:00
Gaël L'hopital
7e53167967 [Netatmo] Avoid double refresh of weather channels (#15686)
* Solves issue #15684
* Removing excessive usage of inline typecast

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-10-08 09:35:41 +02:00
Holger Friedrich
f24a4305b8 Improve javadoc for some addons (#15701)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-10-08 00:25:04 +02:00
Wouter Born
f8bcfb0c7e Resolve runbundles for JUnit upgrade (#15714)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-07 20:35:40 +02:00
Jacob Laursen
2ac03fbe36 [sonos] Add support for Move 2 (#15706)
* Add support for Move 2

Resolves #15702

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-07 16:45:52 +02:00
morph166955
40d5bb38f2 Adds DDPlus20 and an additional ID for DD20 (#15712)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-10-07 15:19:39 +02:00
Jacob Laursen
e9305c3709 [hue] Cleanup code (#15715)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-07 15:08:02 +02:00
Wouter Born
181c647bd6 Update bnd to 7.0.0 (#15709)
For release notes, see:

https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-06 18:47:11 +02:00
Felix Schneider
0157ebf28e [Google TTS] Update README.md (#15637)
* Update README.md

I had some struggles with setting up google TTS, got it to work eventually and now update the README to help users in the future.

This commit includes updating the information, including necessary tips, formatting und some minor details

Signed-off-by: Felix Schneider <fs@felix-schneider.org>
2023-10-06 08:25:15 +02:00
Marcel
b7ff168b18 [miio] new gen vacuums cleaning map and rooms (#15675)
* Room Mapping from cloud
* New history record

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-10-06 08:23:23 +02:00
Hakan Tandogan
09501d59c4 [tesla] fix small typo in documentation (#15699)
Signed-off-by: Hakan Tandogan <hakan@tandogan.com>
2023-10-06 08:22:05 +02:00
Hilbrand Bouwkamp
d58d8b068c [enphase] Add Entrez/JWT support for newer software versions of Envoy (#15077)
Co-authored-by: Joe Inkenbrandt <joe@inkenbrandt.com>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2023-10-05 21:29:16 +02:00
Jacob Laursen
75e51119fa [energidataservice] Fix IllegalStateException (#15693)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-05 14:54:04 +02:00
openhab-bot
0fec7f07f5 New translations gardena.properties (German) (#15685) 2023-10-05 14:42:15 +02:00
Wouter Born
01dc99c6b6 Update CODEOWNERS (#15678)
* Update CODEOWNERS

Removes some inactive maintainers from the file.

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

* More updates

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

* More updates

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

---------

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-03 16:29:20 +02:00
Wouter Born
7c06810bfc Upgrade Netty dependencies to 4.1.99.Final (#15694)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-03 16:20:58 +02:00
Wouter Born
2bf2246530 [plugwise] Cleanup code (#15688)
The cleanup includes:

* Use lambdas
* Use enhanced switches
* Make abstract class constructors protected
* Fix typos

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-02 21:43:07 +02:00
Jacob Laursen
86f8bc991d [energidataservice] Refactor to eliminate code duplication (#15651)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-02 09:22:15 +02:00
Marcel
54e128fee6 [miio] Add support "Mi Smart Antibacterial Humidifier" (#15676)
Adding support for the following models:
* Xiaomi Smart Humidifier 2 (modelId: deerma.humidifier.jsq2w)

closing #15639

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-10-02 09:18:18 +02:00
Jacob Laursen
840277d3b9 Remove Gson 2.10 dependency (#15682)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-02 08:51:50 +02:00
Jacob Laursen
b275453242 [energidataservice] Remove Gson 2.10 dependency (#15681)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-10-02 07:24:41 +02:00
Wouter Born
e32bc258e9 Resolve runbundles for Xtext upgrade (#15677)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-01 22:42:26 +02:00
stefan-hoehn
1f0e430506 [Nanoleaf] ipv6 address doc (#15612)
* Nanoleaf codeowners change
* add ipv6 info about nanolead discovery

Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2023-10-01 21:51:07 +02:00
GiviMAD
1abb8f267e [rustpotterks] Upgrade to version 3 (#15556)
* Upgrade to version 3
* Use ThreadPoolManager and add sleep
* Remove pool prefix, already added by thread pool manager

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-10-01 21:15:24 +02:00
jimtng
5a39985420 [jrubyscripting] Update README.md (#15624)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-10-01 16:01:13 +02:00
Holger Friedrich
cbf4411034 Improve javadoc for all addons (#15667)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-30 21:49:12 +02:00
GiviMAD
0039e391cd [watsonstt] Upgrade dependencies (#15658)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-09-30 21:46:02 +02:00
Gaël L'hopital
3f8531cd6f Adressing issue #15377 (#15664)
There was a forgotten leftover here.

Signed-off-by: clinique <gael@lhopital.org>
2023-09-30 11:55:05 +02:00
Ondrej Pecta
1d50a40476 [somfytahoma] Add support for noise and CO2 sensor (#15671)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2023-09-30 11:22:10 +02:00
Gaël L'hopital
903bbd4082 [netatmo] Add a buffer to lower Weather API requests (#15590)
* Add a buffer to lower Weather API requests
* Correcting typo identified in PR #15587 after merge

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-09-30 11:04:47 +02:00
Wouter Born
9d03ec9af5 Upgrade to Karaf 4.4.4 (#15659)
* Resolve itest runbundles
* Fix dependency issues
* Add specs features because Pax Web now depends on "asm"

Signed-off-by: Wouter Born <github@maindrain.net>
2023-09-30 07:38:19 +02:00
openhab-bot
5012381f08 New Crowdin updates (#15653)
* New translations netatmo.properties (Italian)
* New translations danfossairunit.properties (Danish)
* New translations jsscripting.properties (Italian)
2023-09-29 22:19:03 +02:00
Jacob Laursen
142f715a2e [netatmo] Fix typo in I18N key (#15666)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-29 08:49:19 +02:00
mlobstein
b0e20007bd [kaleidescape] Update Play/Pause status to Player channel widget (#15663)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-09-28 21:42:41 +02:00
mlobstein
b355fa7578 Update Play/Pause status to Player channel widget (#15662)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-09-28 21:38:24 +02:00
tb4jc
fef9680af5 [ipcamera] Fix connection checks with ONVIF cameras with no snapshots (#15119)
* Added connection check via IdleStateHandler events for sent onvif requests.
Also checking connect errors and setting new states connectError or refusedError accordingly.
On connect, only one request is sent to have less parallel actions in case of reconnect, timeout.
Moved GetCapabilities call to GetSystemDateAndTime response handler part.
Added support to disable automatic polling at startup.

* Fixed call of sendOnvifRequest (missed to remove one call of requestBuilder).

---------

Signed-off-by: Thomas Burri <th@thonojato.ch>
Signed-off-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
2023-09-27 08:54:15 +02:00
Florian Hotze
99f0512c73 [jsscripting] Rename library injection parameter & Improve docs (#15547)
* [jsscripting] Rename parameter useIncludedLibrary to injectionCachingEnabled (#4)
* [jsscripting] Improve README for cached library injection
* Remove settings image

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-09-26 22:59:20 +02:00
Jacob Laursen
afda8c5f47 [danfossairunit] Remove broken link from documentation (#15528)
* Remove broken link and extend description

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-26 07:13:57 +02:00
Fabian Wolter
47e649eae1 [lcn] Fix processing of logic function "all fulfilled" status message (#15649)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2023-09-25 19:27:26 +02:00
Gaël L'hopital
87bede36db [netatmo] Take in account errored modules/devices for Security/Energy areas (#15587)
* Netatmo binding has to take in account errored modules/devices provided by HomeStatus api.

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-09-25 19:21:55 +02:00
aviborg
9c22b7b9ed Fix sensor and device update (#15596)
Signed-off-by: AndreasV <andreas.viborg@gmail.com>
2023-09-25 19:19:57 +02:00
Marcel
4359c732a4 [miio] add DreameBot L10s Ultra (#15582)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-09-25 14:53:42 +02:00
mueller-ma
480981650c [surepetcare] Update Readme (#15640)
Feeders seem to be supported as they are mentioned below.
2023-09-25 13:27:43 +02:00
Alexander Friese
66e915409e fix README (#15647)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-09-25 13:26:15 +02:00
openhab-bot
1844bb2f98 New Crowdin updates (#15642)
* New translations energidataservice.properties (Italian)
* New translations energidataservice.properties (Danish)
2023-09-24 17:26:37 +02:00
lsiepel
3b30d5ab11 [dwdunwetter] Improve server problem handling (#15405)
* Fix #14691
* Add country tag

---------

Signed-off-by: lsiepel <leosiepel@gmail.com>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-09-23 19:28:59 +02:00
Holger Friedrich
55789bd792 [xmltv] Handle possible XXE injection (#15467)
XMLInputFactory: Disable property IS_SUPPORTING_EXTERNAL_ENTITIES
which allows injecting external entities.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-23 19:12:22 +02:00
Jacob Laursen
c9e6417754 Fix NUPnP discovery after firmware change (#15622)
Fixes #15598

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-23 19:05:32 +02:00
Jacob Laursen
e562c22a2f Add filter for Aal Elnet (#15621)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-23 18:50:30 +02:00
Jacob Laursen
a1193d8792 Interpret more states as appliance being switched on (#15620)
Resolves #15619

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-23 18:47:45 +02:00
Marcel
7a0d05781a [miio] fix reported brightness for yeelight (#15611)
Fix reported brightness for yeelight when powered off.
This will fix wrong power switch visualization in the OH UI.

related to issue:
https://community.openhab.org/t/miio-and-yeelight-rgb-bulbs-behavior/135788/9

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-09-23 18:38:58 +02:00
lsiepel
1da4dca257 Fix checkstyle (#15603)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-09-23 18:31:27 +02:00
uqs
7802a4a3ff Remove non-existing power channel (#15570)
Migrating from OH 2.5 I tripped over this, as :power no longer exists and instead one has to send ON/OFF commands to the :color channel instead.

Looks like documentation wasn't fully updated with the code changes.

Signed-off-by: uqs <uqs@FreeBSD.org>
2023-09-23 18:13:41 +02:00
Marcel
d782ac96bc [miio] add new robo map blocks to map parser (#15591)
* [miio] add new robo map blocks to map parser

Adding new block types in map parser.
close #15068

* [miio] fix history for newer robot models

closes #11001

---------

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-09-23 18:12:16 +02:00
Marcel
798119305e [miio] add support for newer Roborock vacuums (#15586)
Add support for the following models:
roborock.vacuum.a51 = Roborock S8
roborock.vacuum.a64 = Roborock G10S Pure
roborock.vacuum.a65 = Roborock S7 Max Ultra
roborock.vacuum.a66 = Roborock G10 Plus
roborock.vacuum.a69 = Roborock G20
roborock.vacuum.a70 = Roborock S8 Pro Ultra
roborock.vacuum.a72 = Roborock Q5 Pro
roborock.vacuum.a73 = Roborock Q8 Max
roborock.vacuum.a74 = Roborock P10
roborock.vacuum.a75 = Roborock Q Revo
roborock.vacuum.a76 = Roborock G10S Auto

close #15020

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-09-23 18:05:02 +02:00
Kai Kreuzer
4059003e9e Fix config option provider to only become active for chatgpt things (#15578)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-09-23 17:59:40 +02:00
lsiepel
7f56f0579a Fix SAT (#15428)
Signed-off-by: lsiepel <leosiepel@gmail.com>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-09-23 17:40:31 +02:00
Jacob Laursen
619dd617aa [jdbc] Improve conversion of database value to item state (#15434)
* Improve conversion of database value to item state
* Refactor test cases to reduce redundancy
* Refactor for type-safety
* Refactor type cast

Fixes #15433

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-23 17:34:06 +02:00
lsiepel
e847139f97 [homematic] checkstyle fixes (#15604)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-09-22 23:25:06 +02:00
Holger Friedrich
1b122a53b9 Java 17 features (T-Z) (#15576)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex
- instanceof matching and multiline strings
- remove null check before instanceof

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-21 07:58:53 +02:00
Marcel
bf1aa3deb2 [miio] Java style cleanup (#15610)
Introducing non-breaking improvements from #15520
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- multiline strings

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-19 22:53:50 +02:00
openhab-bot
14cfeb0996 New Crowdin updates (#15627)
* New translations boschshc.properties (Italian)

* New translations boschindego.properties (Italian)
2023-09-19 18:31:02 +02:00
Holger Friedrich
d0b161aca1 [knx] Adapt to core, temperature differences (#15573)
Special handling for temperature differences in °F and °F/%,
DPT 9.002 and 9.003, needs to be adapted due to change in core.

Refs openhab/openhab-core#3792.

Implementation is valid for 4.0 and 4.x snapshot.

Fixes #15567.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-13 20:23:59 +02:00
Cédric Skwar
7da3012134 Update version in create binding skeleton scripts (#15589)
Fixed the bug where you could not compile since the parent openHAB version was wrong in the build conf.

Signed-off-by: Cedric Skwar <cdrc@skwar.me>
2023-09-13 19:34:15 +02:00
Arjan Mels
e2709ba2ca [groupepsa] Fixed timeouts in tests (#15574)
Signed-off-by: Arjan Mels <github@mels.email>
2023-09-13 08:40:33 +02:00
truidix
1a6cd3446f [miio] Add support for Roborock Q Revo (#15358)
Signed-off-by: David Kumar <github@truidix.de>
2023-09-13 08:39:32 +02:00
Holger Friedrich
b3e88ae29e Java 17 features (itests) (#15583)
- replace Collections by List.of and Set.of
- instanceof
- SAT warnings

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-13 08:06:37 +02:00
Holger Friedrich
ab58f4ffb4 Java 17 features (N-S) (#15565)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex
- instanceof matching and multiline strings

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-13 08:03:31 +02:00
Marcel
641b482551 [miio] Update device names list (#14193)
* [miio] maintenance - update device names list

Update the list with latest device names

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] Update device names list

Update the list with latest device names used by some of the support
tools

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

---------

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-09-13 07:53:58 +02:00
Marc Bartelt
43ed48d34a [fronius] fix powerflowchannelpakku documentation (#15381)
* [fronius] fix powerflowchannelpakku documentation
fixes openhab#15074

---------

Signed-off-by: Marc Bartelt <github@mleuser.de>
Signed-off-by: Marc Bartelt <marcquark@users.noreply.github.com>
2023-09-10 10:52:12 +02:00
morph166955
2a0971ee0a [androidtv] Fixes GoogleTV Login Error (#15453)
* Updates protocol examples
* Adjusts flag based on received data

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-09-10 08:55:19 +02:00
openhab-bot
6a31dfaebe New translations hue.properties (Italian) (#15572) 2023-09-10 07:55:43 +02:00
Ed Martin
edef832a84 [Juicenet] Fix Charging state controls and override functionality (#15566)
* [Juicenet] Fix typos in setOverride()
 Some obvious typos in setOverride() result in the timestamp being
  ignored which causes it to fail

Fixes #15564

* [Juicenet] Allow disabling the override
 - The charger has default settings upon plugin, changing the current state
    sets the overide to Y, this makes override settable only in the N direction
    to remove whatever settings were previously applied

* [Juicenet] Document new writable status of override

---------

Signed-off-by: Ed Martin <edman007@edman007.com>
2023-09-09 15:58:51 +02:00
Holger Friedrich
c775792896 [knx] Disable tests failing due to QuantityType change in core (#15568)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-09 15:53:39 +02:00
J-N-K
f24a517a0f [influxdb] Fix exception handling and improve some type conversions (#15452)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-09-09 15:08:58 +02:00
Alexander Friese
f4fed3a800 [easee] simplified determination of start/stop status due to recent API changes (#15538)
* simplified determination of start/stop as the opMode now has new values (7+8) to show missing authentication (before this was included in value "2")
* refactored ChargerOpState to enum

---------

Signed-off-by: Alexander Friese <af944580@googlemail.com>
Signed-off-by: Alexander Friese <alexf2015@users.noreply.github.com>
Co-authored-by: lsiepel <leosiepel@gmail.com>
2023-09-09 14:09:29 +02:00
Ondrej Pecta
c0d66da660 [somfytahoma] Improvements to avoid cloud login throttling (#15489)
* [somfytahoma] Improvements to avoid cloud login throttling
* [somfytahoma] add custom message to status display

---------

Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2023-09-09 12:43:08 +02:00
Jacob Laursen
9bbcb85f59 [hue] Fix and improve error logging and status descriptions for API v2 (#15512)
* Provide detailed error information on failed commands
* Log as info when command succeeds
* Revert collect(Collectors.toList()) refactoring
* Provide exception message in status description

Fixes #15511

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-09-09 12:05:38 +02:00
Holger Friedrich
14c3c0cd63 Migrate to java.nio.file.createTempFile (#15469)
Use function from nio package as it uses more restrictive file
permissions.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-09 11:10:32 +02:00
Gaël L'hopital
5e7cbea21f Adding "thingTypeVersion" property at thing creation (#15463)
Signed-off-by: clinique <gael@lhopital.org>
2023-09-09 11:07:26 +02:00
Holger Friedrich
edaf17b345 Java 17 features (H-M) (#15520)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex
- instanceof matching and multiline strings
- remove null check before instanceof

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-08 14:36:59 +02:00
Cody Cutrer
3751fd0646 [jrubyscripting] @boc-tothefuture is no longer a maintainer (#15553)
Due to work commitments

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-09-06 18:08:43 +02:00
Wouter Born
5a803961d0 [nest] Remove WWN support (#15418)
See: https://support.google.com/googlenest/answer/9293712?hl=en

> Starting September 29, 2023, all Works with Nest connections will stop working.

Closes #13525
Closes #14761

Signed-off-by: Wouter Born <github@maindrain.net>
2023-09-06 17:02:55 +02:00
Gaël L'hopital
c5739eccc9 [netatmo] Handle new event types (#15533)
* Adding new Netatmo events
* Changed NAPushType to record.
* Adding impact on WebhookEvent

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-09-06 08:36:58 +02:00
Дилян Палаузов
c21f9d5163 systeminfo: use DataAmount for dataSent and dataReceived in the example (#15495)
as the text above does suggest so.
2023-09-06 08:01:54 +02:00
Holger Friedrich
cf10b3e9c7 Java 17 features (A-G) (#15516)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex
- instanceof matching and multiline strings

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-09-05 22:30:16 +02:00
Fabian Wolter
a0dc5c05f2 [lcn] Fix deprecation warnings, refactor, add test cases (#15545)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2023-09-04 13:57:16 +02:00
andrexp
5e8e097ad4 [LCN] Fixes problems with fingerprint codes which were received in decimal (#15488)
* fixed problems with fingerprint codes which were received in decimal instead of hex

Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>

* correct format issues

Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>

* add test file for fingerprint codes

Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>

* Delete openhab-addons.code-workspace

Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>

---------

Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
Co-authored-by: Andre Jendrysseck <ajendry@gwdg.de>
2023-09-04 08:53:33 +02:00
Kai Kreuzer
5ab172ed1c [denon] Extend denonmarantz binding to include Denon DRA-100 sources (#15539)
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
2023-09-03 21:10:16 +02:00
maniac103
8949d0d7b1 [gardena] Improve and fix UoM support (#15523)
* [gardena] Improve and fix UoM support

Properly convert incoming UoM values for command durations, and output
measurements as UoM values where possible.

* [gardena] Fix signal strength channel value

Previously the binding sent 0..100, but the system expects 0..4 for the
system.signal-strength channel.

* [gardena] Update README
* [gardena] Use actual units in state description where appropriate

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-09-02 23:50:58 +02:00
quidam
38d45ca017 [avmfritz] Fix NPE when Fritz!Box sends empty alert state element (<state/>) (#15479)
Signed-off-by: Ulrich Mertin <mail@ulrich-mertin.de>
2023-09-02 19:20:50 +02:00
mlobstein
b9a0e6fa14 Fix Reconnect error race condition (#15536)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-09-01 23:16:16 +02:00
Wouter Born
e254cb785c Resolve runbundles for directory-watcher upgrade (#15526)
Related to openhab/openhab-core#3790

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-30 22:53:16 +02:00
Alexander Friese
13fd7380ca [easee] fix date formatting issues (#15501)
* fix DateTimeException when formatting date out of range (in this case Instant.MIN)

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-08-30 20:10:23 +02:00
Wouter Born
8da6f0ad07 Upgrade Maven and plug-ins (#15525)
* Use Maven 3.9.4 with GitHub Actions CI
* Upgrade Maven plug-ins

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-30 13:28:44 +02:00
mlobstein
8e18726399 [radiothermostat] Disable Remote Temp and Message Area on shutdown (#15492)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-08-29 18:51:44 +02:00
Holger Friedrich
d3c07344d3 [dwdunwetter] Handle possible XXE injection (#15466)
XMLInputFactory: Disable properties IS_SUPPORTING_EXTERNAL_ENTITIES and
SUPPORT_DTD which allow injecting external entities.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-29 18:50:13 +02:00
jimtng
5e1f24c54f [daikin] Support BRP069A81 adapter (#15456)
* [daikin] Support BRP069A81 adapter auto mode=1
* [daikin] Support Auto mode=7

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-08-29 18:37:01 +02:00
Matt
67c0039cfd Missing break statement bug fix (#15515)
Signed-off-by: Matt Myers <mmyers75@icloud.com>
2023-08-29 07:55:19 +02:00
Daniel Weber
b9b9bbb74c [enocean] Fix humidity and temperature readings for EEP family A5_10 (#15506)
* Updated A5-10 EEP family (corrected readings, added new channels)
 * Changed fanSpeedStage channel to type Number and added new options to it
 * Added dayNightModeState channel

Fixes #15458

Signed-off-by: Daniel Weber <uni@fruggy.de>
2023-08-28 22:49:20 +02:00
lsiepel
5cc5ee6f7b [yamahareceiver] Show correct status detail on failure (#15510)
* Partial fix #7667
* java 17 instanceof
* Checkstyle

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-08-27 23:53:02 +02:00
lsiepel
d9235da5db [bticinosmarter] Fix activationdate parsing (#15474)
* Fix DateTime format
* Switch to TimeZoneProvider

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-27 16:11:33 +02:00
Wouter Born
d1a691498a Fix compilerArguments deprecation warnings (#15504)
This fixes the following warnings:

```
[WARNING] Parameter 'compilerArguments' is deprecated: use {@link #compilerArgs} instead.
```

Related to openhab/openhab-core#3512

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-27 13:45:36 +02:00
lsiepel
7f389f8ce9 [autelis] Fix checkstyle en warnings (#15423)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-27 07:27:00 +02:00
Andrew Fiddian-Green
7fb9efc885 [hue] Improve connection stability (#15477)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-08-26 17:19:37 +02:00
Holger Friedrich
1cf57e7dfe [persistence] Use Java 17 features (#15486)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-26 08:56:27 +02:00
Holger Friedrich
5b42c4b071 Java 17 features (#15493)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements
- use replace instead of replaceAll w/o regex

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-26 08:52:11 +02:00
Holger Friedrich
d36833feef [hueemulation] Java 17 features (#15496)
- add missing @override
- Java style array syntax
- remove redundant modifiers
- always move String constants to left side in comparisons
- simplify lambda expressions and return statements

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-25 17:48:55 +02:00
Konstantin Polihronov
17978b8625 [solax] Initial contribution (#14880)
Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-08-24 14:39:24 +02:00
Holger Friedrich
ab135421a0 [voice] Make use of Java17 features (#15487)
Use Map/Set/List.of instead of Collections.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-24 06:46:18 +02:00
Holger Friedrich
56e7daf898 [io] Use Java 17 features (#15485)
* instanceof matching and multiline strings
* use Map/Set/List.of instead of Collections

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-24 06:44:56 +02:00
Holger Friedrich
6e49c6e6ec [transform] Code optimization for Java17: instanceof matching and multiline strings (#15483)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-24 06:41:36 +02:00
Jacob Laursen
db651f9e92 [hue] Fix exception being displayed in bridge status description (#15475)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-08-24 06:39:27 +02:00
Wouter Born
fef05c3322 Remove build server specific timing from dynamodb and ruuvigateway (#15472)
* Remove build server specific timing from dynamodb and ruuvigateway

There should be no difference between running tests on your own PC or on a build server.
The ruuvigateway tests always fail for me during parallel builds due to its unrealistic timing.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-23 20:54:50 +02:00
Holger Friedrich
7b90fbe162 [automation] Use Java 17 features (#15484)
* [automation] Code optimization for Java17: instanceof matching and multiline strings

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

* [automation] Make use of Java17 features

Use Map/Set/List.of instead of Collections.

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

* review comment

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

---------

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-23 17:27:40 +02:00
Wouter Born
626c6bde4a Resolve runbundles for CXF upgrade (#15473)
* Resolve runbundles for CXF upgrade

Related to openhab/openhab-core#3770

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

* Replace Grizzly JAX-RS Client with Jetty HTTP client in hueemulation tests

It seems that the Grizzly JAX-RS Client implementation does not work well with the new CXF dependencies on the classpath.
As we do not use Grizzly anywhere else it is probably best to also stop using the Grizzly HTTP Server in these tests in the future.

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

---------

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-23 09:14:15 +02:00
Konstantin Polihronov
5f31eeb506 [paradoxalarm] Fix Paradox EVOHD zone parsing fail #10572 (#15441)
* Fix Paradox EVOHD zone parsing fail #10572

* Root cause is that EVOHD and EVO192 have much more zones which are
stored in a different memory map model. They should be treated the same
way. Fix is simple and can be downported to 3.x if decided by the
maintainers

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-08-22 08:47:12 +02:00
Wouter Born
42ba975660 [feed] Upgrade jdom2 to 2.0.6.1 (#15476)
This addresses CVE-2021-33813

See: http://www.jdom.org/news/index.html

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-22 08:31:20 +02:00
lsiepel
f2fc0560fd [surepetcare] Fix possible timeout bug (#15411)
Fix #11527

* Minor java 17 refactoring
* Spotless

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-21 21:36:07 +02:00
Jacob Laursen
bf892b6b96 [hue] Fix compiler warnings (#15419)
* Fix compiler warnings
* Fix integration test compiler/SAT warnings

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-08-21 21:14:18 +02:00
lsiepel
a1b79b6b7b [homekit] Checkstyle cleanup (#15450)
* Remove package
* java 17 instanceofpattern
* EqualsAvoidNullCheck
* NoEmptyLineSeparatorCheck
* ConstantNameCheck

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-21 20:12:49 +02:00
Wouter Born
24fa966dc3 Update Jackson to 2.15.2 (#15471)
Related to openhab/openhab-core#3768

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-21 14:03:41 +02:00
jimtng
261456badc [fineoffsetweatherstation] Fix failing tests (#15470) 2023-08-21 06:41:28 +02:00
Holger Friedrich
95ac2eb80b Use SecureRandom instead of Random (#15459)
Make sure that SecureRadom is used whenever the random number
is used for cryptographic operations, e.g. as nonce/salt.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-20 21:29:37 +02:00
Gaël L'hopital
e86998000e [openuv] Correcting NPE in IconProvider (#15465)
Signed-off-by: Gaël L'hopital <gael@lhopital.org>
2023-08-20 18:06:25 +02:00
jimtng
78381e8b6d [jrubyscripting] Fix broken image in README.md (#15435)
* [jrubyscripting] Fix broken image in README.md
* [jrubyscripting] Update the base url in the regenerate instructions

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-08-19 22:41:54 +02:00
Holger Friedrich
52c657ff41 [chatgpt] Set proper default values for channel configuration (#15451)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-08-19 20:49:37 +02:00
jimtng
a293fc8fd9 [jrubyscripting] Fix config description uri (#15457)
This is to match the uri defined in https://github.com/openhab/openhab-addons/pull/15438

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-08-19 10:48:31 +02:00
J-N-K
3ce02971ae Resolve itests after core changes (#15454)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-08-19 10:18:49 +02:00
lsiepel
5c6fabbb62 [denonmarantz] Fix NPE on connection problem (#15422)
* Checkstyle cleanup
* Fix #15444

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-18 16:33:39 +02:00
Alexander Friese
a435ed2cd0 [easee] Migrate charger state API endpoint, add channels (#14614)
* reworked the way to retrieve Charger state as API endpoint is now deprecated.
* fixed result processing: removed default handling by bridge handler which caused everything to go offline if a single charger had faulty config.
* additional channels / removed obsolete firmware channel

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-08-18 13:33:19 +02:00
Wouter Born
79ecb2e4d0 Fix wrong source code URLs in NOTICE files (#15448) 2023-08-17 21:49:01 +02:00
Alexander Friese
e87824d7e8 [easee] Enable write support for smartCharging channel (#14866)
* this fixes #14863

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-08-17 17:01:21 +02:00
Florian Hotze
6e349334e4 [jrubyscripting] Allow configuration from add-on page (#15438)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-08-16 21:49:20 +02:00
Ondrej Pecta
39bbaa8c85 [somfytahoma] fix NPE in case that HttpClient fails to start (#15442)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2023-08-16 20:15:18 +02:00
Jacob Laursen
7ab04b20a1 [jdbc] Fix null annotation warnings (#15426)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-08-15 13:24:29 +02:00
lsiepel
c47e833ed9 [dscalarm] Fix checkstyle and warning (#15424)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-14 22:08:22 +02:00
miloit
c465344c01 [volumio] Removing compiler warnings (#15379)
Signed-off-by: miloit <MichaelLoercher@web.de>
2023-08-14 14:14:50 +02:00
Wouter Born
98406476f8 Resolve runbundles for workaround (#15421)
* Resolve runbundles for workaround

Related to openhab/openhab-core#3756

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-14 10:38:33 +02:00
lsiepel
6ace1548b8 [gardena] Fix close all valves command (#15390)
* Fix #15039
* codestyle

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-14 08:10:29 +02:00
Jacob Laursen
1fd7280c51 Upgrade SQLite JDBC driver to 3.42.0.0 (#15412)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-08-13 22:13:18 +02:00
J-N-K
196d8095bb [tr064] Fix clearing of auth (results) (#15415)
* [tr064] Fix clearing of auth (results)

In case of multiple root things the auth store (results and digests) was cleared for all clients instead of only removing the failed auth result or old authentication.

* fix TAM request

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-08-13 18:55:13 +02:00
Wouter Born
7c4e70f993 Disable "Improved ZIP64 Extra Field Validation" in itests (#15389)
This prevents ZipException stacktraces when running the itests on JDK 17.0.8 or newer.

Related to:

* openhab/openhab-core#3718
* openhab/openhab-core#3747

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-13 18:41:31 +02:00
Wouter Born
c71a24f8a1 Link to Java 17 documentation (#15406)
This prevents issues because older documentation may not apply to Java 17.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-13 13:44:05 +02:00
openhab-bot
2886175120 New Crowdin updates (#15407)
* New translations hue.properties (Italian)

* New translations deconz.properties (Italian)

* New translations anel.properties (Italian)

* New translations atlona.properties (Italian)

* New translations electroluxair.properties (Italian)

* New translations groupepsa.properties (Italian)

* New translations somneo.properties (Italian)

* New translations meater.properties (Italian)

* New translations juicenet.properties (Italian)

* New translations volumio.properties (Italian)

* New translations asuswrt.properties (Italian)
2023-08-12 08:09:15 +02:00
Andrew Fiddian-Green
297640aa77 [hue] Fix bug due to parallel PUT commands (#15324)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-08-09 17:45:34 +02:00
lsiepel
3b9b0236b4 [microtik] Fix changed date format in firmware v7.10 (#15362)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-06 20:00:12 +02:00
voruti
faceef6fd4 Fix missing cast (#15356)
Signed-off-by: Till von Rüden <dev@tillvonrueden.de>
2023-08-06 10:43:06 +02:00
lsiepel
c4d79a7502 [gpstracker] Fix NumberFormatException (#15337)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-05 22:41:12 +02:00
Doug Culnane
7d2d86f244 [renault] Small logging improvements. (#15368)
* [renault] HTTP responses to debug not warn.
* [renault] fix logging typo.

---------

Signed-off-by: Doug Culnane <doug@culnane.net>
2023-08-04 11:34:52 +02:00
Wouter Born
0d9cebe513 [allplay] Fix issue tracker link in documentation (#15369)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-04 11:32:01 +02:00
Gwendal Roulleau
f98ed3fc22 [pulseaudio] For source, default timeout should be disconnection ASAP (#15314)
* [pulseaudio] For source,  default timeout should be disconnection ASAP

To avoid weird behaviour, such as pulseaudio server storing audio data between inputstream get/read and then sending the backlog all at once when finally reading, we must disconnect immediately thereafter.

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-08-03 11:01:48 +02:00
Arjen Korevaar
e057e79d2a [openthermgateway] Remove 'reserved' channels (with invalid channelUIDs) (#15355)
* Removed invalid characters from channel UIDs
* Removed unused message ids

Signed-off-by: Arjen Korevaar <a.korevaar@mephix.com>
2023-08-02 14:51:09 +02:00
lsiepel
5a447375a4 [chromecast] Fix STOP command
Fixes #14516

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-01 21:22:37 +02:00
Jacob Laursen
72028f7a86 Resolve itest runbundles for JUPnP upgrade (#15353)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-08-01 19:47:55 +02:00
openhab-bot
846e9aa206 New translations androidtv.properties (Italian) (#15351) 2023-08-01 16:43:40 +02:00
Gaël L'hopital
e792a92a38 [freeboxos] Support randomized MAC addresses by using mDNS name for Wi-Fi hosts (#15299)
* Take care of randomized mac addresses by using mDNS name for wifi hosts.

Signed-off-by: clinique <gael@lhopital.org>
2023-08-01 12:16:59 +02:00
lsiepel
d499f2c777 [bluetooth.bluez] Fix NullPointerException during discovery (#15347)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-08-01 10:24:25 +02:00
morph166955
3e1686b1f7 [androidtv] Adds gtvEnabled Option (#15317)
* Adds gtvEnabled

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-31 23:37:56 +02:00
Tom Müller
27d784a4b1 [myStrom] Add energy consumption since last API call channel for MyStrom Plug (#15294)
* added missing Ws value for MyStrom Plug

Signed-off-by: Tom Müller <tompetermueller01@gmail.com>
2023-07-31 23:08:45 +02:00
openhab-bot
edc7761cd6 New translations shelly.properties (German) (#15345) 2023-07-31 17:29:52 +02:00
Jacob Laursen
a9d6d805f4 [enocean] Fix disposal of running tasks (#15329)
* Fix disposal of running tasks

Fixes #15328

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-31 17:10:17 +02:00
Jacob Laursen
92238bcb8b Reintroduce LK Wiser dimmer work-around for API v2 (#15316)
Fixes #15315

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-31 13:22:58 +02:00
Arne Seime
3080615262 Increase comm timeout to 30 seconds (#15342)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
2023-07-31 13:04:00 +02:00
morph166955
5dcc5214a6 Fixes DTS Typo (#15338)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-31 08:43:02 +02:00
morph166955
6115cd39a7 [androidtv] Removes unnecessary null checks (#15331)
* Removes unnecessary null checks
* Moves checks to thing-types.xml
* Fix typo
* Update i18n

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-30 19:23:04 +02:00
Florian Hotze
bf7f24c099 [jsscripting] Upgrade openhab-js to 4.5.1 to fix cached injection (#15336)
It was found out that a recent change to the webpack config for the library injection bundle heavily affected performance of the evaluation of the cached injection.

openhab-js 4.5.1 fixes that regression and one minor bug, see https://github.com/openhab/openhab-js/blob/main/CHANGELOG.md#451.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-07-30 14:47:03 +02:00
Z0l
222270472a Update README.md (#15334)
Removed quotes from the <shieldGreen> statement to make it work with OH4.

Signed-off-by: Z0l <Z0l@users.noreply.github.com>
2023-07-30 09:32:37 +02:00
Alexander Friese
f24f0f0251 [digitalstrom] Fix StringIndexOutOfBoundsException (#15318) while keeping removal of StringUtils (#15321)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-07-29 11:17:58 +02:00
Jacob Laursen
9aab0f7d12 Fix ArrayStoreException (#15320)
Fixes #15313

Partially reverts #13967

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-28 10:01:36 +02:00
Jacob Laursen
5732cca7bb Fix StringIndexOutOfBoundsException (#15319)
Fixes #15318

Reverts #14402

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-28 10:00:48 +02:00
Markus Michels
f6e750a5ff [shelly] Fix Plus/Pro Auth support (#15284)
* Reimplement Auth Digist to return response as http header field instead
of being part of post data; avoid sending Basic Auth for Gen2 and
/shelly

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-07-27 15:41:32 +02:00
Andrew Fiddian-Green
ae36108cbd [hue] Fix reconnection, parallel commands, trigger channels, and light level formula (#15169)
* [hue] post merge tweaks

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] abandon internal restart

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] remove externalRestartScheduled flag

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] serialize PUT calls

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] GET requests shall not activate trigger channels

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] fix LightLevel formula

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [hue] fix Button DTO null error

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

---------

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-07-27 14:55:17 +02:00
Gaël L'hopital
4eaba31f57 Correcting false assumption (#15307)
Signed-off-by: clinique <gael@lhopital.org>
2023-07-27 08:14:27 +02:00
mlobstein
ca8c843d05 [plex] Use https for local connections (#15306)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-07-26 23:44:57 +02:00
Florian Hotze
e1c9213cfc [jsscripting] Fix timerId not returned by JS timer methods (#15308)
Regression from #15193.
Reported on the community, see https://community.openhab.org/t/openhab-4-0-release-discussion/147957/53?u=florian-h05.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-07-26 16:28:46 +02:00
Gwendal Roulleau
2961593cfd [enocean] Fix unusable bundle after a refactoring about null annotation (#15302)
Fix bundle unusable after #14023 (closes #15181)
Fix a case issue with some directory
Fix trigger channel issue

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-26 13:21:59 +02:00
lolodomo
6dccbcb005 [googletts] Avoid UnsupportedOperationException during dispose (#15305)
Fix #15303

It is not allowed to clear an unmodified hash set.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-25 23:54:31 +02:00
Konstantin Polihronov
33dd5e7f70 [paradoxalarm] Implement zone bypass command and additional zone states (#14557)
* Reduce warnings 1

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* 2

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* 3

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Initial files and package refactoring

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Implemented zone commands without checksum calculation

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* More stuff

* Added the checksum functionality
* Added more examples to the test

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Implement ZoneCommand and necessary classes

* Refactor the common logic
* Extract interface Command
* CHange the Response class to use Switch/case

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fully implement the test for creating zone command payload

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fix build / add headers and author to the new files

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add command handling to the zone handler

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add command channel to the Zone thing

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Research of zone states and some TODO notes

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Retrieval of zone special states from the panel

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fix build

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add the new channels to the metadata file

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add new channels to zone handler

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fix indexing in memory map and add more logging

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Refactoring and potential NPE access fixes

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add new property "label" to the discovered zones and partitions

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fix zone command issues

* Fix checksum creation
* Fix the parse and confirmation of the response

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add the new channels to the README.md

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fixed issue with not updating new channels in the zones

* A silly copy/paste mistake

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Change the type of the new channels from contact to switch

As per community discussion this makes more sense and will be more
intuitive - when something is true -> make it ON, when it's false ->
make it OFF. OPEN and CLOSED are not fitting so well here...

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Fix issue that the channel label is always NULL

* For both zone and partitions

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

* Add new types and channels to the i18n

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>

---------

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2023-07-25 19:53:09 +02:00
mlobstein
51f3bf6b86 [nuvo] Include NuvoNet source favorites in zone favorite channel (#15292)
* Include NuvoNet source favorites in zone `favorite` channel
* Use existing constants
* VALID_SOURCES to enum list

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-07-25 01:17:49 +02:00
J-N-K
4c9f207a38 [knx] Refactor manufacturer map (#15297)
* [knx] Refactor manufacturer map

This makes adding new manufacturers easy.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-24 23:09:46 +02:00
jimtng
6bc21bd856 [jrubyscripting] Upgrade to jruby-9.4.3.0 (#15279)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-07-24 12:14:22 +02:00
Wouter Born
4fe1f76444 Resolve runbundles (#15298)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-07-24 09:43:41 +02:00
Kai Kreuzer
72607d3bee Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-07-24 01:20:31 +02:00
openhab-bot
809fceaff3 [unleash-maven-plugin] Preparation for next development cycle. 2023-07-23 19:19:01 +00:00
J-N-K
4afe151108 [jsonpath] Fix exception when input string is empty (#15283)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-23 17:14:16 +02:00
openhab-bot
36741bf004 New Crowdin updates (#15295)
* New translations sonos.properties (German)
* New translations comfoair.properties (German)
* New translations publictransportswitzerland.properties (German)
* New translations watsonstt.properties (German)
* New translations sensorcommunity.properties (German)
2023-07-23 14:22:06 +02:00
Jacob Laursen
0fe144708c Provide example in JavaScript (#15286)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-22 22:37:48 +02:00
Dan Cunningham
a6cbf37b75 Updates JSON libary. (#15290)
Fixes #15221

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-07-22 22:29:02 +02:00
jimtng
35be82401d [jrubyscripting] Update README (#15287)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-07-22 16:16:03 +02:00
openhab-bot
37c0e97bff New Crowdin updates (#15281)
* New translations miele.properties (Danish)
* New translations miele.properties (German)
2023-07-21 12:39:37 +02:00
J-N-K
ae146111c1 [mqtt] Dynamically change accepted item-type for Number channels (#15114)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-21 11:47:51 +02:00
Jacob Laursen
4fcff61a72 Update default translations (#15280)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-21 11:34:30 +02:00
morph166955
16816e3e7a [androidtv] Fix log flood when physical device is not online (#15258)
* Fixes log flood when physical device is not online

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-21 08:54:10 +02:00
J-N-K
0beaada48c Fix rrd4j database start time (#15277)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-20 21:42:27 +02:00
openhab-bot
f8968b780a New translations jruby.properties (Italian) (#15274) 2023-07-19 15:06:04 +02:00
M Valla
d756e2e352 [openwebnet] Fix broken link in README (#15273)
* [openwebnet] fix broken link in README, updated description for metedata examples

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-19 10:30:01 +02:00
Giovanni Fabiani
74f6b93c75 [openwebnet] Fix README for Sitemap AUX configuration to the correct mapping (#15257)
* [openwebnet] Fix README for Sitemap to the correct mapping of Aux

---------

Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
2023-07-19 10:18:27 +02:00
M Valla
005d594073 [openwebnet] Fix update of Thermo Central Unit atLeastOneProbeX channels and refactoring (#15269)
* [openwebnet] Fixes changing and startup value for Weekly/Scenario modes
Fixes #12599
* [openwebnet] Thermo: Fixed CU setpointTemp not restored
Fixes #14449
* [openwebnet] fix update of atLeastOneProbeX channels for CU Fixes #15103
Bumped lib openwebnet4j to 0.10.1

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-18 22:15:33 +02:00
Cody Cutrer
6b4ec31348 [jrubyscripting] loosen default gem version constraint (#15266)
so that the helper library compatible with 4.0.0.M3+ will be used

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-07-18 19:56:30 +02:00
Daniel Rosengarten
b650454d94 [velbus] Fix multiple channel status in one packet (#15272)
Fix bug : Manage more than one channel status in the packet.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>
2023-07-18 19:54:20 +02:00
openhab-bot
2f5f37e136 New Crowdin updates (#15271)
* New translations sonnen.properties (French)
* New translations openwebnet.properties (Italian)
2023-07-18 19:46:23 +02:00
J-N-K
eb059b50dc [avmfritz] Fix update instructions (#15261)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-18 09:06:47 +02:00
Wouter Born
0c3934f3c8 Use Eclipse formatter 4.25 with Spotless (#15264)
This version still checks test files.

See: openhab/openhab-core#3515

Signed-off-by: Wouter Born <github@maindrain.net>
2023-07-18 09:02:05 +02:00
Holger Friedrich
397fc8d1cf [mqtt.ruuvigateway] Re-enable itests after core change (#15018)
Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-07-17 21:31:35 +02:00
M Valla
04e7f2f74e [openwebnet] Binding documentation update for OH4 release (#15250)
Updated: README, `where` parameter description for Things and channels descriptions.
Added `AUTO` option for mode channel-type.
Added `OFF` option for speedFanCoil channel-type.
Updated default translations.

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-17 17:40:37 +02:00
joke24
85424d2d9d Update README.md (#15209)
Added sample to play Web Radio URI.
I had to do a lot of searching to find out, that you have to put "x-rincon-mp3radio://" before the Stream-URL url. Hope this helps someone.

Signed-off-by: joke24 <info@jonaskemmer.de>
2023-07-17 17:27:20 +02:00
Jacob Laursen
3235d6d224 Fix NullPointerException (#15259)
Fixes #15256

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-17 17:04:04 +02:00
openhab-bot
1bcc89afca New Crowdin updates (#15253)
* New translations mail.properties (French)

* New translations renault.properties (French)

* New translations netatmo.properties (French)

* New translations bluetooth.properties (French)

* New translations anthem.properties (French)

* New translations plex.properties (French)

* New translations openwebnet.properties (Italian)

* New translations energidataservice.properties (Italian)

* New translations androidtv.properties (Italian)

* New translations netatmo.properties (French)
2023-07-17 14:05:01 +02:00
M Valla
d857fd323a [openwebnet] Backward support for CU configurations with where="0" (updated) (#15251)
* [openwebnet] Backward support for CU configurations with where="0"
* [openwebnet] fix send in handleSetProgramNumber()

---------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-17 12:36:13 +02:00
morph166955
ca4d332acd Fixes log flooding from protocol error (#15252)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-17 12:34:34 +02:00
openhab-bot
075592f4df New Crowdin updates (#15249)
* New translations pollytts.properties (French)
* New translations energidataservice.properties (Danish)
* New translations pollytts.properties (German)
2023-07-16 14:59:07 +02:00
M Valla
a7ab2afbb3 [openwebnet] Backward support for CU configurations with where="0" (#15248)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-16 14:48:13 +02:00
Markus Michels
00da6457f0 fix relay id for devices with more than 1 power meter, fix (#15247)
initialization if device doesn't support scripts (Pro4); fix resetMeter
for EM50 (has 2 power meters); removed channel sensors#open; removed
device#voltage updates for Plus/Pro, needs to be verified

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-07-16 14:38:40 +02:00
Jacob Laursen
4c3b398398 Extend and simplify date query offset support (#15246)
Fixes #15245

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-16 14:36:32 +02:00
Matthew Skinner
8701b86a37 [ipcamera] FIX: TAPO branded cameras require xAddr port to be different (#15073)
* FIX TAPO branded cameras require xAddr port to be different from the
main ONVIF PORT
* Fix for old API instar cameras.

---------

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-07-16 13:32:40 +02:00
Jacob Laursen
6e85021f6b Update tariff filter for Nord Energi Net (#15244)
Fixes #15243

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-16 13:05:16 +02:00
M Valla
c04c00cb63 [openwebnet] Thermo: add support for 4-zones CU (#15111)
* [openwebnet] support for thermo cu discovery
* [openwebnet] fixed discovery for 4-zones CU and support in ThermoHandler
* [openwebnet] updated openwebnet.properties#cu.where.description
* [openwebnet] updated OwnIdTest with CU-4 test
* [openwebnet] Fix ownId for CU 4-zone case. Update README

---------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-16 13:04:25 +02:00
Dominique Lasserre
d449fb8c48 Support processing of Telegram channel messages (#15104)
Signed-off-by: Dominique Lasserre <lasserre.d@gmail.com>
2023-07-16 12:50:10 +02:00
M Valla
3e0099d6d1 [openwebnet] add date time synchronization feature for bus_gateway Things (#15115)
* [openwebnet] fist commit DateTime synch


---------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-07-16 12:42:52 +02:00
Gwendal Roulleau
59ebd37a88 [pollyTTS] Replace custom TTS cache with common TTS cache (#15228)
* [pollyTTS] Replace custom TTS cache with common TTS cache

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-16 12:24:20 +02:00
morph166955
2a70a2dda8 [sonos] Add DTS Surround 5.1 (#15238)
* Adds DTS Surround 5.1

---------

Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-16 12:19:38 +02:00
Wouter Born
8950e9cc70 Add missing CODEOWNERS (#15241)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-07-16 10:46:45 +02:00
GiviMAD
abb9020be8 [rustpotterks] Upgrade library, fixes gain normalizer (#15239)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-07-16 10:22:53 +02:00
openhab-bot
bf9b06de03 New translations shelly.properties (German) (#15240) 2023-07-15 18:11:29 +02:00
Christian Wild
d2f4e05295 [asuswrt] Initial contribution (#13815)
Signed-off-by: Christian Wild <christian@wildclan.de>
2023-07-15 14:07:51 +02:00
morph166955
ee687aa1cd [androidtv] Moves Shim PKI to AndroidTVPKI and adds Trusted CA Certificate functions (#15174)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-15 09:40:41 +02:00
morph166955
cad86bc83b [androidtv] Adds additional i18n support to ConnectionManagers (#15184)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-15 09:39:45 +02:00
morph166955
4edad54e83 [androidtv] Adds CLI Interface (#15146)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-15 09:38:18 +02:00
Markus Michels
bfbbf3504f [shelly] Add support for Shelly Plus Mini series, Pro EM-50 and various bug fixes (#15205)
* Shelly BLU support, various fixes
* Shelly Dimmer US added
* Reference to org.eclipse.jetty.websocket updated to 9.4.50.v20221201
* Support for Shelly Wall Display added
* Fixed #15052: channel totalKWH and totalRetruned: correct value is kw/h
(API value needs to be converted from Watt/Min to kw/h)
* Regular power meter returns Watt/Min, the EM/3EM meter returns W/h; this
needs to be handled differently
* Gen2 power meter returns Watt, which needs to be converted to W/h
(and then gets converted to kw&/h for the channel update)
* bug fixes around channel creation, some xml channel declarations fixed
* Support for 1Mini, 1PM Mini and PM Mini added
* Avoid NPE for devices having relay(s), but no meter (like Pro 2); README
updated
* Shelly Pro 3EM-50 added; fixes #15151, #15152 and more
* fix #15218 (only 1 device#resetTotals channel)
* Fix Pro EM50 (it's not a 3EM-50): thing type name is now shellyproem50,
use EM1DataDeleteAllData method rather then EMDataDeleteAllData
* <connection>local</connection> added to addon.xml
* channel group names for i4 fixed, Plus-Roller now has voltage

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-07-14 21:59:45 +02:00
openhab-bot
b9bd454b8d New Crowdin updates (#15235)
* New translations lgwebos.properties (French)
* New translations openuv.properties (French)
* New translations exec.properties (French)
* New translations electroluxair.properties (French)
* New translations rollershutter.properties (French)
* New translations vat.properties (French)
* New translations chatgpt.properties (French)
2023-07-14 16:57:03 +02:00
openhab-bot
3018f24e6e New Crowdin updates (#15233)
* New translations mynice.properties (Italian)

* New translations netatmo.properties (Italian)
2023-07-14 07:40:19 +02:00
J-N-K
571cd6334f [rrd4j] Improve event handling (#15223)
* [rrd4j] Improve event handling

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-13 22:11:14 +02:00
Gaël L'hopital
1942dfeddc [netatmo] Add Siren capability to Presence Outdoor Camera (#14485)
* Adding Siren capability to Presence Outdoor Camera
Resolves #14466

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-07-13 18:32:46 +02:00
alexf2015
1fcc4fe70a [easee] adopt API base URL due to changes (#15229)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-07-13 17:11:26 +02:00
Gaël L'hopital
9b06e231e3 [Openuv] Providing an iconserver (#15191)
* Adding an icon server to OpenUV binding

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-07-13 13:16:56 +02:00
Matthew Skinner
a6b2b92513 Log when cameras do not support BASIC support. (#15168)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-07-13 00:14:28 +02:00
Gaël L'hopital
41e4cc4545 [MyNice] Addition of Courtesy Light Channel (#14797)
* Solving activation / deactivation of IT4Wifi thing glitches.
* Adding Courtesy light
Added command capability of Stop / Move
* Changed misplaced handling of RefreshType

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-07-12 23:01:08 +02:00
morph166955
80eeba48ce Adds additional checks for parser (#15165)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-07-12 22:02:45 +02:00
Gwendal Roulleau
7587e0c504 [mimictts] Add LRU cache (#14564)
* [mimictts] Add LRU cache

And simplifies code with new core capabilities (no more need to create temporary files implementing FixedLengthAudioStream)

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-12 21:59:48 +02:00
lolodomo
287cee32a5 [onkyo] Support for more audio streams through the HTTP audio servlet (#15117)
* [onkyo] Support for more audio streams through the HTTP audio servlet

Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 21:54:04 +02:00
lolodomo
af89237d6b [freebox] Support for more audio streams through the HTTP audio servlet (#15121)
Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 21:50:20 +02:00
lolodomo
25314d408f [allplay] Support for more audio streams through the HTTP audio servlet (#15201)
* [allplay] Support for more audio streams through the HTTP audio servlet

Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 21:43:55 +02:00
lolodomo
e58991cdf8 [voicerss] Add LRU cache (#14561)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 21:33:55 +02:00
Gaël L'hopital
9814047e21 Added capability to enable / disable background discovery service as well as tune its frenquency (#15222)
Signed-off-by: clinique <gael@lhopital.org>
2023-07-12 21:27:34 +02:00
Gwendal Roulleau
28e6da6342 [marytts] Add LRU cache (#15227)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-12 19:23:51 +02:00
lolodomo
7c9f66ffb3 [heos] Support for more audio streams through the HTTP audio servlet (#15196)
Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 14:30:00 +02:00
lolodomo
5c32f80c3b [freeboxos] Align audio sink to freebox binding (#15207)
Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-12 11:52:06 +02:00
Gwendal Roulleau
18ae834d68 [chromecast] Harmonize exception processing (#15225)
Rethrow a wrapped exception instead of only logging, like the other audio sinks.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-12 10:54:42 +02:00
Gaël L'hopital
c6a22e04cb Added siren_tampered notification (#15197)
Signed-off-by: clinique <gael@lhopital.org>
2023-07-12 09:23:12 +02:00
Gaël L'hopital
451aeb6b4a Resolves issue #15210 (#15212)
Signed-off-by: clinique <gael@lhopital.org>
2023-07-12 08:44:15 +02:00
openhab-bot
0ad8cfbb62 New Crowdin updates (#15224)
* New translations googletts.properties (French)
* New translations shelly.properties (German)
* New translations googletts.properties (German)
2023-07-12 08:22:17 +02:00
Hans Böhm
375083a9ab [astro] Update README.md (#15006)
* Update README.md

* remove untriggered values

---------

Signed-off-by: Hans Böhm h.boehm@gmx.at
2023-07-12 08:15:06 +02:00
Gwendal Roulleau
2899421ec3 [googletts] Replace custom TTS cache with common TTS cache (#15208)
* [googletts] Replace custom TTS cache with common TTS cache

--------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-11 00:29:13 +02:00
Florian Hotze
72c0e1f29f [jsscripting] Upgrade openhab-js to 4.5.0 (#15219)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-07-10 23:15:04 +02:00
Jacob Laursen
0a94ee0213 Fix documentation of history/cache (#15202)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-09 08:47:28 +02:00
Gwendal Roulleau
b17246f00a [picotts] Add LRU cache (#14565)
* [picotts] Add LRU cache

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-08 18:09:06 +02:00
Markus Michels
5bea9bcfdf [shelly] Add support for Shelly Wall Dimmer US and Wall Display (#15051)
Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-07-08 17:05:49 +02:00
Jan Gustafsson
5629d75d60 [electroluxair] Update to changed API (#15187)
* Updated to changed API (#15136)

Fixes #15136

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
2023-07-08 12:45:57 +02:00
Gwendal Roulleau
081bf3a9d4 [kodi] Support for more audio streams through the HTTP audio servlet (#15192)
* [kodi] Support for more audio streams through the HTTP audio servlet

[kodi] Audio sink supporting more audio streams

Related to #15113

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-08 11:18:44 +02:00
lolodomo
365e900a1f [amplipi] Support for more audio streams through the HTTP audio servlet (#15199)
Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-08 10:23:08 +02:00
Florian Hotze
2d75536f48 [jsscripting] Implement NodeJS-like parameter handling for timer polyfills (#15193)
* [jsscripting] Implement NodeJS-like param handling for timer polyfills
* [jsscripting] Clean-Up ThreadsafeTimer methods

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-07-07 23:10:35 +02:00
openhab-bot
7a8ef1fdcc New translations shelly.properties (German) (#15200) 2023-07-07 21:39:29 +02:00
miloit
de1eebd174 [volumio] Initial contribution (#14525)
Signed-off-by: Michael Loercher <MichaelLoercher@web.de>
2023-07-07 12:18:46 +02:00
pali
1ce6e8775f [ihc] Fix special character issue on item descriptions (#15183)
* [ihc] fix special character issue on item descriptions
* [ihc] Changed thing status to UNKNOWN when initializing

Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
2023-07-07 09:32:37 +02:00
Gwendal Roulleau
06abd44a7d [chromecast] Support for more audio streams through the audio servlet (#15180)
* [chromecast] Support for more audio streams through the HTTP audio servlet

Separates audiosink in its own class.
Improves volume change/restauration and temporary file handling by using the new core capabilities

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-06 21:05:21 +02:00
Gwendal Roulleau
dee79190a9 [squeezebox] Support for more audio streams through the audio servlet (#15194)
* [squeezebox] Support for more audio streams through the audio servlet

Audio sink supporting more audio streams

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-06 21:02:05 +02:00
Gwendal Roulleau
11512a9db9 [doorbird] Support for more audio streams (#15189)
* [doorbird] Support for more audio streams

And proper use of a synchronous base class.

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-06 20:07:18 +02:00
Gwendal Roulleau
94a761f84e [pulseaudio] Make the process method asynchronous (#15179)
* [pulseaudio] Make the process method asynchronous

And use the new 'complete' system to signal core that the sound is fully played.

---------

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-07-06 19:21:12 +02:00
Bernhard Bauer
7e07abbcab Updated README.md (UoM, fixed links) (#15186)
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
2023-07-05 22:47:45 +02:00
Hans Böhm
37cd7a2538 correct README (#15188)
Signed-off-by: Hans Böhm <h.boehm@gmx.at>
2023-07-05 22:16:04 +02:00
openhab-bot
21623a9faa New translations energidataservice.properties (Italian) (#15185) 2023-07-05 20:43:27 +02:00
Gaël L'hopital
751c8a74c4 [Freeboxos] New binding alternative to Freebox binding (#12342)
* SAT warnings handling

Signed-off-by: clinique <gael@lhopital.org>

* Correcting potential NPE

Signed-off-by: clinique <gael@lhopital.org>

* Correcting a NPE on error

Signed-off-by: clinique <gael@lhopital.org>

* Active player request falls to incorrect API version

Signed-off-by: clinique <gael@lhopital.org>

* Reintroducing missing capability to send keys to player.
Solving an NPE

Signed-off-by: clinique <gael@lhopital.org>

* Handling DUTY CYCLE more gracefully

Signed-off-by: clinique <gael@lhopital.org>

* Enhancing DUTY CYCLE

Signed-off-by: clinique <gael@lhopital.org>

* Moving to SNAPSHOT 3.4

Signed-off-by: clinique <gael@lhopital.org>

* Adress inconsistencies in binding name

Signed-off-by: clinique <gael@lhopital.org>

* Discover Freebox Delta Home equipments(basic_shutter)

* Clean previous test code

* Fix "Unexpected command"

* Fix thing comm error

* README for basic shutter

* Fix MR discusions and solve maven check errors and warnings

* Fix MR discusions

* Fix README.md

* Enhancing logging to indentify source of erratic warn

Signed-off-by: clinique <gael@lhopital.org>

* Deny polling a device data when its API is needed and it is OFFLINE

Signed-off-by: clinique <gael@lhopital.org>

* Taking #11833 in accound

Signed-off-by: clinique <gael@lhopital.org>

* Switching to Snapshot 4.0.0
Correcting apiDomain was not used as expected
Code cleansing.

Signed-off-by: clinique <gael@lhopital.org>

* Implementing SHUTTER Home Node

Signed-off-by: clinique <gael@lhopital.org>

* Saving work before instroduction of ArrayListDeserializer

Signed-off-by: clinique <gael@lhopital.org>

* Enhanced deserialization to simplify code

Signed-off-by: clinique <gael@lhopital.org>

* Switching to Java 17 records

Signed-off-by: clinique <gael@lhopital.org>

* Switching to addons.xml, headers updated

Signed-off-by: clinique <gael@lhopital.org>

* Correcting two errors.

Signed-off-by: clinique <gael@lhopital.org>

* Enhance usage of global variables

Signed-off-by: clinique <gael@lhopital.org>

* Some code enhancement for base classes

Signed-off-by: clinique <gael@lhopital.org>

* solving SAT issues

Signed-off-by: clinique <gael@lhopital.org>

* Adding IliadBox compatibility

Signed-off-by: clinique <gael@lhopital.org>

* Commiting work

Signed-off-by: clinique <gael@lhopital.org>

* Saving work

Signed-off-by: clinique <gael@lhopital.org>

* Rebooting Home Node part

Signed-off-by: clinique <gael@lhopital.org>

* Spotless apply

Signed-off-by: clinique <gael@lhopital.org>

* Adding i18n

Signed-off-by: clinique <gael@lhopital.org>

* Decreasing websocket logging level

Signed-off-by: clinique <gael@lhopital.org>

* SAT warnings handling

Signed-off-by: clinique <gael@lhopital.org>

* Correcting potential NPE

Signed-off-by: clinique <gael@lhopital.org>

* Correcting a NPE on error

Signed-off-by: clinique <gael@lhopital.org>

* Active player request falls to incorrect API version

Signed-off-by: clinique <gael@lhopital.org>

* Reintroducing missing capability to send keys to player.
Solving an NPE

Signed-off-by: clinique <gael@lhopital.org>

* Handling DUTY CYCLE more gracefully

Signed-off-by: clinique <gael@lhopital.org>

* Enhancing DUTY CYCLE

Signed-off-by: clinique <gael@lhopital.org>

* Moving to SNAPSHOT 3.4

Signed-off-by: clinique <gael@lhopital.org>

* Adress inconsistencies in binding name

Signed-off-by: clinique <gael@lhopital.org>

* Discover Freebox Delta Home equipments(basic_shutter)

* Clean previous test code

* Fix "Unexpected command"

* Fix thing comm error

* README for basic shutter

* Fix MR discusions and solve maven check errors and warnings

* Fix MR discusions

* Fix README.md

* Enhancing logging to indentify source of erratic warn

Signed-off-by: clinique <gael@lhopital.org>

* Deny polling a device data when its API is needed and it is OFFLINE

Signed-off-by: clinique <gael@lhopital.org>

* Taking #11833 in accound

Signed-off-by: clinique <gael@lhopital.org>

* Switching to Snapshot 4.0.0
Correcting apiDomain was not used as expected
Code cleansing.

Signed-off-by: clinique <gael@lhopital.org>

* Implementing SHUTTER Home Node

Signed-off-by: clinique <gael@lhopital.org>

* Saving work before instroduction of ArrayListDeserializer

Signed-off-by: clinique <gael@lhopital.org>

* Enhanced deserialization to simplify code

Signed-off-by: clinique <gael@lhopital.org>

* Switching to Java 17 records

Signed-off-by: clinique <gael@lhopital.org>

* Switching to addons.xml, headers updated

Signed-off-by: clinique <gael@lhopital.org>

* Correcting two errors.

Signed-off-by: clinique <gael@lhopital.org>

* Enhance usage of global variables

Signed-off-by: clinique <gael@lhopital.org>

* Some code enhancement for base classes

Signed-off-by: clinique <gael@lhopital.org>

* solving SAT issues

Signed-off-by: clinique <gael@lhopital.org>

* Adding IliadBox compatibility

Signed-off-by: clinique <gael@lhopital.org>

* Commiting work

Signed-off-by: clinique <gael@lhopital.org>

* Saving work

Signed-off-by: clinique <gael@lhopital.org>

* Rebooting Home Node part

Signed-off-by: clinique <gael@lhopital.org>

* Spotless apply

Signed-off-by: clinique <gael@lhopital.org>

* Enhancing SAT report

Signed-off-by: clinique <gael@lhopital.org>

* I think that mvn spotless:apply has a problem with records - trying once again

Signed-off-by: clinique <gael@lhopital.org>

* Avoid requesting detailed information for a shutdown repeater.

Signed-off-by: clinique <gael@lhopital.org>

* Switched fan speed to RPM unit

Signed-off-by: clinique <gael@lhopital.org>

* Correcting SAT

Signed-off-by: clinique <gael@lhopital.org>

* Correcting SAT

Signed-off-by: clinique <gael@lhopital.org>

* Divergence between eclipse and mvn spotless:apply

Signed-off-by: clinique <gael@lhopital.org>

* YASAT

Signed-off-by: clinique <gael@lhopital.org>

* Corrections following fwolter code review

Signed-off-by: clinique <gael@lhopital.org>

* Pleasing SAT

Signed-off-by: clinique <gael@lhopital.org>

* Second fwolter code review

Signed-off-by: clinique <gael@lhopital.org>

* Porting modifications introduced in PR #15121

Signed-off-by: clinique <gael@lhopital.org>

* Removing redundant null checks.

Signed-off-by: clinique <gael@lhopital.org>

* Rebased.

Signed-off-by: clinique <gael@lhopital.org>

* Trying to remove the last sleep.

Signed-off-by: clinique <gael@lhopital.org>

* Reporting modifications of PR #15121

Signed-off-by: clinique <gael@lhopital.org>

* Reverting to working and cleaner granting process

Signed-off-by: clinique <gael@lhopital.org>

* Removing last Thread:Sleep

Signed-off-by: clinique <gael@lhopital.org>

* spotless:apply

Signed-off-by: clinique <gael@lhopital.org>

---------

Signed-off-by: clinique <gael@lhopital.org>
Co-authored-by: ben.12 <benmor_12@yahoo.fr>
2023-07-05 20:13:29 +02:00
David Pace
123982dcc6 [boschshc] Code enhancements and Sonar issue fixes (#15160)
* replace call to deprecated HSBType::getRGB() with
ColorUtil::hsbTosRgb()
* make constructors of abstract classes protected
* use instanceof with pattern matching (JEP 305)
* enhance switches with combined cases using comma-separated case
expressions
* remove unnecessary public modifiers in unit tests

Signed-off-by: David Pace <dev@davidpace.de>
2023-07-04 23:25:13 +02:00
mlobstein
4775ad2a0d Fix MIME type (#15162)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-07-04 21:35:35 +02:00
mlobstein
472db7a87f Fix MIME type (#15161)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-07-04 21:34:43 +02:00
Dan Cunningham
d83084849d [hydrawise] Fixes occasional connection issues (#15177)
* The Hydrawise API can return sometimes return a non JSON response during service outages, like when they are updating thier software.  This treats this as a connection error and allows the client to try the poll again.
* Adds additional http status checking

Fixes #15170

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-07-04 21:29:03 +02:00
openhab-bot
3f6b2b7231 New Crowdin updates (#15178)
* New translations energidataservice.properties (Danish)
2023-07-04 20:40:34 +02:00
Jacob Laursen
3d7fa51c65 Remove obsoleted texts and update description (#15176)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-04 19:50:18 +02:00
J-N-K
ae1a7475a7 [avmfritz] Fix wrong system channel types (#15172)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-03 22:48:03 +02:00
Jacob Laursen
6cfb1e295d [energidataservice] Initial contribution (#14376)
* Initial contribution

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Remove Value-Added Tax

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Migrate naming convention

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Add channel configuration example

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Remove current prefixes for forward compatibility with timestamped items

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Add filter for another grid company

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Use ISO 3166-1 alpha-2 codes in lowercase for XSD compliance

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix error handling for deserializers

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix compliance with RFC 9110 section 10.1.5

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Add JavaScript example code

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Refactor List to Collection and use iterators

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Add filter for another grid company

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Extend cached history to 24 hours

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Remove filter for expired GLN

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix typos

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Improve descriptions

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Improve logging

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-07-03 18:16:17 +02:00
Hans Böhm
4ddb3ce7e6 [comfoair] extend UoM support, add semantic tags & update state descriptions (#15167)
* enable UoM for rpm values
* support uom for non-hour time channels
* add state options for frost setting
* add data type for percentage
* support DecimalType for QuantityType channels
* support rfc2217
* improve state description for time channels
* improve code style in DataTypes
* remove unnecessary command type check
* enable UoM for enthalpy timer

Signed-off-by: Hans Böhm <h.boehm@gmx.at>
2023-07-03 17:45:45 +02:00
J-N-K
f0bdeff81b [mail] Add mail content processing (#14345)
* [mail] Add mail content processing

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-03 09:07:27 +02:00
Robert D
99e78d84b5 fix timescale db type replacement (#15156)
Signed-off-by: querdenker2k <querdenker2k@gmx.de>
2023-07-02 21:20:50 +02:00
Hans-Jörg Merk
ea7eb9ff57 [intesis] Add configurable polling interval (#15138)
Signed-off-by: hmerk <github@hmerk.de>
2023-07-02 21:10:32 +02:00
lolodomo
676f53b55a [upnpcontrol] Support for more audio streams through the HTTP audio s… (#15122)
* [upnpcontrol] Support for more audio streams through the HTTP audio servlet

Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-02 11:23:41 +02:00
lolodomo
070de816f3 [sonos] Support for more audio streams through the HTTP audio servlet (#15116)
* [sonos] Audio sink supporting more audio streams

Related to #15113

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-02 11:22:31 +02:00
Matthew Skinner
1f78f9ac7b [ipcamera] Fix discovery crashes when networks have access rights issues in docker (#15059)
* Fix discovery crashes if network use is blocked by docker.
* Change log levels to be more useful.
* add better reolink discovery check

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-07-02 09:11:06 +02:00
Andrew Fiddian-Green
bd4a8385e0 [hue] Implement CLIP 2 / API v2 (#13570)
* [hue] Implement CLIP 2 / API v2

---------

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-07-02 00:48:31 +02:00
lolodomo
dd913e5245 [mactts] Add LRU cache (#15109)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-07-01 10:59:30 +02:00
morph166955
d12693419c [androidtv] Normalized exception logging for both MessageParsers (#15157)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-06-30 17:20:14 +02:00
morph166955
e1d0dcea97 [androidtv] Updates to GoogleTV 4.39.644 (#15154)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-06-30 08:07:51 +02:00
morph166955
0c70a590a8 [androidtv] Resolves EmptyControlStatement SAT alerts (#15158)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-06-30 07:53:01 +02:00
morph166955
be5cdb7cf5 [androidtv] Update BouncyCastle to jdk18on and 1.75 (#15140)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-06-28 07:16:31 +02:00
Chiuaua79
21044f66f7 [velux] Fix limit minimum bug (#15088)
Also-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Cor Hoogendoorn <chiuaua@hotmail.com>
2023-06-27 23:00:32 +02:00
openhab-bot
6ff4149899 New Crowdin updates (#15142)
* New translations boschindego.properties (Danish)
* New translations androidtv.properties (Italian)
2023-06-27 22:57:57 +02:00
Holger Friedrich
985f89315d [knx] Code cleanup (#15141)
* cleanup
* [knx] Replace StringBuffer with StringBuilder

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-06-27 20:22:06 +02:00
Wouter Born
f6a4397483 Resolve itest runbundles (#15139)
With openhab/openhab-core#3355 the dependencies changed.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-06-26 22:22:55 +02:00
Markus Michels
631148320f [shelly] Add support for Shelly BLU series of devices (#15031)
* support for Pro 3EM (WIP)
* Support for Plug-S and Smoke added
* new channel resetTotals for emeters, new channel sensor#mute for Smoke
* Validate Temp reported by CoAP before updating channel, ignore 999
* Add support for Shelly BLU Button and Door/Window

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-06-26 16:37:50 +02:00
morph166955
46039efd0a [androidtv] AndroidTV Binding initial contribution (#14282)
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
2023-06-26 08:49:42 +02:00
Tom Laermans
5a1daa252e [boschindego] Add support for random mowing status code (#15135)
* Add Bosch Indego 'Mowing randomly' state code 524

Signed-off-by: Tom Laermans <tom.laermans@powersource.cx>
2023-06-25 17:08:35 +02:00
Florian Hotze
6dff1ffa63 [yamahamusiccast] Fix DecimalType commands for volumeDB channel (#15124)
* [yamahamusiccast] Fix volumeDB channel doesn't accept DecimalType and QuantityType commands

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-06-25 12:14:58 +02:00
dependabot[bot]
d62c006c47 Bump json in /bundles/org.openhab.binding.dbquery (#14805)
Bumps [json](https://github.com/douglascrockford/JSON-java) from 20180813 to 20230227.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-25 11:37:38 +02:00
dependabot[bot]
40f8f6f323 Bump json in /bundles/org.openhab.binding.mercedesme (#14804)
Bumps [json](https://github.com/douglascrockford/JSON-java) from 20180813 to 20230227.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-25 11:37:04 +02:00
J-N-K
c872d63c06 [jsscriptingnashorn] Fix addon.xml (#15133)
The addon-id was wrong (the same as for `jsscripting`), leading to wrong responses of the add-on service when both are installed.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-25 09:20:31 +02:00
J-N-K
b3d0399d6b Fix build (#15132)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-25 09:18:55 +02:00
J-N-K
0b6bdad557 [inmemory] Initial contribution (#15063)
This is the initial contribution of a new volatile persistence service. It does store values in memory only and can especially be used for forecasts or other data where volatile storage is sufficient.


Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-24 11:15:09 +02:00
Karel Goderis
8a67d0ad94 Fix error handling + migrate to the injected JAX-RS ClientBuilder (#15096)
Signed-off-by: Karel Goderis <karel.goderis@me.com>
2023-06-23 20:53:03 +02:00
mlobstein
b193493f8e [radiothermostat] Skip clock sync when override is on (#15127)
* Don't sync clock when override is on

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-06-21 15:44:38 +02:00
Florian Hotze
828c895b54 [jsscripting] Bump openhab-js version to 4.4.0 (#15128)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-06-20 15:40:11 +02:00
J-N-K
07e640387c [rrd4j] Improve timestamp handling (#15107)
* [rrd4j] Improve timestamp handling

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-18 21:14:41 +02:00
openhab-bot
2603f5f355 New translations tradfri.properties (Italian) (#15112) 2023-06-18 20:25:56 +02:00
Jacob Laursen
3c5ce72397 [robonect] Fix NullPointerException on reinitialization (#15003)
* Fix NullPointerException on reinitialization

Fixes #15001
2023-06-18 09:06:19 +02:00
Vivien Boistuaud
801b860c59 [tradfri] Add support for Air Purifier (#14836)
* [tradfri] Added Support for Air Purifier (#7)

Added Support for Tradfri Air Purifier:
* Added documentation disambiguation Tradfri vs Dirigera
* Added Tradfri Air Purifier - fanMode and fanSpeed
* Workable Tradfri Air Purifier basic implementation
* Tradfri: modified fanMode type and definition
* Tradfri Air Purifier: Added disableLed
* Tradfri Air Purifier: Added lockPhysicalButton
* Tradfri Air Purifier: Added airQuality data
* Tradfri Air Purifier: Added filterCheck data
* Tradfri Air Purifier: Added translations
* Tradfri Air Purifier: Added filter_uptime
* Tradfri Air Purifier: code optimization
* Documentation for supported Air Purifier channels
Fixes #14816

Signed-off-by: Vivien Boistuaud <github@boistuaud.net>
2023-06-17 15:29:03 +02:00
0x4d4d
b505f7b12c [somneo] Add alarm support and other improvements (#14882)
* [somneo] Add alarm clock channels

Signed-off-by: Michael Myrcik <michael.myrcik@web.de>
2023-06-17 12:55:27 +02:00
Doug Culnane
ff9254df75 [renault] Add support for MyDacia accounts and Dacia Spring car (#15101)
* [renault] Support for MyDacia accounts and Dacia Spring car

Signed-off-by: Doug Culnane <doug@culnane.net>
2023-06-17 12:46:01 +02:00
mlobstein
33814a8548 [radiothermostat] Add MyRadioThermostat/EnergyHub cloud removal note (#15098)
* Add cloud removal note

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-06-17 12:22:03 +02:00
lolodomo
6686e18266 [rrd4j] Add console commands to check and clean RRD files (#14960)
Console commands added to detect and remove RRD files associated with items that no longer exist.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-06-16 09:19:37 +02:00
Bernd Weymann
03c5243174 [modbus.e3dc] battery capacity added (#15085)
* battery capacity added

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* i18n for channel additions

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

---------

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2023-06-16 07:46:32 +02:00
Holger Friedrich
a5c47aebee Reduce SAT warnings (#15090)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-06-15 00:02:10 +02:00
openhab-bot
7ef268f4d2 New translations netatmo.properties (Italian) (#15095) 2023-06-14 16:39:33 +02:00
J-N-K
d2e10ab282 [influxdb] Handle exceptions gracefully (#15062)
* [influxdb] Handle exceptions gracefully

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

* also catch InfluxDBIOExceptions

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

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-13 20:54:27 +02:00
Gaël L'hopital
d40c20b2dd [Netatmo] Enhance webhook handling and dispatching (#15045)
* Enhance webhook handling and dispatching

Signed-off-by: clinique <gael@lhopital.org>

* Corrects flapping channels on Home when using single home for security and energy

Signed-off-by: clinique <gael@lhopital.org>

* Some code enhancement

Signed-off-by: clinique <gael@lhopital.org>

* Adding some missing EventType submitted on the webhook

Signed-off-by: clinique <gael@lhopital.org>

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-06-13 20:35:45 +02:00
dag81
c9c6e95807 [vesync] Update README.md (#15032)
* Update README.md

[veSync] Corrected Readme channel definitions
Signed-off-by: David Goodyear <david.goodyear@gmail.com>
2023-06-13 17:34:58 +02:00
Jacob Laursen
3cfb048739 [transform.vat] Suppress warnings for NULL/UNDEF (#15089)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-06-13 17:31:45 +02:00
Holger Friedrich
5e010db738 [knx] Implement console commands (#15064)
* [knx] Implement console commands

Add commands knx:* to openHAB console.
Initial implementation of knx:show_unknown_ga, which shows group
addresses which are seen in the installation but not used by
openHAB.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-06-13 17:30:17 +02:00
Guenther Schreiner
db0132409b - Introduced more output for debugging (w/ log level debug) (#15070)
- Fixed support for MB-LAN (=KM200, version 1.0) by avoiding query of an unsupported attribute.
- BEFORE this fix: The MBLAN does not support the /gateway/registrations attribute and returns an invalid answer:
*   [b.binding.km200.internal.KM200Device] - /gateway/registrations: trying to query information.
*   [b.binding.km200.internal.KM200Device] - /gateway/registrations: trying to decode: [B@4de25f6.
*   [binding.km200.internal.KM200Cryption] - Length of message is 11.
*   [binding.km200.internal.KM200Cryption] - Did NOT decrypt message
*   [binding.km200.internal.KM200Cryption] - Exception on encoding

Logging of detailed error message.

Signed-off-by: guenther.schreiner@smile.de
2023-06-11 21:10:53 +02:00
J-N-K
47eaf63698 [knx] dynamic channel-types (#15072)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-11 21:04:09 +02:00
David Pace
13a036e30d [boschshc] Upgrade to REST API version 3.2 (#15053) (#15067)
closes #15053

Signed-off-by: David Pace <dev@davidpace.de>
2023-06-11 17:52:26 +02:00
Ken Seal
5e1c9e81f1 [opengarage] Add vehicle status not available. (#15080)
Signed-off-by: Ken Seal <hunzinker@gmail.com>
2023-06-11 12:16:13 +02:00
Karel Goderis
14726013b1 [knx] Fix DPT 10 handling (#15082)
Signed-off-by: Karel Goderis <karel.goderis@me.com>
2023-06-11 12:15:23 +02:00
openhab-bot
4eec1a7f47 New translations plex.properties (Italian) (#15076) 2023-06-10 15:36:42 +02:00
openhab-bot
a9bb587766 New translations wundergroundupdatereceiver.properties (Danish) (#15071) 2023-06-10 12:15:55 +02:00
mlobstein
44a78b99f5 [plex] Initial contribution (#15057)
* aronbeurskens plex baseline

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* review changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Clean-up PlexApiConnector exception handling

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Additional clean-up

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* review changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* review changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

---------

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-06-10 07:22:02 +02:00
Matthew Skinner
ddffda3522 Bump Netty version to 4.1.92.Final (#14878)
Update to latest netty to ensure latest improvements and security patches are applied.

https://netty.io/news/2023/04/25/4-1-92-Final.html

* Adapt itests to new netty release

Signed-off-by: Matthew Skinner <matt@pcmus.com>
Also-by: Holger Friedrich <mail@holger-friedrich.de>
2023-06-08 15:56:27 +02:00
openhab-bot
214e31b1b3 New translations shelly.properties (German) (#15055) 2023-06-07 22:43:29 +02:00
Дилян Палаузов
8d0c9f27f8 [systeminfo] README: spell unlinked channels do not get updates (#15035)
typos: insert space after comma

cf. https://github.com/openhab/openhab-addons/issues/15007

Co-authored-by: Дилян Палаузов <dpa-git@aegee.org>
2023-06-05 18:51:19 +02:00
Karel Goderis
93b888ad31 [oceanic] Remove dependency on RXTX for serial communication (#15044)
Signed-off-by: Karel Goderis <karel.goderis@me.com>
2023-06-02 21:57:32 +02:00
Jacob Laursen
3c1cbaa769 [surepetcare] Adapt blocked user agent (#15047)
* Adapt blocked user agent

Fixes #15046

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-06-02 12:29:42 +02:00
openhab-bot
43d35538d5 New Crowdin updates (#15034)
* New translations boschindego.properties (Danish)
* New translations hdpowerview.properties (Danish)
* New translations airq.properties (German)
* New translations amazondashbutton.properties (German)
* New translations ekey.properties (German)
* New translations evcc.properties (German)
* New translations feed.properties (German)
* New translations gpstracker.properties (German)
* New translations heliosventilation.properties (German)
* New translations mybmw.properties (German)
* New translations qolsysiq.properties (Italian)
2023-05-28 20:02:12 +02:00
Markus Michels
1f774db959 [shelly] Support for Plus Smoke, Plus Plug-S/IT/UK/US, Plus Dimmer US, Pro 3EM; fix Gen1 sensor initialization (#14532)
* support for Pro 3EM (WIP)
* Support for Plug-S and Smoke added
* new channel resetTotals for emeters, new channel sensor#mute for Smoke
* Validate Temp reported by CoAP before updating channel, ignore 999
* Support device temp for Pro3, fix emeter.current rouding on 1 instead of
3 deciaml digits, check for reinit before executing channel command,
avoid NPE in Shelly Manaher
* Fix NPE in Shelly Manager with Plus/Pro devices (not having all Gen1
settings initialized)
* Avoid NPE if device time is not set; check thing stopping state to
prevent "handler already disposed"

Signed-off-by: Markus Michels <markus7017@gmail.com>
2023-05-24 14:20:11 +02:00
Andrew Fiddian-Green
df9c270acf [hdpowerview] Add support for Generation 3 (#13355)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-05-24 13:00:14 +02:00
Holger Friedrich
96d0293913 Declare missing connection attribute (#15016)
* Declare missing connection attribute
* change mactts, marytts, and picotts to none for consistency

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-23 21:38:13 +02:00
Kai Kreuzer
289aa0b017 Update to SAT version 0.15.0 (#15015)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-05-23 09:11:22 +02:00
Holger Friedrich
e74268b24c [modbus] Re-enable itests after core change (#15017)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-23 08:04:00 +02:00
Holger Friedrich
ac04a4e71d [imperihome] Remove imperihome addon (#15014)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-23 07:38:21 +02:00
Holger Friedrich
d8376aa6d0 [luftdateninfo][sensorcommunity] Rename binding to Sensor.Community (#15012)
* [luftdateninfo][sensorcommunity] Rename binding to match the new name Sensor.Community

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-22 07:57:23 +02:00
Florian Hotze
095a5df323 [evcc] Adjust to API changes & Add new channels for evcc 0.117.0 (#14983)
* [evcc] Remove `hasVehicle` channel
* [evcc] Update API for evcc 0.117.0
* [evcc] Fix targetSoC and targetTime not working

Also:
- Use new Java 17 features.

Fixes #14348.

* [evcc] Add `targetEnergy` channel
* [evcc] Make `batteryPrioritySoC` channel writable

Closes #14347.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-05-21 21:21:38 +02:00
J-N-K
0724c3febc [airthings] Fix thing types (#15013)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-21 17:32:52 +02:00
Kai Kreuzer
1b7dbd7ef9 [airthings] Adapt channels to new dimention for Radon measurements (#15011)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-05-21 17:15:14 +02:00
J-N-K
f34aa8fa5c [influxdb] support restoring unit for dimension items (#15009)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-20 23:01:23 +02:00
Jacob Laursen
e598a06475 Add UoM support for rotational speed channels (#15002)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-20 12:32:51 +02:00
David Martin
7ff5715dea Update README.md (#15008)
The field name for the speed of the serial interface is baudrate and not baud. At least this is what I had to implement in OH3.4.4.

Signed-off-by: David Martin <david@itbeyond.com.au>
2023-05-20 12:27:16 +02:00
Matthew Skinner
39e285257e [mqtt.espmilighthub] Fix things do not come ONLINE if MQTT Client Status Topic not supplied. (#14877)
* Update readme and add new thing status message.


Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-05-19 13:53:43 +02:00
chingon007
4d811691e9 [sonnen] Update to API V2 of vendor and add PowerMeter (#14589)
* Implementing sonnen APi V2
* Fixed issues with powermeter and added two more channels from consumption.

Signed-off-by: chingon007 <tron81@gmx.de>
2023-05-18 00:16:08 +02:00
Christian Wild
6ab8111f9e [tapocontrol] LightEffects for L530 can now be set (#14972)
removed 'queryChild' for devices with no childs

Signed-off-by: Christian Wild <christian@wildclan.de>
2023-05-17 21:42:46 +02:00
mlobstein
ccab566172 Update app list URLs (#15000)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-05-17 20:23:14 +02:00
Mark Herwege
d5f50ab0de [systeminfo] Fix and re-enable tests (#14992)
* [systeminfo] Fix itests after core change
* re-enable test

---------

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2023-05-17 20:13:24 +02:00
lolodomo
353c154c12 [mercedesme] Remove the access token when the thing is removed (#14942)
* [mercedesme] Remove the access token when the thing is removed

Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-15 23:56:00 +02:00
Marcel Goerentz
ab16c94ace [liquidcheck] Initial contribution (#13287)
* Add new binding liquidcheck

Signed-off-by: Marcel Goerentz <m.goerentz@t-online.de>
2023-05-14 00:19:56 +02:00
Jacob Laursen
939c9caa1b Fix NullPointerException (#14989)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-13 21:25:23 +02:00
J-N-K
38df936aa9 [voicerss] Fix service-id in addon.xml (#14988)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 21:16:23 +02:00
J-N-K
d85bb786ad [jdbc] Fix addon-info (#14987)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 20:55:31 +02:00
lolodomo
c10f4f4051 [nest] Remove the access token when the thing is removed (#14940)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-13 19:06:41 +02:00
Holger Friedrich
8a9ac6eccc Upgrade SAT to 0.14 (#14981)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-13 19:04:36 +02:00
J-N-K
36024a8c03 [harmonyhub] Use AbstractStorageBasedTypeProvider (#14507)
* [harmonyhub] Use AbstractDynamicTypeProvider

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 18:07:48 +02:00
J-N-K
717addee9a [influxdb] Implement ModifiablePersistenceService (#14959)
* [influxdb] Implement ModifiablePersistenceService

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 12:37:48 +02:00
Matthew Skinner
01add04f9e [ipcamera] Add Reolink API support (#14728)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2023-05-13 12:31:39 +02:00
lolodomo
cd4879a315 [goecharger] Avoid potential NullPointerException (#14933)
Also include change from PR #14632

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-13 12:26:58 +02:00
Florian Hotze
aa3d6b0dc9 [jsscripting] Add type translation for Instant & Minor improvements (#14984)
* [jsscripting] Minor code improvements
* [jsscripting] Add type mapping for `Instant`
* [jsscripting] Upgrade openhab-js to 4.3.0

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-05-13 12:25:06 +02:00
J-N-K
d9c12ca659 [jsscripting] Allow configuring from add-on page (#14985)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-13 12:21:14 +02:00
lolodomo
24a0bcbd7f [remoteopenhab] Use AbstractStorageBasedTypeProvider (#14956)
* [remoteopenhab] Use AbstractStorageBasedTypeProvider

Related to #14954

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-12 20:51:36 +02:00
dependabot[bot]
36d4d24264 Bump json in /bundles/org.openhab.persistence.influxdb (#14806)
Bumps [json](https://github.com/douglascrockford/JSON-java) from 20200518 to 20230227.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-12 19:47:12 +02:00
lolodomo
2fc780f3c3 [rrd4j] Do not create RRD file when querying data (#14961) 2023-05-12 14:10:10 +02:00
J-N-K
16df575b38 [systeminfo] Use AbstractStorageBasedTypeProvider (#14501)
* [systeminfo] Use AbstractDynamicTypeProvider

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-12 13:59:01 +02:00
lolodomo
227606b0a1 [spotify] Remove the access token when the thing is removed (#14947)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-12 09:57:45 +02:00
lolodomo
88413c001d [webexteams] Remove the access token when the thing is removed (#14979)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 22:03:00 +02:00
lolodomo
14e7109a25 [automower] Remove the access token when the thing is removed (#14971)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 22:01:49 +02:00
lolodomo
29edae9f21 [ecowatt] Change in handleRemoval (#14978)
Follow-up #14934

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 22:00:23 +02:00
lolodomo
b4551c365a [groupepsa] Small change in handleRemoval (#14977)
Follow-up #14943

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 21:58:45 +02:00
lolodomo
cc6ecb4372 [hydrawise] Small change in handleRemoval (#14976)
Follow-up #14945

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 21:58:13 +02:00
lolodomo
a65574a336 [livisismarthome] Small change in handleRemoval (#14975)
Follow-up #14946

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 21:57:45 +02:00
lolodomo
762fa36415 [myq] Small change in handleRemoval (#14974)
Follow-up #14938

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-11 21:57:11 +02:00
Andrew Fiddian-Green
6cd10a771e [velux] softer initialization if bridge unreachable (#14817)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-05-11 16:26:25 +02:00
mlobstein
2f7bdbe966 [monopriceaudio] Add support for additional amplifiers (#13936)
* Add support for additional models
* Clarify supported models and documentation
* Add notes for amps with built-in serial over IP
* Improve configuration validation and add i18n to status messages
* Remove default values for port configuration

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-05-11 16:14:55 +02:00
Mark Hilbush
e6d84ab488 Delete oauth service and token when thing removed (#14980)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-05-11 14:41:22 +02:00
Jacob Laursen
1fafec5d11 [boschindego] Refactor OAuth2 implementation (#14950)
* Delete OAuth2 token when thing is removed
* Fix reinitialization
* Introduce abstraction for OAuthClientService
* Improve thing status synchronization

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-11 10:51:16 +02:00
lolodomo
6a6fe00b7b Disable integration tests for bindings requiring an update after core changes (#14970)
Related to openhab/openhab-core#3600

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-10 23:25:30 +02:00
Marcel
6784d22ab9 [miio] Update readme wrt unsupported devices (#14512)
* Rename channel names to better reflect purpose
* Update readme

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-05-10 20:58:44 +02:00
lolodomo
518283de50 [dynamodb] Changes required after API changes in core framework (#14966)
Changes in openhab/openhab-core#3481 broke this service due to an
breaking API change in NumberItem class (constructor).

Related to openhab/openhab-core#3600

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-10 18:13:01 +02:00
lolodomo
bca5711d8d [influxdb] Fix faling tests after core changes (#14965)
Related to openhab/openhab-core#3600

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-10 17:59:54 +02:00
openhab-bot
4a2c3a35ba New Crowdin updates (#14957)
* New translations astro.properties (French)

* New translations sonos.properties (French)

* New translations jsscripting.properties (Danish)
2023-05-09 13:09:40 +02:00
openhab-bot
3297bda33c New translations openwebnet.properties (Italian) (#14955) 2023-05-08 23:01:53 +02:00
Gaël L'hopital
0bd39a83a1 [Meteoalerte] Add an IconProvider (#14811)
* Solving activation / deactivation of IT4Wifi thing glitches.
* Some code enhancements
* Addition of an IconProvider

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-05-08 20:54:50 +02:00
J-N-K
5fe99a18a9 [rrd4j] Write asynchronously to database (#14913)
* [rrd4j] Write asynchronously to database
* add timestamps to log message

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-08 12:49:23 +02:00
tb4jc
a2dcf2fcef [ipcamera] Fix orphan ffmpeg process after stopping stream URL (#14909)
* Setting ffmpeg reference 'ffmpegMjpeg' to null after stopping convertion to fix automatic restart of ffmpeg process.

---------

Signed-off-by: Thomas Burri <th@thonojato.ch>
2023-05-08 11:43:49 +02:00
Robert Szucs
254efb5372 Fix a typo (#14953)
Signed-off-by: Robert Szucs <robert.szucs@casrd.net>
2023-05-08 11:41:29 +02:00
J-N-K
c3a9a4c7b6 Adjust to core changes (#14952)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-08 09:35:36 +02:00
M Valla
5fe6d325a3 [openwebnet] Improve shutterRun calibration (#14357)
* [openwebnet] improved shutterRun calibration and README
* [openwebnet] added Thing status detail when bridge is offline

--------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-05-07 17:11:44 +02:00
lolodomo
da1a95fbdd [hydrawise] Remove the access token when the thing is removed (#14945)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-06 22:21:40 +02:00
openhab-bot
2b674dde01 New translations sonos.properties (Italian) (#14949) 2023-05-06 21:45:24 +02:00
lolodomo
a7ba3eee72 [livisismarthome] Remove the access token when the thing is removed (#14946)
* [livisismarthome] Remove the access token when the thing is removed

Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-06 12:45:43 +02:00
mlobstein
ab4dace2e9 fix ALLOFF event to source button channels (#14944)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-05-06 11:28:03 +02:00
openhab-bot
4584b82a46 New Crowdin updates (#14930)
* New translations jruby.properties (German)
* New translations knx.properties (German)
* New translations openwebnet.properties (Italian)
* New translations anthem.properties (Italian)
2023-05-05 23:23:26 +02:00
lolodomo
d3b7a0a98d [myq] Remove the access token when the thing is removed (#14938)
* [myq] Remove the access token when the thing is removed
* oAuthService.removeAccessTokenRefreshListener added

Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 23:22:20 +02:00
lolodomo
dea24b3dd8 [sonos] Add support for Era 100 and Era 300 (#14920)
Closes #14802

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 23:08:57 +02:00
lolodomo
d18a524c0e [googletts] Dispose oAuth2 service (#14937)
* [googletts] Dispose oAuth2 service

Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 23:06:52 +02:00
lolodomo
831a7af2c6 [ecowatt] Remove the access token when the thing is removed (#14934)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 22:35:09 +02:00
lolodomo
4e8e39cd9f [homeconnect] Remove the access token when the thing is removed (#14935)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 22:32:26 +02:00
lolodomo
3ae72c92e5 [groupepsa] Remove the access token when the thing is removed (#14943)
Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 22:16:24 +02:00
lolodomo
5d65507584 [googlestt] Dispose oAuth2 service (#14936)
* [googlestt] Dispose oAuth2 service

Related to #14818

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-05 21:49:54 +02:00
Giovanni Fabiani
7bcf2e7faf [openwebnet] Final review (#14819)
This reverts commit 3807c80eee9a3df26773860472b422d4e72d16d6.

Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
2023-05-05 16:14:59 +02:00
Christian Wild
58470caf16 [tapocontrol] Moved error messages to i18n (#14790)
* [tapocontrol] Moved error messages to i18n

---------

Signed-off-by: Christian Wild <christian@wildclan.de>
2023-05-05 09:12:03 +02:00
Mark Hilbush
6ebfd84bdd [anthem] Add channel, refactor parser, add tests (#14720)
* Add channel and refactor parser

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-05-04 23:26:14 +02:00
vich-667
891da2c944 [avmfritz] Add light blub color temperature support (#14373)
* added light blub color temperature support
* align valiable nameing
* fixed on off behavior of lights
* change to math scaleing
* add abs color temperature channel

---------

Signed-off-by: Tobias Lange <vich-667@gmx.de>
2023-05-04 09:08:52 +02:00
Sven Carstens
8a2e8b4595 [MOD] Update README.md to reflect support with regards to newer/other solarwatt products. (#14921)
Signed-off-by: Sven Carstens <s.carstens@gmx.de>
2023-05-03 13:12:05 +02:00
Simon Spielmann
67f1a80afd [iCloud] Fix things reappearing in inbox (#14661)
* Use deviceDiscoveryId instead of id
* Use device display name if discovery id is empty

Signed-off-by: Simon Spielmann <simon.spielmann@gmx.de>
2023-05-03 12:27:48 +02:00
goopilot
dc5d76d762 fix s3 thing status (#14925)
Signed-off-by: Alexandr Salamatov <goopilot@gmail.com>
2023-05-03 08:10:46 +02:00
Felix Schneider
3130a67d8d [FolderWatcher] Formatting and write out of abbreviations in Docs (#14793)
* Formatting and write out of abbreviations of time

- `s` --> `in seconds`
- `h` --> `in hours`
- formatting of tables, things and rules
- Unifiy usage of `'` and `"`

* Formatting and rephrasing
* Unify the order of localfolder, ftpfolder and s3bucket

Signed-off-by: Felix Schneider <fs@felix-schneider.org>
2023-05-02 22:17:21 +02:00
Kai Kreuzer
f607dde3a5 [tesla] Adapt binding to changed API from Tesla backend (#14922)
* Adapt binding to changed API from Tesla backend

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-05-02 21:49:06 +02:00
lolodomo
fb16e90168 [hue] Restore UPnP discovery for old bridges (#14914)
* [hue] Restore UPnP discovery for old bridges

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-05-02 21:19:14 +02:00
Jacob Laursen
26a52a1540 Fix discovery label consistency (#14919)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-02 08:41:10 +02:00
Holger Friedrich
feee01d65c [feican] Use new core class ColorUtil for RGB conversion (#14771)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-01 20:46:05 +02:00
Holger Friedrich
2c8f639060 [nanoleaf] Use new core class ColorUtil for RGB conversion (#14773)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-05-01 20:43:22 +02:00
Christoph Weitkamp
b07dd3c48f [sensebox] Fix NPE (#14879)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2023-05-01 19:44:08 +02:00
Jacob Laursen
fafcc68423 Fix compliance with RFC 9110 section 10.1.5 (#14891)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-01 19:04:46 +02:00
maniac103
b2c415a9e6 [ecovacs] Allow loading device descriptions from a user file (#14873)
* [ecovacs] Allow loading device descriptions from a user file

If a new device is released within our release cycle, getting the
description for that device into the binding was impossible for users
before. With this change, they can create an override file in their
installation (with contents we'll need to supply to them), which serves
as a stop-gap solution until the next OH release.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-05-01 15:44:56 +02:00
stefan-hoehn
6f57b8472c Nanoleaf codeowners change (#14916)
Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2023-05-01 15:40:46 +02:00
J-N-K
6009c13966 [influxdb] Write asynchronously to database and improve performance (#14888)
* [influxdb] Write asynchronously to database

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-01 11:43:39 +02:00
J-N-K
990700de8d [mapdb] Make serialization asynchronous (#14900)
* [mapdb] Make serialization asynchronous

---------

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-01 09:10:28 +02:00
mlobstein
acb73a2c7b Declare connection for bindings T-Z (#14912)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-04-30 20:56:14 +02:00
mlobstein
dc19e2991d Declare connection for bindings N thru S (#14907)
* Declare connection for bindings N-S

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-04-30 17:37:32 +02:00
Mark Hilbush
49d2ecc4c5 [zoneminder] Add support for setting the server run state (#14906)
* Add support for server run states

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-04-30 15:10:54 +02:00
Holger Friedrich
0437595678 [knx] Fix decoding of DPT 242.600 and add tests (#14875)
* [knx] Fix decoding of DPT 242.600 and add tests

Correct handling of parameter Y for DPT 242.600.

Add back to back tests of DPT 232.600 and 242.600,
testing color conversion from raw bytes to HSB and
back to Calimero color representation as String.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-30 14:03:54 +02:00
mlobstein
6e2dddfe73 Declare connection for bindings G thru M (#14902)
* Declare connection for bindings G-M

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-04-29 20:24:54 +02:00
alexf2015
4fa92b8c98 fix #14898 caused by easee API changes (#14903)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-04-29 14:55:27 +02:00
Jacob Laursen
6a33668664 Refactor usage of deprecated HSBType.getRGB (#14883)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-29 10:54:36 +02:00
Jacob Laursen
bd55302ae7 Declare addon connection for a few bindings (#14892)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-29 10:32:24 +02:00
mlobstein
36b2dbfbc9 Declare connection for bindings A thru F (#14901)
* Declare connection for bindings A-F

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-04-29 10:10:19 +02:00
Stefan Triller
e2611e2800 [ventaair] Fix typo Dimenionsless in channel definition (#14896)
Fixes #14895

Signed-off-by: Stefan Triller <github@stefantriller.de>
2023-04-28 16:30:53 +02:00
Mark Hilbush
fd460b9174 Restore type adapter for LocalDate (#14897)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-04-28 16:29:19 +02:00
Jacob Laursen
f9cc267190 Upgrade MySQL Connector/J to 8.0.33 (#14893)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-28 10:00:32 +02:00
Jacob Laursen
e73650366c Fix automation name/description (#14890)
Declare automation connection

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-28 08:30:13 +02:00
J-N-K
dba7fcc697 Fix exec transformation service whitelisting (#14884)
Reported on the german openHAB forum.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-26 21:52:00 +02:00
Jacob Laursen
d7b94b6bd3 Upgrade MySQL Connector/J to 8.0.33 (#14874)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-25 07:45:00 +02:00
Cody Cutrer
fa57c627a9 [mqtt.homeassistant] don't set range on current temp channel (#14858)
the min/max from the config are specifically only for the set point.
i.e. for a heater in winter when the heater is off, it may have
a set point range of 65-104°F, but if it's off for an unoccopied room
the ambient temperature might drop far below 65

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-04-24 13:22:18 +02:00
Robert Eckhoff
4d5be1f64c [ipcamera] Fix servlet exceptions due to non unique names (#14872)
* [ipcamera] Fix servlet exceptions due to non unique names

[IP camera] on OH4 has the same servlet issue that was fixed by PR #14554.  This PR uses that PR as a template to fix the issue in the IPcamera binding.  (That issue being that only one camera was able to stream.) This was tested locally on OH4M2 and it works.

Signed-off-by: Bob Eckhoff  <katmandodo@yahoo.com>
2023-04-23 21:23:42 +02:00
Gaël L'hopital
edaf9581c0 [AirQuality] Enhance API error handling (#14602)
* Enhancing API error handling

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-04-23 11:14:10 +02:00
Jacob Laursen
275329d485 [boschindego] Add device properties (#14829)
* Add device properties
* Add vendor and model properties
* Use model as label in discovery

Resolves #14828

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-22 22:59:23 +02:00
Jacob Laursen
b21913f5be [hue] Fix NUPnP discovery (#14871)
* Fix NUPnP discovery

Fixes #14852

* Declare hybrid connection due to cloud discovery

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-22 22:42:35 +02:00
Christian Jonak-Möchel
705f6e84ee [robonect] improve jobType config (#14868)
* Add allowed pattern to description
* Increase allowed duration to 12h - thats what the web gui allows

Signed-off-by: Christian Jonak-Möchel <christian@jonak.org>
2023-04-22 21:52:16 +02:00
openhab-bot
5b92f40b2f New translations chatgpt.properties (Italian) (#14869) 2023-04-22 08:59:39 +02:00
Holger Friedrich
428ccbe075 [mqtt][tradfri][webthing] Adapt to ColorUtil changes in core (#14810)
* [mqtt][tradfri][webthing] Adapt to ColorUtil changes in core

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-21 23:55:36 +02:00
Jacob Laursen
cf3c3f1025 [netatmo] Consolidate OAuth2 by using core implementation and storage (#14780)
* Consolidate OAuth2 by using core implementation and storage

Fixes #14755

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-21 20:52:51 +02:00
Gaël L'hopital
3ae20b776c Correcting rollershutterposition documentation (#14850)
Signed-off-by: clinique <gael@lhopital.org>
2023-04-21 18:03:34 +02:00
robnielsen
216b41a2ef [insteon] Add connection details (#14864)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2023-04-21 14:04:07 +02:00
M Valla
02fd67f6ce [openwebnet] Do not store dimmer brightness if already 0 (#14822)
Fixes #14785

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-04-21 13:49:07 +02:00
vich-667
cb4d232328 add additional system states (#14824)
Signed-off-by: Tobias Lange <vich-667@gmx.de>
2023-04-21 12:12:04 +02:00
Kai Kreuzer
bb10740d3f [chatgpt] Initial contribution of the ChatGPT binding (#14809)
* Initial contribution of the ChatGPT binding

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-04-21 12:09:53 +02:00
nWRqenkF
bf979a4548 [smartmeter] Remove copy-paste-error, as this binding doesn't play sounds (#14848)
* Update README.md
2023-04-21 08:26:30 +02:00
Jacob Laursen
255618eb2e Declare connection (#14861)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-21 00:24:28 +02:00
Jacob Laursen
4532df47ba Redeclare connection (#14859)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-21 00:23:33 +02:00
Jacob Laursen
8d8a97adda Redeclare connection (#14860)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-21 00:22:40 +02:00
Jacob Laursen
8be7f661c0 Declare connection (#14862)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-21 00:21:37 +02:00
dza1
6436cdffb9 [deconz] Update the roller shutter status (#14827)
* [deconz] update the roller shutter status (14826)

- if the REST interface from deconz provides a 'lift' value to show
the current position of the roller shutter, it will be used. 

Signed-off-by: Daniel Zainzinger <dza1@mailbox.org>
2023-04-20 22:22:38 +02:00
Jacob Laursen
5ed52d7109 Redeclare addon connection (#14845)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-20 20:37:37 +02:00
Holger Friedrich
fb551b6b6a [knx] Add list of DPTs documenting implementation status (#14851)
Carryover from smarthomej/addons#107.
Update to match current implementation in KNX binding
and Calimero 2.5.1.

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-20 20:33:38 +02:00
Wouter Born
2119cebf33 [tesla] Cleanup code (#14833)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-20 19:03:04 +02:00
dependabot[bot]
513de69153 [ambientweather] Bump json from 20180813 to 20230227 (#14803)
* Bump json in /bundles/org.openhab.binding.ambientweather

Bumps [json](https://github.com/douglascrockford/JSON-java) from 20180813 to 20230227.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
...

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-20 18:57:59 +02:00
openhab-bot
dfdcfbc758 New translations boschindego.properties (Danish) (#14854) 2023-04-20 08:54:14 +02:00
Doug Culnane
c130ca11a2 [renault] update default Kamereon API Key (#14846)
Signed-off-by: Doug Culnane <doug@culnane.net>
2023-04-19 08:25:21 +02:00
Wouter Born
83cbe746d0 Remove redundant modifiers from interfaces (#14843)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-18 13:07:04 +02:00
Wouter Born
24adc5aa12 Upgrade maven-surefire-plugin to 3.0.0 (#14842)
This fixes deprecation warnings when runnings tests with Maven 3.9.x:

`[WARNING] Parameter 'localRepository' is deprecated core expression; Avoid use of ArtifactRepository type. If you need access to local repository, switch to '${repositorySystemSession}' expression and get LRM from it instead.`

See: https://issues.apache.org/jira/browse/SUREFIRE-2154

Related to openhab/openhab-core#3512

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-18 11:58:37 +02:00
J-N-K
f2f0f4b402 [map][scale] Fix localization (#14825)
The wrong key was used in the `cachedTransformations` map. Instead of the correctyl localized UID from the registry the provided transformation function was used.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-17 21:33:28 +02:00
Boris Krivonog
a0d84732a3 Add more connection details to add-ons (#14837)
* Adds connections details for some add-ons I maintain and/or use.

Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
2023-04-17 19:30:48 +02:00
Wouter Born
cf96eae039 [vesync] Fix modifier order (#14831)
These modifiers are out of order with the JLS suggestions.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-16 23:04:33 +02:00
Wouter Born
827d4d7dc9 [bluetooth.radoneye] Fix modifier order (#14830)
These modifiers are out of order with the JLS suggestions.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-16 23:03:23 +02:00
dependabot[bot]
6dfd6b0120 [generacmobilelink] Bump jsoup from 1.14.3 to 1.15.4 (#14767)
Bumps [jsoup](https://github.com/jhy/jsoup) from 1.14.3 to 1.15.4.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.14.3...jsoup-1.15.4)

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-16 21:47:00 +02:00
Wouter Born
9cd055e13a [mimictts] Fix addon.xml info (#14821)
It seems to have been copied over from macOS TTS without properly updating all details.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-15 22:02:12 +02:00
Wouter Born
f21f7bc8b3 Add more connection details to add-ons (#14813)
* Add more connection details to add-ons

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-15 21:23:24 +02:00
goopilot
3b2c574684 [Folderwatcher] AWS S3 buckets monitoring support (#14669)
* Add S3 Thing

Signed-off-by: Alexandr Salamatov <goopilot@gmail.com>
2023-04-15 21:22:01 +02:00
mlobstein
2c006ccd31 [radiothermostat] Add message display channel and improve ThingActions (#14799)
* Add price message channel

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-04-15 21:20:20 +02:00
Holger Friedrich
ec30333314 [knx] Adapt to ColorUtil changes in core (#14808)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-15 10:25:51 +02:00
Jacob Laursen
20f306f485 [boschindego] Implement OAuth2 authorization (#14745)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-15 09:39:17 +02:00
Wouter Born
7a26af7164 [windcentrale] Discover windmills when account goes online (#14807)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-14 23:08:25 +02:00
Holger Friedrich
b3dfba8cf5 [knx] Improve rounding when encoding DPT 232.60000 (#14772)
* [knx] Improve rounding when encoding DPT 232.60000
* [knx] SAT and warnings

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-14 20:23:32 +02:00
Mark Herwege
eb668bfe0c add connection info (#14801)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-04-14 15:59:34 +02:00
Gaël L'hopital
a0f06ec051 Some warnings were still present at startup regarding Room initialization. (#14784)
Switched to late initialization.

Signed-off-by: clinique <gael@lhopital.org>
2023-04-14 12:48:03 +02:00
jimtng
9f221e550b [jrubyscripting] Update README.md (#14798)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-04-14 08:09:51 +02:00
Björn Lange
e3efe0cc86 [mielecloud] Fix failing integration tests (#14791)
* Revert "Disable mielecloud tests (#14762)"

This reverts commit 09c394b928.

* Configuration flow integration tests only resolve redirect URL

Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2023-04-13 12:32:12 +02:00
Wouter Born
6772add88c [windcentrale] Adapt binding to new API (#14770)
* [windcentrale] Adapt binding to new API

Reworks the binding so it can be used with the new API that also requires authentication.

Also adds the following:

* Account things to provide authentication details
* Implementation for getting and refreshing tokens using AWS Cognito
* Windmill discovery based on the participations in projects
* Properties with additional data for windmills like turbine type, build year, location coordinates
* Adds support for "Het Vliegend Hert" windmill
* Unit tests for JSON (de)serialization

Fixes #13625

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-12 23:01:36 +02:00
Wouter Born
ada1763cf8 [dsmr] Use lower-case country codes in addon.xml (#14778)
When using upper-case country codes the XSD pattern does not match and IDEs will show errors for this.

See: 257652aafc/.vuepress/public/schemas/addon-1.0.0.xsd (L60-L64)

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-12 12:53:35 +02:00
Gaël L'hopital
b145ef4186 Declare connection on few bindings (#14786)
* Declare connection on few bindings
* Corrected format of gce addons.xml.
* Removed myself from VolvoOnCall binding codeowners.
* Adding countries where fr makes sense.

Signed-off-by: Gael L'hopital <gael@lhopital.org>
2023-04-12 12:51:59 +02:00
Hans-Jörg Merk
af09624fb2 Declare connection on few bindings (#14787)
Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2023-04-12 12:48:45 +02:00
Gaël L'hopital
aee454850b [Tapocontrol] Restore child device querying (#14788)
Signed-off-by: Gael L'hopital <gael@lhopital.org>
2023-04-12 09:58:08 +02:00
David Pace
cc626de89a Support for Thermostat SilentMode (#14779) (#14781)
- Add new channel definition for silent mode
- Implement silent mode service
- Add unit tests
- Add documentation
- Fix some minor documentation issues

Closes #14779

Signed-off-by: David Pace <dev@davidpace.de>
2023-04-11 22:09:56 +02:00
David Pace
1a7a1251d4 [boschshc] Enhance device associations in discovery (#14672) (#14752)
- fix door/window contact device model (SWD instead of WRC2)
- fix in-wall light switch device model (BSM instead of PSM)
- fix thing type of BWTH (should be a wall thermostat, not a thermostat)
- add association for PSM (smart plug)
- add association for LEDVANCE_LIGHT (smart light bulb)
- add association for TRV (thermostat)

Closes #14672

Signed-off-by: David Pace <dev@davidpace.de>
2023-04-11 20:54:12 +02:00
Jerome Luckenbach
ce3f673380 [Documentation] Markdown improvements t to z (#14371)
* Apply markdown fixes for bindings with letter _t_
* Apply markdown fixes for bindings with letter _u_
* Apply markdown fixes for bindings with letter _v_
* Apply markdown fixes for bindings with letter _w_
* Apply markdown fixes for bindings with letter _x_
* Apply markdown fixes for bindings with letter _y_
* Apply markdown fixes for bindings with letter _z_

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2023-04-11 12:54:54 +02:00
lolodomo
69a09ed825 Declare connection on few bindings (#14776)
* Declare connection on few bindings

Done for bindings I am maintaining or contributing.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-04-10 21:46:22 +02:00
Holger Friedrich
38cba518cd Declare connection on few bindings (#14777)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-10 15:52:58 +02:00
Robert D
71dfbcf12c [eKey] Add sourceIp in cases of NAT (Kubernetes deployments) (#14616)
* add natIp

Signed-off-by: querdenker2k <querdenker2k@gmx.de>

---------

Signed-off-by: querdenker2k <querdenker2k@gmx.de>
2023-04-10 10:35:56 +02:00
goopilot
14d6b3e4fe [Yeelight] Support of ceil26 and ceiling11 devices (#14668)
* Support of ceil26 and ceiling11 devices

Signed-off-by: Alexandr Salamatov <goopilot@gmail.com>
2023-04-10 10:31:01 +02:00
Gaël L'hopital
ca667e39c5 [Netatmo] Fix duplicate id on single home (#14765)
* Solve duplicate id on single home
* Solving "Handler DeviceHandler of thing netatmo:welcome:compte:maison:camera tried accessing its bridge although the handler was already disposed."

Signed-off-by: clinique <gael@lhopital.org>
2023-04-09 22:21:22 +02:00
Jacob Laursen
5fd7a0a15d Declare connection (#14768)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-09 21:20:47 +02:00
Jacob Laursen
4ce12ea4fd Declare connection (#14769)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-09 21:20:07 +02:00
Dan Cunningham
41701f518e [generacmobilelink] Major rewrite of the Generac MobileLink Binding (#14638)
* [generacmobilelink] Major rewrite of the Generac MobileLink Binding

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-04-09 11:48:12 +02:00
J-N-K
09c394b928 Disable mielecloud tests (#14762)
As they always fail and therefore CI builds fail.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-04-08 12:24:18 +02:00
Holger Friedrich
3cd9c6c86c Adapt to ColorUtil changes in core (#14724)
* [deconz][dmx][mqtt.generic][mqtt.homeassistant][tado][tradfri][webthing] Adapt to core change (ColorUtil)

openhab/openhab-core#3479

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-08 11:42:18 +02:00
Christian Kittel
64723db7aa [OJElectronics] Add SignalR for requesting data from OJ Electronics cloud (#13782)
* Fixed some Nullable annotation warnings
* Use SignalR instead pooling

Signed-off-by: Christian Kittel <ckittel@gmx.de>
2023-04-08 11:40:59 +02:00
openhab-bot
6748dfedd7 New Crowdin updates (#14759)
* New translations fineoffsetweatherstation.properties (German)
* New translations tr064.properties (German)
* New translations rollershutter.properties (German)
* New translations vat.properties (German)
* New translations mielecloud.properties (German)
* New translations speedtest.properties (Italian)
2023-04-08 10:21:40 +02:00
Dave
70a9f463ed [astro] Add getTotalRadiation to AstroActions (#14756)
* Add getTotalRadiation action

Signed-off-by: David Sislak <sisdale@seznam.cz>
2023-04-07 22:18:17 +02:00
Dave
538ee94148 [astro] Add getTotalRadiation to AstroActions (#14756)
* Add getTotalRadiation action

Signed-off-by: David Sislak <sisdale@seznam.cz>
2023-04-07 22:17:32 +02:00
Holger Friedrich
36a594842e [knx] Improve config description for GAs (#14624)
* [knx] Improve config description for GAs

Carryover from smarthomej/addons#257.

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-07 14:43:31 +02:00
maniac103
49e407d028 [gardena] Improve GardenaSmartImpl initialization order (#14722)
If an exception occurs during httpClient.start(), webSocketClient
remained null, which led to another (then unhandled) exception being thrown
by dispose(), called in the exception handler.
With the new initialization order it's ensured webSocketClient is not
null at dispose() time, thus allowing proper propagation of the
exception thrown at HTTP startup.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-04-07 14:25:20 +02:00
bigbasec
86f829fa21 [speedtest] Binding for Ookla's Speedtest - Initial contribution (#9913)
Also-by: Brian Homeyer <bhomeyer@gmail.com>
Signed-off-by: Michael Weger <weger.michael@gmx.net>
2023-04-07 10:18:02 +02:00
lsiepel
46a73befae Remove org.apache.common (#14434)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-04-07 00:39:13 +02:00
voruti
c12715bda7 Fix typo in Stiebel Eltron binding (#14746)
Signed-off-by: Till von Rüden <dev@tillvonrueden.de>
2023-04-06 20:31:20 +02:00
Poltorak Serguei
f47abbd3c1 Update README.md (#14751) 2023-04-06 15:51:21 +02:00
Florian Hotze
03b305bde2 [jsscripting] Bump openhab-js to 4.2.1 (#14749)
* [jsscripting] Upgrade openhab-js to 4.2.1
* [jsscripting] Note that it is based on GraalJS

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-04-06 15:50:09 +02:00
Thomas
c969f71891 [solarwatt] Add smart heater device support (#14741)
* Add smart heater device support

Signed-off-by: Thomas Schumm <thomas.schumm@yahoo.de>
2023-04-06 11:06:46 +02:00
schmidmuc
ab2b29bff5 Update README.md (#14748)
Added device "Technisat VIOLA 2 C IR" as an supported radio
2023-04-06 00:56:57 +02:00
Felix Schneider
b8c419829e [deutschebahn] Fix spelling and remove empty white image (#14657)
* Remove unused image and fix spelling
* Remove emtpy image

Image is only a small white square

Signed-off-by: Felix Schneider <fs@felix-schneider.org>
2023-04-04 11:59:03 +02:00
Gwendal Roulleau
d07580c0a7 [doorbird] Add audio sink information to README (#14737)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-04-02 13:30:28 +02:00
Wouter Born
ece4e51838 [groovyscripting] Update Groovy to 4.0.11 (#14734)
Updates Groovy from 4.0.9 to 4.0.11.

This fixes a few bugs including a memory leak, see:

http://groovy-lang.org/changelogs/changelog-4.0.10.html
http://groovy-lang.org/changelogs/changelog-4.0.11.html

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-02 09:08:53 +02:00
Arne Seime
a546a50555 [tapocontrol] Color values must be int, not decimal (#14656)
* Send int values to API, not decimal
* Added missing channels in README for L920 + minor thing file config

Signed-off-by: Arne Seime <arne.seime@gmail.com>
2023-04-01 16:46:02 +02:00
lsiepel
766a451a7c [zway] Code improvements (#14688)
* Code improvements

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-31 09:24:34 +02:00
openhab-bot
bb626768e4 New Crowdin updates (#14725)
* New translations jsscripting.properties (German)
* New translations jsscripting.properties (Italian)
2023-03-30 23:37:14 +02:00
Gerd Zanker
fa0ab00dcd updated boschshc code owner (#14693)
Thank you, Stefan & Christian!
Welcome David!

Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
2023-03-30 18:33:55 +02:00
David Pace
ed20ebb41b [boschshc] Code Enhancements (#14667)
* [boschshc] Code Enhancements

This commit fixes several compiler warnings as well as several
Checkstyle, FindBugs, PMD and Sonar issues.

* instantiate loggers consistently
* add missing logger calls
* add chained exceptions to logger calls
* provide central Gson instance that does not serialize or deserialize
loggers
* avoid catching NullPointerExceptions
* extract methods where cyclomatic complexity was too high
* remove unnecessary null check in combination with instanceof
* rename local variables that shadow fields
* add missing @NonNull and @Nullable annotations

Signed-off-by: David Pace <dev@davidpace.de>
2023-03-30 18:31:54 +02:00
Zhivka Dimova
b6004a77de [enocean] Add support for EEP in group A5_09 (#13793)
* [enocean] Support for gas sensors from A5_09 group

Implementing support for gas sensors with EEP A5_09_02, 04, 05, 08, 09,
0C, 0D, adding new changels - CO, CO2, VOC, VOCId, TVOC and regenerate
I18N properties file

Fixes #13785, #13472

Signed-off-by: Zhivka Dimova <zhivka.dimova@myforest.net>
2023-03-29 23:00:31 +02:00
Holger Friedrich
bc03e8c5cf [knx] Code cleanup (#14719)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-03-29 09:22:23 +02:00
Poltorak Serguei
a96701f7a2 Update README.md (#14712) 2023-03-28 22:30:25 +02:00
Holger Friedrich
dba83a33e5 [knx] Java17 instanceof pattern matching (#14718)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-03-28 20:49:31 +02:00
Cody Cutrer
2c2ba4bed1 [mqtt.homeassistant] fix JSON Schema lights (#14717)
https://github.com/openhab/openhab-addons/pull/12238 was merged after
JSON Schema Light was implemented, and changed some assumptions.
this commit adjusts to the changed interface

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-28 18:26:13 +02:00
Mark Hilbush
0a3d9ece3c [sleepiq] Add functionality to control the bed foundation (#14714)
* Add foundation functionality

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-28 17:27:31 +02:00
Mark Hilbush
1983bc36f1 Replace deprecated MulticastSocket methods (#14611)
* Replace deprecated methods
* Call leaveGroup method in shutdown

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-28 15:14:30 +02:00
lsiepel
d4a231e8a9 [enocean] Add null annotations (#14023)
* mainly null annotations

Signed-off-by: lsiepel <leosiepel@gmail.com>

* checkstyle fixes

Signed-off-by: lsiepel <leosiepel@gmail.com>

* another checkstyle pass

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Fix review comments

Signed-off-by: lsiepel <leosiepel@gmail.com>

* fix  most review comments

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Generic => temp_generic

Signed-off-by: lsiepel <leosiepel@gmail.com>

* temp_generic => generic

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Generic fix try 2

Signed-off-by: lsiepel <leosiepel@gmail.com>

* another generic commit

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Final pass for changing generic packages/folder

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Mised comment

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Conflict folder change trial 1

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Conflict folder change final

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Conflict folder change trial 2

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Move folder

Signed-off-by: lsiepel <leosiepel@gmail.com>

* Review comment

Signed-off-by: lsiepel <leosiepel@gmail.com>

---------

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-28 11:05:37 +02:00
openhab-bot
a0e10b2120 New Crowdin updates (#14715)
* New translations deconz.properties (German)
* New translations anthem.properties (Italian)
2023-03-28 07:11:52 +02:00
Mark Hilbush
ec78fe7428 Add connection element to addon.xml (#14692)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-27 23:08:31 +02:00
Andrew Fiddian-Green
62100b5522 [addon.xml] add connection element (#14690)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-27 20:41:42 +02:00
Cody Cutrer
558908e69a [jrubyscripting] update README, and default configuration installing gem (#14489)
README is generated by YARD from USAGE.md in the gem.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-27 15:22:48 +02:00
Sami Salonen
18e7d81e4d [mqtt] Support Ruuvitags via Ruuvi Gateway (#13315)
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2023-03-27 14:11:07 +02:00
openhab-bot
210aff461d New Crowdin updates (#14689)
* New translations deconz.properties (German)
* New translations netatmo.properties (Italian)
* New translations avmfritz.properties (German)
* New translations openwebnet.properties (Italian)
2023-03-27 08:33:34 +02:00
dag81
1e0f27d5ef [veSync] Improve recognition and device support (#14354)
* [veSync] Device Identification Updates
* [veSync] Alignment to device setups in pyvesync.
* [veSync] Addition of new device code for C302S

Signed-off-by: David Goodyear <david.goodyear@gmail.com>
2023-03-27 08:05:09 +02:00
Mark Hilbush
749cf585ff [anthem] Initial contribution of binding for Anthem AV preamp/processors (#14311)
* Initial contribution

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-26 21:32:08 +02:00
Cody Cutrer
f98f820325 [mqtt.homeassistant] Implement JSON schema lights (#13808)
* [mqtt.homeassistant] implement JSON schema lights
* [mqtt.homeassistant] use enum for current state of color mode
* [mqtt.homeassistant] use implicit lambdas
* [mqtt.homeassistant] remove string constants in favor of an enum
* [mqtt.homeassistant] allow sending ON and brightness commands through bare
* [mqtt.homeassistant] turn down debug logging

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-26 18:07:20 +02:00
Sven Strohschein
2c710a2a70 [innogysmarthome] Remove binding (replaced by livisismarthome) (#14675)
Remove binding (replaced by livisismarthome)

Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Signed-off-by: Sven Strohschein <novanic@gmx.de>
2023-03-26 17:49:17 +02:00
Sven Strohschein
a8d91b3950 [netatmo] Extend webhook support for doorbell and presence camera (#14252)
* [netatmo] Web hook extension for camera events

- Unused camera-event trigger channel removed
- README updated to the real supported channels (compared with channels.xml and code)
- Camera capabilities are now triggering the home-event trigger channel
- New home-event trigger channel introduced at camera level
- New sub-event channels introduced for the presence camera which is updated by web hook events.
- Language file updated
- README updated
- typos fixed
- security-event trigger channel added for the Welcome camera
- Handling of sub-event groups fixed to work with doorbell and presence cameras.

---------

Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Signed-off-by: Sven Strohschein <novanic@gmx.de>
2023-03-26 17:34:35 +02:00
Jacob Laursen
1726031ecc [hdpowerview] Declare connection (#14684)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-26 16:43:51 +02:00
Jacob Laursen
d44de73d4f [boschindego] Declare connection (#14685)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-26 16:28:33 +02:00
Jacob Laursen
a5b028d729 [miele] Declare connection (#14683)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-26 16:26:24 +02:00
mlobstein
ec329c456d [kaleidescape] Remove Apache StringEscapeUtils (#14513)
* Remove Apache StringEscapeUtils
* add tests

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-03-26 14:26:51 +02:00
pajacobson
6ef2dfb1db [globalcache] Add link to macOS iConvert GC port in docs (#14679)
* Update README.md

Add link to macOS port of iConvert.
2023-03-26 14:04:00 +02:00
mlobstein
9b7788d14c Declare connection in multiple bindings addon.xml (#14677)
* Declare connection in addon.xml

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-03-26 13:45:03 +02:00
alexf2015
b6da1ec590 [solaredge] Fix code style warnings, fix NPE warnings, improve i18n (#14666)
* code style fixes
* fixed potential NPE
* fix warning
* simplified code
* refactoring, fixed some NPE warnings
* i18n
* refactoring

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-03-26 13:42:00 +02:00
Wouter Born
8dd0028315 Trigger full build when add-on is removed (#14680)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-26 12:50:50 +02:00
M Valla
cbb72ed72e [openwebnet] Reset zones' alarm state channel when system is armed (#14566)
* [openwebnet] reset zones alarm channel when system is armed and added NONE state
* [openwebnet] added Technical reset alarm. Changes after 1st review

---------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-03-26 12:19:31 +02:00
goopilot
6757a84b6b [Yeelight] Fix disconnect method (#14670)
* fix disconnect

---------

Signed-off-by: Alexandr Salamatov <goopilot@gmail.com>
2023-03-26 12:16:09 +02:00
M Valla
43f016c98a [openwebnet] Declare connection in addon.xml (#14673)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-03-26 11:23:58 +02:00
openhab-bot
f52da01d9b New translations netatmo.properties (Italian) (#14676) 2023-03-26 03:26:49 +02:00
Gaël L'hopital
f37c4e555d [Netatmo] Add the capability to have a single home (#14595)
* Adding the capability to have a single home, common to energy and security

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-03-25 16:59:51 +01:00
Jacob Laursen
f2e7597db6 Add more example things/items (#14639)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-25 08:00:32 +01:00
Cody Cutrer
2088cf067f [mqtt.espmilighthub] use availability topic to set thing status (#13800)
also refactor a bit so that the thing will work even if the bridge
gets added and removed, etc.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-25 00:52:37 +01:00
Gerd Zanker
3b08217ff7 [boschshc] Bridge and Device Discovery (#14197)
* #14195 Bridge and Device Discovery

Bridge discovery is implemented via mDNS, local IP addresses are checked.
If a GET returns the public SHC information,
then this shcIpAddress is reported as a discovered bridge.

Devices are always discovered after successful pairing, but a manual scan is also possible.

Added unit tests for Bridge and Device Discovery.

Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
2023-03-25 00:26:24 +01:00
GiviMAD
c30893281c [rustpotterks] Remove unnecessary thread sleep call (#14664)
* [rustpotterks] Remove unnecessary thread sleep call

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-25 00:20:34 +01:00
GiviMAD
b9751dced3 [androiddebugbridge] Fix screen state channel on android 12 (#14663)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-24 23:25:21 +01:00
Björn Lange
fbcb412353 [mielecloud] Add channels energy and water consumption (#14456)
* Add POJOs for ecoFeedback from Miele REST API
* DeviceState offers  water and energy consumption
* Convert Quantity to State for channel population
* Add eco feedback channels to devices
* Fix item types and categories
* Add update instructions for eco feedback channels

Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2023-03-24 23:15:28 +01:00
Christian Wild
983efd76ea [tapocontrol] Support display light effects for L530 (#14596)
* [tapocontrol] support display light effects for L530

color change is now possible if effect was already enabled by app

Signed-off-by: Christian Wild <christian@wildclan.de>
2023-03-24 21:57:00 +01:00
mlobstein
279374a14b [radiothermostat] Add configuration to update thermostat's internal schedule (#14149)
* Add configuration to update thermostat's internal schedule

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-03-24 09:15:58 +01:00
openhab-bot
fca7b4edce New translations vat.properties (Danish) (#14658) 2023-03-23 22:56:45 +01:00
Christoph Weitkamp
5e17f1dfbd [avmfritz] Use system channel types and decrease minimum polling interval (#14587)
* Use system default channel types
* Changed minimum polling interval to 1s

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2023-03-23 22:55:01 +01:00
Richard Koshak
7bddeb4a7f Standardize on js for SCRIPT (#14652)
This has the add-on docs consistent with the main docs.
Signed-off-by: Richard Koshak <rlkoshak@gmail.com>
2023-03-23 21:53:16 +01:00
GiviMAD
a0f442e785 [googlestt] Fix drop bytes (#14649)
* [googlestt] Fix drop bytes
* fix unhandled cancelation error when using single utterance mode

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-23 09:57:00 +01:00
openhab-bot
4f533710ff New translations homekit.properties (German) (#14655) 2023-03-22 22:57:28 +01:00
GiviMAD
624dcb97b3 [googlestt] Upgrade library (#14653)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-22 22:45:18 +01:00
Cody Cutrer
96038c664a [mqtt.generic] Don't log state description from provider when not found (#14650)
Fixes #9782

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-22 16:53:50 +01:00
Cody Cutrer
d9ceb63b82 [homekit] Unify all enum handling (#14036)
* [homekit] unify all enum handling

regardless of if it's a required or optional characteristic,
or even "boolean" enums

then allow number or switch items to be linked with enums

then update the docs listing the numeric value for enums

as part of this, global configuration of thermostat enum values
is no longer supported; you must use metadata.
in particular, for GarageDoorOpener, the global settings didn't
even actually work, so they should work now.

Fixes #13595

* [homekit] default-invert boolean items for garage door states

this was previously handled explicitly by the switch statement.
so need to set the inverted flag now that we're building a
mapping instead

* [homekit] document that CurrentDoorState can be linked to a Contact item
* [homekit] improve docs on invert param to createMapping

also fix a new helper method not properly passing through the inverted
param

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-22 13:58:12 +01:00
jimtng
72254b820d [jrubyscripting] Filter files that are added to the watch list (#14590)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-21 23:18:46 +01:00
openhab-bot
31454ac0a1 New translations ecovacs.properties (Italian) (#14648) 2023-03-21 22:56:20 +01:00
GiviMAD
aa3229a97f [rustpotterks] Upgrade to version 2 (#14615)
* [rustpotter] Use version 2

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-21 22:55:40 +01:00
J-N-K
1786bb0eec [deconz] Cleanup code and improve tests, edit channels to vibration sensor (#14641)
* [deconz] Cleanup code and improve tests

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-21 22:46:53 +01:00
J-N-K
8e902f6324 Bump spotless to 2.35 and Eclipse Java Formatter to 4.26 (#14645)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-21 21:03:05 +01:00
maniac103
b47a205f44 [ecovacs] Initial contribution (#12231)
* [ecovacs] Initial contribution

Add initial version of a binding for vacuum cleaners made by Ecovacs.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-03-21 11:05:53 +01:00
MarkusThur
98b8d7225c change in README.md of kostalinverterbindings. Example code had a missing '"' in the second gen. devices. (#14644)
doesn't matter that much here, but in the official openHAB site the sytax highlighting makes the mstake very promiment :-)
2023-03-21 10:58:21 +01:00
Wouter Born
6f7366de7f [nest] Cleanup test code (#14642)
* Fix SAT issues
* Start Jetty Server in same thread to improve stability
* Cleanup some code

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-20 22:14:38 +01:00
alexf2015
99087f08c3 [nibeuplink] Fix NPEs, minor refactoring (#14508)
* improved code quality: added some additional null checks, removed some obsolete null checks. simplified some code sections.

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-03-20 20:09:20 +01:00
mlobstein
dae33c405e Refactor pairing process to use handler httpClient (#14640)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-03-20 07:54:31 +01:00
J-N-K
6444964bf6 [deconz] Add On/Off thermostats (#14636)
* [deconz] Add On/Off thermostats
* further work
* fix regression

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-19 20:43:15 +01:00
alexf2015
aee57afb0e bugfixes/improvements (#14637)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2023-03-19 16:02:33 +01:00
M Valla
4e4385e261 [openwebnet] Thermo: Fix wrong parameter in .getChannel (#14620)
Fixes #14619

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-03-19 09:43:53 +01:00
Jacob Laursen
04374ef4af Fix color tests after HSBType changes (#14631)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-19 07:45:16 +01:00
Jacob Laursen
61be788257 Fix color tests after HSBType changes (#14630)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-19 07:44:14 +01:00
openhab-bot
bad892ec79 New translations vat.properties (Italian) (#14633) 2023-03-18 23:25:43 +01:00
J-N-K
ee1de11864 [deconz] Add Pairing/Scene actions, new devices and improve code (#14622)
* port changes
* update instructions
* Incorporate review comments from #14134
* new improvements (mostly Java 17 changes)
* further improvements

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-18 16:06:55 +01:00
Jacob Laursen
23f3374ea9 Fix color tests after HSBType changes (#14629)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-18 13:59:59 +01:00
J-N-K
0f5dfa5088 Fix "empty range" exception when querying InfluxDB2 (#14627)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-18 13:31:41 +01:00
goopilot
979ecb0f98 Add Sptrip6 device (#14584)
Signed-off-by: Alexandr Salamatov <goopilot@gmail.com>
2023-03-18 10:25:10 +01:00
GiviMAD
7268442c25 [watsonstt] Upgrade library (#14626)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-18 07:33:33 +01:00
GiviMAD
9a6b23fbec [voskstt] Upgrade library (#14625)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-03-18 07:32:58 +01:00
Jacob Laursen
4d47f33012 Initial contribution (#14529)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-17 22:06:06 +01:00
Holger Friedrich
aae63e9488 [knx] Refactoring of KnxCoreTypeMapper and UOM Support (#14534)
* [knx] Refactoring, add basic support for UOM

Preparation for refactoring KnxCoreTypeMapper.
Carryover from smarthomej/addons#107.
Merge UOM implementations.

* [knx] Adapt tests

DPT strings for QuantityType now strip off a tailing .0 when decimals
are converted.

* [knx] Refactoring

Use pattern matching with instanceof operator (new Java17 feature).

* [knx] Refactoring, performance improvements

Introduce KNXChannel class.
Carryover from smarthomej/addons#114.

* [knx] Add warning for incompatible DPT type

Configuring incompatible DPT/channel combinations (e.g. DPT 1.005 (alarm) on Contact channels
or DPT 1.019 (windows/door) on Switch channels) is not allowed but was silently ignored.
This PR adds a warning in case incompatible configurations are detected.

Carryover from smarthomej/addons#203.

* [knx] Add full support for UoM

Replace UoM handling with the implementation from smarthome/j.
Carryover from smarthomej/addons#206.

* [knx] Refactor KNXCoreTypeMapper, add RGBW and xyY

Carryover from smarthomej/addons#208.

* [knx] Fix RGB conversion

Carryover from smarthomej/addons#219.

* [knx] Remove workarounds obsoleted by Calimero 2.5

Carryover from smarthomej/addons#226.

* [knx] Add parameter for disabling incoming UoM

Carryover from smarthomej/addons#230.

* [knx] Fix fallback to DecimalType in number conversion

Carryover from smarthomej/addons#279.

* [knx] Fix DPT 251.600 decoding

Carryover from smarthomej/addons#349.

* [knx] Fix UoM handling for special types
* [knx] Add test for KNXChannelFactory
* [knx] Update CODEOWNERS for knx
* [knx] Default conversion for DPT 5.001 and 6.001
* [knx] Fix write blocked forever after read from bus

Carryover from smarthomej/addons#299 and smarthomej/addons#330.

* [knx] Use new class ColorUtil from core for HSB conversion

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-03-17 12:50:13 +01:00
Mark Hilbush
b395d0e227 Fix typo (#14607)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-15 16:41:49 +01:00
Mark Hilbush
d4b68b2df4 Fix for NPE when getting network interface name (#14603)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-14 22:32:03 +01:00
Stian Kjoglum
596324635d Add channel for lastMeterProduction (#14583)
Signed-off-by: kjoglum <stiankj@online.no>
2023-03-14 08:34:48 +01:00
openhab-bot
a6a801c28f New Crowdin updates (#14597)
* New translations openweathermap.properties (Italian)
* New translations netatmo.properties (Italian)
* New translations qolsysiq.properties (Italian)
* New translations astro.properties (German)
* New translations astro.properties (Italian)
* New translations danfossairunit.properties (Danish)
2023-03-13 22:22:53 +01:00
Doug Culnane
b3d3d20b8b [renault] Improve handling of HTTP 502 responses. (#14586)
Signed-off-by: Doug Culnane <doug@culnane.net>
2023-03-13 07:51:27 +01:00
Wouter Born
9aa72abd82 Resolve runbundles and fix tests (#14588)
Related to:

* openhab/openhab-core#3433
* openhab/openhab-core#3446
* openhab/openhab-core#3450

Some tests were updated because private lifecycle methods (annotated with @BeforeAll, @AfterAll, @BeforeEach, or @AfterEach) now lead to an exception.

See: https://junit.org/junit5/docs/current/release-notes/index.html#deprecations-and-breaking-changes-3

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-12 23:00:58 +01:00
Kai Kreuzer
9fedfc5d61 [metrics] Remove outdated precondition (#14594) 2023-03-12 22:01:08 +01:00
Wouter Born
2b63b984dc [shelly] Fix missing /shelly/manager (#14592)
Using Whiteboard annotations seems to fix this issue.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-12 20:42:12 +01:00
openhab-bot
6e0fe0e0ad New translations bluetooth.properties (Italian) (#14591) 2023-03-12 19:29:46 +01:00
Jacob Laursen
63c65e72de [danfossairunit] Unify thing labels (#14577)
* Unify thing labels
* Specify connection type

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-12 17:33:28 +01:00
joerg1985
709dc49fbe Support for RadonEye with v2.x.x firmware (#14549)
Signed-off-by: Jörg Sautter <joerg.sautter@gmx.net>
2023-03-12 10:48:45 +01:00
Wouter Born
59b3ed33df [groovyscripting] Update Groovy to 4.0.9 and support slurpers (#14499)
Updates Groovy from 4.0.7 to 4.0.9.

For release notes, see:

https://groovy-lang.org/changelogs/changelog-4.0.8.html
https://groovy-lang.org/changelogs/changelog-4.0.9.html

Adds dependencies and service loader config so JSON, XML and YAML can be more easily parsed using the JsonSlurper, XmlSlurper and YamlSlurper.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-11 21:15:06 +01:00
Stian Kjoglum
ac7993d329 Enhancement: Query for subscription url every reconnect attempt (#14573)
Signed-off-by: kjoglum <stiankj@online.no>
2023-03-11 17:55:42 +01:00
Wouter Born
d70e2c6294 Instruct contributors to always use "main" branch for PRs (#14574)
* Instruct contributors to always use "main" branch for PRs
* Fix a typo too

This helps to prevent some frustration between contributors/maintainers.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-11 12:26:53 +01:00
Jacob Laursen
75d195465e [renault] Add instructions for adding channels (#14572)
* Add instruction for adding channel

---------

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-11 10:55:49 +01:00
Mike Major
53bbda267f [dlinksmarthome] Reboot device daily following shutdown of cloud service (#14479)
* Reboot device

---------

Signed-off-by: Mike Major <mike_j_major@hotmail.com>
2023-03-11 10:49:30 +01:00
lsiepel
38915f5009 Remove org.apache.common (#14437)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-10 23:39:18 +01:00
lsiepel
039e3aa73a [bsblan] Remove org.apache.commons (#14515)
* Replace org.apache.commons with org.unbescape

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-10 23:37:45 +01:00
fifipil909
8e9bc3124e [renault] Add channel for pausing/resuming charging (#14527)
* Adding Pause-Resume Endpoint

Signed-off-by: fifipil909 <vincent.pilate@gmail.com>
2023-03-10 23:32:24 +01:00
openhab-bot
505a651992 New translations mynice.properties (Italian) (#14569) 2023-03-10 23:31:26 +01:00
Felix Schneider
13ab221e09 Remove unused headings (#14571)
Remove the unused headings for generation 2. There is probably a manual missing for gen 2, but while this is the case the headlines can be removed

Signed-off-by: Felix Schneider <fs@felix-schneider.org>
2023-03-10 23:31:07 +01:00
Simon Spielmann
f138cd35e2 [iCloud] Ignore HTTP errors != 400 & >= 500 for 2-FA authentication (#14563)
* Ignore HTTP errors != 400 for 2-FA authentication

---------

Signed-off-by: Simon Spielmann <simon.spielmann@gmx.de>
2023-03-10 21:53:35 +01:00
Jacob Laursen
dfb172df2a Add instruction for channel removal (#14473)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-10 15:28:52 +01:00
Gaël L'hopital
c385ac0772 [Netatmo] Netatmo documentation (#14567)
* Updating Netatmo documentation

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-03-10 13:17:48 +01:00
Gaël L'hopital
3b5dfb11a0 [mynice] Binding for IT4Wifi module (Nice gate doors) (#12940)
Signed-off-by: clinique <gael@lhopital.org>
2023-03-10 10:33:39 +01:00
Gaël L'hopital
d130595f85 [Netatmo] Modification of the tokenRefresh handling process (#14548)
* Modification of the tokenRefresh handling process
* Storing refreshToken in userdata/netatmo

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-03-10 10:18:30 +01:00
Jacob Laursen
013422af32 Add missing addon.xml (#14559)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-03-09 17:19:06 +01:00
Zhivka Dimova
4069d854fb [enocean] Fix condition in getPositionData-D2_05_00 (#14558)
Fix #14528

Signed-off-by: Zhivka Dimova <zhivka.dimova@myforest.net>
2023-03-09 13:08:36 +01:00
mueller-ma
cc51400bbd Update docs of androiddebugbridge (#14553)
* Use code fence for intents
* Fix Item type of awake-state
* Pretty print JSON and add Netflix

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2023-03-09 08:22:27 +01:00
jimtng
afebf08042 [jrubyscripting] Upgrade JRuby to 9.4.2.0 (#14556)
This is a major version upgrade from 9.3.x, raising the compatibility level up from Ruby 2.6 to Ruby 3.1

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2023-03-09 08:19:10 +01:00
Wouter Born
81f87385f6 [neeo] Fix Servlet exceptions due to non-unique names (#14554)
It seems that Pax Web nowadays checks that the Servlet names are unique.

Fixes #14545

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-08 20:19:13 +01:00
Gaël L'hopital
90b2279a29 [Netatmo] Adding Carbon Monoxide sensor (#14543)
* Added Carbon Monoxide detector

---------

Signed-off-by: clinique <gael@lhopital.org>
2023-03-08 19:27:35 +01:00
Wouter Born
50cdd02447 [ipcamera] Make sure created Servlet supports async (#14552)
Fixes the folowing errors:

```
HTTP ERROR 500 java.lang.IllegalStateException: !asyncSupported: NotAsync:org.ops4j.pax.web.service.spi.servlet.OsgiInitializedServlet@536b0858
URI:	/ipcamera/192168493/ipcamera.jpg
STATUS:	500
MESSAGE:	java.lang.IllegalStateException: !asyncSupported: NotAsync:org.ops4j.pax.web.service.spi.servlet.OsgiInitializedServlet@536b0858
SERVLET:	org.openhab.binding.ipcamera.internal.servlet.CameraServlet
CAUSED BY:	java.lang.IllegalStateException: !asyncSupported: NotAsync:org.ops4j.pax.web.service.spi.servlet.OsgiInitializedServlet@536b0858
Powered by Jetty:// 9.4.50.v20221201
```

See:

* https://community.openhab.org/t/openhab-4-0-snapshot-discussion/142322/226
* https://groups.google.com/g/ops4j/c/E9p7tPydPmo
* https://github.com/ops4j/org.ops4j.pax.web/issues/1767

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-08 17:20:08 +01:00
lsiepel
5c0b5711a8 [gpstracker] Add (optional) altitude to location channel (#14396)
* Add (optional) altitude to location channel
* Add null annotations
* Extend toString with altitude

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-07 23:23:30 +01:00
Andrew Fiddian-Green
c9d5784d36 [velux] Update documentation (#14478)
* [velux] update documentation

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-07 23:17:52 +01:00
Mark Hilbush
dba5550ae6 [sleepiq] Add thing type update instructions (#14460)
* Add thing type update instructions
* Move thingTypeVersion to correct thing type
* Add groupIds to update instructions

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-03-07 23:13:18 +01:00
lolodomo
c8cdd2dfa5 [tesla] Stop the WebSocket client when disposing the thing handler (#14483)
Fix #14341

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-03-07 20:50:37 +01:00
Cody Cutrer
22b28bf674 [mqtt.generic] separate command parsing from cached value updating (#12238)
* [mqtt.generic] separate command parsing from cached value updating

fixes #12150

Previously, Value.update would parse the command, _and_ update the cached
value with that command. Which means that when sending a command towards
MQTT (instead of processing an update from MQTT), the cached value was
unintentionally updated. This prevented the REFRESH command from returning
the most recent value received from the device.

Separating the two concerns also makes the test more obvious what they are
testing, and vastly simplified a kludgy workaround that RollershutterValue
was using to be able to process Commands that aren't States.

Signed-off-by: Cody Cutrer <cody@cutrer.us>

* [mqtt.generic] split Value::parseCommand into parseMessage

so that a particular value type subclass can have varying implementations
if it desires

---------

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-03-07 19:33:17 +01:00
Holger Friedrich
7bd99df364 [knx] Improve reading of device properties (#14050)
* [knx] Improve reading of device properties
* [knx] DD2 logging only in debug mode

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-03-07 19:31:39 +01:00
Holger Friedrich
7ec7de55e3 [knx] Improve thread safety, null-analysis (#14509)
Carryover from smarthomej/addons#13 and smarthomej/addons#46, smarthomej/addons#60.

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-03-06 22:34:16 +01:00
lsiepel
539f49e4ec [bluetooth] Null annotations and SAT (#13967)
* null annotation, checkstyle, dependency

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-03-06 09:38:57 +01:00
lsiepel
ca09f71a6c [bluetooth.bluegiga] Refactored and added null annotations (#13974)
* All SAT warnings

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-03-05 21:29:10 +01:00
openhab-bot
a3c621fffc New Crowdin updates (#14541)
* New translations iCloud.properties (German)
* New translations miele.properties (German)
* New translations jruby.properties (German)
* New translations mqtt.properties (German)
* New translations influxdb.properties (German)
* New translations homekit.properties (German)
* New translations amazonechocontrol.properties (German)
* New translations amazonechocontrol.properties (German)
2023-03-05 20:25:51 +01:00
J-N-K
6da85a4757 [influxdb] Fix query for InfluxDB2 (#14542)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-05 16:04:51 +01:00
Wouter Born
c7f7dbdc07 Resolve itest runbundles for JUPnP upgrade (#14538)
Related to openhab/openhab-core#3421

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-05 13:12:49 +01:00
openhab-bot
ed717c2c95 New Crowdin updates (#14531)
* New translations systeminfo.properties (German)
* New translations tado.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations mybmw.properties (German)
* New translations gardena.properties (German)
* New translations astro.properties (German)
* New translations avmfritz.properties (German)
* New translations chromecast.properties (German)
* New translations hue.properties (German)
* New translations logreader.properties (German)
* New translations icalendar.properties (German)
* New translations max.properties (German)
* New translations comfoair.properties (German)
* New translations denonmarantz.properties (German)
* New translations deutschebahn.properties (German)
* New translations dwdpollenflug.properties (German)
* New translations ecotouch.properties (German)
* New translations epsonprojector.properties (German)
* New translations exec.properties (German)
* New translations homematic.properties (German)
* New translations hpprinter.properties (German)
* New translations http.properties (German)
* New translations magentatv.properties (German)
* New translations awattar.properties (German)
2023-03-04 17:20:03 +01:00
Jonas Bötsch
2ec097d529 [homekit] Update README.md (#14521)
Tilted blinds do not work when using the documented config. 
Changed it to a working example.
Refer here: https://community.openhab.org/t/homekit-addon-adjustable-blinds-not-working-anymore/144869
2023-03-03 15:12:44 +01:00
lsiepel
36201dd6d1 [plugwise] Remove org.apache.common (#14432)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-03-03 15:11:08 +01:00
darthbevis
660ec10d4b [ecobee] Increase temperature precision to decimal (#14517)
* Update EcobeeUtils.java

Correcting rounding of setHold values so we have 0.1°F tolerance instead of 1°F.  Makes it easier to use in °C

Signed-off-by: darthbevis <darthbevis@gmail.com>
2023-03-02 20:58:34 +01:00
J-N-K
44634a6e89 [exec] Fix whitelist not read (#14522)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-02 20:57:02 +01:00
Wouter Born
b2bf7256db Upgrade to Karaf 4.4.3 (#14040)
* Rework Servlets to use Http Whiteboard annotations in favor of proprietary `org.openhab.core.io.http.servlet` classes
* Resolve itest runbundles
* Fix dependency issues
* Catch proper exception when starting hueemulation UpnpServer

Also-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-01 18:33:50 +01:00
openhab-bot
db436a1dad New translations rollershutter.properties (Italian) (#14514) 2023-02-27 20:08:51 +01:00
petero-dk
e9a1dd5b27 [bluetooth] Add support for RadonEye (BLE) device (#11958)
Signed-off-by: Peter Obel <peter@ecomerc.com>
2023-02-27 18:59:50 +01:00
Hilbrand Bouwkamp
03e3b6aae2 [dsmr] Improved error handling corrupt messages, discovery additional key bug fix (#14325)
* [dsmr] Improved error handling to better handle corrupt messages.

- Fix incorrect additional key in bridge discovery service.
- When corrupted P1 telegram is received don't set directly to offline, but let the watchdog do this if to many times this happens.
This makes it a bit more lenient for receiving a bad telegram once in a while. Because some connections are not that stable.
- Simplified error handling, and listeners to one enum/interface to make it more cleaner.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2023-02-27 17:36:02 +01:00
Gaël L'hopital
c95380f503 [Netatmo] Floodlight issue on Presence Camera (#14492)
* Solving issue #14458

Signed-off-by: clinique <gael@lhopital.org>

* Removes the usage of "app.netatmo.net" since api now holds these entry points.
I think it was the origin of malfunction of floodlight (to be controlled by somebody who has one).

--------

Signed-off-by: clinique <gael@lhopital.org>
2023-02-27 08:59:20 +01:00
jsjames
fe0f49ea63 [rollershutterposition] Initial contribution (#13259)
* Initial contribution

Signed-off-by: Jeff James <jeff@james-online.com>
2023-02-26 22:54:27 +01:00
Holger Friedrich
60d70efce6 [knx] Improve documentation for DPT 1.009 (#14510)
Carryover from smarthomej/addons#73.

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

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-02-26 18:56:16 +01:00
lsiepel
d3d14d8b04 [ecobee] Alignment according to #14407 (#14506)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-26 12:22:03 +01:00
lsiepel
8a433bd6c1 [weathercompany] Alignment according to #14407 (#14505)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-26 12:21:41 +01:00
Holger Friedrich
b023e5ac47 [knx] Fix DPT 3.007 (Control Dimming) for non -control channels (#14504)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Also-by: Jan N. Klug <github@klug.nrw>
2023-02-26 12:19:15 +01:00
DeJe63
52d77eabca [goecharger] Fix command sending (#14494) 2023-02-26 11:45:46 +01:00
Markus Eckhardt
0675a80120 [km200] removed unused configuration URIs (#14488)
Signed-off-by: Markus Eckhardt <github@familie-eckhardt.eu>
2023-02-26 11:17:32 +01:00
Holger Friedrich
984914f1bf [knx] Remove workaround for DPT 14 (#14503)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-02-26 10:42:26 +01:00
lsiepel
6c7354b49e [innogysmarthome] Remove org.apache.commons (#14407)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-26 10:24:46 +01:00
J-N-K
ec3f5369be Resolve itests after core changes (#14498)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-25 12:37:37 +01:00
Florian Hotze
726858b4f1 [jsscripting] Upgrade openhab-js to 4.1.0 (#14495)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-02-25 10:18:49 +01:00
Mark Herwege
b15d72fb7f [upnpcontrol] fix shuffle switch also switching only play one (#14490)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-02-24 17:20:49 +01:00
Mark Hilbush
cf4bffb9ed [denonmarantz] Add representation-property to thing-types xml (#14493)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-02-24 17:18:31 +01:00
lsiepel
dd21d92a80 [evohome] Add null annotation and minor refactoring (#13885)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-02-24 16:08:53 +01:00
J-N-K
cb31f420ff [tr064] Enhancements, code improvements and fixes (#14468)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-24 16:06:53 +01:00
lolodomo
561eb84f65 [neohub] Use createWebSocketClient (#14482)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-24 15:02:54 +01:00
Alex Hermann
7e047b3fc6 [nibeheatpump] nibegw: Fix setting debug verboseLevel (#14461)
Signed-off-by: Alex Hermann <gaaf@gmx.net>
2023-02-23 09:10:31 +01:00
lolodomo
e7b0fc6c14 [daikin] Use createHttpClient (#14481)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 20:48:06 +01:00
lolodomo
20ac69725a [http] Use createHttpClient (#14480)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 20:37:53 +01:00
lolodomo
6daddb79f2 [tr064] Use createHttpClient (#14476)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 17:29:03 +01:00
lolodomo
fa7e4e7594 [somneo] Use createHttpClient (#14477)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 17:28:02 +01:00
lolodomo
fbf9a9e6a9 [tapocontrol] Use createHttpClient (#14475)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 17:26:47 +01:00
lolodomo
884b5e9e83 [unifi] Use createHttpClient (#14474)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-22 17:22:31 +01:00
lsiepel
1c35ebcd4e [ecobee] Remove org.apache.commons (#14403)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-22 13:50:53 +01:00
Mark Herwege
19db9ee726 [upnpcontrol] Fix javadoc links (#14471)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-02-21 21:11:21 +01:00
Holger Friedrich
4f1dd5792f [knx] FT12: Autodetect cEMI on Weinzierl devices (#14454)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-02-21 19:36:52 +01:00
msteigenberger
1a01a0e021 [smartmeter] Test fix (#13907)
Signed-off-by: Matthias Steigenberger <matthias.steigenberger@gmail.com>
2023-02-21 16:26:44 +01:00
mlobstein
7c20a4804a [vizio] Improve handling of TV's self-signed certificate (#14429)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-02-21 15:58:48 +01:00
lolodomo
8c56a0f0b3 [volvooncall] Adjust thread name for HTTP client (#14469)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 21:47:46 +01:00
lolodomo
cb160bdf63 [somfytahoma] Call createHttpClient with a SslContextFactory parameter (#14467)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 20:33:56 +01:00
lolodomo
dbfdcfb96e [remoteopenhab] Call createHttpClient with a SslContextFactory parameter (#14465)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 20:32:55 +01:00
lolodomo
e33ce1b987 [linky] Call createHttpClient with a SslContextFactory parameter (#14464)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 20:32:09 +01:00
lolodomo
d33f6916d2 [nanoleaf] Stop the HTTP client when disposing the thing handler (#14459)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 20:28:27 +01:00
lolodomo
1f877cae6d [yioremote] Stop the web socket client when disposing thing handler (#14340)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-20 12:39:03 +01:00
David Pace
8306210a13 [boschshc] Add unit tests (#14426)
Signed-off-by: David Pace <dev@davidpace.de>
2023-02-20 08:56:29 +01:00
Mark Hilbush
5bb3f834d4 [sleepiq] Add new channels (#14447)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-02-19 22:53:35 +01:00
lsiepel
8e4a2b14ac [elerotransmitterstick] Remove apache.commons (#14405)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 22:16:32 +01:00
lsiepel
46f9d5eab7 [neato] Remove org.apache.common (#14415)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 22:04:49 +01:00
lsiepel
5331615359 [nibeuplink] Remove org.apache.common (#14416)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:56:55 +01:00
lsiepel
07b8fbe26b [upnpcontrol] Multiple codestyle fixes (#14451)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:55:46 +01:00
lsiepel
b570a454b0 [sonos] Fix remaining org.apache.common (#14450)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:51:00 +01:00
lsiepel
77f73345d2 [km200] Remove org.apache.commons (#14411)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:42:33 +01:00
lsiepel
d168d045bf [phc] Remove import org.apache.common (#14422)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:34:25 +01:00
lsiepel
07aef8075c [omnikinverter] Remove org.apache.common (#14418)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:19:09 +01:00
lsiepel
c3624e7397 [onebusaway] Remove org.apache.common (#14419)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:14:16 +01:00
lsiepel
dd7bb9c6a2 [onkyo] Remove org.apache.common (#14420)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:11:21 +01:00
lsiepel
e776680dc2 [pentair] Remove org.apache.common (#14421)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 21:07:59 +01:00
lolodomo
fa87a1b2f4 [mycroft] Adjust thread name for web socket client (#14342)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-19 20:59:18 +01:00
lolodomo
b0eaa9effc [deconz] Adjust thread name for web socket client (#14343)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-19 20:58:14 +01:00
lolodomo
8c09334943 [gardena] Adjust thread name for WEB clients (avoid IAE) (#14349)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-19 20:56:59 +01:00
lolodomo
e0a3ca2f9b [tesla] Normalize thread names and avoid a possible IAE (#14351)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-19 20:55:16 +01:00
lsiepel
43232dae2e [smartmeter] Remove org.apache.common (#14436)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 20:47:42 +01:00
lsiepel
22ccde016d [sonos] Remove org.apache.common (#14438)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 20:43:01 +01:00
lsiepel
833578b0e9 [upnpcontrol] Remove org.apache.common (#14439)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 20:42:01 +01:00
lsiepel
9f7a21cb14 [weathercompany] Remove org.apache.common (#14440)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 20:37:08 +01:00
lsiepel
9828dafdb8 [imperihome] Remove org.apache.common (#14441)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-19 20:30:58 +01:00
Holger Friedrich
f795abbce7 [knx] Replace gnu.io dependency with serial transport (#14051)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-02-19 15:45:42 +01:00
Holger Friedrich
1da2694a17 [marytts] Add bnd to make serviceloader aware of marytts impl (#14064)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-02-19 15:32:01 +01:00
J-N-K
223deffcfd [jsscripting] Fix node_modules handling (#14398)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-18 19:53:33 +01:00
Jacob Laursen
f3d48681b0 [semsportal] Fix exception due to invalid thing status update (#14387)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-18 19:13:00 +01:00
Jacob Laursen
e62503f8a4 [kostalinverter] Fix exception due to invalid thing status update (#14386)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-18 19:12:41 +01:00
Jacob Laursen
b9a7e1f346 [cbus] Fix exceptions due to invalid thing status updates (#14385)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-18 19:12:21 +01:00
Jacob Laursen
1bc00a0dd8 [km200] Fix initialization warning: "tried updating the thing status although the handler was already disposed." (#14384)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-18 19:11:54 +01:00
lsiepel
9a2bfcf0b8 [digitalstrom] code refactoring (#14402)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-18 18:15:27 +01:00
Mark Hilbush
253b25631f [sleepiq] Rework cloud API and other enhancements (#14180)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-02-18 16:26:57 +01:00
J-N-K
cb07f3e2f0 Fix build after core-changes (#14431)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-18 15:24:58 +01:00
Kai Kreuzer
ce41708622 [lametrictime] Move external library to internal code (#14425)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-02-18 15:01:41 +01:00
Arjen Korevaar
1d34515c34 [openthermgateway] Changed command code from ST to SC for SetClock (#14424)
Signed-off-by: Arjen Korevaar <a.korevaar@mephix.com>
2023-02-17 21:27:21 +01:00
openhab-bot
5b043551d7 New Crowdin updates (#14427) 2023-02-17 19:25:10 +01:00
Jamie Townsend
13202ba573 [solarmax] Support configurable Device Address (#14366)
Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
2023-02-17 14:28:48 +01:00
Mithi83
8274020423 Fix typo (#14410) 2023-02-16 22:44:15 +01:00
J-N-K
5ea0dcbda9 [onewire] Code improvements and bug fixes (#14400)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-16 18:49:00 +01:00
J-N-K
9a05e9f3b5 [jsscripting] Fix JSScriptFileWatcher not ignoring correct directory (#14393)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-15 10:33:00 +01:00
Florian Hotze
ce2e76d6ee [jsscripting] Bump openhab-js to 4.0.0 & Clean-Ups (#14375)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-02-14 21:19:59 +01:00
Gaël L'hopital
7820c2daa2 [TapoControl] Adding P300 to the list of supported equipments (#14364)
* Adding P300 to the list of supported equipments

Signed-off-by: clinique <gael@lhopital.org>
2023-02-14 12:09:31 +01:00
M Valla
bbb4c3e474 [openwebnet] light switch updates are now triggered (#14390)
* [openwebnet] light switch updates are now triggered

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2023-02-13 22:28:11 +01:00
J-N-K
d613641bbd Adapt addons to core watch service changes (#14004)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-13 16:37:57 +01:00
J-N-K
ed7159c780 [influxdb] Code improvements and enhancements (#14304)
* [influxdb] code improvements

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-13 15:23:05 +01:00
lolodomo
0e246aa313 [lgwebos] Create WEB socket client using OH core method (#14382)
Follow-up PR #14331

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-13 11:16:05 +01:00
Jacob Laursen
b2a4ee42c9 Add connection and countries (#14380)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-13 09:02:11 +01:00
Florian Hotze
d2db49ff67 [jsscripting] Extend mapping of openhab-js classes to native openHAB counterparts (#14335)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-02-12 11:53:51 +01:00
Luca Calcaterra
a7b30ae3e5 Update README.md (#14372)
fixed some typos and add UDP warning from previous config

Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
2023-02-11 20:41:07 +01:00
Viktor Koop
afaccd1cd1 [boschshc] allow setting the temperature by disabling read-only state of setpoint-temperature (#14081) (#14352)
Signed-off-by: Viktor Koop <viktor.koop@googlemail.com>
2023-02-11 19:04:47 +01:00
Florian Hotze
988fde1aba [evcc] Fixes & Adjust to more breaking changes from evcc 0.111.x (#14381)
* [evcc] Adjust DTO for renamed activePhases
* [evcc] Correct wrong units for capacities
* [evcc] Fix wrong getter & Reformat

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-02-10 23:55:23 +01:00
Conte Andrea
b384508fe4 fix(12600): wrong startup value for channel failureDiscovered (#14374)
Signed-off-by: Conte Andrea <andrea@conte.com>
2023-02-10 13:14:09 +01:00
lsiepel
2ea0c97dd2 [tr064] Update configuration documentation (#14291)
* i18n + mac per line fix

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-09 00:01:10 +01:00
Wouter Born
2a2f6ffb58 [lifx] Add support for newer downlights (#14362)
Allows for discovering the new downlights (PID 121, 122) and their features.

See: https://github.com/LIFX/products/blob/master/products.json

Signed-off-by: Wouter Born <github@maindrain.net>
2023-02-08 23:50:40 +01:00
openhab-bot
5da73468e5 New Crowdin updates (#14358)
* New translations airquality.properties (Italian)
* New translations adorne.properties (Italian)
* New translations airq.properties (Italian)
* New translations airvisualnode.properties (Italian)
* New translations allplay.properties (Italian)
* New translations amazonechocontrol.properties (Italian)
* New translations amplipi.properties (Italian)
* New translations androiddebugbridge.properties (Italian)
2023-02-06 20:54:05 +01:00
Kai Kreuzer
0d08e38baa Small doc fixes (#14356) 2023-02-06 16:40:25 +01:00
openhab-bot
be6b799ca4 New Crowdin updates (#14344) 2023-02-05 20:49:52 +01:00
Mark Herwege
fbbce11cf2 [unifi] guest voucher actions (#14303)
* guest voucher actions

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-02-05 16:59:51 +01:00
lsiepel
bc6a027f9e [plugwiseha] Added default tags (#14160)
* add default tags

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-02-04 19:44:06 +01:00
Andreas Berger
bd6fe9008a [fineoffsetweatherstation] Fix java.lang.IllegalMonitorStateException (#14326)
This fix ensures, that the `ReentrantLock::unlock` method is only called, when the Thread is owning the lock.

resolves: #14322

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2023-02-04 18:03:14 +01:00
J-N-K
fc57f02fca [snmp] Upgrades and enhancements (#14330)
* [snmp] Upgrades and enhancements

- bug: improve test stability
- enhancement: add support for UoM
- bug: fix misleading error message
- bug: fix initialization exceptions
- enhancement: Add support for SNMPv3
- enhancement: add opaque value handling

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-04 15:47:30 +01:00
Jacob Laursen
8a4033c95f Add TLS support (#14331)
Fixes #14309

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-04 13:08:41 +01:00
WoKe77
c4c89d3c29 [easee] Update README.md - added status values for "state#chargerOpMode" (#14175)
* Update README.md

added status values for "state#chargerOpMode"
2023-02-04 10:54:57 +01:00
Jacob Laursen
6eb6bf7d43 Remove obsoleted author tags (#14333)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-04 10:07:07 +01:00
Jacob Laursen
218bfa5539 Add UoM support for RSSI channel (#14319)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-04 09:52:22 +01:00
lolodomo
d0f6c2b881 [mail] Make actions names for DSL rules consistent with documentation (#14151)
* [mail] Make actions names for DSL rules consistent with documentation

Keep old names for backward compatibility.
Actions names are now consistent over all rule engines.

* Review comment: use htmlContent as parameter name
* Review comment: make consistent url and urlList parameters

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-04 09:30:58 +01:00
Jacob Laursen
6ecb9bab29 Add missing binding description (#14332)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-02-04 08:56:14 +01:00
J-N-K
4a370863d2 Fix findbugs instanceof pattern matching (#14329)
* Fix findbugs instanceof pattern matching

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-04 08:26:48 +01:00
fcvuilbak
8197721685 Added MOOD_LIGHT for NOVY Fan (#14298)
Signed-off-by: fcvuilbak <42965756+fcvuilbak@users.noreply.github.com>
2023-02-04 06:17:45 +01:00
mlobstein
a8267bc4fb Fix Essentia G standby mode wake-up (#14321)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-02-04 05:53:27 +01:00
lolodomo
03f17019d1 [hue] Retrieve scenes without 10 minutes initial delay (#14289)
Fix #14137

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-04 00:02:56 +01:00
J-N-K
9deb181e1b [dmx] Refactor and improve code (#14327)
Also adds null-annotations

Signed-off-by: Jan N. Klug <github@klug.nrw>
(cherry picked from commit 8153032ce07f5bcd7c5b31316ac0d4565126fe72)
2023-02-03 20:41:16 +01:00
Daniel-at-git
4d9bf1cad1 Commit 1d23c32de1 broke sending underscore character in messages (#14204) (#14314)
This PR reverts commit 1d23c32de1 and fix #14204.

Signed-off-by: Daniel Schröter <d.schroeter@gmx.de>
2023-02-02 20:40:57 +01:00
Dave
baf077d71d [omnikinverter] added extra parameters (temperature, AC frequency, AC current, AC voltage and total hours running) (#14244)
* [omnikinverter] Added temperature sensor
* [Omnikinverter] Bugfix for wrong channeltype item-type

Prevents 'Received HTTP PUT request with an invalid item name' when adding items

* [Omnik] Added AC Voltage, Currrent and Frequency and total running hours

Signed-off-by: Dave <leansoft@users.noreply.github.com>
2023-02-02 12:46:46 +01:00
Ilias Ktn
a42b92b183 Working PostgreSQL Schema check/fix and set TIMESTAMPTZ to match MySQL defaults (#14294)
Signed-off-by: Ilias Kotinas <henfiber@gmail.com>
2023-02-02 08:27:16 +01:00
Boris Krivonog
93d871a88f [rrd4j] fixed oom when requesting data and boundary=true (#14292)
* Fixed end date when requesting data using rrd4j and boundary=true

Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
2023-02-01 21:06:27 +01:00
lolodomo
c162e6668d [hue] Handle unexpected empty response from API (#14297)
Fix #14218

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-02-01 20:55:54 +01:00
Mark Hilbush
38fa097594 Fix incorrect i18n tags in addon.xml (#14312)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-02-01 20:27:10 +01:00
Mark Hilbush
96bffaa7b7 Fix i18n in addon.xml (#14310)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-02-01 17:06:51 +01:00
Mark Hilbush
09e85946da Fix for NumberFormatException when parsing json (#14308)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-01-31 20:52:00 +01:00
openhab-bot
94969e4c5e New translations jruby.properties (Italian) (#14306) 2023-01-31 19:47:42 +01:00
Kai Kreuzer
bfb6091d7b Fix account going offline every few seconds (#14300)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-01-31 19:35:22 +01:00
Cody Cutrer
9bafedc17b [jrubyscripting] don't use options for check for updates config boolean (#14299)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-31 00:12:48 +01:00
Cody Cutrer
74f22a5325 [jrubyscripting] allow disabling dependency tracking (#13944)
* [jrubyscripting] allow disabling dependency tracking

in case your helper library doesn't support it. or you just don't like
the behavior.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-30 23:24:54 +01:00
J-N-K
e5e067b79b [influxdb] Fix re-connection issues (#14296)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-30 20:04:57 +01:00
lolodomo
9a0d0ba409 [shelly] Cancel the init job when the thing handler is disposed (#14290)
Fix #14032

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-30 13:24:36 +01:00
Hilbrand Bouwkamp
bf105008a1 [unifi] Added channels name and hostname to client things. (#14283)
* [unifi] Added channels name and hostname to client things.

Also some changes related to the guestVoucher changes.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2023-01-30 08:59:19 +01:00
lsiepel
15a25db130 [astro] Add option to force event to occur (#14132)
* fix issue 11424

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-29 22:15:38 +01:00
Nils Schnabel
9001ee7426 [fmiweather] HIRLAM → HARMONIE weather model (#13693)
* [FMI] HIRLAM → HARMONIE model

Signed-off-by: Nils Schnabel <git@to.nilsschnabel.de>
Co-authored-by: Sami Salonen <ssalonen@gmail.com>
2023-01-29 19:56:10 +01:00
Andrew Fiddian-Green
178d16c4a0 [velux] Do not use new API on Somfy devices (#14225)
* [velux] revert use of new API for Somfy devices
* [velux] fix compare to wrong value

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-01-29 10:32:33 +01:00
dirkbe
01c38df9a5 [homematic] HUMIDITY and CONTROL_MODE as PaperUI standard channels (#14274)
HomematicIP added humidity and HVAC control mode under new channel
HEATING_CLIMATECONTROL_TRANSCEIVER|HUMIDITY. Those channels won't
show in PaperUI unless "Advanced" is selected. This pull request
adds those channels as standard.

Impacted HomematicIP devices: HmIP-BWTH, HmIP-BWTH24,
HmIPW-STHD, HmIPW-STH, HmIPW-WTH, HmIP-STHD, HmIP-STH, HMIP-WTH,
HmIP-WTH-2, HmIP-WTH-B
The devices HmIP-eTRV* and HmIP-WT only support CONTROL_MODE not
Humidity.

resolves: #11829

Signed-off-by: Dirk Benecke <dirkbe@web.de>
Signed-off-by: Dirk Benecke <dirkbenecke@Dirks-MBP.fritz.box>
2023-01-29 10:25:53 +01:00
lsiepel
a58f1269ec [tibber] Fix NPE on server issues (#14273)
* Fix NPE

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-29 10:24:26 +01:00
Dan Cunningham
9ba3c07d3e [openhabcloud] Reconnection Fixes (#14251)
* [openhabcloud] Possible connection leak
* Creates thread safe reconnection, reduces unnecessary polling on setup, removes unused variables.
* adds the reconnect settings to the internal socket.io options.
* Up the min reconnect time
* Use @ssalonen sugestion for backoff mins and randomness
* Reconnect after server initiated disconnect
* Remove unhelpful comments

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2023-01-29 10:21:54 +01:00
Mark Herwege
16f3a3e854 [unifi] Guest wifi vouchers (#14284)
* guest voucher support

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2023-01-28 21:30:12 +01:00
igitti
aa7580965e (MyBMW] command "horn-blow" not "horn-low" (#14270)
* MyBMW command "horn-blow" not "horn-low"

The command is "horn-blow" not "horn-low".
Tested with my car: "horn-blow" works, "horn-low" does not.

* (MyBMW] command "light-flash" not "flash-lights"

The command is "light-flash" not "flash-lights".
Tested with my car: "light-flash" works, "flash-lights" does not.
2023-01-28 18:56:02 +01:00
Jacob Laursen
0e65903216 [wemo] Fix stability issues (#14163)
* Stabilize UPnP subscription handling
* Remove unused UpnpService
* Fix integration test

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-28 09:35:30 +01:00
Cody Cutrer
0312e687ba [homekit] fix restarted on network interface change (#14226)
a regression caused during the final changes of #13877

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:39:19 +01:00
Cody Cutrer
f3ca3255a7 [mqtt.homeassistant] support command_template for fan components (#14233)
* [mqtt.homeassistant] support command_template for fan components
* [mqtt.homeassistant] fix field declaration for consistency

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:38:38 +01:00
Cody Cutrer
6d5b8a8cf5 [mqtt.homeassistant] add support for DeviceTrigger component (#14234)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:37:45 +01:00
Cody Cutrer
d97d212cd1 [mqtt.homeassistant] Mark disabled by default components as advanced channels (#14240)
openHAB doesn't have the concept of "enabled by default", since _everything_
is technically "disabled" until you link it to an item. It seems devices
use disabled by default on less common entities, such as zigbee2mqtt
marking a binary_sensor as a "backup" method to an update entity for
when an update is available, or a sensor as a "backup" method to a
select entity. So in that case, just hiding these channels unless the user
clicks "Show Advanced" seems to map best.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-28 00:37:15 +01:00
lolodomo
83c20b0bd6 [rotel] Fix reader thread handling (#14272)
Previous code was not working in Java 17.
A thread should not be started after being interrupted.

Fix #14264

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-27 13:23:04 +01:00
lsiepel
865c4b8e86 [tibber] Add accumulatedReward channel (#14277)
* Add channel, fix warning

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-27 10:36:40 +01:00
Ilias Ktn
29b17e9c75 Perform upsert on key conflict like the default for MySQL (PostgreSQL >= 9.5) (#14281)
Signed-off-by: Ilias Kotinas <henfiber@gmail.com>
2023-01-27 10:33:11 +01:00
Gaël L'hopital
26d608c8da Bringing a solution to issue #14256. (#14265)
This solution is not the best but takes in account observations made in issue #13015.

Signed-off-by: clinique <gael@lhopital.org>
2023-01-27 08:49:47 +01:00
TheNinth7
9ddcbb55ad Update README.md (#14266)
Updated section on shutter position with info on the automatic calibration's reliance on the actuator's automatic stop message, and that for older actuator's manual setting of shutterRun is required.
2023-01-27 08:34:36 +01:00
Florian Hotze
f808edf725 [evcc] Adjust to breaking API change & Add new channel (#14245)
* [evcc] Adjust to breaking API changes

Fixes #14231.

See https://github.com/evcc-io/evcc/discussions/5522.

* [evcc] Add battery capacity channel
* [evcc] Version & openHABian note
* [evcc] Use already defined constants in ChannelTypeUIDs
* [evcc] Correct header in evcc.properties

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-23 21:17:39 +01:00
Jacob Laursen
fe9f0583b5 Fix some addon.xml issues (#14261)
* Fix some addon.xml issues
* Re-add thing-type binding for Velux
* Prefix thing-type filenames

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-22 19:22:13 +01:00
Markus Eckhardt
8ee8a1e2ed [Tibber] Added "today" API channel (#14236)
* Added "today" API channel

Signed-off-by: Markus Eckhardt <github@familie-eckhardt.eu>
2023-01-22 12:25:37 +01:00
Frieso Aeschbacher
4927585f25 [dominoswiss] Fix Bridge-Loading with OH3_3 and OH3_4 (#14172)
* Fix Loading of Bridge with OH3.3

Signed-off-by: Frieso Aeschbacher <frieso.aeschbacher@gmail.com>
2023-01-22 10:49:52 +01:00
schmidmuc
2b6803e506 Update README.md (#14254)
URL for HomeConnect consol was wrong
2023-01-22 00:19:08 +01:00
lolodomo
69fe058eaf [gree] Remove unneeded i18n entry addon.gree.label (#14253)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-22 00:17:21 +01:00
openhab-bot
c7dd3a7b56 New Crowdin updates (#14258)
* New translations amazondashbutton.properties (French)
* New translations hdpowerview.properties (Danish)
* New translations boschindego.properties (Danish)
* New translations amazondashbutton.properties (Italian)
2023-01-22 00:03:52 +01:00
Cody Cutrer
00c10e1015 [mqtt.homeassistant] add support for Number and Select components (#14230)
* [mqtt.homeassistant] add support for Select component

closes #13603

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-21 15:02:49 +01:00
J-N-K
89d0689e36 fix i18n for bindings (#14235)
Also-By: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-21 12:14:51 +01:00
mlobstein
b898bac832 Publish ALLOFF event for use in source rules (#14248)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-01-21 11:16:36 +01:00
Cody Cutrer
e0adc8da02 [mqtt] fix thread concurrency issue with type provider (#14229)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-21 09:59:37 +01:00
lsiepel
dd790741a0 [jeelink] Fixed wrong TX22 rain value (#14224)
* Divide instead of multiply
* Remove apache.commons

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-21 09:50:09 +01:00
J-N-K
598a285adf Fix build after core changes (#14027)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-20 14:57:42 +01:00
Hilbrand Bouwkamp
bd23bcc87d [unifi] Various stability improvements (#14249)
* [unifi] Various stability improvements

- Fixed bug, causing nullpointer, in devices not reporting voltage/ampere values on PoE ports.
- Added some null checks to avoid having null pointer exceptions.
- Handled timeout exception that is in ExecutionException.
- Improved handling case where server returns data, but it's not from the api, and therefor can't be parsed.
- Improved adding additional text to the error messages by adding the reported exception message too.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2023-01-20 13:12:57 +01:00
Christoph Weitkamp
a78db1feb2 [rrd4j] Avoid IAE thrown if e.g. invalid start/end time given (#14238)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2023-01-20 11:58:47 +01:00
Florian Hotze
80094b5e9d [influxdb] Add docs for usage of self-signed certs (#14228)
* [influxdb] Add docs for usage of self-signed certs

See
https://community.openhab.org/t/influxdb-persistence-doesnt-work-with-s
sl/35409/10?u=florian-h05.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-15 23:55:42 +01:00
J-N-K
5f8214f08a Adapt to core changes (addon.xml) (#13289)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-15 20:31:42 +01:00
Holger Friedrich
0f272d8523 [knx] Fix javadoc errors (#14174)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-14 13:02:31 +01:00
lsiepel
649da669ac Adjust channel min state (#14219)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-14 12:43:34 +01:00
Jacob Laursen
f4268c4964 Improve multicast implementation (#14199)
Fixes #14198

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-14 12:26:38 +01:00
lsiepel
b9bec522ee [gree] Allow wider temperature range (#14217)
* Fix checkstyle
* Allow wider temp range
* Remaining checkstyle

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-14 12:14:09 +01:00
Gwendal Roulleau
d497defe34 [mimictts] Fix ssml and playing from audiosinks using the audio servlet (#14120)
* [mimictts] Fix ssml and playing from an audiosink using the audio servlet

Fix :
- ssml not working
- add an option to store the audio on a file before sending it to openhab. It enables audiosink based on the audio servlet to play the sound (the servlet requires the getClonedStream method, unavailable with a pure streaming approach). The files are stored in the user data directory and deleted as soon as possible (stream close detection).
- fix error with voice name not encoded

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-01-14 09:39:59 +01:00
Cody Cutrer
0de87b15d2 [homekit] Implement IrrigationSystem Accessory (#14209)
* [homekit] Implement IrrigationSystem

Fairly trivial now, except that a ServiceLabelService has to be added
to the accessory.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-13 20:25:06 +01:00
Holger Friedrich
ee54882841 Fix SAT warnings (#14214)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-13 19:10:59 +01:00
maniac103
4dd60bb442 [homematic] Fix updating enum config values (#14213)
When changing an enum value in the configuration, we used the wrong data
type: while the value in the OH config is a string (the 'option value' -
see HomematicThingHandler::getValueForConfiguration), internally we use
an integer (the 'option index'), so we have to do the option value ->
option index conversion when applying the new value.
This especially was a problem for HM-MOD-EM-8 devices, which check the
CHANNEL_FUNCTION enum value as part of their initialization routine.
When disabling/enabling them after changing the CHANNEL_FUNCTION enum
value, they went offline, because their initialization failed due to a
NumberFormatException (via
HomematicThingHandler::doInitializeInBackground ->
HmChannel::checkForChannelFunctionChange ->
HmChannel::getCurrentFunction)

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-01-13 16:25:26 +01:00
Holger Friedrich
4e44de3894 Fix SAT warnings (#14202)
* Fix SAT warnings

- checkstyle.ModifierOrderCheck
- checkstyle.OneStatementPerLineCheck
- checkstyle.NeedBracesCheck
- PMD.UseStandardCharsets
- PMD.UseCollectionIsEmpty
- PMD.UnusedLocalVariable
- PMD.SimplifyBooleanReturns where reasonable, suppress where
readability is better without change
- PMD.SimplifyBooleanExpressions

* Include StandardCharsets

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-13 08:11:06 +01:00
J-N-K
6aa0dcbc70 [scripting] Adjust to core changes (#14043)
* [scripting] Adjust to core changes

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-12 22:23:20 +01:00
lsiepel
bbc885725f [bsblan] Minor SAT fixes (#14138)
* Minor SAT fixes

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-12 21:07:31 +01:00
Cody Cutrer
32909fa237 [homekit] Add support for TV accessory (#14055)
* [homekit] TV accessory

Now possible since we support multiple secondary services. Just need to explicitly
declare that InputSource is a linked service to a Television, not just a secondary
service.

Note also that since TV and related services have so many mandatary characteristics
that are often static, I introduced a new way to declare characteristics -
via metadata on the service's item. Honestly, I feel like it's a lot cleaner to
have a factory create the mandatory characteristics the same way as the optional
characteristics, and then construct the service ourselves instead of basing the
service on the specific accessory interface. But this commit is already big enough,
I didn't want to go refactoring _all_ of the accessories to do it that way just
yet. This is why I have "unused" metadata characteristic factory methods for
AirQuality, HeaterCooler, and Thermostat - I started to make those configurable
via metadata, then realized they were mandatory characteristics that couldn't
be found from metadata via the current infrastructure.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-12 15:29:50 +01:00
Keith T. Garner
03a67d25b1 [bondhome] Add raw speed channel (#14155)
* [bondhome] add raw speed channel

* Add a channel for the raw speed value from the bond api

Signed-off-by: Keith T. Garner <kgarner@kgarner.com>
2023-01-12 07:42:15 +01:00
maniac103
f16f524877 [gardena] Fix server ping timeout logic (#14203)
On server timeouts, it's possible for multiple minutes to elapse
between receiving the last pong on the old connection and attempting to
send the next ping on the new connection. If that time span exceeded 5
minutes, the binding went into a minutely reconnection loop, because it
never attempted to send a ping anymore, which led to lastPong not being
updated anymore.
To fix this, replace the timing dependent timestamp handling by a simple
counter which counts how many consecutive ping attempts didn't receive
an answer, and closing the connection after 5 unsuccessful ping
attempts. That new counter is now also reset whenever the connection is
restarted.

Fixes #14188

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2023-01-11 15:05:19 +01:00
Mark Hilbush
858ff4b244 [squeezebox] Add new channels for additional tags (#14201)
* New channels for additional tags

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-01-11 13:56:40 +01:00
Holger Friedrich
a1ef87cca9 Upgrade maven-javadoc-plugin to release 3.2.0 (#14173)
* Switch to version used by openhab-core
* Apply patch from #2359 for upgrading dependency on plexus

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-11 08:59:46 +01:00
lsiepel
38cb030cad Add accuracy moon tests (#14182)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-11 08:58:13 +01:00
Mark Hilbush
65816aafd7 Fix for NPE when playerState is null (#14191)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-01-10 15:02:40 +01:00
Andrew Fiddian-Green
72786df044 [velux] tweak read me (#14196)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-01-10 08:14:54 +01:00
Holger Friedrich
0304d74f87 Fix Markdown warnings in README.md (#14187)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-09 17:51:12 +01:00
Mark Hilbush
3ba37b431a [ecobee] Fix issue with UTC and local dates (#14170)
* Correctly handle UTC and local date/times
* Eliminate use of Date class

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-01-08 23:35:01 +01:00
Gwendal Roulleau
2c2097d646 [doorbird] Add audiosink (#14122)
* [doorbird] Add audiosink

Add audiosink capability to a doorbird thing

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-01-08 10:57:04 +01:00
Marcel
c24ec070bc [miio] add support Xiaomi Smart Air Purifier 4 Pro zhimi.airp.vb4 (#13941)
* [miio] add support Xiaomi Smart Air Purifier 4 Pro zhimi.airp.vb4

Adding support for the following models:
* Xiaomi Smart Air Purifier 4 Pro (modelId: zhimi.airp.vb4)
close

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2023-01-07 11:19:12 +01:00
lsiepel
de8d78403e [chromecast] Fix thing go offline after stop command (#14158)
* Restructure commander
* Improve thing status handling on error

Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-07 09:51:20 +01:00
Jacob Laursen
576be1455c Fix incorrectly formatted license headers (#14171)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-07 00:01:27 +01:00
Jacob Laursen
896ea13c9e Fix namespaces for tests (#14156)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-06 18:56:53 +01:00
lolodomo
d5dd3c9ea3 [sonos] Correct identification of tuneIn started from Alexa (#14164)
Contained URL is now HTTPS instead of HTTP before.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-06 16:28:38 +01:00
Cody Cutrer
7608c41484 [homekit] properly expose services from dummy accessories (#14169)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-06 16:25:42 +01:00
Mark Hilbush
5655303cf1 Make more channels advanced (#14168)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2023-01-06 12:49:30 +01:00
Jacob Laursen
4dd6d3a8a2 Update license headers to 2023 (#14154)
* Update copyright year in configuration
* Update license headers

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-06 09:49:54 +01:00
Jacob Laursen
ff158e2f15 Exclude 3rdparty directories from license header generation (#14165)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-01-06 09:44:20 +01:00
Doug Culnane
c7fa49bcda [renault] Add new channels 'batterystatusupdated' and 'locked' (#14076)
Signed-off-by: Doug Culnane <doug@culnane.net>
2023-01-05 23:55:38 +01:00
lsiepel
cb460657eb [bigassfan] Null annotations (#13903)
* Null annotations and some refactoring
* Fix synchronized block
* Fix remaining warnings

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2023-01-05 23:08:07 +01:00
Florian Hotze
b91fc94bdb [jsscripting] Update docs for code caching (#14166)
... and fix the table of contents.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-05 23:04:07 +01:00
Florian Hotze
1548f16f5e [hueemulation] Fix tests after core change (#14161)
Fixes #14153.
This fixes the Hue Emulation tests (and in consequence the full addons build) after core change https://github.com/openhab/openhab-core/pull/3298.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-05 13:28:28 +01:00
Tim Harper
9c5ea29ae0 [homekit] Add additional troubleshooting steps for homekit (#14046)
* [homekit] Add additional troubleshooting steps for homekit

Signed-off-by: Tim Harper <timcharper@gmail.com>
2023-01-04 20:32:29 +01:00
Andrew Fiddian-Green
31fd91129e [neohub] Recover faster if NeoHub produces empty responses (#13889)
* [neohub] resolve issue #13829
* [neohub] harmonise exceptions and logging
* [neohub] improve field name, and log messages

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-01-04 07:26:22 +01:00
mlobstein
de6ef7e8ae Implement missing 'Light' device type (#14150)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2023-01-04 07:25:14 +01:00
Cody Cutrer
47f5489d70 [homekit] Improve multiple instance management (#14016)
* [homekit] improve instance management

 * allow addressing individual instances for most console commands
 * don't restart all instances if simply adding/removing instances on
   config change
 * clear stored info when removing instances

* [homekit] reset instance identity when clearing pairings
* [homekit] log the actual interface we looked up

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-03 23:10:42 +01:00
Florian Hotze
f082df923f [jsscripting] Fix regressions from #14135 & Log stack on IllegalArgumentException (#14142)
* [jsscripting] Fix bundling of global script & regression from #14135

Fixes the regression from https://github.com/openhab/openhab-addons/pull/14135#issuecomment-1369231126.

While working on this, I also noticed that the cache openhab-js does not work because of wrong webpack commandline args in the pom (wrong entrypoint).

* [jsscripting] Enable stack logging for IllegalArgumentExceptions
* [jsscripting] Upgrade openhab-js to 3.2.4
* [jsscripting] Update README for recent PR

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-03 20:45:23 +01:00
Johannes Velde
7c3fbfdde3 fix typo (#14146)
Signed-off-by: veldhaenchen <jo.velde@gmx.de>
2023-01-03 18:58:19 +01:00
Holger Friedrich
d1634fbc18 [ism8] Fix SAT warnings (#14141)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-01-03 08:47:51 +01:00
Moritz 'Morty' Strübe
8fcfa0438b [homematic] Add hints about using docker (#14121)
Signed-off-by: Moritz 'Morty' Strübe <morty@gmx.net>
2023-01-02 20:51:22 +01:00
Florian Hotze
3c669ad77a [jsscripting] Cache openhab-js injection to improve performance (#14135)
* [jsscripting] Extend comments for wraprequire
* [jsscripting] Enable openhab-js caching to improve performance

On my dev system (which I guess is much more powerful than most openHAB servers), cached openhab-js injection takes 100-200 ms.
openhab-js injection from file system takes about 1000 ms.

* [jsscripting] Update configuration language
* [jsscripting] Upgrade openhab-js version to 3.2.1 for required webpack changes

Documentation updates will follow in another PR to keep this one clean.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2023-01-02 20:41:35 +01:00
lsiepel
12bd7c99c3 [chromecast] Improve documentation (#14136)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2023-01-02 19:53:42 +01:00
Gaël L'hopital
c7275c8946 Pushing PR #14123 to OH4 (#14140)
Signed-off-by: clinique <gael@lhopital.org>
2023-01-02 19:06:24 +01:00
Norbert Klasen
ce6b331518 Update URL to Loxwiki (#14131)
Loxwiki has moved into the Atlassian cloud: https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1622769957/Planung+bersiedelung+zu+loxwiki.atlassian.net
2023-01-01 21:11:42 +01:00
openhab-bot
ba68881995 New Crowdin updates (#14130)
* New translations deconz.properties (Italian)
* New translations atlona.properties (Italian)
2023-01-01 14:50:12 +01:00
Kai Kreuzer
f588c07f3a Synchronize access to account to avoid concurrency issues (#14128)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-01-01 12:02:15 +01:00
Daniel Rosengarten
377dc86452 [velbus] Add modules VMBKP, VMBIN, VMB4PB (#13939)
* [velbus] Add new functionality PRESSED and LONG PRESSED and fix bug

New functionnality :
Add the the possibility to simulate the PRESSED and LONG PRESSED message of an input.

Module supported with button simulation :
VMB1RYS (button : CH6)
VMB6IN (buttons : CH1 ... CH6)
VMB2PBN, VMB6PBN, VMB7IN, VMB8IR, VMB8PB, VMB8PBU, VMBEL1, VMBEL2, VMBEL4, VMBGP1, VMBGP1-2, VMBGP2, VMBGP2-2, VMBGP4, VMBGP4-2, VMBGP4PIR, VMBGP4PIR-2 (buttons : CH1 ... CH8)
VMBELO, VMBGPOD, VMBGPOD-2 (buttons : CH1 ... CH32)

Fix bug :

The channels names were not correctly assigned to the thing properties. The last channel had the default name, not the one retrieved from the module.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

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

Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>

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

Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>

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

Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* Add trigger on channel when using button simulation

Remove uneeded  Thread.sleep in code.
Trigger the events PRESSED, LONG_PRESSED, RELEASED on the linked trigger channel when using the button simulation.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* Fix redundant superinterface DiscoveryService

Redundant superinterface DiscoveryService for the type VelbusThingDiscoveryService, already defined by AbstractDiscoveryService.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* Fix bug #11521

Typo in the Counter Channel name for VMB7IN.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] Add VMBELPIR module

Add the module VMBELPIR

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] VMBELPIR added to discovery service

Forgot to add the module VMBELPIR in the discovery service.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] Updates clock alarms management

Changes the clocks alarm management :
- Global alarms are now set from the bridge thing.
- Local alarms are still set from the module thing, but the alarm type channels on modules are now readonly.

Reduces the flooding of the bus by adding a delay of 10 seconds before sending the update on the bus :
- Removes the send on the bus after each update of a clock alarm value.
- Sends only the values of the last update after 10 seconds.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] PR modifications

Modifications asked in PR review.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] PR modifications 2

Modifications asked in PR review 2.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] Add modules VMBKP, VMBIN, VMB4PB

New functionnality : Add the support of the modules VMBKP, VMBIN, VMB4PB

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

* [velbus] Fix code style error

Fix code style error in VelbusSensorWithAlarmClockHandler.java

Signed-off-by: Daniel Rosengarten <github@praetorians.be>

Signed-off-by: Daniel Rosengarten <github@praetorians.be>
Co-authored-by: cedricboon <cedric.boon@hotmail.com>
2022-12-31 17:25:03 +01:00
Marcel
d0d3005b34 [miio] add support ROIDMI EVA - roidmi.vacuum.v66 (#13940)
Adding support for the following models:
* ROIDMI EVA (modelId: roidmi.vacuum.v66)

close #13813

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-12-31 17:15:16 +01:00
Jacob Laursen
a6e4ab130d Simplify name to deCONZ (#14125)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-31 16:42:22 +01:00
lsiepel
71ef3d9f4e [astro] Fix returning wrong sun phase name (#14078)
* Add tests and fix very minor bug
* Correct wrong test
* Update tests and fix sorting
* Some checkstyle improvements

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-31 15:04:06 +01:00
Jacob Laursen
7de25352ef [miele] Add categories and semantic tags (#14086)
* Add categories and tags

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-31 15:01:58 +01:00
Jacob Laursen
470ada241a [miele] Add categories and semantic tags (#14086)
* Add categories and tags

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-31 15:01:11 +01:00
Hilbrand Bouwkamp
202a8647e0 [unifi] Fix bug with combination of other data/ports (#14060)
- It seems to throw an exception when updating internal cache. It can happen if you have a switch that has both PoE ports and other PoE ports or data in the port override.
- Fixed logout, should be POST instead of GET.
- Fixed typo in channel-type.config.unifi.poeEnable.mode.option.pasv24 should be without appending v.
- Removed compiler warnings.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-12-31 11:03:56 +01:00
Kai Kreuzer
2d5402656e [tesla] Fix discovery of Tesla vehicles from account (#14070)
* Fix discovery of Tesla vehicles from account

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-31 10:22:39 +01:00
mlobstein
139aeed3ec [atlona] Add support for AT-PRO3HD44M (#14080)
* Add support for AT-PRO3HD44M

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-31 10:18:03 +01:00
Florian Hotze
23cfec7684 [jsscripting] Improve performance & reduce memory usage (#14113)
* [jsscripting] Share org.graalvm.polyglot.Engine across all OpenhabGraalJSScriptEngine instances

See https://github.com/oracle/graaljs/issues/121#issuecomment-880056648, it is not required to have one engine per GraalJSScriptEngine.

This might improve performance a bit on less powerful systems (Raspberry Pi) and decreases heap usage:
With 5 GraalJS UI scripts, heap usage is now below 100 MB. Before this change, it was over 100 MB.

* [jsscripting] Extend debug logging
* [jsscripting] Cache `@jsscripting-globals.js` across all engines

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-30 23:34:35 +01:00
Florian Hotze
931f004ab8 [jsscripting] Upgrade to ECMAScript 2022 & Dependency improvements (#14093)
* [jsscripting] Remove asm from dependencies in pom

GraalJS >= 20.3.0 doesn't require org.ow2.asm as compile dependency anymore, see https://mvnrepository.com/artifact/org.graalvm.js/js/20.3.0.

* [jsscripting] Remove dependency org.graalvm.js/js-launcher as it is not required

js-launcher is GraalVM's JavaScript command line interpreter and not required in the addon.
See https://www.graalvm.org/22.1/reference-manual/js/RunOnJDK/.

* [jsscripting] Add missing com.ibm.icu dependency

GraalJS changelog says that it is not required for GraalJS >= 22.0.0 (see 685e5873af/CHANGELOG.md (version-2200)).
But GraalJS 22.3.0 attempts to load classes from it during runtime.

* [jsscripting] Update GraalJS engine options

Compat, as its additional functionality is not used by openhab-js and user code is not expected to use it.

* [jsscripting] Remove com.ibm.icu/icu4j dependency
* [jsscripting] Don't disable Nashorn compat mode as openhab-js requires it for accessors

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-30 23:04:43 +01:00
Wouter Born
6e6bd3701c Update Jackson version to 2.14.1 (#14116)
This is the version used in the feature provided by openhab-core.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-30 22:48:12 +01:00
Michael Geramb
256bc81feb [knx] add color channel to knx binding docu (#14114)
add color channel to knx binding docu
2022-12-30 19:46:58 +01:00
lsiepel
5881cf0cbe [bosesoundtouch] Fix regression and add tests (#14097)
* Fix regression and add tests

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-30 13:58:27 +01:00
jimtng
8904f92e7b Fix MQTT shutdownRetain default value (#14099)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-30 09:34:13 +01:00
mlobstein
dd8eb4701e [bondhome] Fix fatal Null Pointer errors (#14103)
* Fix fatal Null Pointer errors

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-30 09:23:45 +01:00
Wouter Born
dbaf081daa [groovyscripting] Update Groovy to 4.0.7 (#14115)
Updates Groovy from 3.0.13 to 4.0.7.

For Groovy 4.0 release notes, see:

https://groovy-lang.org/releasenotes/groovy-4.0.html#releasenotes

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-29 21:59:12 +01:00
Florian Hotze
895defda8e [jsscripting] Use application/javascript as MIME type (#14096)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-29 21:01:22 +01:00
Jacob Laursen
93cbd7e647 [influxdb] Upgrade Gson to 2.9.1 (#14090)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-29 20:59:10 +01:00
Jacob Laursen
ddd58cf4b0 [dbquery] Upgrade Gson to 2.9.1 (#14089)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-29 20:58:24 +01:00
Jacob Laursen
1d54e9c078 [bluetooth.generic] Upgrade Gson to 2.9.1 (#14092)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-29 20:57:41 +01:00
Jacob Laursen
f8610bddb6 [watsonstt] Upgrade Gson to 2.9.1 (#14091)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-29 20:57:03 +01:00
Jacob Laursen
68ecfa724e Rename handler to fix case and make consistent with corresponding channel selector (#14095)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-29 20:07:31 +01:00
Wouter Born
026ac92023 Add Stale configuration (#14109)
Similar to openhab/openhab-core#2974

See also: https://github.com/marketplace/stale

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-29 19:32:45 +01:00
lsiepel
15c610032e [daikin] Add support for Alira X (#14108)
* Add support for Alira X
* Fix checkstyle
* Move changes AirbaseControlInfo =>  ControlInfo
* Send seperated values conditionally

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-29 18:41:17 +01:00
jimtng
f87ff2f9ce [chromecast] Fix constant disconnections (#14105)
When ipv6 is configured on the network, Chromecast devices will randomly
return ipv4 and/or multiple ipv6 addresses during mdns discovery.
This would trigger a thingUpdated call which will call dispose/initialize,
causing the thing to go offline/online.

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-12-29 11:52:25 +01:00
openhab-bot
3bf6f5219b New translations danfossairunit.properties (Danish) (#14098) 2022-12-29 00:59:57 +01:00
lsiepel
1e7ec9bde9 [bondhome] compile warnings and sat (#13986)
* fix some compile warnings and checkstyle
* replace deprecated gson calls
* Refactor config init

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-28 19:40:19 +01:00
Jacob Laursen
3a4a387931 Remove deprecated channel (#14030)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-28 19:20:29 +01:00
openhab-bot
fa69340f34 New translations hdpowerview.properties (Danish) (#14079) 2022-12-28 01:03:31 +01:00
Holger Friedrich
9ac4af98f1 Update i18n command version number (#14077)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-27 22:53:03 +01:00
lsiepel
697373801b [bluetooth.daikinmadoka] null annotations (#13975)
* null annotations - sat warnings
* refactor handleResponses

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-27 17:12:58 +01:00
Mike Major
a4a8d5d85f [hueemulation] Fix for Alexa failing to discover all devices. (#13923)
* Fix for Alexa failing to discover all devices.

Signed-off-by: Mike Major <mike_j_major@hotmail.com>
2022-12-27 16:58:37 +01:00
Jacob Laursen
436e7c39ba Remove deprecated channels (#14033)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-27 16:50:38 +01:00
lsiepel
1df693a6e9 [bluetooth.am43] null annotations (#13972)
* null annotations forbidden package
* improve createChecksum
* spotless + typo

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-27 16:27:19 +01:00
lsiepel
8b1d0fccef null annotations - checkstyle (#13979)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-27 16:16:55 +01:00
lsiepel
df6454e374 minro checkstyle (#13977)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-27 16:13:12 +01:00
Jiri Kraus
9687c3da0a [velux] Updated Discovery instructions for scenes and actuators (#14009)
* Updated Discovery instructions for scenes and actuators

Updated Discovery instructions as after KLF200 is auto discovered and configured discovery of scenes and actuators need to be manually triggered.

* @jirikraus Updated Discovery instructions for scenes and actuators

Formatting update to address comment from @andrewfg.
2022-12-27 16:08:12 +01:00
lsiepel
35e930c12f [astro] Added moon phase precision (#14067)
* add more precision to MoonPhase.Age

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-27 12:56:43 +01:00
mlobstein
4a982957c3 [nuvo] Auto update source channel for grouped zones (#14012)
* Auto update source channel for grouped zones

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-27 12:54:26 +01:00
Cody Cutrer
e39e69144b [homekit] support Rollershutter items for HoldPosition (#14045)
* [homekit] support Rollershutter items for HoldPosition

just send STOP to them

* [homekit] log a warning for incompatible HoldPosition items

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-27 11:55:12 +01:00
Jacob Laursen
0b59be62b6 Skip loading/migrating items with invalid name (#14054)
Fixes #14053

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-27 11:41:59 +01:00
Holger Friedrich
e7938ae357 [rrd4j] Improve logging of exceptions thrown by getDB (#14068)
Add exception message for better identification of root cause.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-27 10:55:15 +01:00
Tim Harper
e5f30b1f18 [tplinksmarthome] Document sending raw commands to devices (#14062)
Signed-off-by: Tim Harper <timcharper@gmail.com>

Signed-off-by: Tim Harper <timcharper@gmail.com>
2022-12-27 10:25:28 +01:00
lsiepel
1c5b794145 [airvisualnode] Add null annotations (#13895)
* Add null annotation

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-26 17:00:53 +01:00
Wouter Born
88c0b720c6 [jsscriptingnashorn] JavaScript Scripting Nashorn Automation (#14013)
* [jsscriptingnashorn] JavaScript Scripting Nashorn Automation

This add-on allows you to use your older JavaScript (ECMAScript 5.1) rules on newer Java versions until they are migrated to JavaScript (ECMAScript 2021+).
The add-on uses a standalone [Nashorn Engine](https://github.com/openjdk/nashorn) which was part of Java until it was removed in Java 15.

* Update parent to 3.4.0-SNAPSHOT and nashorn-core to 15.4

For the Nashorn changelog, see:

https://github.com/openjdk/nashorn/blob/main/CHANGELOG.md

* Update parent to 4.0.0-SNAPSHOT
* Remove removeUnsupportedNashornArgs
* Update scriptTypes
* Add CODEOWNERS entry
* Recycle ScriptScopeOSGiTest.java

It got removed in openhab/openhab-core#2994

* Remove redundant new line from pom.xml

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-26 15:27:03 +01:00
Hilbrand Bouwkamp
605574b600 Set openHAB to correct version in binding skeleton scripts. (#14061)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-12-26 10:17:42 +01:00
Jørgen Austvik
6cd59e4c94 [nanoleaf] More robust caching of layout (#13998)
* [nanoleaf] More robust caching of layout

This is a bugfix/enhancement to make sure the caching of the layout
(to save it from being recalculated) works better:
- Only save previous layout if indeed painted
- Only save layout from the layout update, not the display state
- Recalculate anyway if current state is null

* Bugfix: Update colors

When Stefan runs, the getBridge() returns null, when Jørgen runs, is doesn't. But it isn't needed, because we
are already in the handler, so just call own methods.

Improvement: Less draws when updating colors

Instead of drawing the picture for each panel (which gave a cool effect), draw only once when we have parsed all color data.

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-25 20:56:04 +01:00
Holger Friedrich
0357049f9f [knx] Fix SAT warnings (#14052)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-24 12:11:28 +01:00
Cody Cutrer
f619798f81 [lifx] Handle and provide QuantityType for color-temperature-abs channel (#14025)
See https://github.com/openhab/openhab-core/pull/3129

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-24 00:00:57 +01:00
Cody Cutrer
b62e1455ff [homekit] Allow configuring secondary services as members of a group (#13879)
* [homekit] allow configuring secondary services as members of a group

Required introduction of AccessoryGroup to represent the base
AccessoryInformationService for ease of configuring multiple of the
same service.

This is also "breaking" in that someone who previously had HomeKit
accessories nested directly inside of a group that was itself a
HomeKit accessory will now have those items grouped within the Home
app.

* [homekit] combine multiple readme sections on complex accessories

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-23 23:41:44 +01:00
Wouter Born
b1d4c40e20 Remove JavaScript Transformation pom.xml (#14048)
Everything except for this pom.xml got removed in openhab/openhab-addons#13276

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 14:10:58 +01:00
Cody Cutrer
7c2d5dcca5 [homekit] implement List-Pairings method (#13982)
* [homekit] implement List-Pairings method
* [homekit] fix listUsers() method
* [homekit] bump HAP-java to 2.0.5

refs #13949

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-23 00:16:55 +01:00
Wouter Born
fbf302e553 Use HTTPS in pom.xml where possible (#14044)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 00:13:17 +01:00
Andreas Berger
14c8b3972c [fineoffsetweatherstation] Fix QuantityType for rain-rate (#14039)
A community member realized, that the used unit for rain-rate was wrong (https://community.openhab.org/t/fine-offset-weather-station-binding-discussion/134167/153)
Rain rate is measured in mm/h and so it is not a `VolumetricFlowRate` but a `Speed`.

Additionally, I added some details to the doc.

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-12-22 21:17:07 +01:00
Wouter Born
af16d52e9b Fix "Hello, World!" examples in automation documentation (#14041)
The documentation states incorrectly that "Hello, World!" is printed when instead "Hello world!" is printed.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-22 18:21:13 +01:00
lolodomo
7195825a8a [keba] Fix unit in example for power channel (#14031)
Related to #12529 

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-22 18:17:15 +01:00
lsiepel
16fcd5d729 nul;l annotations and codestyle (#13980)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-22 09:04:50 +01:00
lsiepel
fb31c14aff [bluetooth.govee] null annotations (#13978)
* null annotations and checkstyle
* Fix more warnings

Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-22 08:58:12 +01:00
Cody Cutrer
a079603aab [homekit] allow configuring min/max light level (#14034)
since the default is weirdly 0.0001, yet my sensors can report a
straight 0.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-22 00:37:26 +01:00
Cody Cutrer
462dca8040 [homekit] update AuthInfo objects when blockUserDeletion changes (#14017)
* [homekit] update AuthInfo objects when blockUserDeletion changes

Signed-off-by: Cody Cutrer <cody@cutrer.us>

* [homekit] general cleanup of redundant method call and unused local vars

Signed-off-by: Cody Cutrer <cody@cutrer.us>

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-22 00:31:05 +01:00
Cody Cutrer
672b60b1d9 [nanoleaf] Handle and provide QuantityType for color-temperature-abs channel (#14026)
* [nanoleaf] handle and provide QuantityType for color-temperature-abs channel

see https://github.com/openhab/openhab-core/pull/3129

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-21 22:43:46 +01:00
Cody Cutrer
df8e0bb15b [dali] tweak color temperature abs QuantityType fix (#14029)
adds an example of usage of the channel to the README, and
simplifies one method call

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-21 20:21:53 +01:00
Christoph Weitkamp
a0c2c76fd0 [hue] Allow handling of QuantityType for color temperature channel (#14024)
* Allow handling of QuantityType for color temperature channel
* Fixed log messages and reduce log level.

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-12-21 20:10:21 +01:00
Christoph Weitkamp
528140d7ad [darksky] Remove DarkSky binding due to EOL of their API (#13037)
* Remove DarkSky binding due to EOL of their API

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-12-21 17:24:57 +01:00
Cody Cutrer
324483d8e9 [dali] handle and provide QuantityType for color-temperature-abs channel (#14021)
see openhab/openhab-core#3129

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-20 21:15:10 +01:00
Florian Hotze
4d98cca7eb [jsscripting] Minor fixes & improvements (#13960)
* [jsscripting] Correct wrong `createScriptEngine` implementation
* [jsscripting] Also unlock lock on unexpected exceptions (rethrow them)
* [jsscripting] Call super methods from their overrides
* [jsscripting] Move superclass call of `beforeInvocation`

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-20 09:15:43 +01:00
J-N-K
cd9e1b0590 Fix build / Resolve itests (#14018)
* Fix build / Resolve itests
* Remove Java 11 from GHA matrix

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-20 08:11:31 +01:00
lsiepel
0b1eb2c03b null annotations (#13976)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-20 00:06:52 +01:00
lsiepel
1519cb4b1c nul annotations, checkstyle, forbidden packagel (#13981)
Signed-off-by: lsiepel <leosiepel@gmail.com>
2022-12-20 00:04:43 +01:00
lsiepel
40b8b77840 Very minor checkstyle (#13973)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-20 00:01:50 +01:00
Jacob Laursen
127f998a69 Upgrade MySQL Connector/J to 8.0.31 (#13991)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-19 23:49:51 +01:00
Holger Friedrich
3bec273910 [rrd4j] Upgrade base library from 3.8.1 to 3.8.2 (#13956)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-19 22:58:43 +01:00
Holger Friedrich
3aefefbbb5 [knx] Upgrade Calimero library to release 2.5.1 (#14015)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-19 22:49:40 +01:00
J-N-K
9f3b8e1c04 Raise minimum JDK version to 17 (#13276)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 20:39:42 +01:00
J-N-K
4d6d6443ef fix spotless after release (#14014)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 15:22:17 +01:00
openhab-bot
7993786dc9 [unleash-maven-plugin] Preparation for next development cycle. 2022-12-19 00:55:11 +00:00
Jacob Laursen
c5b68d0248 Fix NullPointerException (#14010)
Fixes #13961

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-18 23:22:40 +01:00
Wouter Born
4871d6dab1 [shelly] Remove broken images (#14007)
See also #13993

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-18 19:50:23 +01:00
Wouter Born
8d65371844 [shelly] Remove broken images (#14007)
See also #13993

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-18 19:49:42 +01:00
Kai Takac
36137992a5 [jdbc] Update org.xerial/sqlite-jdbc to 3.40.0.0 (#14003)
* [jdbc] Update org.xerial/sqlite-jdbc to 3.40.0.0

Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Kai Takac <kai.takac@gmail.com>
2022-12-18 19:04:43 +01:00
Дилян Палаузов
ef836a15dc typos: success, successful (#13997) 2022-12-18 14:18:24 +01:00
openhab-bot
6b1354f9ba New Crowdin updates (#13999)
* New translations iCloud.properties (French)

* New translations openwebnet.properties (Italian)

* New translations plugwise.properties (Dutch)
2022-12-18 14:02:15 +01:00
MikeTheTux
6dd8cd52c5 fixed potential StringIndexOutOfBoundsExceptions (#14000)
fixed compiler warnings

Signed-off-by: Michael Weger <weger.michael@gmx.net>
2022-12-18 13:35:08 +01:00
Holger Friedrich
debdfa5f8b [wolfsmartset] Fix link to external documentation (#13996)
Update link to current document from Wolf download center.
Fixes #13995.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-18 11:55:59 +01:00
Jacob Laursen
9b891302c8 Fix alignment/indentation (#13994)
Fixes #13882

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-18 10:22:07 +01:00
Wouter Born
d03d3e4342 Show add-on intros in Main UI (#13992)
Using these Markdown tweaks a small intro will show in Main UI instead of emptyness and a "more" button.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-17 23:53:57 +01:00
Jacob Laursen
6753234e32 Fix Zigbee name stylization (#13954)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-17 17:25:38 +01:00
openhab-bot
d20b10317c New Crowdin updates (#13990)
* New translations tr064.properties (German)
* New translations jsscripting.properties (Danish)
* New translations jsscripting.properties (Italian)
2022-12-17 16:51:35 +01:00
Florian Hotze
15e6bebb6c [yamaha] README: Recommend correct binding for specific model (#13985)
This doc improvement tries to avoid future issue like #10838.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-17 15:42:23 +01:00
Florian Hotze
11e2c4fc31 [jsscripting] Update add-on name in default translation (#13984)
Leftover from #13764.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-17 13:40:12 +01:00
openhab-bot
4a13e1a68f New Crowdin updates (#13971)
* New translations knx.properties (German)
* New translations yamahamusiccast.properties (German)
* New translations hdpowerview.properties (Danish)
* New translations jsscripting.properties (Danish)
2022-12-17 12:13:24 +01:00
Wouter Born
23875a6ae3 [mapdb] Fix "a" typo and use "-" for bullets in docs (#13966)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-16 11:22:48 +01:00
Dan Cunningham
ab504bc69e [hydrawise] fixes null pointer error for some sprinkler controllers (#13965)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-12-16 08:31:02 +01:00
Wouter Born
15ad22b5ad [mapdb] Add some documentation (#13964)
This is based on the original OH1 documentation.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-15 23:39:37 +01:00
openhab-bot
d6db72774a New Crowdin updates (#13962)
* New translations chromecast.properties (Italian)
* New translations sonos.properties (Italian)
* New translations exec.properties (Italian)
* New translations knx.properties (German)
* New translations jsscripting.properties (German)
* New translations yamahamusiccast.properties (German)
2022-12-15 23:36:49 +01:00
Wouter Born
c75b04e976 [wundergroundupdatereceiver] Prevent 😕 showing in documentation (#13963)
See: https://www.openhab.org/addons/bindings/wundergroundupdatereceiver/

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-15 22:40:52 +01:00
Holger Friedrich
9318f6f336 [knx] Minor documentation update (#13918)
Slightly change wording of docs related to localSourceAddress to avoid
address conflicts during initial setup.
Add remark about knxd.
Fixes #13602.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-15 16:22:43 +01:00
Wouter Born
83f0f7aa4c Prevent Markdown rendering issues in Main UI (#13958)
Some add-ons use `---` separators which causes issues when rendering the documentation in Main UI.

Fixes #13953

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-15 12:28:32 +01:00
Holger Friedrich
6ab0561382 [rrd4j] Error handling for broken rrd4j files (#13955)
* [rrd4j] Error handling for broken rrd4j files

Catch exceptions thrown by getDB(..) and print the name of the affected
database file. This allows to identify a broken rrd4j file.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-15 11:31:20 +01:00
Simon Spielmann
04f059c455 [icloud] Rework authentication to reflect changes in iCloud API (#13691)
* Implement Authentication (WIP)
* Validation Code accepted
* Refactor session state
* RefreshClient working
* Implement session persistence in openhab store
* Integration in binding
* Remove persistent cookies, which break authentication
* Bugfixing
* Add code configuration to UI
* Improve documentation, error-handling and cleanup
* Rework auth order
* Rework auth process
* Add 2-FA-auth to documentation
* Set bridge to online if data refresh works
* Case-sensitive rename ICloudAPIResponseException
* Include authentication in refresh flow
* Fix regression for data not being updated
* Fix typo in i18n props
* Fix review and checkstyle.
* More javadoc, new RetryException
* Introduce @NonNullByDefault
* Introduce server for RetryException, add NonNullbyDefault, fix warnings
* Rework for contribution, e.g. null checks, ...
* Fix checkstyle
* Move JsonUtils to utilities package
* Async initialize bridge handler.
* Report Device OFFLINE if Bridge is OFFLINE
* Set bridge thing status to UNKOWN in init
* Move refresh init into async init
* Cancel init task in dispose

Also-by: Leo Siepel <leosiepel@gmail.com>
Signed-off-by: Simon Spielmann <simon.spielmann@gmx.de>
2022-12-15 09:18:11 +01:00
Wouter Born
6e8b35c4c1 [jsscripting] Fix broken event object table (#13952)
The table is not properly rendered when reading the documentation in Main UI.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-15 07:51:22 +01:00
Jørgen Austvik
79060f3c8f [nanoleaf] Bugfix: Handle non-integer panel ids (#13951)
Panel ids are sometimes returned as BigInteger

We haven't been able to understand why this happens somewhere and
somewhere not, but this is an sledgehammer attempt to fix it quickly
to unblock users, and then we will try to understand it later.

Discussions:
https://community.openhab.org/t/java-lang-classcastexception-class-java-math-bigdecimal-cannot-be-cast-to-class-java-lang-integer/142035/16
https://community.openhab.org/t/nanoleaf-binding-oh3-stabilization-update/116300/61

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-14 20:15:47 +01:00
Florian Hotze
d4ec220925 [jsscripting] Extend synchronization to common ScriptEngine methods (#13924)
* [jsscripting] Extend synchronization to common ScriptEngine methods

This extends the multi-thread synchronization to "eval" and "invokeMethod" and moves synchronization for "invokeFunction" to the DelegatingScriptEngineWithInvocableAndAutocloseableAndSynchronization class. Fixes the multi-thread access requested warnings described in the community (https://community.openhab.org/t/openhab-3-4-milestone-discussion/138093/130) and related to https://github.com/openhab/openhab-core/pull/3180.

* Revert "[jsscripting] Extend synchronization to common ScriptEngine methods"

This reverts commit aadd21e45879c10aad29bf279ddbb0afd789b0aa.

* [jsscripting] Extend synchronization to common ScriptEngine methods & Switch to ReentrantLock

This extends the multi-thread synchronization to "eval" and "invokeMethod" and moves synchronization for "invokeFunction" to the InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable class.
The synchronization mechanism changed from using synchronized to using a ReentrantLock together with catch_finally to avoid having deadlocks when an exception is thrown.
Fixes the multi-thread access requested warnings described in the community (https://community.openhab.org/t/openhab-3-4-milestone-discussion/138093/130) and related to https://github.com/openhab/openhab-core/pull/3180.

* [jsscripting] Reduce compiler warnings
* [jsscripting] Replace finally blocks & Wrap returns in afterInvocation
* [jsscripting] Fix deadlock caused by NoSuchMethodException in Invocable interface methods

During testing my latest changes, I noticed that there is a deadlock when invokeFunction or invokeMethod are called on a non-existing method.
This happens because the NoSuchMethodException keeps afterInvocation from running and therefore the lock never gets released.

* [jsscripting] Also rethrow NPE & Fix PMD warnings/errors
* [jsscripting] Wrap and rethrow other exceptions instead of returning them
* [jsscripting] Address review comment from @jpg0

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-14 20:12:54 +01:00
Jerome Luckenbach
1ca9baf157 [Documentation] Markdown improvements n to s (#13948)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-12-14 16:52:43 +01:00
Udo Hartmann
d73218d882 [mqtt.generic] Change color example (#13861)
Change color example to fit to the real parameters.
2022-12-14 08:21:34 +01:00
Cody Cutrer
4aca2c6976 [jrubyscripting] remove some development logging that crept in (#13947)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-13 23:28:55 +01:00
lolodomo
831443334e [mielecloud] Fix integration tests (#13935)
Code change provided by @BjoernLange

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-13 09:04:16 +01:00
Hilbrand Bouwkamp
e9473caebc [airq] fix table in readme that broke rendering markup (#13937)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-12-13 08:40:10 +01:00
openhab-bot
9c3ec387e5 New Crowdin updates (#13932)
* New translations boschshc.properties (Italian)

* New translations ecowatt.properties (French)

* New translations nikohomecontrol.properties (Dutch)

* New translations systeminfo.properties (Dutch)

* New translations upnpcontrol.properties (Dutch)
2022-12-13 07:27:26 +01:00
Jacob Laursen
bd087f1c1c Fix examples after migration of time channels (#13933)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-12 22:55:38 +01:00
Wouter Born
286a27db5b [nest] Add missing enable SDM API configuration step to README.md (#13931)
Fixes #11814

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-12 22:12:24 +01:00
Jacob Laursen
518272a731 Fix dimension for powerConsumption channel (#13930)
Fixes #13929

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-12 22:10:48 +01:00
lolodomo
e027932349 [goecharger] Consider correct channel ID (maxCurrentTemp) (#13927)
Fix #13891

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-12 20:28:59 +01:00
Ondrej Pecta
712262fb1e [somfytahoma] fix the smoke sensor documentation (#13919)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-12-11 23:17:52 +01:00
Jacob Laursen
a3fccc6390 Fix console command 'tables clean' (#13916)
NullPointerException was thrown because index table was not provided

Fixes #13911

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-11 22:47:37 +01:00
Jerome Luckenbach
73b6e886f2 Fix wrong image and website build. (#13917)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-12-11 21:43:42 +01:00
Wouter Born
74edb5377c GitHub Actions workflow upgrades (#13915)
* Upgrade actions to fix deprecation warnings
* Use ubuntu-22.04 for builds

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-11 17:38:47 +01:00
Kai Kreuzer
260f58904f [homekit] Simplify start level handling (#13914)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-12-11 17:09:31 +01:00
Andrew Fiddian-Green
3ea004ad35 [siemensrds] Update to documentation (#13913)
* [siemensrds] resolve issue #13906
* [siemensrds] add chapter to readme

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-12-11 16:21:25 +01:00
Jørgen Austvik
70cca8fc77 [nanoleaf] More color for less network calls (#13893)
* [nanoleaf] More color for less network calls

This is a refactoring that moves the "get panel color" out of the
panel handler and into a separate class, with callbacks.

This makes us do only one REST call to get colors instead of one per
panel that is a thing. It also lets us retrieve colors for all panels -
 also those that doesn't have a thing in OpenHAB,

While testing this out, I found a bug where solid colors set in the app
wasn't reflected in neither the controller nor panel channels, and that
should also be fixed now.

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-11 16:09:53 +01:00
Cody Cutrer
1dbcaf8f0c [homekit] delay starting until a particular StartLevel (#13877)
* [homekit] delay starting until a particular StartLevel

instead of a blind "delay by seconds", the new default won't even
attempt to start until items are loaded (both file-based and UI-based),
with an additional config to let the user delay it any further (in
case they have items coming from JSR223 scripts that can't run until
at least SL20 anyway).

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-11 15:54:10 +01:00
Florian Hotze
438552d485 [jsscripting] Upgrade openhab-js & Remove SharedCache (#13908)
Upgrades the included openhab-js version to 3.1.0, which uses the new
caches from core (introduced in
https://github.com/openhab/openhab-core/pull/2887) and provides many
doc improvements.

Removes the SharedCache from the addon because this functionality is
now provided by core (see
https://github.com/openhab/openhab-core/pull/2887).

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-11 15:25:39 +01:00
Holger Friedrich
506c7387c5 [knx] Improve handling of serial gateways (#13897)
* [knx] Improve handling of serial gateways

Take over initialization logic from KNX IP gateway for serial gateway.
Properly re-initialize serial gateway after configuration changes done in UI.
Fixes #13892.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-12-11 12:47:55 +01:00
Ondrej Pecta
45052a810c [somfytahoma] added support for the control over the LAN (local mode) (#13411)
* [somfytahoma] added support for the control over the LAN (local mode)

Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-12-11 12:07:25 +01:00
boc-tothefuture
48b471a313 [jrubyscripting] Reverses order of class imports and ScriptEngine puts calls to fix incompatability introduced after M5 (#13904)
Signed-off-by: Brian OConnell <broconne@gmail.com>
2022-12-11 11:00:13 +01:00
lolodomo
015cc847bb [transform/scale] Make unit tests compatible with Windows (#13910)
Fix #13900

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-11 10:57:57 +01:00
Jørgen Austvik
8c0925a63b Dont set read only temp file (#13905)
Because it breaks windows builds

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-11 10:10:37 +01:00
Mark Herwege
d0681251cb [systeminfo] QuantityTypes and state descriptions cleanup (#13804)
* State descriptions cleanup
* Converted channels to QuantityType, adjusted default translations
* Channel definitions and percent to QuanityType
* Changed default state descriptions from MB to MiB

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-12-10 23:32:25 +01:00
Jacob Laursen
c09be1bfbe Migrate time channels from DateTime to Number:Time (#13841)
Fixes #13840

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-10 23:05:59 +01:00
openhab-bot
5e73936aa8 New Crowdin updates (#13901)
* New translations boschshc.properties (Italian)

* New translations ecowatt.properties (French)
2022-12-10 16:54:00 +01:00
Christian Wild
8d28085226 [tapocontrol] add L610, L630 Spot and L930 LightStrip (#13814)
* fix color change bug*

Signed-off-by: Christian Wild <christian@wildclan.de>
2022-12-10 16:53:30 +01:00
openhab-bot
ad5facc2e5 New translations boschshc.properties (Italian) (#13899) 2022-12-10 14:51:09 +01:00
lolodomo
4c962191b1 [vitotronic] Fix few thing/channel labels/descriptions (#13898)
Follow-up #13739

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

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-10 14:29:53 +01:00
Matthew Skinner
2a7b6bf1c9 [ipcamera] Add a check to see if FFmpeg is frozen for mjpeg creation (#13896)
* check if ffmpegMjpeg is frozen

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-12-10 13:54:22 +01:00
Fejitatete
00d99e1c3f [vitotronic] Add channel "currentmode" to thing "circuit" (#13739)
* [vitotronic] Add channel "currentmode" to thing "circuit"

Signed-off-by: Fejitatete <fejitatete@msn.com>
2022-12-10 13:08:41 +01:00
Gerd Zanker
584f637126 [boschshc] Support smoke detector (#13760)
* Add smoke detector service and add it to twinguard handler
* Add handler for smoke detector
* Support for smoke detector

added smoke detector device with SmokeDetectorCheckService
added SmokeDetectorCheckService to TwinguardHandler

added tests for smoke detector code
updated smoke detector code to latest boschshc version after cherry-picks of initial code from Christian Oeing

* re-generate i18n file, refactoring of smoke detector code to use abstract base classes
* Fix typos
* Add unit test for PlayPauseType commands
* Add unit test for SmokeDetectorCheckState
* Re-add null annotation
* Fix warning

Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
Signed-off-by: David Pace <dev@davidpace.de>
2022-12-10 11:18:13 +01:00
lsiepel
db86d291da [bosesoundtouch] Improve SAT errors and remove dependency (#13842)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-10 09:42:09 +01:00
Björn Lange
92310fab2f [mielecloud] Remove things after each integration test (#13875)
Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2022-12-10 09:40:50 +01:00
Andrew Fiddian-Green
8e31d8f0ca [siemensrds] Binding no longer fails if thermostat does not use optional features (#13888)
* [siemensrds] fix charset; ansi => utf-8
* [siemensrds] refactor class so CI build runs tests w/o errors
* [siemensrds] add missing UoM; fix compiler error
* [siemensrds] fix issue #13887

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-12-10 09:02:11 +01:00
lsiepel
b9f092fdb2 [TR064] Fix pattern excluding some valid ip-addresses (#13894)
* Improve logging and adjusted timeout
* Fix wanBlockIPs regex

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-10 08:48:33 +01:00
J-N-K
61b5c26b58 Upgrade bnd to 6.4.0 (#13890)
* Upgrade bnd to 6.4.0

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-09 21:23:53 +01:00
lsiepel
d85c2532e4 Add channel return temp (#13833)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-09 19:30:08 +01:00
Cody Cutrer
108c48dda5 [homekit] add BasicFan accessory (#13564)
* [homekit] add BasicFan accessory

This is Fan v1. It's a subset of FanV2, except that Home allows you
to customize the icon to show a ceiling fan.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-09 19:17:51 +01:00
lsiepel
76c785947b [plugwiseha] Fix set the scene for a zone (#13832)
* Fix request body

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-09 19:08:41 +01:00
mlobstein
7480c63636 Update README (#13868)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-09 12:32:47 +01:00
Hilbrand Bouwkamp
a3ad12ba39 [astro] Fix IllegalArgumentException in debug message (#13884)
Formatter should get Date object.

Closes #13871

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-12-09 12:31:49 +01:00
lsiepel
22d5518ff4 [livisismarthome] Fix checkstyle (#13883)
* Minor fixes and refactoring
* Fix checkstyle warnings
* Fix new ConcurrentHashMap

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-09 09:57:17 +01:00
Cody Cutrer
b56ab10e00 [homekit] implement basic command completion (#13878)
just the sub-commands.

since the show command is already a "search", I didn't feel it's super
important to implement on that

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-09 08:56:27 +01:00
lsiepel
3e66cd1b33 [TR064] Fix SAT warnings (#13873)
* Fix SAT warnings
* Fix markdown
* Properly annotate PhonebookProfileTest

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-08 22:44:44 +01:00
Jørgen Austvik
02398b14a3 [Nanoleaf] Support lines (#13881)
Lines is a Nanoleaf shape we haven't been able to test earlier.

Now we have tested them, and added support for painting them as well.

They do unfortunately not support touch gestures.

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-08 22:39:45 +01:00
Jerome Luckenbach
0e68936663 [Documentation] Markdown improvements f to m (#13866)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-12-08 21:36:05 +01:00
Hawkinzw
3c236b3103 [insteon] Binding Documentation: Updated I/O Linc Section (#13811)
* Update I/O Linc Documentation

The I/O Linc has a feature to match or invert the status of the contact with its control messages. The binding was written expecting the messages to be inverted. This is the opposite of how insteon recommends setting up the garage kit, and not described well by the original "Note" at the bottom of the section. Updated the instructions to specify the input is OFF when linking, and changed the note to better describe what happens if you don't. All based off of my own experience with the sensor: https://community.openhab.org/t/insteon-io-linc-garage-door-contact-slow-update/141469
2022-12-08 21:17:45 +01:00
Дилян Палаузов
0ffc5257d5 Typos a/an (#13876) 2022-12-08 21:12:49 +01:00
Jørgen Austvik
177ce2a217 [Nanolaef] Visual State Bugfix (#13880)
* Nanoleaf Visual State fix

Fix the visual state channel name.

Also:
- Better name (from state to visual state) of the (new) channel
- Better logs which has helped us debug the problem
- Some more information on when it will work in the README

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-08 21:00:11 +01:00
Cody Cutrer
6a16c889f2 [homekit] persist all known accessories, to prevent loss of homekit information (#13484)
* [homekit] persist all known accessories, to prevent loss of homekit information

See the readme for more details, but basically this keeps track of every
accessory we've ever created, and if it no longer exists, presents a dummy
accessory instead. If the accessory comes back, nothing is lost in the Home
app; if you meant to prune it permanently, you have to run a console command.

there are also several fixes to prevent presenting the device with missing data -
such as when the bundle stops, _don't_ explicitly remove the accessories until
the server has stopped.

we also don't increment the configuration version unless the configuration
has _actually_ changed (so removing and re-adding the exact same thing
won't trigger the device to reconnect). this even works across restarts
of the bundle, because we're persisting all the accessory information
for dummy information anyway.

* [homekit] Address review comments for accessory persistence

* update hap-java to 2.0.4
* remove unused local variable
* [homekit] ensure accessories are replaced in a batch

so that HAP-Java can maintain subscriptions with the new objects

* [homekit] log individual dummy accessories up to 5
* [homekit] Tweak readme for dummy accessories slightly.

 * Be consistent with proper usage of useDummyAccessories.
 * Make the sentence more clear about the effects of having dummy accessories.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-08 13:52:30 +01:00
Wouter Born
3c936dbda9 Upgrade commons-net to 3.9.0 (#13869)
Related to openhab-core#3200

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

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-08 07:09:46 +01:00
mlobstein
0c53ce998c [atlona] Update README (#13867)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-07 21:33:00 +01:00
Jerome Luckenbach
caf71f72e6 [Documentation] Markdown improvements for bindings a to e (#13859)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-12-07 21:09:32 +01:00
Sönke Küper
72efc1cfed [ahawastecollection] Fixed unstable test (#13864)
* Added Constructor parameter to pass custom ScheduledExecutorService, that allows deterministic execution in test cases.
* Fixed some codestyles.

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2022-12-07 10:22:51 +01:00
stefan-hoehn
4c93125723 [nanoleaf] add LONG_PRESSED tap detection (#13865)
* [nanoleaf] add LONG_PRESSED tap detection

Signed-off-by: Stefan Höhn <stefan.hoehn@nfon.com>
2022-12-07 05:49:04 +01:00
openhab-bot
35f416da9a New Crowdin updates (#13863)
* New translations openwebnet.properties (Italian)
* New translations bluetooth.properties (Italian)
* New translations vesync.properties (Italian)
2022-12-06 16:10:01 +01:00
mlobstein
fc529777e4 [vizio] Vizio TV binding - Initial contribution (#13309)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-12-06 15:37:54 +01:00
Florian Hotze
a9d4244fd8 [jsscripting] Fix "Error removing engine" context already closed (#13855)
In recent PR #13824, I added closing the context when the engine is closed, but core seems to have problems with that.

It logs: "[ERROR] [ipt.internal.ScriptEngineManagerImpl] - Error removing ScriptEngine
java.lang.IllegalStateException: The Context is already closed."

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-06 13:15:47 +01:00
Sami Salonen
923c0f1db2 [mqtt] Avoid parallel streams with common thread pool to avoid deadlocks (#13621)
To mitigate issue https://github.com/openhab/openhab-core/issues/3125
(common thread pool exhaustion when combining parallel streams with
synchronization or locks)

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-12-06 13:02:45 +01:00
Jacob Laursen
be6bfb0f9b Use message for HTTP error code when response payload is not valid JSON (#13854)
Fixes #13853

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-06 08:45:31 +01:00
Wouter Born
fdc23e07dd Sync Jackson to 2.12.7 (#13852)
Related to openhab/openhab-core#3163

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-05 23:15:10 +01:00
Wouter Born
76e6ae80f7 [tradfri] Resolve runbundles for Californium upgrade (#13673)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-05 20:49:12 +01:00
Florian Hotze
bf48eccf8c [jsscripting] Refactor log formatting & Respect toString polyfills (#13844)
* [jsscripting] Refactor log formatting & Respect toString polyfills
* [jsscripting] Catch errors in log formatting & Improve handling of Java obj
* [jsscripting] Update log format failure message

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-05 20:46:17 +01:00
Simon Spielmann
d0b1458e89 Correct item type for state item in readme.md (#13845)
Signed-off-by: Simon Spielmann <simon@MacBook-Pro.fritz.box>
2022-12-05 19:11:52 +01:00
Дилян Палаузов
2a5d6beb64 Typos a/an (#13846) 2022-12-05 18:47:43 +01:00
Florian Hotze
54b2772df4 [jsscripting] Add an alternative MIME type/alias (#13851)
The alternative MIME type text/javascript is also used by Nashorn, therefore we add the same extension as for the main MIME type.
The alias is introduced to simplify the usage in SCRIPT transformation profiles.

* Fix syntax problems in the bndtools file
* Add null check to avoid potential NPE
  In some cases during testing, a NPE occured, this should solve it.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-05 18:40:15 +01:00
Cody Cutrer
52b7b7981f [bondhome] Initial contribution (#13459)
* First commit on newly created branch, taking code from c8b8e210dfd23f98526763782eadbca49509baf9
* [bondhome] update snapshot version, and some typos
* [bondhome] Address (most) comments from prior review from #7260
* [bondhome] simplify channels

 * lastUpdate is unnecessary; turn on persistence or add a rule on update if
   you care to keep track of it
 * use a single string command channel for all shoot-and-forget commands, instead
   of multiple switch channels
 * use a rollershutter channel for shades (accepting UP, DOWN, STOP, 0%, and 100%)
 * on all dimmer channels, accept ON and OFF, as well as 0% to imply OFF, instead
   of having to write rules to control ON/OFF state separately.
 * if the dimmer channel exists, prune the corresponding power channel, since
   the dimmer channel is now a pure superset of its functionality
 * overload fan#speed to be ceiling fan or a fireplace's fan, depending on the
   device type
* [bondhome] add bundle to the BOM pom
* [bondhome] clean up BondDeviceHandler a bit

 * there's no need to delay initialization; ThingManager won't
   even attempt to initialize a child thing until its bridge is online
 * Remove some extra initialization checks that can never be false
 * slightly refactor some methods to return early, rather than
   nest a giant `else`
 * remove some info logging that will get triggered in normal usage
* [bondhome] fix bridge discovery

 * Bridge property and config serial number need to be the same name
 * Don't arbitrarily delay the BPUPListener
 * Automatically update the IP if the BPUPListener finds it
 * Provide the new bridge with its discovered IP to avoid an additional
   DNS query
 * Don't get the bridge version after every keep-alive response
* [bondhome] trigger end-device discovery as soon as the bridge comes online
* [bondhome] remove internal binding version
* [bondhome] change addr property to string

Certain values seen in the wild when interpreted as a long are too big for that
storage. Also, the Bond API documentation describes the addr property on a
device to be a string.

OpenHAB already has infrastructure to have things update their
channel definitions when a binding is updated.

* [bondhome] ignore any device that starts with _

In v3 of their API, Bond added a new special entry of __. Because no valid
device id would start with an underscore, ignore everything that starts with an
underscore to fix v3 and maybe futureproof.

* address review comments

mostly adding i18n to error states, and cleaning up error handling of
HTTP requests.

* use builtin translation services

instead of plumbing our own provider through

* use System.nanoTime instead of currentTimeMillis

so that it will be a monotonic clock, not (as) susceptible to the clock
changing

* [bondhome] ignore BPUP messasges that aren't state

In recent firmware, bond is now sending action messages via BPUP as well as state.
This change ignores all messages that aren't state.

* [bondhome] Improve error handling, and remove dummy constants

Just use a single BondException class to communicate any sort of
error from within bond, and avoid throwing, catching, and re-throwing
the same (or slightly modified) exception.

Also remove dummy constants that might give the wrong impression
of the details of your Bond device. Then implement proper null checks,
especially setting a configuration error if key config properties
aren't set on the thing.

* [bondhome] avoid setting device status when bridge just went offline

* address static analysis tool problems

Also-by: Sara Damiano <sdamiano@stroudcenter.org>
Also-by: Keith T. Garner <kgarner@kgarner.com>
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-05 17:19:35 +01:00
Jacob Laursen
dd8b7c8b65 [jdbc] Fix date filter to be inclusive (Derby) (#13850)
Fixes #9906

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-05 17:09:13 +01:00
openhab-bot
93633a9af9 New Crowdin updates (#13848)
* New translations miele.properties (Danish)
* New translations jruby.properties (Italian)
* New translations ecowatt.properties (Italian)
* New translations webexteams.properties (Italian)
2022-12-05 15:56:34 +01:00
M Valla
7ce99b365a [openwebnet] Add support for Alarm (WHO=5) (#13694)
* [openwebnet] first changes for Alarm support
* [openwebnet] added first version Alarm handler
* [openwebnet] added ownIdTest for Alarm
* [openwebnet] added things def for Alarm and discovery for alarm zone
* [openwebnet] refreshDevice
* [openwebnet] fix text formatting
* [openwebnet] fixes
* [openwebnet] added other alarm channels
* [openwebnet] Alarm: codestyle and null checks
* [openwebnet] updated Alarm examples in README and some cleanup
* [openwebnet] changed zone channel from armed to state, cleaned README

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-12-05 12:57:25 +01:00
pali
590b2cb4f7 [lifx] Set tagged flag accordingly for unicast and broadcast messages (#13744)
* Set tagged flag accordingly
* Update packets

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
2022-12-05 10:00:10 +01:00
Markus Michels
8f972362c3 [shelly] Plus 1/1PM Add-On support; fix roller pos on open/close state (#13520)
* Added #13493 Plus 1/1PM addon support; Fixed #13515 pos for roller in
open/close state; various null warnings removed; README updated

Signed-off-by: Markus Michels <markus7017@gmail.com>

* digitalInput, analogInput and voltage added for Add-On; README updated

Signed-off-by: Markus Michels <markus7017@gmail.com>

* shelly2-roller re-added (wrong assumption that Shelly 2 doesn't support
roller mode, because it has no power meter)

Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* Initialization for Californium 2.7.3 fixed (no multicast packets where
received)

Signed-off-by: Markus Michels <markus7017@gmail.com>

* Analogous input support for Plus Addon changed; Allterco made a format
change in the beta firmware

Signed-off-by: Markus Michels <markus7017@gmail.com>

* changes applied

Signed-off-by: Markus Michels <markus7017@gmail.com>

* README updated; Shelly Plus addon handling adjusted to latest firmware
(before was beta)

Signed-off-by: Markus Michels <markus7017@gmail.com>

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

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* fix JSON for Shelly1 - ext_switch_enable is a boolean, not an int

Signed-off-by: Markus Michels <markus7017@gmail.com>

Signed-off-by: Markus Michels <markus7017@gmail.com>
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-12-05 08:51:31 +01:00
Cody Cutrer
2382fadaaa [jrubyscripting] Implement dependency tracking (#13810)
* [jrubyscripting] implement dependency tracking

watchers had to be refactored similar to jsscripting.
it supports watching any directory referenced from RUBYLIB,
as well as the gem home. it properly excludes lib and gem home
(as well as other gem homes if you have multiple jruby versions
installed) from loading as regular scripts.

this is a breaking change if you don't have RUBYLIB explicitly
configured, and you are using the old default directory.

it's expected that the detection of what files and gems any
given script uses will be self-identified by the script, presumably
by the helper library.

JRubyScriptEngineConfiguration was largely refactored as part of this.
 * CONFIGURATION_PARAMETERS was renamed, and is no longer static, since
   it's modified every time the configuration is changed
 * OptionalConfigurationElement was simplified since default values
   are always provided now. this also simplified lots of other code
   that accesses the current settings.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-12-05 08:19:51 +01:00
Jacob Laursen
a0ac57cfd9 Fix date filter to be inclusive (PostgreSQL) (#13843)
Fixes #9906

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-05 00:27:54 +01:00
Tom Deckers
45a3054c76 Fix person reauth (#13839)
* add null checks
* fix/improve account.html

Signed-off-by: Tom Deckers <tom@ducbase.com>
2022-12-04 19:16:07 +01:00
Wouter Born
741f7decac [groupepsa] Add missing code owner (#13838)
This seems to have been forgotten as part of #10332.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-04 17:23:27 +01:00
openhab-bot
af8d984cd3 New Crowdin updates (#13836)
* New translations smsmodem.properties (French)

* New translations webexteams.properties (French)

* New translations smsmodem.properties (Italian)
2022-12-04 17:13:46 +01:00
lolodomo
7cbae110a0 [ecowatt] Add channels for D+2 and D+3 (#13823)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-12-04 16:32:26 +01:00
Jacob Laursen
312b4e2faf Fix console command 'tables' for SQLite (#13837)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-04 14:54:12 +01:00
lsiepel
3b3d18cef4 [tibber] Fix SAT warnings (#13835)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-12-04 12:18:20 +01:00
Tom Deckers
b696aebb36 [webexteams] Initial contribution (#13492)
* [webexteams] Initial contribution

Signed-off-by: Tom Deckers <tom@ducbase.com>
2022-12-04 12:15:42 +01:00
mschlenstedt
e7fcd03d59 [nibeheatpump] Readme for NibeGW for Arduino with Hardware and compilation hints (#13787)
* Hints for compiling and connecting hardware
2022-12-04 11:52:47 +01:00
Gwendal Roulleau
0c1728511f [smsmodem] Add codeowners (#13834)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-12-04 11:30:00 +01:00
openhab-bot
c7bd1747f1 New Crowdin updates (#13830)
* New translations avmfritz.properties (German)
* New translations androiddebugbridge.properties (Italian)
2022-12-04 00:41:16 +01:00
Daniel Demus
193b54107c [wundergroundupdatereceiver] Use html entities where in normal body (#13831)
Fix spelling

Signed-off-by: Daniel Demus <daniel-github@demus.dk>
2022-12-04 00:39:14 +01:00
Gwendal Roulleau
56728b6091 [smsmodem] Initial contribution (#12250)
* [smsmodem] Initial contribution

This binding connects to a USB serial GSM modem (or a network exposed one, a.k.a ser2net) and allows openHAB to send and receive SMS through it.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] README fix

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] build/spotless fix

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] compliance with 3rd party license

And long running thread naming convention
And treated some code warning 

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] i18n

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Small fixes

update channel
rename action to avoid colision with other binding and a too generic name

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Use of standard Thing properties

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Fix sender identifier error with special character

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Add encoding parameter

For non latin character in SMS

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Apply review

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Split local and remote modem in two thing-types

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Apply review

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Apply review

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

* [smsmodem] Apply code review (removing unnecessary method)

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-12-03 21:35:30 +01:00
GiviMAD
3e068ed431 [androiddebugbridge] Fix volume channel for android 11/12 (#13828)
* [androiddebugbridge] Fix volume channel for android 11/12
* [androiddebugbridge] Try get max volume level from device properties
* [androiddebugbridge] Fixes reported code analysis
* [androiddebugbridge] Fix comparison

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-12-03 17:40:29 +01:00
Raphael Mack
d777aa46c9 [resol] Fix handling of WeekTime fields on vbus (#13753)
* correct handling of WeekTime fields from and update vbus library, fixes #13447

Signed-off-by: Raphael Mack <ramack@raphael-mack.de>
2022-12-03 14:59:26 +01:00
maniac103
86e3b65816 [homematic] Fix min/max values for rollershutters (#13821)
* [homematic] Fix min/max values for rollershutters

For dimmers, the 1.0 max value sent by CCU was already converted to
percent values in the item state description. Do the same thing also for
roller shutters.

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-12-03 13:29:52 +01:00
Jacob Laursen
3bd34b3256 Migrate uptime channels to support UoM (#13827)
Fixes #13826

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-03 12:36:28 +01:00
Matthew Skinner
2a78b306d8 [ipcamera] Instar API updates for new 2k+ range (#13805)
* Instar updates
* Detect which API to use from reply.
* Add handling of REFRESH to instar.

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-12-03 10:20:11 +01:00
openhab-bot
75b639e9b3 New Crowdin updates (#13825)
* New translations openwebnet.properties (Italian)
* New translations unifi.properties (Dutch)
2022-12-03 00:47:36 +01:00
Florian Hotze
42b8505bef [jsscripting] Fix memory leak that crashes openHAB (#13824)
* [jsscripting] Fix memory-leak caused by com.oracle.truffle.host.HostObject

Fixes this memory leak by making the HostAccess for the GraalJSScriptEngine available in a static final variable instead of creating it for each new engine.
Solution proposed in https://github.com/oracle/graaljs/issues/121#issuecomment-690179954.

Sharing a single engine across all Contexts (as proposed in https://github.com/oracle/graaljs/issues/121#issuecomment-880056648) is not possible, because core expects a ScriptEngine.

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

* [jsscripting] Update JavaDoc

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

* [jsscripting] Close `GraalJSScriptEngine` when `OpenhabGraalJSScriptEngine` is closed

My breakpoint inside the close method of GraalJSScriptEngine did not trigger until this change was made.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-12-03 00:17:39 +01:00
Marcel
224d86e88a [miio] add support Xiaomi Smart Air Purifier 4 Compact (#13806)
* [miio] add support zhimi.airp.cpa4 WIP
* [miio] add support Xiaomi Smart Air Purifier 4 Compact

Adding support for the following models:
* Xiaomi Smart Air Purifier 4 Compact (modelId: zhimi.airp.cpa4)

Minor typo fixing (note: no breaking channel changes)

close: #13763

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-12-02 21:44:33 +01:00
Wouter Born
ce3067339d [groovyscripting] Update Groovy to 3.0.13 (#13822)
Updates Groovy from 3.0.9 to 3.0.13.

For all bugfixes and improvements, see:

* https://groovy-lang.org/changelogs/changelog-3.0.10.html
* https://groovy-lang.org/changelogs/changelog-3.0.11.html
* https://groovy-lang.org/changelogs/changelog-3.0.12.html
* https://groovy-lang.org/changelogs/changelog-3.0.13.html

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-02 21:17:25 +01:00
Jørgen Austvik
cad69c8de5 [Nanoleaf] New Channel: State (#13746)
* [Nanoleaf] New Channel: State

Shows an image of the state of the panels with color.

Also makes the layout slightly prettier. This is less functional than the layout, and more eyecandy.

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-12-02 21:14:53 +01:00
batje
45cbf52cf3 fix typos in plugwise plugin examples (#13820) 2022-12-02 13:09:04 +01:00
Дилян Палаузов
6c1373f7c2 Typos a/an (#13819) 2022-12-02 13:07:31 +01:00
Jacob Laursen
e979be4911 Fix Derby/H2/HSQLDB/SQLite queries for storing timestamps (#13817)
Fixes #13816

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-02 08:14:23 +01:00
pali
383b5137e4 [nibeheatpump] Support 16-bit addressing (#13752)
* [nibeheatpump] Support for 16-bit addressing

Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
2022-12-01 23:15:34 +01:00
Øystein Bedin
8d39875219 [tplinksmarthome] Add support for TP-Link KP401 Smart WiFi Outdoor Plug (#13818)
* [tplinksmarthome] Adding support for tp-link KP401 Smart WiFi Outdoor Plug

Signed-off-by: Øystein Bedin <oybed78@gmail.com>
2022-12-01 22:50:28 +01:00
Daniel Demus
43d01ad49c [wundergroundupdatereceiver] Bugfixes: Regenerate trigger channel with proper type and more metadata. Normalize channel names. It might be easiest to delete and allow recreation of channels. (#13327)
* [wundergroundupdatereceiver] LAST_QUERY parameter should not be mapped automatically
* [wundergroundupdatereceiver] All channeltype props need to be applied
Especially the channel kind
* [wundergroundupdatereceiver] Remove illegal characters from channel name

Additionally expand the channel naming test to assert the generated channelUID and test that _ in names isn't inadvertently replaced

* [wundergroundupdatereceiver] Don't default AutoUpdatePolicy on creation
* [wundergroundupdatereceiver] Migrate changed channel to trigger type

Signed-off-by: Daniel Demus <daniel-github@demus.dk>
2022-12-01 22:47:11 +01:00
dependabot[bot]
9cc3cd0cf9 [jdbc] Update PostgreSQL JDBC driver to 42.4.3 (#13770)
* Bump postgresql in /bundles/org.openhab.persistence.jdbc

Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.4.1 to 42.4.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.4.1...REL42.4.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-12-01 22:32:55 +01:00
Дилян Палаузов
78534e8106 Typos a/an (#13812) 2022-12-01 14:30:50 +01:00
Zhivka Dimova
622654ff1d [enocean] Handle messages with MSC RORG (#13786) (#13792)
Setting senderId for MSC RORG and set rorg to Unknown when there is no
mach with the supported(handled) RORG types.
Fixes #13786

Signed-off-by: Zhivka Dimova <zhivka.dimova@myforest.net>
2022-11-30 20:55:36 +01:00
J-N-K
ae677dcd9d [jsscripting] Refactor dependency tracking (#13756)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-11-29 21:59:58 +01:00
openhab-bot
4163775e0b New translations mqtt.properties (Italian) (#13809) 2022-11-29 19:35:06 +01:00
Marcel
ac546dee0f [miio] cloud login issues improvement (#13715)
* [miio] cloud login issues improvement

* Small change in debug loggin is login issues are expected
* Additional trouble shooting steps in readme
* Fix duplicate name in device list preventing readme maker running
* Catch a json exception in readme maker

close #13611
close #7459

* [miio] fix strange/foreign characters in readme

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-11-29 12:26:38 +01:00
M Valla
740d1a7f85 [openwebnet] Thermo: zone/CU address set correctly during discovery (#13803)
Fixes #13761

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-11-29 12:08:22 +01:00
Cody Cutrer
6bdcd15d99 [mqtt.espmilight] Automatically convert color values to color temp (#13578)
* [mqtt.espmilight] Automatically convert color values to color temp for RGB+CCT bulbs

Yes, it's lots of math, but references are provided. This supplants
whiteThreshold for RGB+CCT bulbs since it is far more flexible and
accurate.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-29 00:33:49 +01:00
jimtng
735089a7c7 [jrubyscripting] Allow multiple version specifiers for gems (#13779)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-11-28 23:51:19 +01:00
Jacob Laursen
3912487305 [jdbc] Add safety valve for suspicious migrations (#13797)
* Abort migration from real names when most tables have table name prefix
* Add missing checks for database connection from console commands
* Add additional documentation for check/fix schema

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-28 23:38:55 +01:00
Cody Cutrer
826fc9e8d7 [homekit] make sure to convert step values to Celsius (#13796)
otherwise if your step is 1.0 in fahrenheit, then your
values will get rounded to 1.0 celsius, and you might not
even notice you've lost precision in the Home app.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-28 23:11:40 +01:00
Florian Hotze
446be35ac5 [evcc] Extend accepted types for commands & Handle quantity types of commands (#13795)
* [evcc] Extend accepted command types
* [evcc] Convert QuantityType commands to required units
* [evcc] Allow evcc URL to end with a slash

Should fix an issue on the forum, where a user sent a command of DecimalType, but the binding expected a QuantityType.
See https://community.openhab.org/t/evcc-binding-electric-vehicle-charging-control/135209/15.
The accepted command types are extended for all channels if possible.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-28 22:17:26 +01:00
Dan Cunningham
d3ecba9e79 [qolsysiq] Fixes ENUM Typo (#13790)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-11-28 01:07:57 +01:00
eugen
5c5b3c29c9 [homekit] support stop for blinds (#13788)
* implement new blinds logic
* fix NPE, improve emulated state

Signed-off-by: Eugen <eugen@relotrust.com>
2022-11-27 23:39:50 +01:00
Dan Cunningham
1d9bf63d5e [qolsysiq] Initial contribution of the Qolsys IQ Binding (#13699)
* [qolsysiq] Initial contribution of the Qolsys IQ Binding

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-11-27 19:25:31 +01:00
Jacob Laursen
22ea587d20 [jdbc] Add console command for checking/repairing schema integrity (#13765)
* Add console command for checking schema integrity
* Remove unneeded logging
* Add console command for fixing schema integrity
* Provide documentation
* Try to add support for Derby and PostgreSQL
* Sort alphabetically by item name

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-27 19:02:43 +01:00
Cody Cutrer
583da2d516 [homekit] add @ccutrer as a codeowner (#13784)
Signed-off-by: Cody Cutrer <cody@cutrer.us>

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-26 21:39:06 +01:00
Cody Cutrer
b00d58d0eb [jrubyscripting] add @ccutrer and @jimtng as CODEOWNERS (#13783)
Signed-off-by: Cody Cutrer <cody@cutrer.us>

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-26 21:38:21 +01:00
Jerome Luckenbach
8681544e3b Fix log and website build (#13781)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-11-26 15:05:14 +01:00
Thomas Traude
66d7496d7b [knx] Remove obsolete public modifier in tests (#13776)
Since JUnit Jupiter test classes and methods do not need to be `public`.

It is recommended to omit the `public` modifier.
See https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods

"Class and method visibility
Test classes, test methods, and lifecycle methods are not required to be
`public`, but they must not be `private`.

It is generally recommended to omit the `public` modifier for test
classes, test methods, and lifecycle methods unless there is a technical
reason for doing so (...)"

Signed-off-by: Thomas Traude <t-riggs@gmx.net>
2022-11-26 12:19:43 +01:00
Cody Cutrer
4739f126a2 [jrubyscripting] log Ruby stacktrace on exception from JRuby (#13778)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-26 08:19:22 +01:00
Matthew Skinner
ea134d8215 [ipcamera] Improve support for newer 2k+ Instar cameras (#13773)
* Fix never ending WARN when HIK camera does not support alarm inputs.
* Streamline code.
* Update Instar support for 2k+ Generation.
* Fix alarm codes.
* Add CHANNEL_LAST_EVENT_DATA

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-11-26 08:15:29 +01:00
Marcel
698bee7c3e [miio] add support Xiaomi Smart Air Purifier 4 (modelId: zhimi.airp.mb5) (#13717)
* [miio] add support Xiaomi Smart Air Purifier 4 (modelId: zhimi.airp.mb5)

Adding support for the following models:
* Xiaomi Smart Air Purifier 4 (modelId: zhimi.airp.mb5)

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-11-26 06:59:34 +01:00
mlobstein
b4a5afd6a6 [nuvo] update rules examples in README (#13771)
* update rules examples

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-25 08:08:59 +01:00
Florian Hotze
29d2578981 [jsscripting] Fix add-on name in feature/pom (#13764)
* Update pom.xml
* Update feature.xml
* [jsscripting] Rename from JSScripting to JavaScript Scripting

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-24 23:23:19 +01:00
openhab-bot
ac3feabf1a New translations sensebox.properties (German) (#13774) 2022-11-24 13:03:33 +01:00
Patrik Gfeller
9fa30f5c35 Unfortunately I do not have the resources (and equipment) anymore (#13766)
to act as maintainer of this add-on; and therefore resign from this
role.
2022-11-23 20:05:36 +01:00
openhab-bot
ce4843f020 New translations sensebox.properties (German) (#13762) 2022-11-22 08:15:31 +01:00
Jacob Laursen
f9aa20e488 [jdbc] Fix date filter to be inclusive (#13734)
Fixes #9906

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-22 07:13:45 +01:00
Gaël L'hopital
1d23c32de1 Solves issue #11691 (#13758)
Signed-off-by: clinique <gael@lhopital.org>
2022-11-21 20:38:37 +01:00
openhab-bot
6c170db1bd New translations boschshc.properties (Italian) (#13757) 2022-11-21 11:08:49 +01:00
David Pace
1251873843 [boschshc] Support smart light bulbs (#13725)
* [boschshc] Support smart light bulbs (#13707)

* add thing type definition for smart bulbs using system channels
* add constants for thing type and channels
* implement and register handler
* implement binary switch service (to switch on/off)
* implement multi-level switch service (allows to get/set brightness
from 0-100%)
* implement service to get and set colors
* add unit tests for handler and state classes
- update documentation

Signed-off-by: David Pace <dev@davidpace.de>
2022-11-20 22:12:49 +01:00
Florian Hotze
bfff07bb01 [jsscripting] Reimplement timer creation method of ScriptExecution (#13695)
* [jsscripting] Refactor ThreadsafeTimers to create futures inline instead of in an extra methods
* [jsscripting] Introduce utility class for providing easy access to script services
* [jsscripting] Reimplement timer creation methods from ScriptExecution for thread-safety
* [jsscripting] Add missing JavaDoc for reimplement timer creation methods
* [jsscripting] Remove the future from the map when setTimeout expires
* [jsscripting] Rename `GraalJSScriptServiceUtil` to `JSScriptServiceUtil`
* [jsscripting] Remove the `createTimerWithArgument` method
* [jsscripting] Replace the OSGi workaround of `JSScriptServiceUtil` with an injection mechanism
* [jsscripting] Use constructor to inject `JSScriptServiceUtil` into `GraalJSScriptEngineFactory`
* [jsscripting] Minor improvements by @J-N-K (#1)
* [jsscripting] Minor changes related to last commit to keep flexibility of `JSRuntimeFeatures`
* [jsscripting] Upgrade openhab-js to v2.1.1
* [jsscripting] Remove unused code

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
Co-authored-by: Jan N. Klug <github@klug.nrw>
2022-11-20 22:08:19 +01:00
Fabian Wolter
d0736bdea9 [pwm] Fix NPE when disabling and improve logging (#13755)
* [pwm] Fix exception when disabling the module
* Improve logging

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-11-20 20:38:00 +01:00
Florian Hotze
103619741d [jsscripting] Fix the console.trace polyfill to log a stack trace & Stringify JS Error (#13749)
* [jsscripting] Fix the `console.trace` polyfill to log a stack trace & Stringify JS `Error`
* [jsscripting] Add myself to the codeowners

Fixes #12646

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-20 20:30:42 +01:00
eugen
54e934be3d [homekit] simplify settings page, resize doc images (#13741)
* simplify config, resize images

Signed-off-by: Eugen <eugen@relotrust.com>
2022-11-20 20:07:45 +01:00
openhab-bot
34b2cead83 New translations sensebox.properties (German) (#13748) 2022-11-20 17:35:58 +01:00
Florian Hotze
4dde19203a [jsscripting] Fix maven build (#13747)
This fixed the maven build, that fails because webpack-cli version 5.0.0 doesn’t properly process the given entrypoint.
Instead, webpack tries to use the entrypoint from openhab-js‘ webpack config file.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-20 17:30:23 +01:00
Jacob Laursen
d3348327a9 Fix PostgreSQL query for storing timestamps (#13745)
Fixes #13121

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-19 20:57:51 +01:00
Matthew Skinner
c9b9002b8e Fix wrong textual format. (#13742)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-11-19 09:22:58 +01:00
mlobstein
ed96a39b99 [dscalarm] Fix broken link in README (#13743)
* Update README

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-19 09:18:32 +01:00
Jacob Laursen
d075f141d7 Make itemsManageTable configurable (#13737)
Fixes #9637

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-18 17:34:10 +01:00
openhab-bot
63ecbc264a New translations juicenet.properties (Italian) (#13736) 2022-11-17 22:56:36 +01:00
Jacob Laursen
ea49488b86 [harmonyhub] Fix reliability issues (#13702)
* Fix compiler info

Unsafe interpretation of method return type as '@NonNull' based on the receiver type 'java.util.Enumeration<java.net.@NonNull NetworkInterface>'. Type 'java.util.Enumeration<E>' doesn't seem to be designed with null type annotations in mind

* Improve robustness of job rescheduling and handler disposal

Handler tried updating thing although the handler was already disposed

Fixes #13701

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-17 20:48:28 +01:00
Jacob Laursen
b6f9f6339e [jdbc] Add warning about using tableCaseSensitiveItemNames without dedicated schema (#13732)
* Add warning about using tableCaseSensitiveItemNames without dedicated schema
* Move warning to extended description
* Rephrase explanation
* Fix commands

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-17 20:05:10 +01:00
Jacob Laursen
dbf2358280 Do not modify index or create tables when uninitialized (#13728)
Fixes #13727

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-17 20:00:31 +01:00
Jacob Laursen
2f786b87b4 Add console command for reloading index/schema (#13733)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-17 19:52:54 +01:00
Doug Culnane
cc3ac23ae0 [awattar] Fix that allows bridge to be added via UI. (#13730)
Signed-off-by: Doug Culnane <doug@culnane.net>
2022-11-17 19:46:57 +01:00
Jacob Laursen
3ef974df17 Fix NoSuchElementException when there are no tables (#13731)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-17 00:58:14 +01:00
Marcel
cf241f8b4f [miio] Fix dimming channels for several yeelights (#13724)
The majority of brightness channels were already converted to dimmer.
This PR applies same to the 'other'brightness channels like nightlight
and/or ambient

close: #9936

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-11-16 13:26:26 +01:00
Jacob Laursen
0873dd3ddf [jdbc] Improve error handling safety (#13726)
* Wrap YankSQLException into checked exception for all Yank calls

* Move files into internal

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-16 09:28:46 +01:00
mlobstein
dff4d3b4fb Add missing status (#13729)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-16 08:14:10 +01:00
Jacob Laursen
7eb2c9fb81 [jdbc] Improve error handling (#13719)
* Enable wrapped exceptions being thrown by Yank

Fixes #13718

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix SAT warning about hashCode implementation

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-15 08:44:12 +01:00
mlobstein
12980e7147 fix system_buttonpress not populating (#13721)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-15 00:30:34 +01:00
Konstantin Polihronov
1471709b52 [tesla] Add steering wheel heater command support for Model 3/Y (#13704)
* Add steering wheel heater channel for Model Y
* Add command for steering wheel heater

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2022-11-14 21:33:21 +01:00
robnielsen
0276d32897 [ecobee] Add air quality channels for Ecobee Smart Thermostat Premium (#13705)
* [ecobee] Add air quality channels for Ecobee Smart Thermostat Premium

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-11-14 21:29:34 +01:00
Florian Hotze
11d3c641e5 [jsscripting] Fix failure on some platforms & JDKs (#13714)
* [jsscripting] Downgrade GraalVM to fix issue with armv7l & OpenJDK 11.0.16

The community reported several cases where JS Scripting was not working due to some issue with the injection of the global script.
This issue seems to only occur on armv7l (e.g. Raspberry Pi 32bit) and OpenJDK 11.0.16.
Investigation showed that the occurrence of the problem depends on the GraalJS version.

See https://community.openhab.org/t/js-scripting-all-scripts-stop-working-when-upgrading-to-3-4-0-m4/140837.

* [jsscripting] Add logging for injection of JSRuntimeFeatures
* [jsscripting] Lint `@jsscripting-globals.js` with semistandard
* [jsscripting] Remove ICU4J as it moved to `org.graalvm.truffle`

Reference f5661d4655/CHANGELOG.md (version-2200).

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-14 20:30:44 +01:00
Christian Wild
40723a80a0 [tapocontrol] fixed configuration error (#13677)
* improved response logging and error handling

Signed-off-by: Christian Wild <christian@wildclan.de>
2022-11-14 10:13:05 +01:00
Florian Hotze
aee4d31d5b [evcc] Fix data type issues in DTO (#13710)
* [evcc] Change DTO from double to float as the higher precision is not required
* [evcc] Change DTO from int/long to float
* [evcc] Update JavaDoc & small improvements
* [evcc] `EvccHandler`: Add exception message to the debug log

Fixes https://github.com/openhab/openhab-addons/issues/13646.
Avoids problems with changed data types in the future by generally using float instead of int.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-13 12:54:00 +01:00
jsjames
71d1226505 [juicenet] Initial contribution (#10768)
Signed-off-by: Jeff James <jeff@james-online.com>
2022-11-13 12:27:43 +01:00
Jørgen Austvik
fbd06ec709 [Nanoleaf] Visualize layout (#13552)
* Visualize Nanoleaf layout
* Only calculate image if channel is linked
* White background image
* Render more shapes

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-11-12 23:00:08 +01:00
mlobstein
160e0c2548 [nuvo] Add zone actions for rules (#13658)
* Add zone actions for rules
* Don't scan for NuvoNet source messages if openHAB NuvoNet sources are not being used

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-12 16:57:22 +01:00
Sami Salonen
a1270c7822 [mqtt.homeassistant] Fix binding crash when home assistant discovery topics update with content (#13518)
* [mqtt.homeassistant] Fix for discovery topics that update with content

Fixes #13517
Possibly resolves #9711 and #12295 as well.

* [mqtt.homeassistant] Sort channels before changing thing
* [mqtt.homeassistant] logging + removed unnecessary synchronization
* Resolve bunch of warnings in homeassistant bundle
* [mqtt.homeassistant] Handling null warnings and unnecessary null checks
* [mqtt.homeassistant] Removing unnecessary null checks

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
Co-Authored-by: @antroids github handle
2022-11-12 12:46:43 +01:00
Jacob Laursen
159054a99c [jdbc] Add console maintenance commands (#13662)
* Add console command for listing tables
* Query row counts only when needed and while generating output
* Add cleanup command
* Add documentation

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-12 12:30:53 +01:00
Boris Krivonog
248ca1830a If for some reason HP response fails to properly parse, i.e. java.lang.NumberFormatException: For input string: "##" exception is not handled and scheduler is not re-triggered (polling stops).Fixed build warnings. (#13685)
Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
2022-11-12 10:44:45 +01:00
Mark Herwege
fe269b127a [Systeminfo] Add comment on temperature readings on Windows (#13696)
* Add comment on temperature readings on Windows

Signed-off-by: Mark Herwege mark.herwege@telenet.be
2022-11-11 23:17:52 +01:00
quidam
8c7d774074 [avmfritz] Decode alarm state for blinds (#13672)
* [avmfritz] Decode alarm state for blinds
Signed-off-by: Ulrich Mertin <mail@ulrich-mertin.de>
2022-11-11 23:13:05 +01:00
openhab-bot
62899e0fa5 New translations jdbc.properties (German) (#13697) 2022-11-11 22:36:39 +01:00
mlobstein
69b9f9895f [monopriceaudio] Update README (#13688)
* Update README

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-11-11 13:07:59 +01:00
Fabian Wolter
3ed44f1ba5 [lcn] Fix setting of variables (#13690)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-11-11 10:12:32 +01:00
David Pace
49fa349590 [boschshc] Support obtaining battery states (#13461) (#13631)
This change adds support for obtaining the battery state for the
following devices:

* Motion Detector
* Thermostat
* Twinguard
* Wall Thermostat
* Window/Door Contact

The following changes were made:

* Add system.battery-level and system.low-battery channels to Motion
Detector, Thermostat, Twinguard, Wall Thermostat and Window/Door Contact
* Add constant for battery-level and low-battery channels in
BoschSHCBindingConstants
* Implement abstract handler and service for battery-powered devices
* Let appropriate devices inherit the abstract implementation
* Add missing super calls in initializeServices() methods
* Rename existing getServiceURL() to getServiceStateURL() in HTTP client
* Add methods to retrieve service states without the suffix "/state" in
the URL
* Rename DeviceStatusUpdate to DeviceServiceData
* Let DeviceServiceData extend BoschSHCServiceState
* Extend DeviceServiceData DTO with model for faults
* Enhance bridge handler: handle updates without state sub-objects,
extract methods to enhance readability
* Add unit tests for all affected devices
* Minor code enhancements
* Update documentation

Signed-off-by: David Pace <dev@davidpace.de>
2022-11-11 08:23:48 +01:00
Stian Kjoglum
49fe49c1a9 Updates for breaking API changes (#13680)
Signed-off-by: kjoglum <stiankj@online.no>
2022-11-10 20:57:45 +01:00
Jacob Laursen
64791b386c [jdbc] Upgrade MariaDB connector to 3.0.8 (#13659)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-09 23:01:15 +01:00
openhab-bot
a8f671960d New translations jdbc.properties (German) (#13686) 2022-11-09 10:52:30 +01:00
openhab-bot
cdff5a06e7 New translations jdbc.properties (German) (#13678) 2022-11-08 11:07:37 +01:00
lolodomo
a33f08f517 [vesync] Add author in CODEOWNERS (#13676)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-07 18:48:51 +01:00
Bernd Weymann
51f1c0978b [mercedesme] New API Migration (#13670)
* adjust servers and scope
* ensure IPv4 address for callback

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-11-07 18:48:48 +01:00
lolodomo
bf804ce42c [mercedesme] Add author in CODEOWNERS (#13675)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-07 18:45:19 +01:00
lolodomo
b9c19f5156 [easee] Add author in CODEOWNERS (#13674)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-07 18:44:56 +01:00
openhab-bot
0154427c99 New Crowdin updates (#13671)
* New translations meater.properties (Danish)
2022-11-07 13:25:06 +01:00
Jacob Laursen
c467139208 Fix bridge initialization when parameter quoteList is not configured (#13667)
Fixes #13666

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-07 09:20:20 +01:00
Jacob Laursen
c7020bfee8 [kodi] Fix bridge initialization when parameter group is not configured (#13669)
Fixes #13668

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-07 06:49:05 +01:00
Wouter Born
0470d3978f [groheondus] Upgrade dependencies (#13665)
* Upgrade commons-text to 1.10.0 (prevents CVE-2022-42889)
* Upgrade commons-lang3 to 3.12.0
* Remove commons-text, wrap from feature because it is embedded into the bundle

Signed-off-by: Wouter Born <github@maindrain.net>
2022-11-06 20:22:08 +01:00
Florian Hotze
b0d4f5a5fd [jsscripting] Update openhab-js version to 2.1.0 (#13664)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-06 20:15:10 +01:00
Marcel
162e1461b0 [miio] Fix warning messages and discovery on newer robots (#13111)
also includes update to latest devicenames list

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-11-06 10:03:51 +01:00
Jacob Laursen
2c30756fdd [jdbc] Fix MySQL deprecation notice on startup (#13660)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-05 20:27:38 +01:00
Cody Cutrer
db0ca281ca [mqtt.homeassistant] support non-RGB lights (#13413)
* [mqtt.homeassistant] support non-RGB lights

dynamically decide which type of channel to expose. also send "down-typed"
commands to the proper topic. this also sets the groundwork for supporting
template and JSON schemas

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-05 16:57:06 +01:00
lolodomo
969fef8612 [tellstick] Avoid updates duplication after communication errors (#13479)
* [tellstick] Avoid updates duplication after communication errors

Fix #13453

Do not register the same device handler many times as listener in the bridge handler
Unregister the device handler from the bridge handler when disposing device handler

HTTP timeout set to 15s
Remove the retry mechanism related to the timeout
Check HTTP status code
Fix discovery service unregistration
Log statistics about request/refresh durations and number of timeouts/errors
Change logging in case of exception
Also change few logs level (remove usage of logger.error)
Execute one refresh at bridge initialization and not 2
Small enhancement of the bridge/things status management
implement discovery service unregistration
Fix few code analysis findings

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

* Use a set for deviceStatusListeners to avoid duplications

Review comment: @NonNullByDefault for TellstickHandlerFactory

Review comment: use ThingStatusDetail.CONFIGURATION_ERROR if no bridge
is defined

Review comment: use 1_000_000 instead of 1000000

Review comment: use Instant instead of LocalDateTime

Review comment: Thread.currentThread().interrupt()

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-05 16:11:06 +01:00
Florian Hotze
51d3fc211a [jsscripting] Reimplement timer polyfills to conform standard JS (#13623)
* [jsscripting] Reimplement timers to conform standard JS
* [jsscripting] Name scheduled jobs by loggerName + id
* [jsscripting] Update timer identifiers
* [jsscripting] Update identifiers for scheduled jobs
* [jsscripting] Synchronize method that is called when the script is reloaded
* [jsscripting] Cancel all scheduled jobs when the engine is closed
* [jsscripting] Ensure that a timerId is never reused by a subsequent call & Use long primitive type instead of Integer
* [jsscripting] Use an abstraction class to inject features into the JS runtime
* [jsscripting] Make ThreadsafeTimers threadsafe for concurrent access to the class itself
* [jsscripting] Move the locking for `invokeFunction` to `OpenhabGraalJSScriptEngine`

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-11-05 15:26:46 +01:00
Cody Cutrer
bbc744e3ff [jrubyscripting] don't manually filter presets. (#13548)
simply just don't overwrite any constants that already exist

refs https://github.com/openhab/openhab-core/pull/3113

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-11-05 15:23:02 +01:00
lolodomo
c81790cebf [verisure] Avoid updates duplication after communication errors (#13652)
Avoid registering several times the same device status listener.
It is called by the thing handler each time the bridge status changed to ONLINE.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-05 14:42:01 +01:00
basse04
f184e4e88f [kostalinverter] Fix for the Kostal inverter binding to work with different firmware releases regarded to PIKO 10-20 V. 221004 (#13490)
* [kostalinverter] Fix for the Kostal inverter binding to work with
different firmware releases regarded to PIKO 10-20 Version 221004

This is the next version regarded to Closed PR #13464

* [kostalinverter] Changes done 20221019
Regarded to Thread.....

* Proper handling of InterruptedException

Also removbe a useless call to return

Signed-off-by: Örjan Backsell <orjan.backsell@gmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2022-11-05 13:50:49 +01:00
Leif Bladt
a5823d8df0 Add support for Dreame L10 Pro (#12803)
Signed-off-by: Leif Bladt <leif.bladt@gmx.de>
2022-11-05 13:10:08 +01:00
Jacob Laursen
70abb5d1f6 [jdbc] Add support for case sensitive table names reflecting item names 1:1 (#13544)
* Do not append number when using real item names
* Extract getTableName to separate class
* Add initial test coverage
* Extract migration logic to separate class
* Support migration from real names back to numbered
* Simplify zero-padding
* Fix NullPointerException
* Fix MySQL compatibility when CLIENT_MULTI_STATEMENTS option is not set
* Add option for case sensitive table names
* Add real name with suffix mode for backwards compatibility
* Remove real name in lower case without suffix mode
* Map directly from item name to table name
* Fix ambiguous table name scenario
* Add additional testcase
* Add migration path for changed table prefix
* Drop items table when using direct mapping
* Add configuration note
* Fix table alignment
* Extend description as more migration paths are now supported
* Do not stop halfway through a migration
* For clarity, do not use abbreviation for operating system

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-05 10:41:31 +01:00
alexf2015
f880ca91f9 adopted date parser due to changes in EASEE API (#13654)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2022-11-04 19:56:30 +01:00
Silviu Chingaru
1e07d1af03 [paradoxalarm] Handle multiple panels (#13641)
* Fixes #13640

Working with multiple Paradox panels

Tested with:
- rename things files;
- thing disable / enable on same instance of OpenHab;
- disable on one OpenHab instance > enable on other;

Everything works as espected.
All test passed even if no Login/Logout commands were sent to IP module

Signed-off-by: Silviu Chingaru <silviuchingaru@yahoo.com>
2022-11-04 19:01:39 +01:00
bruestel
5654b9f97a [homeconnect] Fix login for simulator environment (#13653)
* Add redirect URI to oAuth request

Signed-off-by: Jonas Brüstel <jonas@bruestel.net>
2022-11-04 18:28:40 +01:00
Jacob Laursen
c114714a7b [hdpowerview] Restructure DTO classes (#13630)
* Extract nested DTO's to separate classes
* Rename api to dto
* Move test classes into internal
* Finish moving of files and fix namespaces

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-11-04 18:24:39 +01:00
Mark Herwege
cf2a1afd56 [systeminfo] dynamic channels (#13562)
* Dynamic channels
* Status messages i8n
* Format fix
* Cache process load values
* Restore channel configs
* Fix test
* Stabilize tests
* Fix CpuLoad1-5-15 update
* Fix test bndrun
* String equals cleanup
* Fix potential null pointer in test

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-11-04 13:28:27 +01:00
Wouter Born
a4f6159f09 [mercedesme] Fix unstable ConfigurationTest (#13650)
* Make sure IPv4 is used with default callback URL
* Use a more reasonable timeout

Fixes #13531

Signed-off-by: Wouter Born <github@maindrain.net>
2022-11-03 22:16:07 +01:00
Martin Herbst
54ccf847da Some HM devices are using relative humidity (% rH/rF) as units (#13626)
Fix #13553

Signed-off-by: Martin Herbst <develop@mherbst.de>
2022-11-03 19:21:13 +01:00
Andrea Cioni
d505c01a6f Update README.md (#13642)
`color_mode` is not recognized as a channel parameter, instead, `colorMode` is
2022-11-02 08:20:58 +01:00
lolodomo
79bf9724fc [netatmo] eventBuffer in SecurityCapability should not be static (#13636)
Also fix few findings by code analysis

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-02 08:16:25 +01:00
lolodomo
b85e9b43df [sagercaster] Fix all code analysis findings (#13637)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-01 15:33:54 +01:00
lolodomo
aea2fd4002 [lifx] Fix all code analysis findings (#13638)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-01 15:31:37 +01:00
lolodomo
7728bbc232 [vigicrues] Fix few code analysis findings (#13639)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-11-01 15:30:29 +01:00
Thomas Weißschuh
894668ffce [linuxinput] handle keys not known by libevdev (#13632)
* [linuxinput] handle keys not known by libevdev

Previously if libevdev could not resolve a numeric event code to a
symbolic name the name "null" was used.
This is useless for the user and may lead to duplicate-channel errors if
multiple unknown keys are encountered.

Instead use the numeric code itself as channel name if no symbolic code
could be determined.

Reported-in: https://community.openhab.org/t/linuxinput-binding-and-mouse-capture/122612/8
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>

* [linuxinput] add channel description

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2022-11-01 14:06:58 +01:00
openhab-bot
33de7b426b New Crowdin updates (#13635)
* New translations hue.properties (French)

* New translations lgwebos.properties (French)

* New translations lgwebos.properties (French)
2022-11-01 14:03:15 +01:00
openhab-bot
813489c2de New translations hue.properties (German) (#13634) 2022-11-01 10:55:11 +01:00
lolodomo
becb30187e [netatmo] No restriction on max value for rain quantity (#13620)
* [netatmo] No max value for rain quantity

Fix #13619

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-31 20:55:26 +01:00
lolodomo
b6c073d088 [lgwebos] Actions: sendButton updated, sendRCButton removed, sendKeyboard added (#13618)
* README: make the list of remote control buttons less specific to a model

Fix #13600

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-31 19:57:46 +01:00
Konstantin Polihronov
ec90a091c6 Fixes #13628 (#13629)
* Change static config in bridge handler to non-static (fixes #13628)

Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
2022-10-31 18:11:15 +01:00
David Pace
71da06dac7 [boschshc] Support for Compact Smart Plugs (#13528) (#13533)
* add thing definition with ID "smart-plug-compact"
* add constant for thing type UID
* extract abstract implementation for devices with power switch and
energy monitoring
* let in-wall switch handler and smart plug handler extend the abstract
implementation
* register new handler
* add method with boolean parameter to fetch initial state actively
* make BoschSHCDeviceHandler abstract
* add documentation
* add unit tests

closes #13528

Signed-off-by: David Pace <dev@davidpace.de>
2022-10-31 17:21:25 +01:00
openhab-bot
e528564bb6 New translations hue.properties (Italian) (#13627) 2022-10-31 09:22:35 +01:00
Michi
6024eb84f6 [miio] Update yeelink.light.light15.json (#13554)
* Update yeelink.light.light15.json

changed Datatype form "Number" to "Dimmer" at channel "ambientBrightness"
same issue openhab#9936 (but already fixed)

Signed-off-by: Michi <michael.schmidts@online.de>
2022-10-30 20:41:13 +01:00
lolodomo
b9591222f5 [hue] Check HTTPS connection (download of PEM certificate) (#13617)
* [hue] Check HTTPS connection (download of PEM certificate)

Fix #13586

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-30 13:04:09 +01:00
mlobstein
99e309e991 [kaleidescape] update README (#13593)
* update README

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-10-29 10:43:32 +02:00
Jacob Laursen
af4657f3db Add console extension for showing IDs (#13615)
Fixes #13614

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-28 19:11:24 +02:00
Björn Lange
a84d170192 Fix missing web resource unregistration (#13613)
Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2022-10-28 12:58:16 +02:00
Arne Seime
618b7a4e3a [groheondus] Fix missing automatic refresh ++ (#11955)
* Fix scheduling of thing and token update, tries to avoid service rate limiting. Added more logging. Added some missing null checks. Ensure recent data is fetched, not data from yesterday

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Updated to latest versio of API lib

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Added new channel waterconsumption_since_midnight that sums todays water consumption (same as in the Grohe app)

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Add more debug logging

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* More null checks, also set channels to Undef if a value is missing

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Fixed missing embedding of commons-text as it is a dependency of the api lib

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Refresh token 1 hour before expiry

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Re-login in case token refresh fails

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Factor in timezone when calculating consum since midnight

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Use QuantityType<Volume> for water consumption

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Minor

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* i18n of dynamic error messages

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* More i18n. Plus retry of failed refresh token - with a delay to possibly avoid rate limiting

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Adjust refresh token timeout to 5 minutes before expire. Also retry with username/pwd login if token login fails (could be an expired token)

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Clear old discovery results

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Fetch data further back to ensure battery device has been online

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Updated README with old data warning

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Typo

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Do not allow polling interval less than 900 as rate limiting most likely will block the calls

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Fix failed token refresh giving up

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Removed refresh token login webpage. Another attempt at handling token refresh

Signed-off-by: Arne Seime <arne.seime@gmail.com>

* Fix status detail

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Restore formatting

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix newly introduced warnings

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Remove redundant logging

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

Signed-off-by: Arne Seime <arne.seime@gmail.com>
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-27 09:03:17 +02:00
Cody Cutrer
26ad08cca9 [mqtt] set the proper unit in the state description (#13604)
So that other pieces of openhab can know what unit it's going to be,
without it having a value yet. Importantly, any necessary conversion
that need to be applied to the other portion of the state description -
min, max, and step.

See also https://github.com/openhab/openhab-core/pull/3132

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-27 08:34:50 +02:00
Matthew Skinner
234d354a2e [ipcamera] Fix multiple WARNs when HIK camera does not support alarm inputs (#13606)
* Fix never ending WARN when HIK camera does not support alarm inputs.
* Streamline code.

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-10-27 08:28:27 +02:00
jimtng
a68ff57c17 [jrubyscripting] Update to JRuby 9.3.9.0 (#13605)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-10-26 14:30:10 +02:00
lolodomo
4a8b792621 [freebox] Console command completion (#13591)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:32:34 +02:00
lolodomo
2c78c3bd53 [lgwebos] Console command completion (#13590)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:31:09 +02:00
lolodomo
1d5eb58619 [linky] Console command completion (#13589)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:29:58 +02:00
lolodomo
6a76a596b4 [hue] Console command completion (#13597)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:29:12 +02:00
lolodomo
6b8fb11445 [powermax] Console command completion (#13588)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:27:28 +02:00
lolodomo
91a0a274df [somfytahoma] Console command completion (#13598)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-25 09:25:40 +02:00
Florian Hotze
eda5a562a0 [jsscripting] Name timers created by polyfills (#13576)
* [jsscripting] Name timers created by polyfills

Fixes #13478.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-10-24 23:40:44 +02:00
lolodomo
50d946e467 [netatmo] Console command completion (#13587)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-24 23:34:32 +02:00
Jacob Laursen
af8a941f1f [meater] Add console extension for showing IDs (#13601)
* Add console extension for showing IDs

Fixes #13599

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-24 23:27:33 +02:00
Florian Hotze
cf47dc0f39 [jsscripting] Fix multi-thread access (#13582)
* [jsscripting] Share the lock mechanism that was used only for rules
This change moves the lock object that was originally created for ThreadsafeSimpleRuleDelegate to OpenhabGraalJSScriptEngine to make share it across the whole engine.

* [jsscripting] Inject the lock object into the JS runtime
* [jsscripting] Update `setTimeout` & `setInterval` polyfills to enable threadsafety
* [jsscripting] Upgrade GraalJS from 21.3.0 to 22.3.0
* [jsscripting] Reduce compiler warnings
* [jsscripting] Update node version of frontend-maven-plugin

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-10-24 13:35:33 +02:00
Jacob Laursen
671d2de9b2 Reinitialize properties after configuration change (#13592)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-23 22:07:14 +02:00
openhab-bot
42d93c3b97 New Crowdin updates (#13585)
* New translations exec.properties (French)
* New translations watsonstt.properties (French)
2022-10-22 23:41:33 +02:00
Christoph Weitkamp
ee34d92c17 [hue] Changed discovery to mDNS; added HTTPS handling; refactor HTTPClient to use jetty shared client (#11842)
* Changed discovery to MDNS; added HTTPS handling; refactor HTTPClient to use jetty shared client

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-10-22 23:39:51 +02:00
openhab-bot
d2efe69a73 New translations rotel.properties (French) (#13584) 2022-10-22 21:21:45 +02:00
Cody Cutrer
66c7211b26 [homekit] increase flexibility of ColorTemperature (#13538)
* [homekit] increase flexibility of ColorTemperature

allow Number or Dimmer items, and mired or Kelvin units.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-22 20:24:51 +02:00
openhab-bot
16c0bae0dd New translations rotel.properties (French) (#13583) 2022-10-22 20:24:19 +02:00
Cody Cutrer
5f6241cbc6 [mqtt] support mired<->Kelvin unit conversion (#13575)
Just have to use the newer toInvertibleUnit method that allows
the dimension to change.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-22 20:07:33 +02:00
openhab-bot
790e5d58c4 New Crowdin updates (#13580)
* New translations tplinkrouter.properties (French)

* New translations meater.properties (French)
2022-10-22 14:18:31 +02:00
openhab-bot
6c72edd372 New Crowdin updates (#13579)
* New translations amplipi.properties (Italian)

* New translations anel.properties (Italian)
2022-10-22 12:15:52 +02:00
lolodomo
02820a9ebe [netatmo] Extend example with things for energy stuff (#13568)
* [netatmo] Extend example with things for energy stuff

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-20 22:51:03 +02:00
Andrew Fiddian-Green
c9481d5c36 [hdpowerview] add duette/applause skylift shades (#13574)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-10-20 12:49:23 +02:00
GiviMAD
60c13b5cd1 [jellyfin] upgrade sdk, fixes json parse error (#13572)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-10-20 07:26:39 +02:00
Andrew Fiddian-Green
66734bd5cf [hdpowerview] support for shade types 26,27,28 (#13571)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-10-19 21:19:55 +02:00
Cody Cutrer
68b52ee15b [homekit] Improve output of console's homekit show command (#13569)
* [homekit] Improve output of console's `homekit show` command

 * include the full JSON from all the characteristics, so you can confirm
   everything is configured correctly.
 * only use simple class names; the fully qualified package is just a
   distraction.
 * show linked services if they exist
 * include the class name of services, not just the GUID

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-19 20:17:55 +02:00
Cody Cutrer
91383250d4 [homekit] improve bundle deactivation time (#13566)
If you have many instances, it can take a while. So stop all the
instances in parallel. Also, fix a race condition where the update
debouncer might get called again after being stopped, because the
change listener was deregistered _after_ the debouncer was stopped.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-19 11:18:02 +02:00
lolodomo
77013bca39 [netatmo] Console command to show all devices/modules ids (#13555)
* [netatmo] Console command to show all devices/modules ids

Fix #13091

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-19 08:47:04 +02:00
lolodomo
dda2e9a288 [netatmo] more precision in doc where to find the refresh token (#13567)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-19 08:24:25 +02:00
Florian Hotze
bdefe17f08 [jsscripting] Upgrade openhab-js to 2.0.4 (#13565)
Fixes #13563.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-10-18 22:34:33 +02:00
GiviMAD
4bba6efe24 [voskstt] Fix load on linux arm (#13556)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-10-18 19:29:15 +02:00
openhab-bot
df74075d31 New translations allplay.properties (Italian) (#13561) 2022-10-17 21:06:45 +02:00
Gaël L'hopital
5552220870 [MAP] Adds fallback to original value when input not found (#13560)
* [MAP] Adding fallback to original value
Solves #10092

Signed-off-by: clinique <gael@lhopital.org>
2022-10-17 19:43:12 +02:00
Dan Cunningham
03cdc5e1b4 [openhabcloud] Removing content encoding when proxing. (#13559)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-10-17 08:06:08 +02:00
openhab-bot
a02e345f96 New Crowdin updates (#13558)
* New translations meater.properties (Italian)
* New translations tplinkrouter.properties (Italian)
2022-10-17 01:05:00 +02:00
GiviMAD
5762d239b3 [broadlinkthermostat] Aesthetic rename and add RM Mini (#13412)
* [broadlinkthermostat] Aesthetic rename and add RM Mini

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-10-16 23:13:12 +02:00
Jan Gustafsson
c75485df16 [meater] Initial contribution (#13400)
* First version.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
2022-10-16 10:13:18 +02:00
Olivier
73e18424b9 [tplinkrouter] Initial contribution (#13369)
* Initial commit

Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>
2022-10-15 21:52:33 +02:00
Wikibear
19b4c95103 [influxdb] Update README.md (#13541)
* Update README.md

At a link for further information what to do in a persist file.
2022-10-15 16:29:01 +02:00
billfor
39e2a29bcf [tesla] Options to control polling frequency and sleep (#13337)
* Options to control polling frequency and sleep mode
* Update documentation
* Fix request token expiration calculation and additional logging for tokens

Signed-off-by: Bill Forsyth <git@billforsyth.net>
2022-10-15 14:25:29 +02:00
lolodomo
45bf7aeeda [sonos] New codec id 61 for Dolby Atmos (#13551)
Fix #13540

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-15 11:48:20 +02:00
mlobstein
51054fe51b Ignore NuvoNet events for sources not managed by openHAB (#13535)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-10-15 10:27:37 +02:00
Stian Kjoglum
6103c30830 Bug Fix - Websocket reconnect after server failure (#13537)
Signed-off-by: kjoglum <stiankj@online.no>
2022-10-15 10:22:58 +02:00
Matthew Skinner
90ac9c7b78 Fix indexing of presets and playlists. (#13543)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-10-15 10:07:49 +02:00
Gaël L'hopital
bdbd5a1ede [gce] File based items are not updated (#13545)
* [gce] Correcting non updated input channels

Signed-off-by: clinique <gael@lhopital.org>
2022-10-15 10:02:01 +02:00
mlobstein
61b9e74c95 [epsonprojector] Log invalid number when expecting numeric response from projector (#13550)
* Log invalid number when expecting numeric response from projector

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-10-15 09:35:14 +02:00
mlobstein
f5101b1764 Log invalid number when expecting numeric response from projector (#13549)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-10-15 09:33:12 +02:00
openhab-bot
c29c0b4c86 New Crowdin updates (#13546)
* New translations airquality.properties (Italian)
* New translations airq.properties (Italian)
* New translations airvisualnode.properties (Italian)
* New translations androiddebugbridge.properties (Italian)
2022-10-14 13:57:49 +02:00
dependabot[bot]
0c68e9b930 [jinja] Upgrade jsoup from 1.14.3 to 1.15.3 (#13344)
* Bump jsoup from 1.14.3 to 1.15.3 in /bundles/org.openhab.transform.jinja

Bumps [jsoup](https://github.com/jhy/jsoup) from 1.14.3 to 1.15.3.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.14.3...jsoup-1.15.3)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
...

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 08:58:00 +02:00
dependabot[bot]
c9b09eb433 [ipobserver] Upgrade jsoup from 1.14.3 to 1.15.3 (#13343)
* Bump jsoup in /bundles/org.openhab.binding.ipobserver

Bumps [jsoup](https://github.com/jhy/jsoup) from 1.14.3 to 1.15.3.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.14.3...jsoup-1.15.3)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
...

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 08:57:21 +02:00
dependabot[bot]
37a91ab379 [ahawastecollection] Upgrade jsoup from 1.14.3 to 1.15.3 (#13342)
* Bump jsoup in /bundles/org.openhab.binding.ahawastecollection

Bumps [jsoup](https://github.com/jhy/jsoup) from 1.14.3 to 1.15.3.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.14.3...jsoup-1.15.3)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update feature.xml too

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

Also-by: Wouter Born <github@maindrain.net>
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-13 18:25:22 +02:00
openhab-bot
936365031c New Crowdin updates (#13542)
* New translations adorne.properties (Italian)
* New translations knx.properties (German)
* New translations jsscripting.properties (Italian)
2022-10-13 14:35:26 +02:00
Hilbrand Bouwkamp
f87a49dbeb [unifi] Fix PoE port mode for 24V (#13539)
* [unifi] Fix PoE port mode for 24V

The value UniFi expects is actually pasv24. Tested with different UniFi controller versions.

* [unifi] Added Hilbrand as codeowner to UniFi binding

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-10-13 14:34:28 +02:00
Arne Seime
9313310b5e [tibber] Add channel for tomorrows prices and timestamps as JSON array (#13416)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
2022-10-11 22:14:19 +02:00
dependabot[bot]
97956d30e9 [jdbc] Upgrade derby from 10.12.1.1 to 10.14.2.0 (#13038)
* Use derby instead of derbyclient, fix bnd optional package imports
* Update versions add dynamic package import for custom JDBC drivers
* Prevent redundant null check warnings

Signed-off-by: Wouter Born <github@maindrain.net>
2022-10-11 21:54:19 +02:00
Holger Friedrich
4e69e17f41 [knx] Improve localization (#13293)
* [knx] Improve localization

- introduce localization of error messages
- add new strings for common exceptions
- provide helper functions for translation
- add test cases

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-10-11 21:18:17 +02:00
openhab-bot
baa8d208ea New translations shelly.properties (German) (#13534) 2022-10-10 20:14:16 +02:00
Gaël L'hopital
e3d0039675 [gce] Avoid conflicts with things file defined (#13526)
* Avoiding dynamic creation of channels when channels already exists

Signed-off-by: clinique <gael@lhopital.org>
2022-10-10 18:42:49 +02:00
GiviMAD
c63e596680 [voskstt] fix sdk update and disable internal info logs (#13536)
* [voskstt] fix sdk update
* [voskstt] change internal sdk log level to warning

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-10-10 18:34:48 +02:00
mlobstein
f431bfc013 [nuvo] Add Image channel for album art (#13498)
* Add Image channel for Album Art

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-10-10 15:53:05 +02:00
Cody Cutrer
507e714dd0 [homekit] fix BooleanItemReader to work with DimmerItems (#13507)
* [homekit] fix BooleanItemReader to work with DimmerItems

DimmerItems have a PercentType state, which is easily convertible
to OnOffType, but is not inherited from it. So take that into account.

i.e. a variable speed fan can use a single DimmerItem for both
ActiveStatus and RotationSpeed.

* [homekit] Document that Dimmer is a possible item type for several booleans

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-10 13:36:23 +02:00
Cody Cutrer
d83c32cd24 [homekit] allow configuring maxValue on VOCDensity (#13508)
* [homekit] allow configuring maxValue on VOCDensity

the default of 1000 is quite low in reality. tested and confirmed
working with iOS 16

* [homekit] allow step value to be configured for VOCDensity

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-10 13:30:13 +02:00
alexf2015
6a27f17611 fix a bug reported by community: https://community.openhab.org/t/easee-binding/135492/58 (#13527)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2022-10-10 09:28:42 +02:00
Wouter Born
3f5bee114d [jpa] Fix Derby driver no longer included (#13532)
According to the add-on documentation the Derby driver is included which was no longer the case.
The derby version was also changed because 10.16.1.1 is for Java 17+.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-10-10 09:25:32 +02:00
dependabot[bot]
8e73299ba5 [ftpupload] Upgrade dependencies (#12693)
Also-by: dependabot[bot] <support@github.com>
Signed-off-by: Wouter Born <github@maindrain.net>
2022-10-09 23:50:27 +02:00
dependabot[bot]
27068048ce Bump protobuf-java in /bundles/org.openhab.voice.googlestt (#13491)
Bumps [protobuf-java](https://github.com/protocolbuffers/protobuf) from 3.19.2 to 3.19.6.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/generate_changelog.py)
- [Commits](https://github.com/protocolbuffers/protobuf/compare/v3.19.2...v3.19.6)

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-java
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-09 23:49:09 +02:00
openhab-bot
4590c54557 New Crowdin updates (#13523)
* New translations netatmo.properties (French)

* New translations nobohub.properties (French)
2022-10-09 13:10:10 +02:00
Gaël L'hopital
359c97b8ac [netatmo] Ensure all events are retrieved since they are buffered (#13505)
* Adding logic to ensure we retrieve all events.

Signed-off-by: clinique <gael@lhopital.org>
2022-10-09 12:17:08 +02:00
Andreas Berger
c2d792d2f3 [fineoffsetweatherstation] Fix README.md (#13506)
* fix typo
* link community thread
* add note for derived values

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-10-09 11:28:48 +02:00
Cody Cutrer
0409484c2e [homekit] allow RelativeHumidity as an optional characteristic on Thermostat (#13504)
also support QuantityType as a valid state type for double characteristics
(such as RelativeHumidity).

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-09 11:01:25 +02:00
Cody Cutrer
0aa28e5d40 [homekit] get min/max/step values from state description if possible (#13510)
this helps to auto-configure if the binding is providing the necessary info

metadata config still overrides

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-09 10:55:32 +02:00
Georgios Moutsos
7f1a096dca [caddx] Changed Hashmap keys from BigDecimal to int (#13521)
Signed-off-by: Georgios Moutsos <georgios.moutsos@gmail.com>
2022-10-09 09:41:34 +02:00
openhab-bot
337241f40e New Crowdin updates (#13514)
* New translations ambientweather.properties (Italian)
* New translations amazonechocontrol.properties (Italian)
* New translations jpa.properties (Italian)
* New translations openwebnet.properties (Italian)
2022-10-09 09:40:59 +02:00
Cody Cutrer
ccc199f429 [homekit] Allow Long type in configuration for numbers (#13509)
I.e. if it's set from a Ruby script

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-09 09:04:06 +02:00
Matthew Skinner
3aac15df62 Fix mjpeg wont open multiple streams when port is not 80 (#13502)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-10-08 21:26:51 +02:00
Wouter Born
0306f4508f [jpa] Add dynamic import, upgrade dependencies, add UI config (#13516)
* Adds a dynamic package import so JDBC drivers on the classpath can be used
* Upgrades OpenJPA from 2.4.0 to 3.2.2
* Upgrades Derby JDBC driver from 10.11.1.1 to 10.16.1.1
* Adds config.xml and ConfigurableService annotation so add-on can be configured using the UI
* Adds null annotations on all classes
* Prevent NPEs and some code cleanup

See also:

* https://openjpa.apache.org/builds/3.2.2/apache-openjpa/RELEASE-NOTES.html
* https://community.openhab.org/t/jpa-with-mysql-or-mariadb/138679

Fixes #13375

Signed-off-by: Wouter Born <github@maindrain.net>
2022-10-08 21:25:05 +02:00
Fabian Wolter
d18322f860 [network] Fix wake-on-lan functions in DSL rules (#13519)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-10-08 21:19:16 +02:00
Gaël L'hopital
a4781b4770 [netatmo] Adding Door/Window sensor (#13503)
* Initial PR to add NADoorTag to netatmo binding

Signed-off-by: clinique <gael@lhopital.org>
2022-10-08 18:49:44 +02:00
lolodomo
61187f89a0 [netatmo] Fix the description of the new channel request-count (#13512)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-08 12:51:11 +02:00
lolodomo
312b62487c [linky] Avoid internal server error (getting power peak early in the … (#13482)
* [linky] Avoid internal server error (getting power peak early in the morning)

Fix #13377

The binding now requests power peak data for 2 days (yesterday and the day before).

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-08 10:10:46 +02:00
Cody Cutrer
98677c18b3 [mqtt.homeassistant] ensure availability topics get subscribed (#13466)
HASS registers availability topics before calling start(), so
the AbstractMQTTThingHandler was never subscribing/starting the
availability channel(s). So do so in start() of the base class.

I checked other implementations, and either they already handle
re-registering availabilityTopics in their start()
(GenericMQTTThingHandler), or they don't use availabilityTopics
at all from the base class and manage it themselves (Homie).

Note that this shows up as newly-added HASS things not having
a problem (because the components aren't discovered until after
the ThingHandler is started), but if you restart OpenHAB or
disable/enable the thing, the channels (and components) are
cached, thus how availabilityTopics are known before starting.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-08 09:12:28 +02:00
Gaël L'hopital
959e65814b Handle properly UNKNOWN module types in discovery (#13500)
Signed-off-by: clinique <gael@lhopital.org>
2022-10-07 13:15:04 +02:00
Gaël L'hopital
56d72ca1c3 [netatmo] Buffer last event requests per child modules (#13489)
* Buffer last event requests per child modules
This is targetted to decrease the number of requests transmitted to Netatmo API.
Solves #13358

Signed-off-by: clinique <gael@lhopital.org>
2022-10-07 11:56:15 +02:00
Gaël L'hopital
cc6e4fad61 [netatmo] Adding a request counter (#13494)
* Adding a request counter channel to Api Bridge thing.

Signed-off-by: clinique <gael@lhopital.org>
2022-10-07 11:48:41 +02:00
Hans-Jörg Merk
31820ad740 Update README.md (#13497) 2022-10-06 23:15:55 +02:00
Gaël L'hopital
e14ce7d9eb [netatmo] Handling camera ping timeouts (#13487)
* Solves #13486

Signed-off-by: clinique <gael@lhopital.org>
2022-10-06 14:44:26 +02:00
M Valla
2519ec7236 [openwebnet] add support for basic Scenarios (WHO=0) (#13473)
* [openwebnet] added first support for WHO=0 scenarios
* [openwebnet] channels indent
* [openwebnet] formatting
* [openwebnet] set WHO=0 thing online automatically. Update to openwebnet4j 0.9.0

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-10-06 08:33:01 +02:00
Andreas Lanz
6e4f78458d [SunSpec] Add missing Inverter Status, Add Channel for Vendor-Specific Status (#13480)
* [SunSpec] Added missing InverterStatus

See e.g., https://github.com/sunspec/models/blob/master/json/model_101.json#L307

* [SunSpec] Added Channel for Vendor Specific Status

* [SunSpec] Fixing two old TODOs

VA and VAR are defined as alternate unit for WATT so no breaking change.

Signed-off-by: Andreas Lanz <alanz@gmx.de>
2022-10-05 07:49:31 +02:00
openhab-bot
232cef371a New translations jellyfin.properties (Italian) (#13488) 2022-10-04 12:29:59 +02:00
Jacob Laursen
12389f083d Consolidate and optimize datetime conversions (#13483)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-04 08:59:59 +02:00
Markus Michels
6835c278e1 [shelly] Add Plus/Pro support, some bugfixes (#13439)
* Plus/Pro support and some refactoring, bugfixes

Signed-off-by: Markus Michels <markus7017@gmail.com>

* Review changes applied

Signed-off-by: Markus Michels <markus7017@gmail.com>

* review changes

Signed-off-by: Markus Michels <markus7017@gmail.com>

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-10-04 08:00:50 +02:00
Felix Lo
d2dde9768f [openhabcloud] sleepSocketIO(long delay) halts entire io.socket thread #13210 (#13421)
* sleepSocketIO(long delay) halts entire io.socket thread CI #6047

Signed-off-by: lsafelix75 <lsafelix75@gmail.com>
2022-10-03 19:43:43 +02:00
openhab-bot
3074ee3de8 New Crowdin updates (#13481)
* New translations influxdb.properties (French)
* New translations tado.properties (Italian)
* New translations ecowatt.properties (Italian)
* New translations solarmax.properties (Italian)
2022-10-03 17:21:26 +02:00
Hilbrand Bouwkamp
0560a0e333 [unifi] Detect all PoE ports, and set PoE thing offline if no data could be found (#13455)
* [unifi] Set PoE thing offline if no data could be found

This would better reflect the PoE thing status if there is a problem with either the data from the api or a configuration problem (like invalid port number).

* [unifi] Fix bug to detect PoE ports when first port is not PoE port

The binding assumed either all ports or no ports were PoE, and asssumed if port 0 was not PoE none was PoE.
However, some switches have ports starting at port 5 to be PoE. Therefor changed code to just test each port if it is PoE.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-10-03 13:02:46 +02:00
Cody Cutrer
64d97374ad [homekit] allow NumberItems for BatteryLowStatus (#13449)
* [homekit] allow NumberItems for BatteryLowStatus

use a lowThreshold metadata config to infer if it's low

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-10-03 12:13:39 +02:00
alexf2015
e9848e27e8 [easee] Fix binding not working after Easee cloud API has been unavailable (#13469)
* fix #13463

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2022-10-02 18:28:33 +02:00
Jan Vybíral
c9decdbe49 [nuki] Disabled warning for things created from textual config (#13331)
* Removed warning shown when thing is created with hexadecimal warning for read-only things
* Added missing configuration parameters into documentation

Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
2022-10-02 18:10:40 +02:00
Andrew Fiddian-Green
5c7eaa33ac [tado] Channels are visible depending on device type and capabilities (#13301)
* [tado] create zone channels dynamically
* [tado] add JUnit test classes
* [tado] eliminate maven compiler warnings
* [tado] code optimisation
* [tado] read me
* [tado] current temperature & humidity also dynamic
* [tado] battery/window channels
* [tado] simplify channel builder
* [tado] fix bundle initialisation bug
* [tado] fix insert positions
* [tado] add channel type categories
* [tado] refactor battery checker
* [tado] create capabilities support in caller vs callee
* [tado] method doesn't throw exception
* [tado] remove new line
* [velux] add self to code owners
* [tado] capitalize categories

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-10-02 17:46:16 +02:00
Sami Salonen
8d9dfb20e3 [bluetooth.ruuvitag] Correct parse of NA temperature & acceleraiton (#13279)
Fixed by bumping support library fi.tkgwf.ruuvi:ruuvitag-comon
https://github.com/Scrin/ruuvitag-common-java/releases/tag/v1.0.2

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-10-02 14:32:22 +02:00
lolodomo
32747e825f [ecowatt] Fix a typo in a channel description (#13476)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-10-02 12:54:27 +02:00
GiviMAD
d24e3eadc3 [androiddebugbridge] Add mDNS discovery for android tv (#13462)
* [androiddebugbridge] add mDNS discovery for android tv

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-10-02 12:38:59 +02:00
openhab-bot
3c306e7c06 New Crowdin updates (#13474)
* New translations openweathermap.properties (French)

* New translations openuv.properties (French)

* New translations openhabcloud.properties (French)

* New translations ecowatt.properties (French)
2022-10-02 12:33:47 +02:00
Jacob Laursen
c706ac8478 [jdbc] Fix warnings and apply null annotations (#13429)
* Fix warnings and apply null annotations

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-10-02 11:14:41 +02:00
Stefan Giehl
c41c38405e [LuxtronikHeatpump] Adds discovery service (#11907)
* [LuxtronikHeatpump] Adds discovery service

Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
2022-10-01 17:15:16 +02:00
Tobias Liese
8b4607a4f1 Added URL path support. (#13436)
Changes:
Fix: Now using KTOR instead of building the url by simple string concad. This fixes the https and port 443 bug that existed prier to this change. (https://example.com would look like: https://example.com:443)
Added: Support for jellyfins Base URL option. This allows the addon to be used on installations were jellyfin uses a base path.

Signed-off-by: tliese <mail@tobiasliese.me>
2022-10-01 15:32:11 +02:00
Matthew Skinner
cc50497f31 [ipcamera] FFmpeg based alarms will now auto restart if stopped (#13446)
* FFmpeg alarms now auto restart

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-10-01 14:19:25 +02:00
Jan Vybíral
a646fe34e0 [nuki] Fixed nukiId migration for devices with shorter nukiId (#13088) (#13470)
Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
2022-10-01 13:45:35 +02:00
Gaël L'hopital
cedf6d9035 [netatmo] Room-Thing offline after restart (#13467)
* Correcting issue by late loading of the capability.
* Handle MAXIMUM_USAGE_REACHED at ApiBridgeHandler level.

Signed-off-by: clinique <gael@lhopital.org>
2022-10-01 12:50:22 +02:00
Cody Cutrer
7b8ae535e9 [jrubyscripting] clean up assignment of class objects (#13451)
pass the actual class objects through, and post-process in Ruby, to
avoid the rescue nil -- and by extension, any issues with visibility
into private objects from JRuby.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-30 22:47:53 +02:00
Peter Hicks
2a02f2c7ef [tapocontrol] Fix authentication issue making plugin unusable (#13468)
The tapocontrol plugin uses a static UUID which is now causing a an API rate limit exceeded error from the TP-Link API.  This commit generates a separate UUID for every login attempt.

Signed-off-by: Peter Hicks <peter.hicks@opentraintimes.com>
2022-09-30 21:41:53 +02:00
Fabian Wolter
08375cd3a8 [lcn] Improve logging (#13460)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-09-29 09:01:20 +02:00
Michael Barker
c244391d08 [echonetlite] Initial contribution (#11999)
* First implementation of Echonet Lite Java Bindings.  Only supports Mitsubishi Home Heat Pumps.

Signed-off-by: Michael Barker <mikeb01@gmail.com>
2022-09-28 23:23:57 +02:00
martin1338
f74f3ecd02 updated example to match frontdoor_lockstates (#13441)
command numbers where changed, see lines 80 and following -> adjusted the example and reorderd the commands
2022-09-28 21:33:21 +02:00
lolodomo
d00ca1caeb [remoteopenhab] Optimize filtering of ALIVE events (#13432)
* [remoteopenhab] Optimize handling of ALIVE events

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-28 20:39:20 +02:00
openhab-bot
6069286ffd New translations pushover.properties (German) (#13454) 2022-09-27 22:40:22 +02:00
lolodomo
4b69af686f [solarmax] Add default translations (#13452)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-27 17:21:07 +02:00
Jamie Townsend
015a370392 [solarmax] Initial contribution (#10414)
* SolarMax Binding Initial implementation

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* #10413 camelCaserizeTheChannelNames

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* #10413 Delete commented code and Refactor Brute Force Command Discovery into something commitable

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* 10413 Delete commented code and Refactor Brute Force Command Discovery into something commitable

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* #10413 Codestyle

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* 10413 Codestyle

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* #10413 corrected sat-plugin errors

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* #10413 updates from code reviews in PR #10414

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* 10413 mvn spotless:apply

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* 10413 Updated to 3.2.0-SNAPSHOT

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Fixed conflicts introduced by foreign commit.

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Updated copyright years

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Ran  mvn spotless:apply to resolve formatting issues

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Updates from review

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Switch to using Units & move softwareVersion & buildNumber to properties

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* A couple of review related updates

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* A couple more review related changes.

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Added Full Example to README.md

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Update parent pom.xml version

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>

* Update bundles/org.openhab.binding.solarmax/src/main/java/org/openhab/binding/solarmax/internal/SolarMaxHandlerFactory.java

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Update bundles/org.openhab.binding.solarmax/src/main/java/org/openhab/binding/solarmax/internal/SolarMaxHandlerFactory.java

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-09-27 07:51:10 +02:00
openhab-bot
24d5f2ddc7 New Crowdin updates (#13448)
* New translations openwebnet.properties (German)
* New translations sonos.properties (German)
* New translations openhabcloud.properties (German)
* New translations hueemulation.properties (German)
* New translations epsonprojector.properties (German)
* New translations hpprinter.properties (German)
* New translations http.properties (German)
* New translations knx.properties (German)
* New translations lcn.properties (German)
* New translations magentatv.properties (German)
* New translations onkyo.properties (German)
* New translations fineoffsetweatherstation.properties (German)
* New translations openweathermap.properties (German)
2022-09-26 23:04:07 +02:00
Roie Geron
58168c205f [touchwand] Add port configuration to websocket (#13440)
* add port configuration to websocket

Signed-off-by: Roie Geron <roie.geron@gmail.com>
2022-09-26 19:05:50 +02:00
Cody Cutrer
517fe44b36 [mqtt.generic] fix range of RGB values (#13426)
Range is 0..255, not 0..250.

rgb -> hsv -> rgb still isn't perfect, but it's better. In
particular, I found this when using HSBType.BLUE in a test,
and it was coming out as 0,0,250 in RGB. It now comes out as
a proper 0,0,255.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-26 19:03:37 +02:00
Cody Cutrer
e4fe6889d0 [homekit] allow group items of the correct type anywhere that type is needed (#13236)
this is a theme, and I've extracted a helper method and applied it to several
other locations as well

example, I have a double-sliding door, with two contact sensors
in the alarm system, defined as:

```
Group:Contact:AND(CLOSED,OPEN) DeckDoor_Contact "Deck Door [%s]" <door> (gExteriorDoors, gWarningVisibility_Contact, gDoor, lMainFloor, gInflux) { homekit="ContactSensor" [instance=2] }
Contact DeckNDoor_Contact "Deck Door North" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone11:zone_status" }
Switch DeckNDoor_Tamper "Deck Door North Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone11:zone_tamper" }
Contact DeckSDoor_Contact "Deck Door South" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone12:zone_status" }
Switch DeckSDoor_Tamper "Deck Door South Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone12:zone_tamper" }
```

This allows the Group:Contact to be used for the ContactSensor.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-26 18:58:59 +02:00
Andrew Fiddian-Green
a3eafebbf3 Added a second code owner (#13442)
* Added codeowner

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-09-26 13:24:15 +02:00
lolodomo
5bbd729ba2 [ecowatt] Shorter labels for channel options (#13438)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-25 21:01:26 +02:00
Maximilian Heß
8ab5f629c3 [KVV] Replace underlying API (#13186)
* [KVV] Replace underlying API

The underlying API does no longer work so it is replace. An API key is no longer necessary.
Users need to replace the `stopId` in there station thing configuration. See README.md for details.

Signed-off-by: Maximilian Hess <mail@ne0h.de>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2022-09-25 14:29:10 +02:00
Andrew Fiddian-Green
79309cb746 [velux] Bridge status shows offline when communication fails (#13406)
* [velux] dynamically update bridge on-/off- line state

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-09-25 13:17:10 +02:00
Gwendal Roulleau
b7cbf2ba72 [pulseaudio] Apply real disconnection when needed (#13338)
* [pulseaudio] Removing isIdle test

The isIdle boolean was not properly handled.
When disconnection is called, isIdle is not relevant : we should always honnor the disconnection request.
In fact, isIdle prevented disconnection when it is necessary (example : when a IOException occurs when sending audio to sink)

+Little bug fix on volume parsing: some volume request doesn't respond with a space after the comma separating left/right channel.

* [pulseaudio] Enhancement to the idle detection for disconnection

Using a counter to count client instead of a isIdle variable, which was not thread safe.
The PulseaudioSimpleProtocolStream parent class is now the sole responsible for closing source or sink stream.

* [pulseaudio] Small performance enhancement

Avoid a costly synchronized operation for a method called very often.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-09-25 12:59:30 +02:00
Jacob Laursen
af0ac6e474 [miele] Migrate start channel to full DateTime channel and add end channel (#13393)
* Migrate start/finish channels to full DateTime channels
* Unmark start and duration as advanced channels
* Add end channel

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-09-25 11:29:26 +02:00
Roie Geron
96b77ed541 [touchwand] Fix thermostat target temperature command (#13427)
* Fix target temperature command 

1) Fix target temperature command 
2) fixed typo in log

* Allow update status even if the unit is not alive

Seems 'acwand' status is always "DOWN" so ignore this and just log debug

Signed-off-by: Roie Geron <roie.geron@gmail.com>
2022-09-25 10:25:10 +02:00
rossbuggins
80804a59b0 How to support OpenWeatherMap one call api 3.0. (#13414)
Add OpenCall API version property.

Allowing for version 3.0 API to be set.

Signed-off-by: Ross Buggins <20972856+rossbuggins@users.noreply.github.com>
2022-09-24 21:15:19 +02:00
Timo Grossenbacher
6241d6f369 [fsinternetradio] Add Ruark R5 to tested devices & mode list (#13325)
* Add Ruark R5 to tested devices & mode list

Signed-off-by: Timo Grossenbacher <timo@timogrossenbacher.ch>
2022-09-24 11:38:38 +02:00
openhab-bot
19894aa894 New translations bluetooth.properties (Dutch) (#13431) 2022-09-22 21:39:55 +02:00
lolodomo
e4917c3b4a [ecowatt] Unit tests for methods getting channel state from API response (#13419)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-22 00:28:28 +02:00
Karel Goderis
062a7c1e76 [Tesla] Add event stream & handling post new authentication process by Tesla (#13116)
Signed-Off-By: Karel Goderis <karel.goderis@me.com>
2022-09-21 21:55:27 +02:00
Jacob Laursen
3e5dde0474 Fix ClassCastException for LocalDateTime (#13425)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-09-21 19:10:02 +02:00
Wouter Born
487811fdfd Update Shelly and Tradfri bindings for upgrade to Californium 2.7.3 (#13407)
* Update Shelly and Tradfri bindings for upgrade to Californium 2.7.3

* Fixes deprecated API usages
* Resolves itest runbundles

Signed-off-by: Wouter Born <github@maindrain.net>
2022-09-21 12:19:19 +02:00
jimtng
fafdf2d7a3 [jrubyscripting] Update to JRuby 9.3.8.0 (#13424)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-09-21 09:51:04 +02:00
Cody Cutrer
8656ba501a [mqtt.homeassistant] support availability_templates (#13397)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-19 23:00:01 +02:00
openhab-bot
b6ddb6bb0a New Crowdin updates (#13415)
* New translations ecowatt.properties (Italian)
* New translations jellyfin.properties (Italian)
2022-09-19 16:23:54 +02:00
Sami Salonen
67843ffbfd [openhabcloud] improved logging for troubleshooting purposes (#12430)
* [openhabcloud] Sensor UUID and secret in logging

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhab] More logging. Lambda callbacks

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] Sensor short UUID/secret completely

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] pong milliseconds

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] Log websecket factory HTTP calls and PACKETs (on connect)

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] Sensor more secrets

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] abort connect on exceptional errors

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] remove dead code

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] Socket.IO http logging only with TRACE level enabled

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] logging level tuning

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] fix typo sensored->censored

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [openhabcloud] warn level logging (not info) when disconnected

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-09-19 15:41:16 +02:00
mlobstein
89c73a0d81 [nuvo] Add NuvoNet source communication capabilities (#12042)
* Add NuvoNet source communication

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* fix readme

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* remove commented code

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Add startup/shutdown keypad messages

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Minor cleanup before code review

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Add configurable favorites labels

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* add new config item to i18n properties

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Fix restart detection and improve version matching

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* review changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Increment version number

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* remove repeated word in channels.xml

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

* Review changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-09-19 08:00:46 +02:00
Bernd Weymann
cbe41951fd readme typo: callbackIP needs to match to code (#13410)
Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-09-18 21:45:00 +02:00
Sami Salonen
295df504c8 [mqtt.homeassistant] More readable label for discovered things (#13402)
* [mqtt.openassistant] Better labels for discoverd things

This PR introduces more simple label for things, instead of
"My Sensor (Sensor, Sensor, Sensor, Sensor, Sensor, Switch)" we have
simply "Me Sensor (5x Sensor, Switch)".

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-09-18 21:22:06 +02:00
Cody Cutrer
a2b6dd77b7 [mqtt.homeassistant] sensors with a state_class are numeric (#13398)
see reference in code comment, but a measurement sensor is assumed to
be numeric, even if it doesn't have a unit

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-09-18 19:46:07 +02:00
Sami Salonen
2fd2e5175f [mqtt.homeassistant] Stable jsondb discovery result (#13401)
* [mqtt.homeassistant] Stable jsondb serialization for discovery results

Similar to openhab/openhab-core#2436, we want
to have consistent ordering of data in JSONDB. This is fixing the jsondb
order for mqtt.homeassistant discovery results, specifically, the
"topics" property.

* [mqtt.homeassistant] order using full topic string, not by subcomponent

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-09-18 18:20:49 +02:00
lolodomo
6ebf20f183 [ecowatt] Initial contribution (#13404)
* [ecowatt] Initial contribution

This binding uses the Ecowatt API to expose clear signals to adopt the right gestures and to ensure a good supply of electricity for all in France.

Close #13351

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

* Update bundles/org.openhab.binding.ecowatt/src/main/resources/OH-INF/thing/thing-types.xml

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-09-18 17:52:18 +02:00
GiviMAD
798b3ede04 [androiddebugbridge] fix get current package and get mac address (#13390)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-09-18 17:44:59 +02:00
M Valla
e8d20f0341 [openwebnet] improved README for AUX and ENERGY (#13408)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-09-18 17:24:39 +02:00
Dmitry
b6a2240270 [miio] Qingping Air Monitor (cgllc.airmonitor.s1) support is broken (#13262)
* [miio] Qingping Air Monitor (cgllc.airmonitor.s1) support is broken #13258
1.  Custom refresh command for "battery" was defined . The device with "4.1.8_9999" firmware version does not allowed to obtain this information by this way which prevents to obtain other values. The solution should work for both old firmware (the battery information would be requested as before) and it does not prevent the device with new firmware from sending other values (I checked it).

Signed-off-by: Dmitry Malenok <_mak_@bk.ru>

* [miio] Qingping Air Monitor (cgllc.airmonitor.s1) support is broken #13258
1.  The comment clarifying the "battery" parameter behavior was added.

Signed-off-by: Dmitry Malenok <_mak_@bk.ru>

Signed-off-by: Dmitry Malenok <_mak_@bk.ru>
2022-09-18 17:23:22 +02:00
GiviMAD
4ebcb70c83 [jellyfin] add play by id channels and update sdk (#13389)
* [jellyfin] add play by id channels and update sdk
* [jellyfin] add missed Playing Item Id channel

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-09-18 13:01:18 +02:00
J-N-K
b2d9fe5c0a Adapt to core-changes (added JNA to tp) (#13298)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-09-18 11:30:39 +02:00
mlobstein
8a9c66a567 [radiothermostat] Ignore updates if thermostat data is invalid (#13394)
* Ignore updates if data is invalid

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-09-17 17:49:59 +02:00
Haavar Valeur
7dfb963f92 Configure zone on panel even if the channel is not yet linked (#13380)
Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-09-17 17:02:09 +02:00
Matthew Skinner
6805f8461e [ipcamera] Fix ONVIF fails to reconnect (#13396)
* Fix reconnecting issues
* Cleanup logging.

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-09-17 10:51:55 +02:00
GiviMAD
25ffd6127b [vosk] Upgrade sdk and handle UnsatisfiedLinkError exceptions (#13391)
* [vosk] update sdk
* [vosk] handle unsatisfied link error exceptions

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-09-17 09:27:09 +02:00
Florian Hotze
39d221d3a8 [jsscripting] Update openhab-js to 2.0.3 (#13385)
* [jsscripting] Update openhab-js to 2.0.3
* [jsscripting] Update README

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-09-13 21:57:09 +02:00
Christoph Weitkamp
a963c79e8b Consider TimeZoneProvider to build states for time-stamp channels (#13386)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-09-13 21:53:52 +02:00
alexf2015
b9761d0288 fix README.md (#13387)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
2022-09-13 21:51:58 +02:00
Jacob Laursen
474be93710 Fix date cast exception (#13382)
After upgrading mysql-connector to 8.0.30 this exception was thrown: class java.time.LocalDateTime cannot be cast to class java.sql.Timestamp

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-09-12 18:16:25 +02:00
Andreas Berger
333ffbcba2 [fineoffsetweatherstation] Fix measurands (#13381)
* fix the PIEZO_GAIN10 measurand
* skip RAIN_PRIO measurand
* skip RCSATION measurand

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-09-12 17:16:10 +02:00
Andrew Fiddian-Green
ddd25316d9 [velux] Correction to channel label (#13379)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-09-11 16:16:44 +02:00
Andrew Fiddian-Green
9123e1349e [velux] Vane position channel is visible when required (#13271)
* [velux] make vanePosition channel dynamic
* [velux] change category of window position from 'blinds' to 'window'

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-09-11 12:44:16 +02:00
Mark Herwege
909d390581 [systeminfo] Add CPU load channel, update dependencies (#13292)
* Add CPU load channel, update dependencies
* use PercentType, correct process CPU load
* Add and fix test

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-09-11 11:06:52 +02:00
lolodomo
55e27c8c12 [rotel] New channel to select FM/DAB/iRadio preset (#13285)
* [rotel] New channel to select FM/DAB/iRadio preset

For models RCX-1500, RDG-1520, RT-11, RT-1570, T11 and T14

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-11 10:08:50 +02:00
openhab-bot
f74a017bad New translations unifi.properties (Dutch) (#13372) 2022-09-11 02:22:35 +02:00
lolodomo
e84608e410 [linky] Docker specificities (#13348)
Related to #13336

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-10 17:00:28 +02:00
Hilbrand Bouwkamp
698703b0c6 [unifi] Fix portoverride to not remove any other data (#13362)
When a user has configured additional settings on a PoE port, like name.
These settings where lost when changing the PoEPort status in openHAB.
This was because in the binding only some information of the override was stored and when writing the new state this information would have been sent too.
In this change the object to store the override has been replaced by a plain json object. Therefore we don't have to know what is in it and all information is kept.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-09-10 16:59:42 +02:00
alexf2015
1f1de41bd3 [Easee] Initial contribution (#12954)
* initial binding version

Signed-off-by: Alexander Friese <af944580@gmail.com>
2022-09-10 16:57:21 +02:00
Andrew Fiddian-Green
dce6dc9f79 [hdpowerview] Correct shade capabilities information (#13330)
* [hdpowerview] corrections to capabilities database

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-09-10 10:01:54 +02:00
Haavar Valeur
9c534e37a8 [Konnected] Taking configured onValue into account when sending status to actuator (#13360)
* Taking configured onvalue into account when sending status to actuator
* Added documentation for onValue configuration

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-09-10 08:48:03 +02:00
openhab-bot
ce6b0a876d New translations shelly.properties (German) (#13366) 2022-09-09 22:13:10 +02:00
Mark Herwege
54dc5c1fec [upnpcontrol] Prepare dynamic channels and status messages for translation (#13364)
* prepare dynamic channels and status messages for translation

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-09-08 22:25:18 +02:00
Ondrej Pecta
7d9e277a15 [jablotron] Added thermometers support for JA100F alarms (#13361)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-09-08 21:18:42 +02:00
Haavar Valeur
8ee4ac86db Fixed example thing. Made names less ambiguous (#13363)
Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-09-08 13:29:31 +02:00
Hilbrand Bouwkamp
18a41dbe84 [dsmr] Made additional key for smarty meter an option (#13359)
* [dsmr] Made additional key for smarty meter optional

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-09-07 11:08:04 +02:00
lolodomo
c4625992af [remoteopenhab] Fix the pattern to parse DateTime (#13349)
Re-use the same pattern as defined in class DateTimeTyoe.

Allows the support of 0 to 9 digits after the seconds.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-06 20:27:31 +02:00
Haavar Valeur
fe25216ea6 [Konnected] Using default onvalue if configured is null (#13354)
* Using default onvalue if configured is null
* Using DTO for channel configuration. Changing channel config parameter names to camel case

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-09-06 20:24:33 +02:00
lolodomo
bbaf1e782a [remoteopenhab] Handle REFRESH command as any command (#13350)
The received command (REFRESH) is transmitted as a REFRESH command to
the remote item.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-09-05 17:54:27 +02:00
mlobstein
5a11f1420e [nuvo] Fix MPS4 flag and online status reporting (#13345)
* Fix mps4 flag and online status reporting
* Update missing statuses

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-09-03 17:44:39 +02:00
Christoph Weitkamp
32c76898c1 [avmfritz] Allow to set every userdefined color (#13317)
* Added INCREASE/DECREASE commands for brightness/color Channels
* Fixed NPE in HeatingModel
* Use set unmapped color command for color control of bulbs

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-09-03 14:42:31 +02:00
Stewart Cossey
df432a7fbc Update API URL. (#13306)
Signed-off-by: Stewart Cossey <stewart.cossey@gmail.com>
2022-09-03 14:32:43 +02:00
Gwendal Roulleau
2b62f74e5f [mimictts] Use http method POST instead of GET (#13239)
* [mimictts] Use http method POST instead of GET

Using POST method allows longer request size.
Also, using InputStreamResponseListener avoid keeping the response in-memory

* [mimictts] quick fix for regression : providing length

Some audiosink needs it

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-09-03 12:00:32 +02:00
openhab-bot
b27364679e New translations fineoffsetweatherstation.properties (Italian) (#13341) 2022-09-01 09:36:05 +02:00
Jacob Laursen
dddf463e09 Upgrade MySQL connector to 8.0.30 (#13242)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-31 21:56:39 +02:00
Andreas Berger
4331c5f3ed [fineoffsetweatherstation] Add support for the new GW2001 weather station (#13283)
* [fineoffsetweatherstation] add support for the new GW2001 weather station with its WH90 sensor
* [fineoffsetweatherstation] add missing channel labels
* [fineoffsetweatherstation] remove redundant translations
* [fineoffsetweatherstation] add test data + fix for WH90
* [fineoffsetweatherstation] fix wrong size for `CMD_READ_RAIN`

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-08-31 15:27:18 +02:00
Jacob Laursen
a2e0d23297 [boschindego] Add another status code for returning to dock (#13335)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-30 16:45:30 +02:00
Haavar Valeur
195a37e36e [Konnected] Removed defaults for zone configuration parameter from the channels (#13333)
* Removed defaults from zone parameter
* Corrected the name of the zone property in example

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-29 22:57:12 +02:00
Wouter Born
8eb0d2c16e [rrd4j] Use RrdDbPool to prevent ClosedByInterruptException (#13332)
Using the pool prevents exceptions like:

```
java.nio.channels.ClosedByInterruptException: null
	at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:199) ~[?:?]
	at sun.nio.ch.FileChannelImpl.endBlocking(FileChannelImpl.java:162) ~[?:?]
	at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:388) ~[?:?]
	at org.rrd4j.core.RrdNioBackend.<init>(RrdNioBackend.java:94) ~[?:?]
	at org.rrd4j.core.RrdNioBackendFactory.open(RrdNioBackendFactory.java:163) ~[?:?]
	at org.rrd4j.core.RrdBackendFactory.getBackend(RrdBackendFactory.java:521) ~[?:?]
	at org.rrd4j.core.RrdDb.<init>(RrdDb.java:627) ~[?:?]
	at org.rrd4j.core.RrdDb.of(RrdDb.java:500) ~[?:?]
	at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.getDB(RRD4jPersistenceService.java:323) ~[?:?]
	at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.store(RRD4jPersistenceService.java:141) ~[?:?]
	at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.lambda$0(RRD4jPersistenceService.java:211) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
```

Fixes #13297

Also includes a few code improvements.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-08-29 17:15:17 +02:00
Haavar Valeur
07e2b69e79 [Konnected] Fixed null pointer exception on state update with missing state (#13329)
* Fixed null pointer exception on state update with missing state
* Added variable for state. Changed onvalue configuration type to integer.

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-29 12:45:25 +02:00
Cody Cutrer
449d3518f6 [jrubyscripting] avoid polluting environment when auto-installing gems (#13328)
fixes https://github.com/boc-tothefuture/openhab-jruby/issues/634;
regression from https://github.com/openhab/openhab-addons/pull/13151

Signed-Off-By: Cody Cutrer <cody@cutrer.us>
2022-08-28 21:45:35 +02:00
Andreas Berger
a327167a58 [fineoffsetweatherstation] Add information about unsupported devices (#13307)
* [fineoffsetweatherstation] add information about unsupported devices

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-08-28 14:05:51 +02:00
Andrew Fiddian-Green
f7295bd00f [hdpowerview] Battery channels visible only when required (#13324)
* [hdpowerview] add batteryKind field
* [hdpowerview] battery channels visible depending on batteryKind

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-28 13:55:18 +02:00
Jørgen Austvik
c825171caf Nobø hub addon: Add more component types with serial numbers. (#13326)
Minor change which gives more properties to detected things, which
should make a little easyer for users with these devices to identify them.

Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
2022-08-28 13:50:56 +02:00
Pumpur
5abbf2df7e [myStrom] Corrected readMe, mystrompir is not a bulb. (#13322)
* Corrected ReadMe, mystrompir is not a bulb.

Signed-off-by: Stefan Navratil <stefan@navratil.ch>
2022-08-26 22:32:33 +02:00
billfor
5bc4bb794e [wemo] Add Wemo Outdoor plug (#13319)
Signed-off-by: bill <git@billforsyth.net>
2022-08-26 22:28:29 +02:00
openhab-bot
e656c1f4df New translations mqtt.properties (Italian) (#13323) 2022-08-26 20:06:56 +02:00
Wouter Born
cfa20db227 [mqtt] Add missing broker connection configuration parameters (#13303)
Allows to configure the following broker connection configuration parameters:

* Protocol: TCP (default), WEBSOCKETS
* MQTT Version: V3 (default), V5
* Hostname Validation: true (default), false

The defaults are chosen to remain backwards compatible.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-08-26 08:53:00 +02:00
Mark Herwege
c21d3061ec [mail] Correct action names (#13318)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-08-25 22:30:21 +02:00
Pete
34bdc21370 [bluetooth] Add support for service data (#10278)
Signed-off-by: Peter Rosenberg <prosenb.dev@gmail.com>
2022-08-25 21:36:21 +02:00
openhab-bot
d4c472a04c New translations mercedesme.properties (Italian) (#13312) 2022-08-24 11:05:35 +02:00
Bernd Weymann
704000eda9 [mercedesme] Initial contribution (#13044)
Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-08-23 22:42:39 +02:00
Andrew Fiddian-Green
0a41c3f2f6 [hdpowerview] Channels are visible depending on shade capabilities (#13275)
* [hdpowerview] create channels dynamically
* [hdpowerview] revert from channel creation to channel removal
* [hdpowerview] add category

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-23 22:03:43 +02:00
Espen Fossen
bc9cf8e07a [nobohub] Initial contribution (#12937)
* Added NoboHub binding.

Signed-off-by: Espen Fossen <espenaf@junta.no>
2022-08-22 23:27:24 +02:00
Bob A
9c2070f748 [lutron] Add mDNS discovery for RadioRA 3 processor (#13299)
Signed-off-by: Bob Adair <bob.github@att.net>
2022-08-22 19:37:07 +02:00
Cody Cutrer
c215dfede4 [jrubyscripting] document how to use Ruby in a transformation (#13286)
using the core ScriptTransformationService. See
https://github.com/openhab/openhab-addons/pull/13255 for prior
discussion on this.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-22 15:46:18 +02:00
Jacob Laursen
19659b6e05 Adapt to AccessTokenResponse API change (#13278)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-22 12:08:14 +02:00
Anders Alfredsson
29fb142e6a [smhi] Prepare for easier translation (#13305)
Signed-off-by: Anders Alfredsson <andersb86@gmail.com>
2022-08-22 10:47:44 +02:00
Haavar Valeur
ed3642da84 Setting auto discovered callback URL in configuration. Cleaned up callback URL handling (#13295)
Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-21 12:21:44 +02:00
openhab-bot
1b5e766b55 New translations fineoffsetweatherstation.properties (Italian) (#13300) 2022-08-21 12:15:40 +02:00
Haavar Valeur
d8c07ebde7 [Konnected] Refreshed readme to include latest changes (#13294)
* Refreshed readme to include latest changes

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-20 23:02:05 +02:00
Sami Salonen
ac23965c7d [transformation.jinja] Update jinjava to 2.6.0 from 2.5.7 (#13296)
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-08-20 10:05:21 +02:00
openhab-bot
a99199720a New Crowdin updates (#13291)
* New translations shelly.properties (German)
* New translations goecharger.properties (Italian)
2022-08-18 22:04:39 +02:00
Andreas Berger
e49cde0cce [fineoffsetweatherstation] Add channel for the sensors battery voltage (#13284)
* [fineoffsetweatherstation] add channel for the sensors battery voltage

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-08-18 12:14:21 +02:00
Gaël L'hopital
4fb528901f Solves issue #13196 (#13281)
Signed-off-by: clinique <gael@lhopital.org>
2022-08-18 09:15:41 +02:00
Sascha Kloß
47b004f227 Add transaction to Go-Echarger (#13105)
Signed-off-by: Sascha Kloß <sascha.kloss@gmx.de>
2022-08-17 22:36:56 +02:00
jimtng
3de0f79d9a [jrubyscripting] Update to jruby 9.3.7.0 to fix BootstrapMethodError (#13280)
* [jrubyscripting] Update to jruby 9.3.7.0
* [jrubyscripting] Exception fixed in jruby 9.3.7.0

The BootstrapMethodError should no longer be thrown by jruby since 9.3.7. Fixed in https://github.com/jruby/jruby/pull/7271

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-08-17 16:36:12 +02:00
vich-667
7e9e0dbdf2 return rollershutter pos (#13191)
Signed-off-by: Tobias Lange <vich-667@gmx.de>
2022-08-17 10:15:23 +02:00
Dan Cunningham
b63e420abf [Hydrawise] concurrent error (#13268)
* Fixes a concurrent modification exception, cleans up handler on dispose, fixes totally broken last contact channel
Fixes #13094

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-08-17 10:07:04 +02:00
Andrew Fiddian-Green
8baa500998 [tado] Fix AC target temperature reading and writing bugs (#13272)
* [tado] fix npe when target temperature json element is missing
* [tado] apply temperature command/value restrictions

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-17 09:32:17 +02:00
Boris Krivonog
801895e2d2 Refresh token if expired (#13274)
Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
2022-08-16 22:11:49 +02:00
Boris Krivonog
0a79b8574c [automower] Adapt login due to Husqvarna API change (#13263)
* The Automower Connect API Authentication does not work anymore as they moved to a new authentication method. (AppKey and AppSecret) - adopted. Fixes issue #12980.

Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
2022-08-15 21:02:00 +02:00
openhab-bot
932346a091 New translations boschindego.properties (Danish) (#13269) 2022-08-15 20:55:45 +02:00
lolodomo
8e8eb059fd [serial] Allow custom baudrate and add option 2400 (#13265)
Fix #13131

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-15 17:31:47 +02:00
Andrew Fiddian-Green
41fcdd6c71 [velux] Add an action to simultaneously set main and vane positions (#13199)
* [velux] add moveMainAndVane action
* [velux] add claridications to read me
* [velux] refactor actions and translate
* [velux] fix thing lookup

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-15 12:36:25 +02:00
Tiller
bb3be91981 [miio] adding support for ijai.vacuum.v19 : Xiaomi Vacuum Mop 2S (#12723)
Signed-off-by: Tiller <github.me@tiller.fr>
2022-08-14 23:00:21 +02:00
Björn Lange
51ff29116f [mielecloud] Adapt to inbox api changes (#13185)
* No unneccessary calls to thingRegistry.get
* Handle Inbox.add now returning CompletableFuture

Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2022-08-14 21:31:31 +02:00
CyborgAndy
5d1e3f9efd [pwm] Fix handling of "maxDutyCycle" parameter value (#12197)
* [pwm] Fix handling of "maxDutyCycle" parameter value

Signed-off-by: Andriy Yemets <cyborg.andy@gmail.com>

* [pwm] Clarify behavior of the parameters

Signed-off-by: Andriy Yemets <cyborg.andy@gmail.com>

* [pwm] Update README.md (#12196)

Fixed description for maxDutycycle parameter
Added two new parameters: equateMinToZero and equateMaxToHundred

Signed-off-by: Andriy Yemets <cyborg.andy@gmail.com>

* Update bundles/org.openhab.automation.pwm/src/main/java/org/openhab/automation/pwm/internal/handler/PWMTriggerHandler.java

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Update bundles/org.openhab.automation.pwm/src/main/java/org/openhab/automation/pwm/internal/handler/PWMTriggerHandler.java

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Signed-off-by: Andriy Yemets <cyborg.andy@gmail.com>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-08-14 14:53:12 +02:00
Jacob Laursen
6853fe84b9 Support one decimal for pressure value (#13257)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-14 09:24:58 +02:00
openhab-bot
d0f12a7fd5 New translations gardena.properties (German) (#13256) 2022-08-14 00:00:40 +02:00
Haavar Valeur
4b5bbab009 [Konnected] Adding base URL to config to allow for manually adding thing (#13251)
* Adding base URL to config to allow for manually adding thing
* Simplified reading of the base URL configuration. Renamed field to baseUrl to be consistent.
* Changed config parameters to camel case

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-13 10:34:39 +02:00
Andrew Fiddian-Green
bff2298b20 [gardena] synchronized (#13253)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-12 17:32:51 +02:00
Gerhard Riegler
2d53243de7 [gardena] Fixed connection tracker (#13238)
* Removed provider header, no longer necessary
* Fixed connection tracker not starting after some websocket restarts

Signed-off-by: Gerhard Riegler <gerhard.riegler@gmail.com>
2022-08-12 16:54:24 +02:00
lolodomo
2f808bc8dd [rotel] Set model and firmware properties (#13240)
For all models providing these information and relying on ASCII protocol.
The binding now supports reading of status message containing variable length content.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-12 16:51:54 +02:00
Hans-Jörg Merk
9b128c2f7d Add RSSI channel to intesisHome and fixed some NPEs (#13244)
Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2022-08-12 10:51:42 +02:00
Cody Cutrer
e4c9a40d03 [homekit] allow multiple bridge instances to break the 150 limit (#13226)
fixes #11508, #12927

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-12 09:55:39 +02:00
Andrew Fiddian-Green
b075d3781c [velux] Implement new API, and log critical device errors (#13212)
* [velux] use new API, and log StatusReply codes
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-12 09:26:51 +02:00
openhab-bot
d5e3ab797c New translations sonos.properties (French) (#13250) 2022-08-12 07:00:44 +02:00
lolodomo
f3d9c084b8 [broadlinkthermostat] Fix parameter name in README (#13246)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-11 21:30:33 +02:00
lolodomo
f795f87f5d [sonos] Unit tests added for OPML request parsing (#13245)
Fix a typo in previous unit tests

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-11 21:27:43 +02:00
lolodomo
4eb74c45f1 [sonos] Ignore TRANSITIONING device state when updating channels (#13241)
* [sonos] Ignore TRANSITIONING device state when updating channels
* Remove TRANSITIONING state option

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-11 08:21:39 +02:00
lolodomo
92d6f1c6e9 [sonos] Added support of RadioApp music service (#13235)
* [sonos] Added support of RadioApp music service
* Extract artist and song title from TITLE
* Extract code in methods to reduce the size of the method updateMediaInformation
* Create new class and add tests

Fix #13208

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-11 08:18:56 +02:00
dependabot[bot]
4bf7a4a51e [jdbc] Update PostgreSQL JDBC driver to 42.4.1 (#13221)
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.4.1.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.3.3...REL42.4.1)

Also-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-10 10:34:08 +02:00
Pumpur
e3be803948 [myStrom] Added Motionsensor and API Token (#13201)
* Added API Token to configuration.
* Added motionsensor to myStrom binding.
* Added SPDX Header.
* fix: removed unnecessary updateStatus().

Signed-off-by: Stefan Navratil <stefan@navratil.ch>
2022-08-09 16:03:29 +02:00
Markus Michels
5b038786d5 [shelly] Improved TRV profile handling (selectable list via dynamic state options (#13227)
provider); some improvements & fixes

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-08-09 10:04:07 +02:00
Haavar Valeur
6c78fb3161 [konnected] Added support for Konnected Pro (#13180)
* - bug fix in konnnected handler to update change of smarthome units to Units
- multiple changes to code to enable support for the konnected pro-module
* Added optional configuration for callback URI
* Added support for more than one buzzer sound. Made zone/pin variables consistent. Removed preconfigured channels to be consistent (either all should be added or none).

Signed-off-by: Haavar Valeur <haavar@haavar.com>
2022-08-09 09:32:37 +02:00
Cody Cutrer
f4fef5f6df [homekit] support actual booleans in metadata config (#13228)
as well as strings, too.

reduces confusion, if someone doesn't know it needed to be a string

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 20:50:42 +02:00
Holger Friedrich
8a0b7a042c [knx] Add support for KNX IP Secure (#12709)
* [knx] Add support for KNX IP Secure

* add support for KNX IP Secure, new options SECURETUNNEL and
  SECUREROUTER, refers to #8872
* add config options for credentials for secure connections
* update user documentation
* add test cases

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-08-08 16:55:41 +02:00
openhab-bot
21aa9c6aff New translations jruby.properties (Italian) (#13229) 2022-08-08 13:53:02 +02:00
Cody Cutrer
581a04b72d [homekit] fix collecting characteristics that don't belong to a complex accessory (#13233)
given:

```
Group eThermostat { homekit="Thermostat" }
Number:Temperature Thermostat_AmbTemp (eThermostat) { homekit="CurrentTemperature" }
Number:Temperature Thermostat_SetTemp (eThermostat) { homekit="TargetTemperature" }

Group gThermostatZoneContacts
// in reality there are multiple thermostats and multiple of these groups,
// so that a rule on members of gThermostatZoneContacts can find the related
// thermostat to turn it off when a window is open
Group:Contact:OR(OPEN,CLOSED) gWindows (eThermostat, gThermostatZoneContacts)

Contact Window_Contact (gWindows) { homekit="ContactSensor" }
```

When constructing the Thermostat accessory for eThermostat, detects the
Window_Contact as a mandatory characteristic, because it's a base accessory
in a nested group. This leads to lots of warnings about the temperature
value of a contact item being out of range.

The fix is two-fold - first of all, there's no reason to search nested
groups for characteristics of a complex accessory. Second of all,
even if for some reason you were to nest an accessory in an accessory,
the nested accessory does not actually belong to the outer accessory,
so don't add it as a mandatory characteristic of the outer.

I suspect there's still one more bug, because AbstractHomekitAccessoryImpl.
getCharacteristic(HomekitCharacteristicType.CURRENT_TEMPERATURE) was
returning Window_Contact, which is only tagged as a ContactSensor. But
after fixing the above two bugs, it was no longer reproducible, and I
didn't continue digging.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 09:47:26 +02:00
Cody Cutrer
a191c16f50 [homekit] fix window coverings based on groups of rollershutters (#13232)
it was getting the state as a decimal type, not a percent type, so
it was getting 1 instead of 100.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-08 09:43:54 +02:00
jimtng
e916974e38 [daikin] Fix changing specialmode from ECO to NORMAL (#13230)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-08-08 08:47:05 +02:00
lolodomo
0e3a9f3c7e [rotel] Other commands added for RSP-1576, RSP-1582, RAP-1580, RDD-1580, RA-1592, RC-1590 (#13223)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-07 22:50:19 +02:00
Cody Cutrer
70eb7dc511 [jrubyscripting] check if gems are installed before installing them (#13151)
* [jrubyscripting] check if gems are installed before installing them

this avoids unecessary downloads and overwrites, or even more importantly
errors if the GEM_HOME is not writable by the openhab user.

this also adds a configuration option for if you want to check for
updates every time configuration is applied (or openhab restarts). this
is useful if your OpenHAB system can't access the internet regularly.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-08-07 18:02:34 +02:00
Christian Wild
7a31cb2785 [tapocontrol] included P115 smart-socket (#13225)
* [tapocontrol] added P115 smart socket
* [tapocontrol] enabled energy-data for P115 socket

Signed-off-by: Christian Wild <christian@wild-bw.de>
2022-08-07 17:38:31 +02:00
krikk
aaf18834ac Added how to configure InfluxDB Persistance via Web-UI (#13213) 2022-08-07 11:38:49 +02:00
pali
e53e1a5e99 [nibeheatpump] Added PRODINo ESP32 Ethernet v1 board support (#13190)
* [nibeheatpump] Added PRODINo ESP32 Ethernet v1 board support

Also added:
- telnet debug support (UDP debug removed)
- new configuration model
- OTA update support for PRODINo ESP32 Ethernet v1 board

Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
2022-08-07 11:35:16 +02:00
Jacob Laursen
11cf3ca86b [boschindego] Fix footnotes (#13222)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-06 08:44:48 +02:00
Jacob Laursen
8e5c2455e8 [boschindego] Fix thing marked as offline when device is reachable (#13219)
* Fix thing offline on invalid command

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Rename exception

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Go back to last thing status after temporary disruptions

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Increase call frequency after device being unreachable

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-08-06 08:42:59 +02:00
jimtng
bf58f98774 [daikin] Fix switching specialmode to NORMAL (#13206)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-08-05 20:50:08 +02:00
Andrew Fiddian-Green
ac12e5bfed [gardena] Improve API rate limit handling (#13016)
* [gardena] eliminate dangling references on dispose
* [gardena] add fixes for 429 errors
* [gardena] apply rate limiting to binding restarts
* [gardena] eliminate NPE if startup fails with exception

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-04 20:20:40 +02:00
mlobstein
9f3a23c55f Fix NPE on shutdown when Thing disabled and fix a bunch of warnings (#13215)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-08-04 15:56:52 +02:00
Markus Michels
0d73ed8150 [shelly] Minor bugfixes from hardening (#13200)
* Minor bugfixes from hardening

Signed-off-by: Markus Michels <markus7017@gmail.com>

* review changes applied

Signed-off-by: Markus Michels <markus7017@gmail.com>

* controlProfile is type String

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-08-04 08:42:29 +02:00
mlobstein
22f7dfe309 [epsonprojector] several small improvements and formatting changes (#13207)
* several small improvements and formatting changes

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-08-03 16:30:42 +02:00
Andrew Fiddian-Green
ae418a4246 [neohub] add auto discovery to ReadMe (#13204)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-02 17:06:32 +02:00
lolodomo
2f50afdac4 [rotel] New command to toggle between stereo and bypass (#13203)
Concerns the models RSP-1570, RSP-1572 and RSX-1562

BYPASS as DSP mode is also removed for these models.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-02 12:51:28 +02:00
openhab-bot
c8a3867322 New translations boschindego.properties (Danish) (#13202) 2022-08-01 23:25:52 +02:00
lolodomo
f582c90ae8 [rotel] Add missed command to switch between ProLogic modes (#13197)
* [rotel] Add missed command to switch between ProLogic modes

All models using the HEX protocol are concerned.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-08-01 21:59:59 +02:00
Andrew Fiddian-Green
f60e324229 [neohub] Add support for WebSocket connection to hub (#12915)
* [neohub] add support for secure web socket connection
* [neohub] clean code
* [neohub] synchronize api calls
* [neohub] rename classes, fix compiler errors, remove SuppressWarnings

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-08-01 21:58:39 +02:00
Daniel Campbell
8d3828a9a4 [amazonechocontrol] Add channels to thermostatController (#13067)
* enhance: add thermostat channels to amazonechocontrol

Signed-off-by: Daniel Campbell <djcampbell79@gmail.com>
2022-08-01 12:48:37 +02:00
Andrew Fiddian-Green
b9782484c6 [velux] Add support for vane/slat position (#12618)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-07-31 15:15:25 +02:00
lolodomo
ec5794739c [rotel] New channel for other commands provided by the API (#13183)
* [rotel] New channel for other commands provided by the API

Models covered by this PR:
A11, A12, A14, CD11, CD12, RA11, RA12, RA1570, RA1572, RC1570, RC1572, RCD1572, P5, X3, X5,
RSP-1066, RSP-1068, RSP-1069, RSP-1098, RSP-1570, RSP-1572,
RSX-1055, RSX-1056, RSX-1057, RSX-1058, RSX-1065, RSX-1067, RSX-1550, RSX-1560, RSX-1562

* Review comment: toString on RotelCommand

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-31 11:10:38 +02:00
Jacob Laursen
2de6dd0310 [boschindego] Provide faster channel updates (#13192)
* Optimize API calls for reduced load
* Add position tracking (on map)
* Provide faster updates when active
* Optimize state update after triggering commands
* Clean up duration variables
* Add initial test coverage for DeviceStatus

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-31 10:30:43 +02:00
Jacob Laursen
c7f8507cae [hdpowerview] Refactor tests (#13175)
* Move test providers to dedicated folder
* Simplify resource loading
* Clarify what is being tested
* Extract online communication test to separate class
* Fix SAT findings
* Rename variable to comply with naming convention

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-30 20:43:17 +02:00
lolodomo
8d2bb6bf62 [rotel] Updated doc for c8 and c8+ models (#13193)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-30 12:09:16 +02:00
Markus Michels
8aa88bc3d9 This PR is just to reduce the delta before I create the PR for Plus/Pro (#13176)
support. In general Gen1 and Gen2 devices have a total different API so
I spliced the API code in version/gen 1 and 2. This means restructuring
the classes (e.h. api+coap became api+api1+api2) and therefor dummy
changes in the code, e.g. import statements. This creates a lot of
overhead and separating those "dummy changes" simplifies merging the
actual PR.

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-07-29 19:48:10 +02:00
Dan Cunningham
d5b657c6fd Catch json parsing errors when getting login token. (#13189)
Fixes #13181

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-07-29 19:06:48 +02:00
openhab-bot
b20180fa19 New translations boschindego.properties (Danish) (#13188) 2022-07-29 18:44:09 +02:00
openhab-bot
7cbdfc9b58 New translations somneo.properties (Italian) (#13187) 2022-07-29 00:33:53 +02:00
Jacob Laursen
5ec86ec614 Add additional hub properties (#13174)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-28 08:43:17 +02:00
Jacob Laursen
6028533e8e [boschindego] Plot location on map (#13179)
* Plot location on map
* Invalidate map when requested by service
* Optimize update of raw map

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-28 08:39:27 +02:00
0x4d4d
3b8567bd9e [somneo] Initial contribution (#12321)
* [somneo] Initial contribution

Signed-off-by: Michael Myrcik <michael.myrcik@web.de>
2022-07-27 10:38:06 +02:00
Matt
1181a104f9 [haywardomnilogic] Add http timeout retry (#13164)
* Add HTTP Timeout Retry
* Updated try/catch messaging
* Repositioned some logging to occur before http request

Signed-off-by: Matt Myers <mmyers75@icloud.com>
2022-07-27 10:31:40 +02:00
Jacob Laursen
67006de606 [boschindego] Refresh cutting times right after next planned cutting (#13158)
* Refresh cutting times right after next planned cutting
* Cancel cutting time future unconditionally

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-26 20:03:40 +02:00
robnielsen
24e9228699 [insteon] set network to ONLINE after driver is initialized (#13030)
* [insteon] set network to ONLINE after driver is initialized

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-07-26 19:49:05 +02:00
openhab-bot
7e26b1149e New translations fineoffsetweatherstation.properties (Italian) (#13177) 2022-07-26 16:40:40 +02:00
eugen
6f3cb286d9 [homekit] Target Fan state - add support for Switch Item (#12985)
* add support for SwitchItem for target fan state

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-07-25 21:47:21 +02:00
mlobstein
b31f06a4cd [radiothermostat] minor readme updates (#13170)
* minor readme updates

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-07-25 16:42:16 +02:00
Andreas Berger
84ea355e76 [fineoffsetweatherstation] Add support for ELV protocol (#13138)
* [fineoffsetweatherstation] add support for ELV protocol
* [fineoffsetweatherstation] remove german translations
* [fineoffsetweatherstation] add representationProperty for gateway, fix unit of irradiation-uv
* [fineoffsetweatherstation] add representationProperties in descriptor xml file
* [fineoffsetweatherstation] set channels values to undef in case of communication errors
* [fineoffsetweatherstation] use lock for request synchronisation
* [fineoffsetweatherstation] marke sensors as gone, if they got unpaired

resolves #12763

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-07-25 16:39:52 +02:00
Jacob Laursen
9ec6f7d12e Add shade RF RSSI for hub/repeater (#13096)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-25 12:56:03 +02:00
Martin Herbst
dcc9190d2e Allow default values that are lower than allowed minimum value (#13168)
Resolves #13097

Signed-off-by: Martin Herbst <develop@mherbst.de>
2022-07-25 12:16:30 +02:00
Jacob Laursen
60c13d7521 [boschindego] Fix communication error when smart mowing is disabled (#13167)
* Fix communication error when no planned next cutting
* Provide targeted handling of missing cutting times

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-25 08:45:46 +02:00
Andrew Fiddian-Green
f7a228e9e9 [hdpowerview] override capabilities for shade types 54,55,56 (#13169)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-07-24 15:02:43 +02:00
lolodomo
cf32ecfeb5 [rotel] New channels to control random mode and repeat mode (CD players) (#13165)
Available for models CD11, CD14 and RCD-1572

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-23 17:26:09 +02:00
lolodomo
41f4ca7a51 [rotel] Add support of multiple zones (ASCII protocol) (#13136)
* [rotel] Add support of multiple zones (ASCII protocol)

Models C8 and C8+ (distribution amplifiers)

Code factorization.
Simulator updated.

* Set model/firmware thing properties (ASCII V2 protocol)
* Review comment: NumberOf rather than Nb
* Review comment: getZoneCommand: IllegalArgumentException if numZone is
outside 1-4
* Review comment: constant for volumeUpDown
* Simplification: method isPowerOn with numZone parameter (range 0-4)
* Review comment: fix for getPowerOffCommand
* Review comment: new method isZoneAvailable to factorize code
* Review comment: use MAX_NUMBER_OF_ZONES to check range validity

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-23 13:41:38 +02:00
Jacob Laursen
96e78c12e4 Add jlaur as code owner for Bosch Indego binding (#13161)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-23 10:33:04 +02:00
dae1804
36ad888b92 Venstar: split away and schedule settings calls (#13046)
Separate Venstar thermostat API calls to change the away mode or
schedule-enabled mode so that the POST to the thermostat's REST
API settings endpoint contains only one of these two params.

Newer ColorTouch thermostat firmwares will reject any POSTs to the
settings endpoint that include the 'schedule' parameter when the
thermostat is currently in AWAY mode, regardless of the value
passed for 'schedule'.  This had the effect of preventing the
OpenHab binding from un-setting away mode.

Signed-off-by: David Eberhart <git@daveeberhart.com>
2022-07-22 21:44:43 +02:00
Tim
c729b82d59 [homematic] Update README.md (#13159)
* Update README.md
2022-07-22 14:12:29 +02:00
truidix
831e7ec257 check if negativeSwitch is "on" and positiveSwitch is "off. If so: just (#13152)
print a warning instead of throwing a exception

Signed-off-by: David Kumar <git@truidix.de>
2022-07-21 21:31:02 +02:00
Jacob Laursen
0577ee8ad4 Fix excessive firmware version updates (#13155)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-21 19:32:42 +02:00
openhab-bot
572d1ec6f0 New Crowdin updates (#13157)
* New translations miele.properties (Danish)
* New translations miele.properties (German)
2022-07-21 15:53:16 +02:00
MeisterPiffer
c6c65c607b [homematic] Update README.md (#13101)
add example for DSL rule with tabbed view
2022-07-21 15:09:07 +02:00
J-N-K
7855f81760 Fix build (#13150)
* Fix build
* fix itest

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-07-20 20:40:42 +02:00
openhab-bot
253a634f0a New Crowdin updates (#13135)
* New translations astro.properties (Hungarian)
* New translations chromecast.properties (Hungarian)
* New translations darksky.properties (Hungarian)
* New translations coronastats.properties (Hungarian)
* New translations evohome.properties (Hungarian)
* New translations mcd.properties (Italian)
* New translations amazondashbutton.properties (Italian)
* New translations openwebnet.properties (Italian)
* New translations openhabcloud.properties (Italian)
* New translations voicerss.properties (Italian)
* New translations tado.properties (Italian)
* New translations wled.properties (Italian)
* New translations livisismarthome.properties (Italian)
2022-07-20 17:47:24 +02:00
Matt
848ec83d52 Additional error handling (#13146)
Signed-off-by: matchews <mmyers75@icloud.com>
2022-07-20 16:26:15 +02:00
Jacob Laursen
d2670e40cb [miele] Allow hostname as gateway network address (#13147)
* Allow hostname as gateway network address
* Document configuration parameters for things
* Add message for bridge communication error

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-20 16:13:16 +02:00
lolodomo
da3ec664e5 [rotel] Fix syntax of few ASCII commands (#13148)
Impacted channels: track and playControl for models CD11, CD14 and RCD1572

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-20 14:26:24 +02:00
Markus Michels
4f8c1722a2 [shelly] Auto-numbering for channel labels & bugfixes (#13066)
* - new device types added
- min firmware set to 1.8.2
- unit for gas concentration fixed (ppm)
- Auto numbering on channel labels for groups with multiple instances
(add sequence suffix)
- API and Thing interfaces defined to restrict access to those classes
- fix on TRV boost update via CoAP
- fix for status.temperature and status.uptime, internalTemp channels
- don’t use meter timestamp if not present (RGBW2)
- low battery indicator for sensor devices fixed
- device detection based on model/type improved
- various messages/translations fixed/improved
- README updated (missing thing types added)

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>

* missing properties added

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>

* minor changes

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>

* markdown fixed

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>

* review changes applied

Signed-off-by: Markus Michels <markus7017@gmail.com>

* shelly_de.properties restored from main branch

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-07-19 19:37:06 +02:00
Kai Kreuzer
d814640727 [bluetooth] Switch to fork of gatt parser library in order to fix incompatibility with xstream (#13128)
* Switch to fork of gatt parser library in order to fix incompatibility with xstream
* Add SAT suppressions
* Add gson dependency

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-07-19 17:58:25 +02:00
Andreas Berger
7920dd6d48 [fineoffsetweatherstation] fix conversion of pressure (#13139)
resolves #13127

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-07-18 16:16:37 +02:00
Markus Michels
49a82c284e [onkyo] HT-RC440 added (#13082)
* HT-RC440 added

Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-07-17 16:48:00 +02:00
pali
6e35926551 [nibeheatpump] Added new channels for F1x45 heat pumps (#13125)
* [nibeheatpump] Added new channels for F1x45 heat pumps

 - Reset Alarms channel
 - 32bit Degree Minutes channel

Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
2022-07-17 16:23:13 +02:00
Gaël L'hopital
53b26809d8 Adding scheduled reconnection on timeout (#13130)
Signed-off-by: clinique <gael@lhopital.org>
2022-07-16 23:15:05 +02:00
lolodomo
d724b7f075 [rotel] Fix handling of balance command feedback (#13133)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-16 12:49:49 +02:00
J-N-K
9f8c1772d2 Adjust transformations to core changes (#13126)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-07-14 22:47:48 +02:00
Sebastian P
8e16c411f0 [dali] Use correct command argument to query current color temperature (#13118)
Signed-off-by: Sebastian Philipp <github-ebqurd@s3lph.me>
2022-07-14 22:19:04 +02:00
Peter Aquino
c780d7598a [icloud] Fixes COMMUNICATION_ERROR iCloud response invalid: null (July 2022) (#13117) 2022-07-13 20:16:03 +02:00
eugen
94615b7728 [homekit] fix potential null pointer exceptions (#13122)
* fix potential null pointer exceptions
* use contains key

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-07-13 17:01:02 +02:00
Gwendal Roulleau
7a53e313cd [mimictts] Initial contribution (#13045)
* [mimictts] Initial contribution

Add a voice service for Mimic (version 3) TTS from Mycroft AI. 

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-07-12 18:49:01 +02:00
Fabian Wolter
36bd806c28 [lcn] Add shutter positioning/angle, operating hours counters, tunable white, regulator mode, beeping (#13056)
* [lcn] Add shutter positioning/angle, operating hours counters, tunable white, regulator mode, beeping

Also, fix possible race condition during connecting, when the PC coupler is not connected to the LCN data wire.
Replace discontinued LCN-PKE by LCN-VISU.

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-07-10 21:46:41 +02:00
simon-dengler
9bd8854e0b [mcd] Initial contribution (#13051)
Signed-off-by: Simon Dengler <simon_dengler@gmx.de>
2022-07-10 20:20:23 +02:00
Andrew Fiddian-Green
4f57ae7879 [hdpowerview] add shades 31 & 33 (#13110)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-07-10 17:25:15 +02:00
Hans-Jörg Merk
e4ab45876c [mail] Fix sending HTML/Multipart mails (#13108)
Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2022-07-10 15:21:56 +02:00
Wouter Born
34200d8327 Move Eclipse m2e configuration to a profile (#13098)
This prevents the following warnings when executing: `mvn i18n:generate-default-translations`

[WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 was not found in https://openhab.jfrog.io/openhab/libs-snapshot during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of openhab-snapshot has elapsed or updates are forced

Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-10 15:15:26 +02:00
Wouter Born
cd73b8d579 Hide compiler warnings for generated code (#13100)
Generated Swagger/OpenAPI code can be messy resulting in a lot of compiler warnings obscuring more important compiler warnings.

Fixes #12498

Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-10 15:13:31 +02:00
netwolfuk
cfb09bdc48 Update OH version in skeleton scripts (#13107)
Signed-off-by: Nathaniel Wolfe <netwolfuk@gmail.com>
2022-07-10 11:24:32 +02:00
Wouter Born
53b7439f02 [hueemulation] Add default translations for module types (#13102)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-10 07:31:34 +02:00
Wouter Born
25e2153d1a [tado] Fix the last remaining SAT issue (#13099)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-09 16:00:49 +02:00
Bernd Weymann
c6778fcb00 [mybmw] Add home-distance channel (#13093)
* add home-distance channel
* use uniformed instead of random gps coordinates

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-07-09 15:56:05 +02:00
Reinhard Plaim
9c768dc08f [goecharger] fix data type for energy (nrg) (#13052)
* [goecharger] fix data type for energy (nrg)
* nrg need to be double for V2
* [goecharger] update example

Signed-off-by: Reinhard Plaim <reinhardplaim@gmail.com>
2022-07-08 21:55:57 +02:00
mlobstein
57e31e2885 Remove several README embedded logos (#13089)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-07-07 08:20:02 +02:00
deswong
c1a69596de [googletts] Add consent parameter to auth code request URL (#13087)
Signed-off-by: Desmond Wong <des@deswong.com>
2022-07-06 10:27:50 +02:00
Jacob Laursen
7a806cd307 [boschindego] Fix duplicated calls during initialization (#13086)
* Fix multiple authentications during initialization
* Fix cutting times being fetched twice during initialization

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-05 23:11:44 +02:00
Christoph Weitkamp
4f1fb4ed51 Handle JsonSyntaxException when parsing error messages (#13083)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-07-05 13:22:46 +02:00
Jacob Laursen
f5eabf0ba2 [boschindego] Add missing specialized text for unreachable device (#13058)
* Add missing specialized text for unreachable device
* Document IndegoUnreachableException on relevant paths

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-05 13:01:46 +02:00
Wouter Born
949848723a [tradfri] Update jmdns bundle in itest (#13084)
This fixes the build as jmdns got updated in openhab/openhab-core#3029.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-05 12:23:00 +02:00
Jacob Laursen
cc3f9eac91 [miele] Fix auto-update for stop channel and synchronize switch channel with appliance state (#13071)
* Fix auto-update policy for stateless channel
* Reflect appliance state in switch channel state

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-05 08:05:21 +02:00
Jacob Laursen
e0494bf44c Deauthenticate session on dispose (#13081)
Fixes #13080

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-05 07:59:13 +02:00
Dan Cunningham
8a87450f4c [openhabcloud] Makes the baseURL and item updates options advanced... (#13078)
* [openhabcloud] Makes the baseURL and item updates options advanced, cleans up documentation, disabled sending updates to the community myopenHAB.org service.

Fixes #12582

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-07-04 23:09:35 +02:00
Hilbrand Bouwkamp
a58ae57942 [dsmr] Fix incorrect deriving of sub channel names when updating channels (#13076)
Subchannels were created by appending the key. However this was done inside a loop and if multiple updates were needed they would be appended to the channel name, instead of taking the channel name each time.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-07-04 21:50:03 +02:00
openhab-bot
3e8df2bff8 New Crowdin updates (#13074)
* New translations enigma2.properties (Norwegian)
* New translations enigma2.properties (Hungarian)
* New translations enigma2.properties (Norwegian)
* New translations iCloud.properties (Finnish)
* New translations tradfri.properties (Finnish)
* New translations map.properties (Finnish)
* New translations googletts.properties (German)
* New translations voicerss.properties (Finnish)
* New translations xmltv.properties (Finnish)
* New translations exec.properties (Finnish)
* New translations jinja.properties (Finnish)
* New translations js.properties (Finnish)
* New translations regex.properties (Finnish)
* New translations jsonpath.properties (Finnish)
* New translations scale.properties (Finnish)
* New translations xslt.properties (Finnish)
* New translations xpath.properties (Finnish)
* New translations opensprinkler.properties (Finnish)
* New translations porcupineks.properties (Finnish)
* New translations netatmo.properties (Finnish)
* New translations imperihome.properties (Finnish)
2022-07-04 21:47:43 +02:00
Dan Cunningham
dc66345a7b [iaqualink] Fix to work with recent API changes to the iAqualink cloud service. Currently the binding throws a gson parsing error early in the poll process rendering it completly broken. (#13073)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-07-04 21:46:38 +02:00
Wouter Born
325694747d [enigma2] Remove FIXMEs from translations (#13075)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-07-04 14:51:41 +02:00
openhab-bot
0f4cd1372d New translations boschindego.properties (Danish) (#13070) 2022-07-03 14:43:48 +02:00
Jacob Laursen
7aa889080e Add support for SpotMow status code (#13065)
Fixes #13033

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-02 15:23:23 +02:00
openhab-bot
bb2761ffe5 New translations boschindego.properties (Danish) (#13064) 2022-07-02 13:34:40 +02:00
lolodomo
03d37232c3 [rotel] Add support for models M8 and S5 (Michi) (#13060)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-07-02 13:31:10 +02:00
Fabian Wolter
6e33b04a91 Update i18n command version number (#13057)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-07-02 12:43:34 +02:00
Jacob Laursen
5e4ca2568c [boschindego] Add new channels (#13040)
Fixes #12938

Fixes #13017

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-02 12:31:51 +02:00
openhab-bot
53d72dcecb New translations boschindego.properties (Danish) (#13055) 2022-07-02 12:05:27 +02:00
Lenno Nagel
2c919c6a38 [pidcontroller] Implement previous state recovery on startup (#13003)
* [pidcontroller] Implement previous state recovery on startup

This feature allows the PID controller parameters to be updated and
OpenHAB to be restarted without losing the current controller state.

This is especially important for systems with a long response time.
For example it might take up to a day for an underfloor heating
controller to stabilise after losing state and having to build up
the integrator value from zero.

Signed-off-by: Lenno Nagel <lenno@nagel.ee>

* Change logger.info -> logger.debug

Signed-off-by: Lenno Nagel <lenno@nagel.ee>

* Change debug Item -> inspector Item in README

Signed-off-by: Lenno Nagel <lenno@nagel.ee>

* Add documentation regarding state persistence

Signed-off-by: Lenno Nagel <lenno@nagel.ee>

* Update bundles/org.openhab.automation.pidcontroller/README.md

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Update bundles/org.openhab.automation.pidcontroller/README.md

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-07-02 11:28:18 +02:00
Jacob Laursen
b886650bae [boschindego] Add channels for last/next cutting time (#12989)
* Add channels for last/next cutting time
* Let handleCommand() work synchronously

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-07-02 10:48:33 +02:00
Gerhard Riegler
ad9b4fbf79 [gardena] Adaptation of the login for API version 1.1 (#13050)
* Adaptation of the login for API version 1.1
* Fixed logging statement
* Fixed logging message
* Reverted changes in the german translation

Signed-off-by: Gerhard Riegler <gerhard.riegler@gmail.com>
2022-07-01 17:38:39 +02:00
openhab-bot
b7df5abe8c New Crowdin updates (#13048)
* New translations googletts.properties (French)
* New translations googletts.properties (German)
* New translations googlestt.properties (German)
* New translations googlestt.properties (French)
2022-07-01 16:01:37 +02:00
Sebastian P
4e2d87da5c [dali] Implement DT8 (single-channel RGB & color temperature) device type (#12955)
* DALI: Implement DT8 (single-channel RGB & color temperature) device type, fix device and group addressing
* dali: Store BridgeHandler in a local variable instead of retrieving it over and over again.
* dali: Follow logging guidelines.

Signed-off-by: Sebastian Philipp <github-ebqurd@s3lph.me>
2022-07-01 08:11:00 +02:00
jimtng
3fe5f3f267 [jrubyscripting] Update jruby version to 9.3.6.0 (#13047)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-07-01 08:06:58 +02:00
Mark Hilbush
2e8167fa3f [googlestt] Fix authorization from returning null refresh token (#13043)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-30 19:03:06 +02:00
Mark Hilbush
00400562d4 [googletts] Fix authorization from returning null refresh token (#13042)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-30 19:01:44 +02:00
dependabot[bot]
8a8add71df Bump mysql-connector-java in /bundles/org.openhab.persistence.jdbc (#12981)
Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.22 to 8.0.28.
- [Release notes](https://github.com/mysql/mysql-connector-j/releases)
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.22...8.0.28)

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-java
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-30 12:44:40 +02:00
Andrew Fiddian-Green
650fc523b5 [hdpowerview] Return capabilities if capabilitiesOverride is not defined (#13031)
* [hdpowerview] bug fix capabilitiesOverride
* [hdpowerview] adopt reviewer requests
* [hdpowerview] suppress log warning on hub v1
* [hdpowerview] adopt reviwer suggestions

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-30 10:40:37 +02:00
Jacob Laursen
5ae0870bcb Add support for new status codes (#13034)
Fixes #13033

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-30 09:02:34 +02:00
tb4jc
f203b3f202 [ipcamera] Added URL encoding fix for passwords that contains special characters. (#13035)
* Added URL encoding fix for passwords that contains special characters.
* Simplified as proposed.

Signed-off-by: Thomas Burri <th@thonjato.ch>
2022-06-30 08:27:40 +02:00
dependabot[bot]
5f115295a4 Bump kotlin-stdlib in /bundles/org.openhab.voice.watsonstt (#12979)
Bumps [kotlin-stdlib](https://github.com/JetBrains/kotlin) from 1.4.10 to 1.6.0.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.6.0/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.10...v1.6.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-29 22:33:54 +02:00
Christoph Weitkamp
bb640eeaac Update CODEOWNERS, removed myself for Netatmo binding (#13036)
- removed myself for Netatmo binding

Thanks @clinique for the refactoring.

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-06-29 14:01:12 +02:00
Wouter Born
0a2a85b448 GitHub Actions workflow improvements (#13018)
* Upgrade actions to latest versions
* Upgrade Maven to 3.8.6
* Use Temurin JDK instead of Zulu JDK

The Temurin JDK is preinstalled in the [Ubuntu image](https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md#java) whereas the Zulu JDK first need to be downloaded.
It should also perform better because the Temurin JDK is linked to glibc 2.12 whereas the Zulu JDK is linked to glibc 2.5.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-27 22:30:40 +02:00
lolodomo
859a1ebfec [remoteopenhab] Avoid unexpected log for ALIVE SSE message (#13008)
Related to openhab/openhab-core#2983

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-27 18:25:00 +02:00
lolodomo
1d766bb824 [netatmo] Localized label/pattern for dynamic channel types (#13012)
* [netatmo] Localized label/pattern for dynamic channel types
* Review comment about key naming
* Fix label for timestamp extensible channel types

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-27 18:09:37 +02:00
Nadahar
e8e7ca8653 [onkyo] Add support for TX-NR807 (#13006)
Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>
2022-06-27 16:17:15 +02:00
Kai Kreuzer
440f603e88 Apply spotless and resolver (#13027)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-06-27 16:00:37 +02:00
Kai Kreuzer
948dd49bd8 Revert "Trying to fix the documentation build (#13025)" (#13026)
This reverts commit 82568e895c.
2022-06-27 12:23:54 +02:00
Kai Kreuzer
82568e895c Trying to fix the documentation build (#13025)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-06-27 12:10:52 +02:00
lolodomo
a8c99c383c [netatmo] Additional examples for home and camera (#13023)
* [netatmo] Additional examples for home and camera

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-27 00:13:36 +02:00
openhab-bot
ed4858ebbb [unleash-maven-plugin] Preparation for next development cycle. 2022-06-26 18:18:40 +00:00
openhab-bot
f2df4c3b5c New Crowdin updates (#13021)
* New translations boschindego.properties (Danish)
* New translations remoteopenhab.properties (German)
* New translations remoteopenhab.properties (Hungarian)
2022-06-26 18:14:07 +02:00
Holger Friedrich
7c81a3db2f [knx] Allow all port names for serial interfaces (#13019)
Starting with openHAB 3.3, the framework enforces using serial
ports which are detected by the system by default. This feature
is now disabled for the KNX addon to allow using symlinks to
ports as well.
Refers-to: openhab/openhab-core#3014

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-06-26 17:22:56 +02:00
lolodomo
e9afa9f08a [netatmo] Document extensible channels (#13014)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-26 11:39:29 +02:00
Mark Hilbush
7e151e8fce [squeezebox] Fix NumberFormatException when parsing status message (#13010)
* Fix NumberFormatException when parsing status message

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-25 17:54:28 +02:00
Holger Friedrich
1a557fe17c [knx] Improve labels and documentation for parameter readInterval (#12992)
Clarify handling of initial read and readInterval in documentation.
Updated labels to distinguish readInterval and pollInterval.
Fixes #12921.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-06-25 11:50:16 +02:00
openhab-bot
3dcc436200 New Crowdin updates (#13007)
* New translations boschindego.properties (Danish)

* New translations rustpotterks.properties (Italian)
2022-06-25 01:06:14 +02:00
Daniel Demus
ccbc6a8f11 [wundergroundupdatereceiver] Check whether the thing is managed (#12998)
Ie. created in the UI or by discovery
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
2022-06-24 19:04:29 +02:00
Andrew Fiddian-Green
b5d7d22c1f [gardena] eliminate ClassCastException (quick fix) (#13004)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-24 18:25:43 +02:00
Sami Salonen
e80b39916c [dynamodb] Clarified AWS configuration steps (#13000)
* [dynamodb] Clarifying AWS configuration steps
* [dynamodb] Docs: image alt title corrected

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-06-24 16:53:21 +02:00
Gaël L'hopital
a1a02f05bf [netatmo] Adding Webhook event support for Doorbell (#12972)
* Adding Webhook event support for Doorbell
* Adding doorbell rtc.
* Enhancing NAPushType deserialization
* Setting empty fields to NULL

Signed-off-by: clinique <gael@lhopital.org>
2022-06-24 13:52:02 +02:00
funkstille
8ee86d786a [dmx] Update README.md (#12914)
* Update README.md

Added Example for ECMAScript
2022-06-24 13:25:01 +02:00
Christoph Weitkamp
7f86947ceb Fixed Channel definition for battery voltage (#12999)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-06-24 12:15:46 +02:00
openhab-bot
a2caf9343c New Crowdin updates (#12996)
* New translations netatmo.properties (Italian)
* New translations wundergroundupdatereceiver.properties (Danish)
2022-06-24 08:21:58 +02:00
jimtng
075170e4b9 [ipcamera] Fix multiple parts handling for Dahua events (#12964)
* [ipcamera] Fix multiple part handling for Dahua events
* [ipcamera] Call processSettings only when data contains no boundary

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-06-23 19:06:34 +02:00
Karel Goderis
22304b3fd0 Fix #12926 (#12995)
Signed-Off-By: Karel Goderis <karel.goderis@me.com>
2022-06-23 18:52:31 +02:00
Sven Strohschein
df06cd3af3 [livisismarthome] Button trigger channels are triggered on restart #12968 (#12969)
* [livisismarthome] Button trigger channels are triggered on restart #12968

Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
2022-06-23 09:25:07 +02:00
Jacob Laursen
3465e8f30d [gardena] Fix null annotation issue (and compiler warning) (#12957)
* Fix compiler warning
* Add basic test coverage for DataItem deserialization
* Add full prefixes to attributes variables
* Add missing newlines at end of test payload files
* Add full prefix to attributes variable

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-23 09:11:20 +02:00
openhab-bot
024e15806d New Crowdin updates (#12991)
* New translations teleinfo.properties (French)

* New translations boschindego.properties (Danish)

* New translations watsonstt.properties (Italian)
2022-06-23 08:55:38 +02:00
Gaël L'hopital
f4f0292dcd [netatmo] Adding smoke detector module (#12984)
* Adding smoke detector module

Signed-off-by: clinique <gael@lhopital.org>
2022-06-23 08:37:45 +02:00
Jacob Laursen
8d900dbcf5 Fix offline description on failed HTTP call (#12990)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-22 22:35:11 +02:00
eugen
565dc19508 [homekit] fix for battery charging state (#12959)
* fix for battery charging state

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-22 11:20:36 +02:00
GiviMAD
cf94687ad6 [watsonstt] use next gen model (#12971)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-06-22 08:54:13 +02:00
openhab-bot
a4f5308f91 New translations boschindego.properties (Danish) (#12987) 2022-06-22 08:39:19 +02:00
openhab-bot
6f1d225544 New Crowdin updates (#12982)
* New translations unifi.properties (Dutch)
* New translations upnpcontrol.properties (Dutch)
* New translations elroconnects.properties (Dutch)
* New translations danfossairunit.properties (Danish)
* New translations elroconnects.properties (French)
* New translations nikohomecontrol.properties (Dutch)
2022-06-21 23:56:32 +02:00
Daniel Demus
9d679ba555 [wundergroundupdatereceiver] Add "Outdoor" to humidity (#12977)
* [wundergroundupdatereceiver] Add "Outdoor" to humidity
* [wundergroundupdatereceiver] Missing units in description and patterns
* [wundergroundupdatereceiver] Replace "weather station" with device
The request sender is not necessarily a weather station

Signed-off-by: Daniel Demus <daniel-github@demus.dk>
2022-06-21 12:30:46 +02:00
openhab-bot
66b191c04e New Crowdin updates (#12975)
* New translations boschindego.properties (Danish)
* New translations harmonyhub.properties (Danish)
2022-06-20 22:45:36 +02:00
Jacob Laursen
461470e1e1 [danfossairunit] Update default translations (#12976)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-20 22:39:00 +02:00
Wouter Born
23f77ccd62 [ahawastecollection] Disable AhaCollectionScheduleTest (#12974)
These tests use the real website which causes unwanted load, network connections and test failures.

See: https://github.com/openhab/openhab-addons/actions/runs/2529936944

```
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 4.109 s <<< FAILURE! - in org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest
[ERROR] org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForRegion  Time elapsed: 3.294 s  <<< ERROR!
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/*+xml
	at org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForRegion(AhaCollectionScheduleTest.java:42)

[ERROR] org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForHannoverCity  Time elapsed: 0.726 s  <<< ERROR!
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/*+xml
	at org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForHannoverCity(AhaCollectionScheduleTest.java:33)
```

Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-20 20:07:58 +02:00
Gaël L'hopital
e17db56bd2 Solving issue #12910 (#12973)
Signed-off-by: clinique <gael@lhopital.org>
2022-06-20 17:15:36 +02:00
openhab-bot
33fe083f49 New Crowdin updates (#12967)
* New translations nikohomecontrol.properties (French)

* New translations openuv.properties (French)
2022-06-19 22:56:59 +02:00
Daniel Demus
56f4c8943b [wundergroundupdatereceiver] Initial contribution (#10105)
* [wundergroundupdatereceiver] Initial implementation

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Code review

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Fix some description formatting

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Add some more channel types per request

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Add more headers to response



Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Based on the observed headers from actual traffic to wunderground.com.

* [wundergroundupdatereceiver] Discovery service

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Upgrade to 3.2, fix group name constants

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Add a list of channel types

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Add dateutc as synthetic DateTime channel

Also add som emore constants
Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Do more programmatic configuration

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] More readme

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Update copyright year

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Handle multiple instance request parameters

Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Ie. those that can have an index number in the name, fx. temp1f, temp2f

* [wundergroundupdatereceiver] Add unmapped but mappable channels

To support multiple devices any new parameters that are submitted cause a new channel to be created
Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Don't pass superfluous config to channels

Also documentation additions
Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Add generated i18n file

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Re-case test method names

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

* [wundergroundupdatereceiver] Re-word thing file section of README

Signed-off-by: Daniel Demus <daniel-github@demus.dk>

Co-authored-by: Daniel Demus <dde@nine.dk>
2022-06-19 17:01:54 +02:00
Gaël L'hopital
3a632ca659 [openuv] Enhance server side error handling (#12958)
* Enhance server side error handling
* Enhancing exception tree
* a small factorization of error status
* Shorten statusMessage
* Correcting log syntax

Signed-off-by: clinique <gael@lhopital.org>
2022-06-19 14:56:56 +02:00
Holger Friedrich
822c27c181 [knx] FT12: List available serial ports if port cannot be opened (#12942)
Fixes a regression introduced by upgrading Calimero library to 2.5.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-06-19 14:50:35 +02:00
Jacob Laursen
b5489057b6 [hdpowerview] Refactor null-handling, maintenance period, response logging (#12950)
* Treat HDPowerViewWebTargets as non-null since initialized by initialize()
* Simplify maintenance period logic slightly
* Improve response logging

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-19 14:12:51 +02:00
Jacob Laursen
efb1bfc772 [boschindego] Add localization support for textual states (#12949)
* Add support for localization of textualstate texts
* Refactor state texts to eliminate redundancy

Fixes #12941

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-19 14:07:26 +02:00
GiviMAD
daea9ae5b2 [actiontemplatehli] Initial contribution (#12260)
* [actiontemplatehli] initial contribution

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-06-19 13:39:31 +02:00
GiviMAD
11aa3207a6 [rustpotterks] initial contribution (#12606)
* [rustpotterks] initial contribution

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-06-19 11:06:33 +02:00
openhab-bot
48c14e613c New translations hdpowerview.properties (Danish) (#12963) 2022-06-19 08:45:42 +02:00
netwolfuk
6f58a52966 [oppo] Documentation - Add example for configuring ser2net version 4 and above (#12961)
* Add example for configuring ser2net version 4 and above

The format for ser2net configuration has changed to a YAML file.
This PR simply adds an example yaml block showing a working ser2net connection with the Oppo Bluray player.
2022-06-19 00:01:50 +02:00
Mark Hilbush
9e3ee5b294 Avoid ClassCastExceptions (#12960)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-18 21:03:02 +02:00
Mark Hilbush
4182595c19 Fix NPE when reading reply from device (#12956)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-18 21:00:01 +02:00
Florian Hotze
b2087e3807 [jsscripting] Upgrade openhab-js to version 2.0.0 (#12945)
* Bump openhab-js version to 2.0.0
* Update README for current openhab-js version
* README: Fix paths to images

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-06-18 13:24:05 +02:00
Mark Hilbush
740f843157 Handle WebSocketException to prevent scheduled job failure (#12944)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-17 12:54:26 +02:00
Jacob Laursen
72f947dee0 Regenerate i18n texts (#12951)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-17 07:31:24 +02:00
Andrew Fiddian-Green
4036888433 [gardena] remove compiler warnings (#12947)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-16 21:44:25 +02:00
Mark Herwege
f8bbb2b5a5 [nikohomecontrol] Bug fixes and improvements to thermostats (#11963)
* Thermostat fixes and implement extra thermostat channels

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-15 13:01:22 +02:00
robnielsen
3349cf4945 [insteon] set device offline if it doesn't exist in the plm/hub database (#12904)
* [insteon] set device offline if it doesn't exist in the plm/hub database
* [insteon] use a flag to indicate if a device is linked or not
* [insteon] set config to @NonNullByDefault({}) instead of @Nullable
* [insteon] cleanup

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-06-14 23:26:08 +02:00
Sven Strohschein
25660991e6 [livisismarthome] New binding (successor of innogysmarthome with local API and some improvements) (#12440)
- Initial version added (copied and renamed from the innogysmarthome binding)
- The local API is now used, authorization, bridge initialization and discovery is already working
- Potential NullPointerExceptions fixed
- Adding battery-low-Channel support for ISC2
- More optimizations and local API changes in the ReadMe
- The key button counter channels are now updated correctly. The according trigger channels should now also work fine.
- Bug fixes regarding button pressed event. The pressed event is now executed along with short and long press events, so if someone want to react on a button press (short or long), the PRESSED trigger event can get checked. And the pressed event isn't senseless executed on a binding restart anymore.
- Error messages improved
- Deprecation-Notice
- New deprecation warning integrated in the innogysmarthome binding
- Livisi renamed to LIVISI
- SHC channels are now initialized correctly
- New "status" channel for the SHC with the values ACTIVE, INITIALIZING and SHUTTINGDOWN
- Code and documentation optimizations
- Fix for PT-PSS action
- Support for SHC classic - The websocket is hosted on another port.
- Update for Temperature-Channel-Definitions and Translations (de)
- Update for Power-Channel-Definitions
- Further translations (de) for devices and channels
- Refactoring branch integrated (some tests added and a lot of code optimizations for example smaller methods, better method names, more simple flows without continue and return in void methods, improved NULL handling, etc.)
- Code optimization (special handling for VariableActuator removed which seems to be not required anymore)
- The thing status is now set to offline when the device is not reachable (even on binding start up)
- The thing status is now set to online again when the device is reachable again
- Clearer description of the invert switch of the RollerShutter (ISR2)
- Copyright notices corrected
- Imports optimized
- Changed handling of pointTemperature (QuantityType instead of DecimalType)
- Code optimization (device status listeners are now registered with device id, so it isn't necessary anymore to call all listeners to find the right matching listener for the device event).
- Code optimization (not working mDNS bridge discovery removed).
- Explicit idle timeout removed (seems not to be required anymore for the local API and may cause problems with SHC 1, there occur EOFExceptions)
- Code optimizations (Debug code removed which isn't required anymore)
- Warn message added which is logged when the temperature to set is not between min and max temperature (this can happen when the user uses the REST-API instead of MainUI or probably also when set via a rule).
- Code optimizations (stronger/consequent use of QuantityType instead of DecimalType)
- Temperature values outside the possible range of 6 - 30 °C are now set to 6 / 30 °C. Therefore a temperature channel can get set to 0 °C for example by a rule and this is automatically changed to 6 °C (and causes a debug message).
- Code optimizations
- Bug fixes regarding UnitsOfMeasurements (Number:Power)
- Tests repaired
- The local API returns "[]" for empty objects which should only get used for arrays... This is now handled by the binding with replacing "[]" by "null". This error occurred with SHC 1, it isn't known if SHC 2 is also affected.
- Number:Dimensionless (percent) introduced for humidity and luminance
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- The configVersion is now also available for SHC 1 bridges.
- More changes to Descriptions, Translations, Icons, Channel-Order, Channel-Config
- Trace logging of responses added to increase the traceability
- The SHC channels should now also get filled for SHC classic
- cpu, memory and disc channels are now defined as percentage (Number:Dimensionless)
- Jetty-HttpClient replaced by simple UrlConnection, because Jetty-HttpClient has problems with high frequency execution of requests. There were EOFExceptions with SHC classic when 2 or more requests were executed within the same second...
- Readme updated
- Copyright notices corrected
- Additions in ReadMe for RST2 / WRT
- The bridge channels (cpu, memory, disc and operation state) are now updated every minute for SHC 1 / classic (because there are no such events for SHC 1 / classic)
- Bug-fix for SHC 1 / classic: Device attributes are now updated correctly for SHC 1 / classic (there is another response structure, which caused that some attributes were not found / update). This should have affected battery low and reachable (thing status) information.
- There are also raw events which report changes regarding the bridge channels (cpu, memory, disc and operation status). There are now processed.
- Token request JSON changed to lower-case (to be compatible with the new SHC firmware update and this should enable to use the standard logics)
- SHC 2 can now get authenticated with the OAuth 2.0 standard logics of OpenHAB (with x-www-form-urlencoded instead of json). The old special json logic is still there to support SHC 1 (but SHC 1 will also get updated soon).
- SHC 1 supports now short and long button pressed events
- Outdated custom login logics removed. SHC 2 and SHC 1 / classic supports now OAuth 2.0 login requests, therefore the default login logics of OpenHAB can now get used.
- README updated for the required software version of SHC 1 / classic
- Code review findings fixed
- Code review findings fixed (Channel Ids renamed to lowerCamelCase)
- Unused code removed
- Code review findings fixed (Device status messages localized)
- Code review findings fixed (label of BooleanStateActuator renamed)
- Code review findings fixed (hard-coded units resolved)
- Code review findings fixed (unit of measurements changed form Power to Energy when it is unit Wh instead of W)
- Code review findings fixed (thing status BRIDGE_OFFLINE changed to COMMUNICATION_ERROR, because BRIDGE_OFFLINE is intended for sub/child devices, not for the bridge thing)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Compiler warnings fixed
- Code review findings fixed
- Code review findings fixed (channel ids renamed)
- Code review findings fixed (tags for temperature and humidity added)
- Code review findings fixed (properties renamed to lowerCamelCase like the default properties)
- Code review findings fixed (non-null warnings fixed, performance increased by reducing requests)
- Code review findings fixed (non-null warnings fixed)
- Code review findings fixed (non-null warnings fixed in tests)
- Copyright notices updated
- Unnecessary log line removed
- Code review findings fixed (non-null warnings fixed in tests)
- Test fixed (WebSocketClient can't get mocked completely which caused an Exception)
- Code review findings fixed (various code optimizations)
- Code review findings fixed (channel-type-ids renamed to lowerCamelCase)
- Code review findings fixed (translation simplified)
- Code review findings fixed (temperature point handling converted in UoM)
- Code review findings fixed (Exception handling improved)
- Code review findings fixed (offline state precised when the bridge isn't found/configured)
- Code review findings fixed (exception logs deactivated within tests to reduce to console output when running the tests)
- Code review findings fixed (thing status is now checked instead of bridge status)
- Code review findings fixed (DeviceStructureManager can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (LivisiClient can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (OAuthService can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (unnecessary type check removed)
- Code review findings fixed (warning messages within tests reduced)
- Code review findings fixed (more when the bridge connection state changes)
- Code review findings fixed (reconnect job changed from scheduleAtFixedRate to scheduleWithFixedDelay - recommended by the SAT warnings).
- Code review findings fixed (unused method removed).
- Representation property introduced to auto-ignore textual defined things at discovery/scan
- Code review findings fixed (more detailed error message for SHC not reachable added).
- Fix ChannelTypeID in Readme.md sample
- Code review findings fixed ("/event/ControllerConnectivityChanged" doesn't change the bridge thing to offline anymore, because it isn't important for the local API anymore).
- Code review findings fixed (point temperature commands with DecimalType instead of QuantityType can now also get handled).
- Tests added regarding handleCommand
- Code optimization (constant for the "invert" channel parameter added)
- Code optimization (log messages within tests avoided)

Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Co-authored-by: RalphSester <ralph.sester@sester-edv.de>
2022-06-14 23:21:39 +02:00
Jacob Laursen
960be6bc83 [boschindego] Rewrite to avoid external dependencies (#12905)
* Rewrite to avoid external dependencies

Fixes #12720

* Improve session handling
* Avoid reauthorization for each command/poll
* Further improve session handling
* Refactor SSO cookie handling
* Optimize getting DeviceStatus for unknown status code

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-14 22:51:26 +02:00
Bruetti1991
fd9fa722d3 [gardena] Fix handling of websocket connection losses that causes memory leaks (#11825)
* [gardena] Fix handling of websocket connection losses that causes memory leaks

* The binding no longer restarts websockets more than once if the connection is lost

Signed-off-by: Nico Brüttner <n@bruettner.de>
2022-06-14 21:12:14 +02:00
openhab-bot
58342f72ed New Crowdin updates (#12933)
* New translations netatmo.properties (Italian)

* New translations netatmo.properties (French)
2022-06-13 22:37:13 +02:00
vich-667
2b1b6a3709 add new state battery diagnosis (#12934)
Signed-off-by: Tobias Lange <vich-667@gmx.de>
2022-06-13 21:25:29 +02:00
eugen
cddd2daae2 [homekit] fix issue with some hue lights, e.g. xiaomi (#12931)
* fix for hue

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-13 19:16:13 +02:00
lolodomo
eb97ba2ec7 [netatmo] Make the grant servlet always available (#12923)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-13 08:08:36 +02:00
lolodomo
770d32ce99 [netatmo] Rework room actions (#12870)
* [netatmo] Rework room actions
* Clarify what thermostat modes can be used for the action

Fix #12836

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-13 08:07:22 +02:00
Jacob Laursen
ebca0812d1 Fix signalStrength channel update after REFRESH command (#12930)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-13 07:46:20 +02:00
Mark Herwege
0cee45f4d5 [nikohomecontrol] Reconnection logic (#12885)
* Clear handler references when disposing handler
* Improved handling when connection lost
* Fix refresh interval property definition
* Unset event handler when actions removed from NHC
* Startup and connection attempt improvements
* Unset action references
* Reconnection logic cleanup
* Cleanup bridge online setting
* Also synchronize scheduleRestartCommunication

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-12 10:38:39 +02:00
Gaël L'hopital
8339faad47 [netatmo] Improve channel helpers (#12851)
Signed-off-by: clinique <gael@lhopital.org>
2022-06-11 20:08:10 +02:00
openhab-bot
bf6d508c61 New Crowdin updates (#12920)
* New translations amazondashbutton.properties (French)

* New translations icalendar.properties (French)

* New translations luxom.properties (French)

* New translations amazondashbutton.properties (French)
2022-06-11 15:24:13 +02:00
lolodomo
303683c2ec [amazondashbutton] Update default translations (#12917)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-11 11:13:52 +02:00
lolodomo
c4b70e333d [ambientweather] Add missing default translations (#12918)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-11 11:12:26 +02:00
lolodomo
b19aefd359 [automover] Update default translations (#12919)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-11 11:11:46 +02:00
GiviMAD
6eed7fb542 [pulseaudio] regenerate default translations (#12916)
* [pulseaudio] regenerate default translations

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-06-11 08:36:00 +02:00
Andrew Fiddian-Green
c806c76631 [hdpowerview] Corrections to shade database and capabilities (#12902)
* [hdpowerview] add type 66 shutters to database
* [hdpowerview] shade database updates
* [hdpowerview] shade database additions and corrections
* [hdpowerview] enhance database features
* [hdpowerview] fix capabilities 8, 9 functionality
* [hdpowerview] adjust tests to match new capabilities
* [hdpowerview] correct method visibility
* [hdpowerview] test type 44
* [hdpowerview] remove comment
* [hdpowerview] name change
* [hdpowerview] remove comments attribute
* [hdpowerview] refactor capabilities code
* [hdpowerview] 'hard' properties now hidden
* [hdpowerview] adopt reviewer suggestion
* [hdpowerview] refactor constant names

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-10 20:10:31 +02:00
GiviMAD
798d59b2c5 [pulseaudio] Fix source format options (#12913)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-06-10 07:39:01 +02:00
Christoph Weitkamp
c171f2682a [groupepsa] Fix syntax of documentation and minor spelling improvements (#12912)
* [groupepsa] Fix syntax of documentation and minor spelling improvements

- Fix syntax of documentation and minor spelling improvements

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-10 07:27:57 +02:00
openhab-bot
6aea2a9444 New Crowdin updates (#12907)
* New translations miele.properties (German)

* New translations remoteopenhab.properties (German)

* New translations mqtt.properties (German)

* New translations metrics.properties (German)

* New translations boschindego.properties (German)

* New translations gpstracker.properties (German)

* New translations onkyo.properties (German)

* New translations tado.properties (German)

* New translations telegram.properties (German)

* New translations jruby.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations bluetooth.properties (German)

* New translations imperihome.properties (German)
2022-06-09 08:08:51 +02:00
robnielsen
045de1b589 [ecobee] Add support for Smart Thermostat Premium (#12892)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-06-08 08:52:07 +02:00
Andrew Fiddian-Green
e24ca5708b [neohub] check for connection refused (#12906)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-08 08:45:35 +02:00
openhab-bot
52bb4b3715 New translations sncf.properties (French) (#12901) 2022-06-07 11:18:58 +02:00
jimtng
25d9315197 [fronius] Add additional Inverter DC channels (#12867)
* [fronius] Add additional Inverter DC channels
* [fronius] Update channel description and translations
* [fronius] Add calculated DC Power channels

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-06-07 08:11:06 +02:00
mlobstein
22ebb9809b Fix reporting of Roku Home app (#12884)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-06-06 16:18:56 +02:00
openhab-bot
1958a82ffe New Crowdin updates (#12897)
* New translations sonos.properties (French)

* New translations sonyprojector.properties (French)
2022-06-06 15:17:05 +02:00
lolodomo
266feb8a87 [sncf] Align XML description and default translations (#12887)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-06 13:17:22 +02:00
Mark Herwege
654fa3e9ed Fix array out of bound exception (#12889)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-06 11:38:50 +02:00
openhab-bot
1e864d444b New Crowdin updates (#12894)
* New translations shelly.properties (German)
* New translations luxom.properties (Italian)
2022-06-06 11:34:28 +02:00
lolodomo
fef3a8d7fc [sonos] Align XML description and default translations (#12886)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-06 09:51:01 +02:00
lolodomo
447ffad438 [sonyprojector] Align XML description and default translations (#12888)
Reorder translations entries.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-06 09:50:33 +02:00
Gaël L'hopital
5a2ec07876 [netatmo] Correct Discovery service (#12869)
* Correct Discovery service
* Enhancing weather station module handling

Signed-off-by: clinique <gael@lhopital.org>
2022-06-05 19:14:04 +02:00
Mark Herwege
f5e5b5189a [elroconnects] Set thingStatus earlier in initialize (#12877)
* Set thingStatus earlier in initialize
* Check device configuration
* Make sure to always set thing status
* Make thing status message localizable

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-05 13:19:12 +02:00
Markus Michels
29a45ef1ab Fix #12381 (#12843)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-06-05 12:03:14 +02:00
openhab-bot
1b43cbaa0f New Crowdin updates (#12875)
* New translations vigicrues.properties (French)

* New translations weatherunderground.properties (French)

* New translations xmltv.properties (French)

* New translations renault.properties (French)

* New translations ntp.properties (French)

* New translations ntp.properties (German)

* New translations sagercaster.properties (French)

* New translations ntp.properties (Hungarian)

* New translations ntp.properties (Turkish)
2022-06-05 07:45:29 +02:00
mlobstein
22d0e5905c [benqprojector] Add discovery service (#12866)
* Add discovery service

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-06-04 23:47:32 +02:00
lolodomo
3de409be75 [luxom] Add missing default translations (#12883)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 23:45:52 +02:00
Mark Herwege
bdf59524b8 [nikohomecontrol] Do not set thing status before end of initialization (#12819)
* Do not set thing status before end of initialization
* Change ThingStatusDetail when no communication object
* Change bridge config error messages
* Bridge status changed handling
* Check bridge status in handler init

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-04 23:39:46 +02:00
Mark Herwege
62bb809f76 [upnpcontrol] Set thingStatus UNKNOWN in intialize (#12880)
* Set thingStatus UNKNOWN in intialize

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-04 23:32:51 +02:00
lolodomo
d7db798a6f [lametrictime] Add missing default translations (#12882)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 23:11:46 +02:00
Mark Hilbush
e40e4bb5d0 Eliminate JsonSyntaxException when restricted_frequency is null (#12876)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-06-04 23:05:17 +02:00
lolodomo
7d782767f9 [renault] Reorder translations entries (#12878)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 22:55:39 +02:00
lolodomo
76912786c1 [sagercaster] Reorder translations entries (#12879)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 22:55:12 +02:00
lolodomo
373b73c429 [ntp] Align XML description and default translations (#12881)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 22:54:28 +02:00
J-N-K
2c36c08f33 Add AARCH64 native lib to dynamodb (#12863)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-06-04 21:50:16 +02:00
Andrew Fiddian-Green
3f4d1f041d [tado] Automatically reconnect offline Things if possible (#12868)
* [tado] reconnect offline things if possible & allowed
* [tado] bridge should ping the server every polling cycle

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-04 20:37:30 +02:00
lolodomo
44b1d0c0c1 [xmltv] Add few missing translations and reorder the entries (#12872)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 20:30:38 +02:00
lolodomo
cabad56a83 [weatherunderground] Reorder translations entries (#12873)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 20:29:57 +02:00
lolodomo
03005db7b4 [vigicrues] Reorder translations entries (#12874)
Re-run of the i18n tool will then trigger no change.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-04 20:29:20 +02:00
Jacob Laursen
f986183a21 [hdpowerview] Fix output to console from tests and eliminate warnings (#12824)
* Avoid logging to console
* Fix redundant null checks

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-06-04 08:44:44 +02:00
Mark Herwege
651fa295e7 [nikohomecontrol] Discovery improvements (#12855)
* Add discovery representation properties
* Recognized device types improvements
* Move discovery to thingHandlerService
* Discover multiple bridges in network
* Made device property names constants

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-03 20:08:08 +02:00
Wouter Born
43e44ea39a Exclude embedded module-info.class recursively (#12865)
See: https://github.com/openhab/openhab-addons/pull/12772#issuecomment-1145179643

Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-03 15:38:20 +02:00
Wouter Born
e4a3a43345 Update bnd to 6.3.0 (#12864)
For release notes, see:

https://github.com/bndtools/bnd/wiki/Changes-in-6.3.0

Related to openhab/openhab-core#2991

Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-02 21:44:20 +02:00
dependabot[bot]
7cbdf22452 Bump gson from 2.8.5 to 2.8.9 in /bundles/org.openhab.persistence.influxdb (#12772)
* Bump gson in /bundles/org.openhab.persistence.influxdb

Bumps [gson](https://github.com/google/gson) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.5...gson-parent-2.8.9)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Prevent embedding issues by excluding module-info.class

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wouter Born <github@maindrain.net>
2022-06-02 19:29:16 +02:00
dependabot[bot]
10355dd965 Bump gson from 2.8.5 to 2.8.9 in /bundles/org.openhab.binding.dbquery (#12798)
* Bump gson from 2.8.5 to 2.8.9 in /bundles/org.openhab.binding.dbquery

Bumps [gson](https://github.com/google/gson) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.5...gson-parent-2.8.9)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Prevent embedding issues by excluding module-info.class

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wouter Born <github@maindrain.net>
2022-06-02 19:28:01 +02:00
J-N-K
0bbd276a24 Refactor scale transformation to configuration registry (#12862)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-06-02 18:18:58 +02:00
openhab-bot
44a0dfb132 New translations darksky.properties (German) (#12860) 2022-06-02 15:20:16 +02:00
Mark Herwege
be06730c32 [nikohomecontrol] Nhc fixes (#12859)
* Make trigger type items act on off
* Fix gson serializing empty values
* Fix some null pointer warnings

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-06-02 13:03:42 +02:00
eugen
97b423b273 update configuration revision on start (#12854)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-06-01 22:44:05 +02:00
Andrew Fiddian-Green
668eb4d3a2 [hdpowerview] add type 66 shutters to database (#12857)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-06-01 22:38:18 +02:00
openhab-bot
598d88648c New Crowdin updates (#12849)
* New translations boschshc.properties (German)
* New translations jinja.properties (German)
* New translations regex.properties (German)
* New translations jsonpath.properties (German)
* New translations xpath.properties (German)
* New translations dynamodb.properties (German)
* New translations jdbc.properties (German)
* New translations neeo.properties (German)
* New translations fsinternetradio.properties (German)
* New translations sonyaudio.properties (German)
* New translations systeminfo.properties (German)
* New translations wemo.properties (German)
* New translations googlestt.properties (German)
* New translations voicerss.properties (German)
* New translations porcupineks.properties (German)
* New translations watsonstt.properties (German)
* New translations voskstt.properties (German)
* New translations deutschebahn.properties (German)
* New translations dwdunwetter.properties (German)
* New translations shelly.properties (German)
* New translations googletts.properties (German)
* New translations http.properties (Italian)
* New translations evcc.properties (German)
* New translations imperihome.properties (Italian)
* New translations voicerss.properties (German)
* New translations dwdunwetter.properties (German)
2022-06-01 12:11:04 +02:00
lolodomo
3114408cb9 [darksky] Update default translations (#12853)
Related to #12837

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-06-01 10:48:14 +02:00
mlobstein
b829fe52e4 Increase timeout for thermostat status requests (#12852)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-05-31 09:39:44 +02:00
Jacob Laursen
4ded5732c3 Remove strict version dependencies (#12816)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-30 12:03:31 +02:00
openhab-bot
43bbe56af3 New Crowdin updates (#12846)
* New translations netatmo.properties (Italian)
* New translations imperihome.properties (French)
* New translations herzborg.properties (Italian)
2022-05-29 23:08:08 +02:00
fremel75
6190867c39 [influxdb] Fix for influxdbv1 retention and table names containing keywords or special chars (#11139)
* [influxdbv1] https://github.com/openhab/openhab-addons/issues/9790 and https://github.com/openhab/openhab-addons/issues/10398 Fix for retention and table names containing InfluxQL keywords or special characters

Signed-off-by: fremel@gmail.com <fremel@gmail.com>

* Revert escaped qoutes on null items

Signed-off-by: fremel@gmail.com <fremel@gmail.com>

* Apply suggestions from code review

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Co-authored-by: Joan Pujol <joanpujol@gmail.com>

* Apply spotless

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Joan Pujol <joanpujol@gmail.com>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-29 20:54:49 +02:00
Jacob Laursen
531ddb37da Fix build (#12848)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-29 20:23:05 +02:00
Karel Goderis
020db307bb [Helios] Remove support for obsolete firmware 2.7 including SOAP base… (#12721)
* Helios] Remove support for obsolete firmware 2.7 including SOAP based communication

Signed-off-by: Karel Goderis <karel.goderis@me.com>
2022-05-29 16:25:43 +02:00
Bernd Weymann
a0c3e7a88a bugfix x-user-agent (#12841)
Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-05-29 11:21:40 +02:00
lolodomo
12b88a5c8b [imperihome] Default translations (#12845)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-29 11:16:08 +02:00
lolodomo
a83838c485 [modbus.*] Updated default translations (#12844)
Related to #12837

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-29 10:23:58 +02:00
James Melville
93ecb5d8e7 Allow pre-escaped URLs for http binding (#12350)
Signed-off-by: James Melville <jamesmelville@gmail.com>
2022-05-29 08:58:56 +02:00
lolodomo
a5e1767e5f [herzborg] Default translations (#12838)
Related to #12837

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-28 20:46:31 +02:00
mlobstein
81ae28cba9 Add PowerOn option to Remote Button channel (#12839)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-05-28 20:10:52 +02:00
openhab-bot
b43eb4a25b New Crowdin updates (#12835)
* New translations amazondashbutton.properties (French)

* New translations netatmo.properties (French)

* New translations netatmo.properties (French)
2022-05-28 20:00:46 +02:00
Markus Michels
6c78b4a63d Fixes CoAP parsing problem (#12831) (#12834)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-05-28 11:55:58 +02:00
Gaël L'hopital
1aec6c9b30 [netatmo] Add siren device (#12805)
* Starting Siren addition

Signed-off-by: clinique <gael@lhopital.org>
2022-05-28 11:26:30 +02:00
Markus Michels
5291d7ddc9 [shelly] Prepare for CrowdIn translations, bug fixes (#12822)
* Prepare for CrowdIn translations, includes translation of binding
settings; fix #12815 endless initialization; fix #12535 invalid log
messages

Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-05-28 10:33:40 +02:00
openhab-bot
1bb4500da1 New Crowdin updates (#12828)
* New translations netatmo.properties (French)
* New translations netatmo.properties (Italian)
2022-05-28 01:08:07 +02:00
lolodomo
1aeaccfe04 [netatmo] Fix getActiveChildren (#12830)
Wait for the thing being initialized properly by the thing manager
before considering it as an active children

Fix #12809

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-27 19:47:13 +02:00
Jacob Laursen
d83a036e1a Disable unstable test (#12829)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-27 18:18:16 +02:00
lolodomo
efde8beae6 [netatmo] Remove 2 outdated entries from the properties file (#12827)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-27 17:24:28 +02:00
robnielsen
53db5c4822 [insteon] change .equals() to == for ThingStatus equality check (#12826)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-05-27 16:12:04 +02:00
robnielsen
88e7ba3774 [insteon] set device to offline if network is not online after initialization (#12790)
* [insteon] set device to offline if network is not online during initialization

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-05-27 14:14:43 +02:00
Matthew Skinner
7f249872bc [wled] Change to bridge/thing structure and add global controls (#12199)
* Update to using bridge/thing
* remove white channels.
* Improve Discovery
* Add more sleep/ timed light / NL features
* Change advanced channels
* fix bug for sleep duration
* Update readme with new channels
* Move channels into separate readme heading.
* fix white jumps to 0 after moving control.

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-05-27 13:26:47 +02:00
J-N-K
87023da9e3 Fix issues with tests after core-changes (#12817)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-05-27 09:07:15 +02:00
openhab-bot
2403ffcb86 New translations network.properties (French) (#12821) 2022-05-27 08:36:36 +02:00
Mark Herwege
766eba5bd6 [elroconnects] Fix thing type description (#12823)
* Fix thing type description

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-05-26 23:18:25 +02:00
Matthew Skinner
867628a701 Doorbird online/offline bug fix (#12814)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-05-26 15:35:59 +02:00
Sönke Küper
76001902a3 [deutschebahn] DB API Marketplace adjustments (#12786)
* Changes API URL and authentication Headers for DB API Marketplace.
* Fixed some typos and code style findings.

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2022-05-26 13:09:09 +02:00
Jacob Laursen
a30bb59400 [mqtt.homie] Disable unstable test (#12812)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-26 08:22:56 +02:00
Kai Kreuzer
ae5009154d Resolve itests after jUPnP upgrade (#12808)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-05-25 22:57:42 +02:00
openhab-bot
d938341ba7 New Crowdin updates (#12810)
* New translations miele.properties (Danish)
* New translations netatmo.properties (Italian)
2022-05-25 22:16:01 +02:00
Andreas Isenmann
010fa0200a [Netatmo] Enhancement of documentation (#12807)
* Enhancement of Netatmo binding documentation

Signed-off-by: Andreas Isenmann <andreas.isenmann@ise-world.de>
2022-05-25 13:42:59 +02:00
GiviMAD
2ee6f8493e [jellyfin] fix multiple sessions for device and update deps (#12794)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-05-24 22:29:40 +02:00
Andrew Fiddian-Green
3ee741e63b [tado] Fix AC control bugs; Add null annotations and checks (#12570)
* [tado] add null annotations and checks
* [tado] cosmetics
* [tado] tweak homeid
* [tado] revert int to Integer
* [tado] explicit method public declaration
* [tado] remove "Bridge not initialized" exception on shutdown
* [tado] new state values: error if unsupported; don't force defaults
* [tado] adopt reviewer suggestion
* [tado] tweaks
* [tado] use new,current,default mode for target capabilities; cosmetics
* [tado] eliminate dead code
* [tado] set or defaults
* [tado] change 'nullable Integer' to 'int'
* [tado] eliminate warning if handler already disposed
* [tado] improve json logging
* [tado] fix getTargetTemperature if state is OFF
* [tado] add null checks
* [tado] log warning instead of throwing exception
* [tado] improved json trace logging
* [tado] adopt reviewer suggestion
* [tado] fix logging to trace
* [tado] thread synch, and fix 'this' assignments on futures
* [tado] tweak yaml
* [tado] fix verticalSwing
* [tado] fix fanLevel

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-05-24 22:09:03 +02:00
Gaël L'hopital
55beb413bd [netatmo] Add doorbell support (#12776)
* Adding doorbell handling to netatmo
Closes #8571

Signed-off-by: clinique <gael@lhopital.org>
2022-05-24 21:56:55 +02:00
Andrew Fiddian-Green
308bb3013a [hdpowerview] Change method names to match documentation (#12796)
* [hdpowerview] refactor method names

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-05-24 21:50:41 +02:00
Stefan Giehl
39d7abc824 [LuxtronikHeatpump] fix menuStateLine1 state options (#12802)
Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
2022-05-24 21:11:44 +02:00
GiviMAD
1b5471cf65 [watsonstt] reuse token (#12800)
* [watsonstt] reuse token

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-05-24 20:45:49 +02:00
GiviMAD
98af136e4a [porcupineks] concurrency fix (#12801)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-05-24 20:14:02 +02:00
Jacob Laursen
723d09b96d Upgrade directory-maven-plugin from 0.3.1 to 1.0 (#12774)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-24 14:37:46 +02:00
Wouter Born
d456db656c Upgrade SAT to 0.13.0 (#12797)
See the [0.13.0](https://github.com/openhab/static-code-analysis/milestone/20?closed=1) milestone for all changes in this release.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-05-24 14:29:42 +02:00
Gaël L'hopital
907e33518e [netatmo] Removing feature restriction from binding configuration (#12795)
* Removing feature restriction from binding configuration

Signed-off-by: clinique <gael@lhopital.org>
2022-05-24 12:59:59 +02:00
Jacob Laursen
6283c9a0e2 Disable broken test (#12793)
Related to: #12784

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-24 08:13:02 +02:00
Mark Hilbush
1baa37dcdd [bigassfan] Add warning about new incompatible firmware (#12792)
* Add warning about new incompatible firmware
* Add firmware version number

Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-05-23 22:51:28 +02:00
robnielsen
5b79e18289 [insteon] ignore commands if device is not online (#12787)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-05-23 21:56:35 +02:00
GiviMAD
6a6cf3e515 [androiddebugbridge] fix start-intent channel (#12791)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-05-23 18:33:56 +02:00
David Pace
c16e9df7a0 [boschshc] Support for Bosch Intrusion Detection System (#12700) (#12758)
* [boschshc] Support for Bosch Intrusion Detection System (#12700)

* Add thing and channel definitions for intrusion detection system
* Extract handler abstraction for devices with non-configurable device
IDs
* Extract service abstractions for write-only services (i.e. services
that can not receive states from the bridge)
* Add handler, services and DTO implementations for the intrusion
detection system
* Add detailed Javadocs
* Generalize mechanism to actively fetch initial states for certain
services
* Add unit tests
* Add documentation

closes #12700

* [boschshc] Documentation and formatting enhancements

Signed-off-by: David Pace <dev@davidpace.de>
2022-05-22 21:45:55 +02:00
lolodomo
50831fff14 [netatmo] Discovery using current value of readFriends parameter (#12782)
Fix #12778

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-22 10:34:41 +02:00
lolodomo
2fbdc7d21e [netatmo] Avoid requesting favorite stations when not needed (#12777)
* [netatmo] Avoid requesting favorite stations when not needed
* Add new method getFavoriteAndGuestStationsData
* Enhanced description for method getOwnedStationData
* getFavoriteAndGuestStationsData returns a collection of NAMain

Fix #12769

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-22 10:32:09 +02:00
openhab-bot
cab63283f3 New translations netatmo.properties (Italian) (#12781) 2022-05-21 21:19:09 +02:00
M Valla
1029b926ce [openwebnet] add default translations (#12775)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-05-21 10:45:42 +02:00
lolodomo
b475f0abd1 [netatmo] Add translations for config parameters (#12768)
* [netatmo] Add translations for config parameters

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-21 10:20:34 +02:00
openhab-bot
b30a82c1a3 New Crowdin updates (#12771)
* New translations astro.properties (Italian)
* New translations netatmo.properties (Italian)
* New translations fineoffsetweatherstation.properties (Italian)
2022-05-21 09:18:59 +02:00
Gaël L'hopital
9632a0a870 [netatmo] Switch to Code Granting process (#12726)
Signed-off-by: clinique <gael@lhopital.org>
2022-05-20 12:53:53 +02:00
lolodomo
c12ed4bc8e [fineoffsetweatherstation] Align XML with default translations (#12766)
Makes i18n tool reusable.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-19 21:44:26 +02:00
Andreas Berger
66bb27275d [fineoffsetweatherstation] Initial contribution (#12464)
* [fineoffsetweatherstation] initial commit
* [fineoffsetweatherstation] add missing measure type for air quality
* [fineoffsetweatherstation] add names to sensors
* [fineoffsetweatherstation] add missing channel types for lightning and water leak
* [fineoffsetweatherstation] adjust label names and replaced images + pdf so there are no copyright issues
* [fineoffsetweatherstation] remove wrong semantic tags
* [fineoffsetweatherstation] add missing measurands for WH45 (CO2) and WH35 (Leaf wetness)
* [fineoffsetweatherstation] fix typos
* [fineoffsetweatherstation] improve error handling for unstable connections
* [fineoffsetweatherstation] set online status after successful discovery
* [fineoffsetweatherstation] adjustments after review
* [fineoffsetweatherstation] adjustments after review
* Fix typo
* use `system.wind-speed` where applicable
* fix naming of channel type constants

Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
2022-05-19 20:52:17 +02:00
Hilbrand Bouwkamp
4372c007cd Updated readme, added how to generate i18n en properties file/kar files/use -pl option (#12757)
* Updated readme, added how to generate i18n en properties file/kar files/use -pl option

- Also put command in blocks to make them stand out more in the readme.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-05-19 11:15:59 +02:00
dependabot[bot]
688dad0be8 Bump bcprov-jdk15on from 1.52 to 1.67 in /bundles/org.openhab.binding.boschshc (#12127)
Bump all org.bouncycastle bundles to version 1.70 and added new bcutil-jdk15on jar which was added with v1.69

Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
2022-05-19 10:04:01 +02:00
Andrew Fiddian-Green
af4ad689ac [hdpowerview] add type 38 shade to database (#12761)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-05-18 17:36:57 +02:00
openhab-bot
a97c53662b New translations voskstt.properties (Italian) (#12759) 2022-05-18 01:04:40 +02:00
Hilbrand Bouwkamp
dec6483e2c [unifi] New site, wlan, wiredClient, and poePort. Discovery support (#11959)
* [unifi] New wiredClient and poePort, Discovery support

This change adds the following changes:
- 2 new things: a wired client and POE port.
- Adds discovery of clients and poePort.
- Adds guest channel to client thing.
Also included some refactoring and bug fixes.

This change includes changes made by Matthew Bowman that he created on his own branch but were never completed.

Closes #9609: Implemented async http call, which should fix the buffer overflow.
Closes #10375: At least should avoid the stack overflow.
Closes #11964: cid will be handled in lower case.

* Removed type from UniFiCache constructor

It's redundant and only used for logging.

* Added UniFi Site and wLAN things

* Improved default state handling

Updated refresh/state update, to also update when no data available.
Simplified usage of cache: call cache directly instead of implicit via controller class.
Made getDefaultState generic to all things, and simplified passing channelId instead of channelUID to sub methods.

* Moved dto objects to dto package.

* Added support for client experience

* Made fields private

No need to have them protected.

* Added PoE power-cycle command

Also added wireless client as command as this better fits with the openHAB model to handle commands that are only one way and not have a state.

* Updated readme

* [unifi] Added client/guest count to wlan

* Fix QRcode construction and added hidden ssid support in qrcode string

Also-by: Matthew Bowman <mgb@otr.mx>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Co-authored-by: Matthew Bowman <mgb@otr.mx>
2022-05-16 23:14:00 +02:00
robnielsen
d9b5f2d911 [insteon] remove instructions about redirecting output from console commands (#12734)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-05-16 22:43:33 +02:00
Doug Culnane
1def184dee [renault] Small English text fix. Add missing config parameter to README. (#12755)
* [renault] Add German translations and small english text fixes. Add missing config parameter to README.
* [renault] Remove German translations.
* [renault] Make config with default and english text sources of truth consistent.

Signed-off-by: Doug Culnane <doug@culnane.net>
2022-05-16 22:08:41 +02:00
openhab-bot
c33463456f New Crowdin updates (#12752)
* New translations goecharger.properties (Italian)

* New translations porcupineks.properties (French)

* New translations voskstt.properties (French)
2022-05-16 21:14:11 +02:00
Hilbrand Bouwkamp
e6cc323723 DSMR identifier cosem objects should be parsed as hex values (#12756)
Closes #12724

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-05-16 21:13:28 +02:00
lolodomo
25a923be39 [webthing] Cleanup semantic tags for dynamic channels (#12751)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-16 19:21:22 +02:00
lolodomo
5eaddd1af1 [voskstt] Update the description of the preloadModel parameter (#12749)
* [voskstt] Update the description of the preloadModel parameter

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-16 19:16:23 +02:00
lolodomo
b99d98b03d [porcupineks] Fix description of the sensitivity parameter (#12748)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-16 18:33:36 +02:00
lolodomo
2fb662dab7 [sensibo] Fix tags for target temperature channel types built (#12750)
dynamically

Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-16 18:29:29 +02:00
Roie Geron
d7f8fe6411 [touchwand] - remove Thing state update on unit discovery, causing expire to fail (#12736)
* remove listeners from unit discovery 

Signed-off-by: Roie Geron <roie.geron@gmail.com>
2022-05-16 16:49:53 +02:00
openhab-bot
91ee684a06 New Crowdin updates (#12747)
* New translations googletts.properties (French)

* New translations googlestt.properties (French)

* New translations voskstt.properties (French)

* New translations watsonstt.properties (French)

* New translations pollytts.properties (French)

* New translations mqtt.properties (French)

* New translations mqtt.properties (French)

* New translations porcupineks.properties (French)
2022-05-16 15:21:55 +02:00
Reinhard Plaim
e7f20b45cc [goecharger] Add powerAll to thing-types (#12742)
* [goecharger] Add powerAll to thing-types

Signed-off-by: Reinhard Plaim <reinhardplaim@gmail.com>
2022-05-16 14:03:40 +02:00
lolodomo
cff0629fdd [goecharger] Fix compatibility with go-eCharger V3 (#12733)
Also avoid the thing to remain in state UNKNOWN if the decoding of the
JSON response is failing.

Fix #12719

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-16 10:27:19 +02:00
openhab-bot
78813efbd2 New Crowdin updates (#12745)
* New translations exec.properties (French)

* New translations jinja.properties (French)

* New translations js.properties (French)

* New translations jsonpath.properties (French)

* New translations regex.properties (French)

* New translations scale.properties (French)

* New translations xslt.properties (French)

* New translations xpath.properties (French)

* New translations renault.properties (French)

* New translations sonnen.properties (French)

* New translations luxom.properties (French)

* New translations luxom.properties (Italian)

* New translations prowl.properties (French)

* New translations prowl.properties (Italian)

* New translations awattar.properties (German)

* New translations vesync.properties (Italian)

* New translations netatmo.properties (Italian)
2022-05-16 09:30:05 +02:00
Sven Strohschein
6980102abf [netatmo] Floodlight switch repaired (#12743)
* [netatmo] Floodlight switch repaired

Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
2022-05-16 09:28:44 +02:00
Mark Hilbush
049fd1766e [nest] Fix for missing refresh token after reauthorization (#12711)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-05-15 22:03:04 +02:00
lolodomo
715fe34daa [webthing] Fix item type for dynamic channel (#12738)
* [webthing] Fix item type for dynamic channel
* Review comments: use constants from CoreItemFactory

Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-15 21:24:46 +02:00
Andrew Fiddian-Green
7dae2b01ec [openthermgateway] transition bridge state via offline to online (#12744)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-05-15 18:56:34 +02:00
lolodomo
bab8e98796 [km200] Fix item type for dynamic channel type (#12732)
* [km200] Fix item type for dynamic channel type

Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-14 14:42:56 +02:00
lolodomo
6c2363d524 [haywardomnilogic] Fix item-type value for channel types waterflow and (#12727)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-12 23:14:50 +02:00
Jacob Laursen
cc43251b5d Fix logging for appliances where consumption data is not supported (#12728)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-05-12 23:12:32 +02:00
Jonathan Gilbert
bdfe999bca Removed ClassExtender as it's no longer used and may be leaking memory (#12725)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2022-05-12 23:08:40 +02:00
Florian Hotze
2e1fbdd86f [evcc] Initial contribution (#12611)
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-05-12 19:31:45 +02:00
Martin Matuška
9c0541c2c9 Update README.md (#12707)
Mention that Sinclair devices using the Gree protocol are supported as well (EWPE smart).
2022-05-12 07:45:20 +02:00
Daniel Lienert
47418606c6 DOCS: Add missing bracket (#12722) 2022-05-12 07:40:48 +02:00
lolodomo
7364e69fd2 [oceanic] Fix item-type value for channel types reserve and flow (#12716)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-11 22:05:54 +02:00
lolodomo
96323f91ab [lutron] Fix item-type tag value for channel type buttonpress (#12715)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-11 22:03:44 +02:00
lolodomo
01006b73aa [automower] Fix item-type value for channel type positionType (#12714)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-11 22:03:11 +02:00
lolodomo
cb27dc5e68 [knx] Fix item-type value for channel type datetime-control (#12717)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-11 22:02:06 +02:00
lolodomo
97db8aa407 Fix case for item-type tag value (channel definition) (#12713)
Related to #12712

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-11 22:00:44 +02:00
Mark Herwege
9d594469df Correct error for long thing names (#12708)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-05-09 23:05:30 +02:00
Giovanni Fabiani
888f962116 [openwebnet] Add support for sending Auxiliary (AUX) commands/messages to the bus (WHO=9) (#12468)
Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
2022-05-08 21:02:42 +02:00
lolodomo
553fcfa3b4 [netatmo] Do not ignore updated events (same timestamp) (#12701)
Fix #12699

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-08 12:08:02 +02:00
Holger Friedrich
8830ed527e [knx] Allow sending items with units to KNX bus. (#12675)
Items with dimensions (QuantityType) are now translated and can be sent to the
KNX bus. This requires the correct DPT to be specified in the channel
definition. Fixes #10706.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-05-08 11:23:18 +02:00
Corubba
961696ead6 [http] Support all 2xx response codes (#12594)
* [http] Add tests
* [http] Treat all success codes as such
* All 2xx http codes mean success, so treat them the same way 200 is.

Fixes #11369

Signed-off-by: Corubba Smith <corubba@gmx.de>
2022-05-08 10:53:20 +02:00
lolodomo
4e56b9b734 [netatmo] Give access to video only when video is available (#12698)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-07 21:21:35 +02:00
Gaël L'hopital
f6ab246a41 [openuv] adressing issue #12688 (#12695)
* openuv adressing issue #12688

Signed-off-by: clinique <gael@lhopital.org>
2022-05-07 20:37:03 +02:00
Hans Böhm
cb60d891fb [openweathermap] Fix display of alert data (#12697)
* fix display of alert data
* improve javadoc
* add javadoc to updateMinutelyForecastChannel

Signed-off-by: Hans Böhm <h.boehm@gmx.at>
2022-05-07 19:01:38 +02:00
lolodomo
b51c930390 [vesync] Add default translations (#12696)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-07 12:30:23 +02:00
dag81
0a46724b38 [veSync] New VeSync binding addition (#12219)
* [veSync] New VeSync binding addition

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - LUH-D301S support added.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - AH channel corrections

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - AH D301S night light removal

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - AH docs mistLevel correction

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - Debug output correction

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] New VeSync binding addition - Dual200S adjustments

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - removal of TODOs

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - markdown table formatting

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - Air Purifier doc's and bug fix

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - Air Humidifiers doc's

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - HttpClient handling management to move api instance to the correct location

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - ThingTypeUID additions

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - Documentation correction - airPurifierPollinterval

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - Documentation correction - configuration parameters

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - Module documentation correction - description update.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - thing-types - bridge configuration updates

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - thing-types - description updates to cut length where possible.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - discovery - representation prop adjustments

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR adjustments - documentation - configuration block adjustments.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustments - Humidity set point channel renames

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustments - Initalize direct call cleanup

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustments - getDeviceUID override removal

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustments - unit adjustments

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PMD Error correction - file naming correction

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - HttpClient handling simplified.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Removal of dead code.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Readme OpenHab to openHAB

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Comment cleanup

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Handler Error removal to comm issue

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Quick spotless fix

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Adjustment - Removal of debug log - as status has message in now.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PPM to PM correction for Air Quality units.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] ReadMe Units PM Update

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] Constant name correction for air quality units adjustment.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] Humidifier Percentage Units addition.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] Air Filter Life Remaining units addition

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PM25 update based on other bindings, to correct the units.

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] ReadMe PM25 updates

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR Updates: Thing Type Ids to lower case

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR: Removal of unrequired createThing override

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR: Removal of unused channel-type nightLightBrightnessType

Signed-off-by: David Goodyear <david.goodyear@gmail.com>

* [veSync] PR: Readme correction

Signed-off-by: David Goodyear <david.goodyear@gmail.com>
2022-05-07 12:15:48 +02:00
Łukasz Dywicki
7323b2e4eb [modbus] Add support for after connection delays required by some devices. (#12642)
Fixes #12641.

Signed-off-by: Łukasz Dywicki <luke@code-house.org>
2022-05-07 12:02:04 +02:00
Kai Kreuzer
8d92e9d31e Update KNX code owner (#12694)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-05-07 08:39:33 +02:00
Gaël L'hopital
adda4c8769 [Netatmo] Binding rewrite without external dependencies - step 3 (#12357)
Signed-off-by: clinique <gael@lhopital.org>
Also-by: Laurent Garnier <lg.hc@free.fr>
2022-05-07 00:37:24 +02:00
Felix Schneider
3b793a73a1 [AmazonEchoControl]: Docs: Remove old bug warning & adjust spacing (#12690)
* DOCS: Remove old bug warning

The bug that alexa remindes twice was fixed

* {OTHER} Remove trailing spaces
* {DOCS} Adjusted spacing to unify the docs

Signed-off-by: Felix Schneider <fs@felix-schneider.org>
2022-05-06 23:16:07 +02:00
Dave
8460054c9d [boschshc] Support Bosch Smart Home Cameras (#12666) (#12680)
* [boschshc] Support Bosch Smart Home Cameras (#12666)

- add thing definitions for indoor security camera 360 and outdoor
security camera Eyes
- implement services for privacy mode and camera notifications
- implement camera handler
- add unit tests
- update documentation

* [boschshc] Enhance logging and comments (#12666)

* only log on debug level when initial state can not be retrieved
* do not log stack traces
* minor Javadoc fixes

closes #12666

Signed-off-by: David Pace <dev@davidpace.de>
2022-05-06 23:13:04 +02:00
Mark Herwege
e9d9149c35 Update README.md (#12691)
Removed first section from README. These are not rendered in the inline documentation and make the documention (More...) of the binding inside OH show the raw text.
2022-05-06 23:08:08 +02:00
lolodomo
80a959e370 [openweathermap] Ignore disabled things (#12686)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-05 20:16:07 +02:00
lolodomo
fddfe4e75f [homeconnect] Ignore disabled things (#12685)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-05 20:15:04 +02:00
lolodomo
b4945f647c [somfytahoma] Ignore disabled things (#12687)
* [somfytahoma] Ignore disabled things

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-05 20:13:59 +02:00
lolodomo
bfca6d2201 [powermax] Ignore disabled things (#12684)
* [powermax] Ignore disabled things

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-05 19:59:59 +02:00
lolodomo
4180eac57c [freebox] Ignore disabled things (#12683)
* [freebox] Ignore disabled things

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-05 19:55:16 +02:00
Reinhard Plaim
60cbfad5ac [goecharger] fix issue with category (#12682)
* [goecharger] category before state
remove warning within readme.md

Signed-off-by: Reinhard Plaim <reinhardplaim@gmail.com>
2022-05-04 22:08:25 +02:00
Ondrej Pecta
a37a119ff1 [orbitbhyve] do not update status of a disabled sprinker (#12679)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-05-04 12:54:20 +02:00
Mark Herwege
cc3ebeffdd [elroconnects] Hub discovery, device management console commands, signal strength channels (#12653)
* Added bridge alarm channel
* Added signal strength channels
* Add deviceId payload to hub trigger channel
* Device renaming
* Device join functionality
* Console commands for hub management
* Remove device join channel
* Manual configuration README update
* Discovery of controllers using cloud service
* README update
* Support older firmware commands
* Fix error status messages
* Update ip address in thing configuration on ip detection
* Background discovery config parameter
* Fix enable discovery parameter, handle bad authentication response
* httpClient change, backgroundDiscovery enabled from thing handler

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-05-03 21:19:06 +02:00
Wolfgang Klimt
61de1a5387 [awattar] Initial contribution (#11976)
* First alpha version of the awattar binding

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Corrected typos

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* More typos

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Improved time handling to consider time zone.

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Corrected logical time problem, start adding nextprice thing

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Added support for Austria

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Use List instead of Set

Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Minor corrections

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Removed unneeded handler, corrected fetching of prices

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Added i18n, updated documentation

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Corrected pom.xml after rebase

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Updated version to 3.3.0-SNAPSHOT

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Corrected findings of Code analysis tool

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Updated copyright notice

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Updates to get rid of compiler warnings

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Worked on review comments from @fwolter

Obeyed most of the review comments. Exceptions:

* binding is already added to bom/openhab-addons/pom.xml (at least I found it there and there was a commit notice in git log)
* mvn license:format brought back 2021, so I manually set everything to 2022. Should I try to rebase my whole branch?
* In two places the binding needs to adjust to minute boundaries, hence scheduleWithFixedDelay will not work.
* I removed empty trailing lines, but mvn spotless:apply brought them back
* The OhInfXmlUsageCheck seems to be wrong.
* The ConstantNameCheck in AwattarUtil seems to be mislead by the fact that all members of the class are static, including the logger. From my point of view it is not a real "constant".

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Updated Readme to match code changes

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Further work on review comments from @fwolter

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Corrected config definition

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Changed Copyright to 2022

Signed-off-by: Wolfgang Klimt <github@klimt.de>

* Review comments from @fwolter. Improved timezone handling

Signed-off-by: Wolfgang Klimt <github@klimt.de>

Co-authored-by: wolfii <wolfgang.klimt@consol.de>
2022-05-02 08:22:47 +02:00
openhab-bot
3cac11b16b New Crowdin updates (#12673)
* New translations groupepsa.properties (Italian)
* New translations jellyfin.properties (Italian)
2022-05-01 20:51:59 +02:00
Florian Hotze
69c3b0f353 [yamahamusiccast] Fix VolumeDB channel resets on UDP event (#12671)
* [yamahamusiccast] Fix VolumeDB resets on UDP event
* [yamahamusiccast] Update channel description & docs

Fixes [yamahamusiccast] VolumeDB channel resets to -80 on player channel change #12656.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-05-01 12:50:10 +02:00
lolodomo
346337fd9a [groupepsa] Add default translations (#12669)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-30 21:07:57 +02:00
openhab-bot
aec277d446 New translations sonos.properties (French) (#12670) 2022-04-30 21:01:07 +02:00
GiviMAD
f4b888a8fd [androiddebugbridge] add start intent channel (#12438)
* [androiddebugbridge] add start intent channel

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-04-30 20:32:11 +02:00
lolodomo
f94e2af673 [jellyfin] Add default translations (#12668)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-30 19:46:49 +02:00
Arjan Mels
8e7c78cef5 [groupepsa] Initial Contribution (#10332)
* Initial commit: template only

Signed-off-by: Arjan Mels <github@mels.email>

* Initial version

Signed-off-by: Arjan Mels <github@mels.email>

* Minor cleanup after rebase

Signed-off-by: Arjan Mels <github@mels.email>

* Corrected type "peugot" => "peugeot"

Signed-off-by: Arjan Mels <github@mels.email>

* Improved Exception messages
Corrected URL

Signed-off-by: Arjan Mels <github@mels.email>

* Switched from vin to id
Changed nextDelayedTime from ZonedDateTime to Duration
Added vehcile etails and additional info retrieval

Signed-off-by: Arjan Mels <github@mels.email>

* Before rebase

Signed-off-by: Arjan Mels <github@mels.email>

* Various fixes

Signed-off-by: Arjan Mels <github@mels.email>

* Updated tests

Signed-off-by: Arjan Mels <github@mels.email>

* Changed double to BigDecimal to keep accuracy
Added lastupdated channel
Small corrections

Signed-off-by: Arjan Mels <github@mels.email>

* Updated to 3.1.0-SNAPSHOT

Signed-off-by: Arjan Mels <github@mels.email>

* Added README.md

Signed-off-by: Arjan Mels <github@mels.email>

* Changed channels to lowerCamelCase

Signed-off-by: Arjan Mels <github@mels.email>

* Minor corrections

Signed-off-by: Arjan Mels <github@mels.email>

* Corrected lastUpdated in thing-types.xml

Signed-off-by: Arjan Mels <github@mels.email>

* Fixed ToStringbuilder

Signed-off-by: Arjan Mels <github@mels.email>

* corrected capitalization in thing-types.xml and Constants

Signed-off-by: Arjan Mels <github@mels.email>

* Corrected URL for Citroen

Signed-off-by: Arjan Mels <github@mels.email>

* Added groupepsa binding to bom pom.xml

Signed-off-by: Arjan Mels <github@mels.email>

* Updated copyrights

Signed-off-by: Arjan Mels <github@mels.email>

* Fixed CheckStyle warnings

Signed-off-by: Arjan Mels <github@mels.email>

* Fixed check style notifications

Signed-off-by: Arjan Mels <github@mels.email>

* Updated readme

Signed-off-by: Arjan Mels <github@mels.email>

* Corrected capitalization of thing-types.xml

Signed-off-by: Arjan Mels <github@mels.email>

* Updated pom. xml to 3.3.0-SNAPSHOT

Signed-off-by: Arjan Mels <github@mels.email>

* Updated copyright messages

Signed-off-by: Arjan Mels <github@mels.email>

* Various minor cleanups
Cleanup of the README.md
Removed unnecessary license header form the feature.xml file
Various null annotation corrections
Further cleanup of thing-types.xml
Cleanup of groupepsa.properties

Signed-off-by: Arjan Mels <github@mels.email>

* Logging updates

Signed-off-by: Arjan Mels <github@mels.email>

* Updated dependencies
Added dependencies to NOTICE

Signed-off-by: Arjan Mels <github@mels.email>

* Ignore lastposition for isConnected check

Signed-off-by: Arjan Mels <github@mels.email>

* Updated to use ThingHandlerService

Signed-off-by: Arjan Mels <github@mels.email>

* Fixed various review findings

Signed-off-by: Arjan Mels <github@mels.email>

Co-authored-by: Arjan Mels <github@mels.email>
2022-04-30 19:44:53 +02:00
J-N-K
7adfc482da Bump commons-io (#12665)
This brings commons-io in-line with version in core.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-30 11:55:18 +02:00
J-N-K
fe0ae8a6be Add .gradle to .gitgnore (#12664)
This is sometimes added by IntelliJ when importing a project.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-30 11:53:25 +02:00
GiviMAD
e6628cf63a [jellyfin] initial contribution (#11939)
* [jellyfin] initial contribution

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* [jellyfin] update parent version

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* update license header year

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* add example to readme

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* apply pr review

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* apply pr review

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* apply pr review

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* add third-party info

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>

* upgrade sdk to release 1.2.0

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-04-30 10:58:14 +02:00
Gwendal Roulleau
ae20f93f19 [pulseaudio] Allow flexible parameters to find a given pulseaudio device (#12598)
* [pulseaudio] Allow flexible parameters to find a given pulseaudio device

To identify the device on the pulseaudio server, you can now use the description instead of the technical id (a.k.a. "name").
To filter furthermore, you can also use the parameter additionalFilters (optional regular expressions that need to match a property value of a device on the pulseaudio server)

Closes #12555

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-04-28 23:25:23 +02:00
Wouter Born
1408899ed3 Upgrade to Karaf 4.3.7 (#12660)
* Syncs the karaf.version so the new Maven plugin is used
* Resolves itest runbundles for the new runtime dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-28 22:03:04 +02:00
Dan Cunningham
c48ba25915 [iaqualink] Fix isssue using manual pool IDs (#12659)
Fixes #12654

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-04-27 16:08:57 +02:00
schmieeed
5f172c1557 Update README.md (#12658)
Comma's are missing + Thing name example added
2022-04-27 13:44:43 +02:00
Wouter Born
62c30d034f [mqtt] Revive disabled itests (#12431)
This fixes all the compilation/dependency issues in the MQTT itests so they can be reenabled again.
The tests now create and use their own Moquette instance instead of the removed embedded MQTT broker.
The moquette-broker JAR is also included in the test bundles as workaround for its missing OSGi bundle manifest headers.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-26 20:24:11 +02:00
eugen
f310cf7ca0 [homekit] add support for additional homekit accessories (#12536)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-04-26 19:37:54 +02:00
Jacob Laursen
d584daf334 Fix name of DSL action (#12655)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-04-26 10:51:03 +02:00
ulfwin
fdc3206d84 Update README.md (#12652)
I have tried this binding with Tellstick Net v1, and it works (through Telldus Live)
2022-04-25 21:02:22 +02:00
Björn Lange
6b8db4fe0d [mielecloud] Fix washing machine can be started channel is not updated (#12583)
* Add tests to ensure that parsing works correctly
* Fetch /actions on server sent event
* Refactor onServerSentEvent
* Remove ActionStateFetcher
* Manually construct BigDecimal

Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
2022-04-25 20:13:47 +02:00
Kristof Rado
cda38435e9 Fix ONLINE state when device response status is 203 (#12587)
Signed-off-by: Kristof Rado <rado.krisi@gmail.com>
2022-04-25 19:41:00 +02:00
Jacob Laursen
e659ceeade [wemo] Optimize port detection (#12651)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-04-25 17:47:23 +02:00
Florian Hotze
33ce468dab [dwdunwetter] Update docs to clarify CellID selection (#12588)
* [dwdunwetter] Improve docs for CellID
* [dwdunwetter] Update Thing config for README changes
* [dwdunwetter] Update German README

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-04-25 14:34:05 +02:00
Wouter Born
8e28ef0c58 [mybmw] Add default translations (#12649)
* [mybmw] Add default translations
* Remove >

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-25 11:52:48 +02:00
jimtng
f4532a9e88 [jrubyscripting] Fix UI configuration property id (#12650)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-04-25 11:18:50 +02:00
Jacob Laursen
241a613d65 [wemo] Fix UPnP resubscription after lost network connection (#12648)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-04-25 11:16:47 +02:00
Hans-Jörg Merk
270c917e66 [mail] Fix UnsupportedDataTypeException (#12568)
Also-by: Jan N. Klug <jan.n.klug@rub.de>
Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2022-04-25 11:01:58 +02:00
Bernd Weymann
c8d64ddeeb [mybmw] new binding contribution (#12006)
* solve pom.xml conflict

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* authorization working

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* Fully Authorization integration & cleanup

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* make project compilable

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* make code compilable & buildable

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix discovery test

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix property test

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix unit tests

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* unit tests fixed

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* solve checkstyle high & medium

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* include all status update channel calls

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* correct Closed/Connected/Locked states

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add charge statistics

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add ChargingProfile channels

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add charging sessions

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add discovery properties

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* provide general check-control info

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add test data for different vehicles

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix some checkstyle

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add more vehicles to unit test

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add F11 test

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add service mileage

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add check controls

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add fingerprint mechanism

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* cleanup channels after rework

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfixe requesting vehicles

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix brand handling

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* anonymous fingerprint

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add charge statistics channels

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add tire channels

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* remove range max channels

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* resolve last checkstyle issues

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix chrge profile updates

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix remote service execution

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix image handling

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* adapt service & checkcontrol handling

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfix session selection

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* rework km / mi handling

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* introduce fallbacks for range calculations

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* unit tests for all available vehicle fingerprints

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfixes during creation of HMI and translations

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfix translation and language selection

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* introduce climate-now start / stop

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfixes translation

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add all fuelindicator fields

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* correct remote service ids, commands and translations

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* cleanup remote requsts and responses

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add remote response examples

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* rework command options

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* remove unused timezoneprovider

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* locale language debugging

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* fix range value calculation

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* introduce charge-info channel

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* localize charge info string

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* smaller charge status fixes

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* 1st readme adaptions plus corresponding bugfixes

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfix date time conversion

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* readme channel group update

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add motion status

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* raw test anonymous fingerprint

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* revert motion status

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfixes todo sections

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* china login

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* remove unnecessary info logging

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* spell check and example update

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* resolve codeowner conflicts

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* delete rex responses

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfix linux characters

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* bugfix unit test with static time comparison

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* Copyright header adaption

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add raw data channel

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add address channel

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add motion channel

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* add mild hybrid vehicle support

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* review comment corrections

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* correct review comments

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>

* resolve bom conflict

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-04-25 08:12:55 +02:00
Ondrej Pecta
ad71ca0055 [prowl] Added the message priority setting feature (#12647)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-04-24 21:00:20 +02:00
boc-tothefuture
433ab4dcd4 Fix Nuvo Grand Concerto Detection (#12613)
Signed-off-by: Brian OConnell <broconne@gmail.com>
2022-04-24 09:14:24 +02:00
Doug Culnane
dfd4beac82 [renault] API key to configuration parameter and rule update. (#12636)
* [renault] API key to configuration parameter and rule update.

Signed-off-by: Doug Culnane <doug@culnane.net>
2022-04-23 09:10:33 +02:00
Дилян Палаузов
6451afae5c automation.jsscripting/README: hypelink (#12638) 2022-04-22 15:29:26 +02:00
Дилян Палаузов
e44eb7d679 automation.jsscripting/README: typo (#12637) 2022-04-22 15:28:10 +02:00
Bernd Weymann
3aaebde800 BMW ConnectedDrive binding removal (#12634)
Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
2022-04-22 10:47:53 +02:00
Mark Herwege
3123810b98 Fix null pointer exception for invalid protocolInfo. (#12632)
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-04-22 08:53:58 +02:00
Ethan Dye
aefdf06db0 [OmniLink] Remove extraneous newlines (#12630)
Signed-off-by: Ethan Dye <mrtops03@gmail.com>
2022-04-20 18:18:19 +02:00
Gaël L'hopital
3b77d114fc [somfytahoma] Adding Moving channel to Rollershutter (#12605)
* Adding Moving channel to Rollershutter

Signed-off-by: clinique <gael@lhopital.org>
2022-04-19 19:17:14 +02:00
Ethan Dye
b6fa985fa3 [OmniLink] Fix daylight savings when setting date/time (#12546)
* Fix daylight savings when setting date/time
* Use an action to set date/time
* Add default time zone detection and i18n

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
2022-04-18 22:07:58 +02:00
Andrew Fiddian-Green
485ee144b0 [velux] Improvements to documentation (#12604)
* [velux] update readme per #12601; delete dead web links
* [velux] improve readability

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-04-18 19:43:14 +02:00
stuart938503
a9c203998c [TapoControl] Added guidance for internet isolation of P110 (#12620)
* Added guidance for internet isolation of P110

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

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-04-18 19:41:01 +02:00
lolodomo
6b56b40fe1 [sonos] Avoid empty thing (type) ID in discovery (#12626)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:36:56 +02:00
lolodomo
e42202d2e5 [luftdateninfo] Fix tests (fix thing UID and thing type UID) (#12624)
Fix #12622

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:35:48 +02:00
lolodomo
4329115f00 [irobot] Fix failing test (fix thing UID) (#12623)
Fix #12621

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:35:17 +02:00
Markus Michels
532a03375a [shelly] TRV+Motion2 support, various fixes & enhancements (#12325)
* TRV support, various fixes & enhancements

Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* #12236 fixed

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* TRV support competed

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* Complete TRV support

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* - TRV polling optimized

Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* # WARNING: head commit changed in the meantime

- Shelly Motion 2 support
- TRV polling optimized
- channel creatiom of ledStatusLed fixed if no ledPowerLed was created
- Handling of sensor.status_error fixed when = no error (0/"0")
- channel timerActive was missing for Dimmer 1/2
- Motion timestamp channels were 1h off
- exception with data format while initializing a bulb fixed
- README updated

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>

* - added new TRV value boost minute, polling remnoved on valve position
changes (req. latest firmware)
- fix: don't create accu channels for roller
- fix: fix Id for some status messages

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>

* log types revised

Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
2022-04-18 19:32:16 +02:00
lolodomo
2d1b337987 [avmfritz] Do not create a thing type UID using an empty ID (#12617)
Fix #12614

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:25:40 +02:00
lolodomo
c1073cd89f [rotel] Refactor to separate comm handling from protocol handling (#12521)
* [rotel] Refactor to separate comm handling from protocol handling

Each protocol is now handled in a separate class.

Allow to reduce the size of class RotelConnector

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

* buildCommandMessage now throwing RotelException

Comment added when RotelException is catched without any specific
handling

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:23:52 +02:00
lolodomo
9a7df9fb5b [transform.map] Fix tests on Windows (#12625)
Fix #12619

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-18 19:22:02 +02:00
JacekKac
cc2cde2ace typo in valve accessorie (#12616) 2022-04-18 13:50:22 +02:00
Ondrej Pecta
640ee600d9 [somfytahoma] improvements for the Hitachi air to water heating system (#12612)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-04-17 20:22:37 +02:00
lolodomo
2a4482a26a [sonos] Discovery of unsupported models without exception (#12609)
* [sonos] Discovery of unsupported models without exception
* Unit tests added for method extractModelName
* Replace extractModelName by buildThingTypeIdFromModelName

Transform the found model name into a valid thing type ID when trying
to match a thing type

This could avoid an IllegalArgumentException thrown by the discovery
service when new models will be introduced on the market.

Should be compatible with Bubble UPnP Server which modifies the model
name

A message is now logged for unsupported Sonos models.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-16 22:38:44 +02:00
lolodomo
77ed54d338 [sonos] Support added for models Five and Roam SL (#12607)
Fix #12596
Fix #12610

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-16 14:23:20 +02:00
J-N-K
320dd8ab00 [transform.map] Refactor service to use TransformationConfigurationRegistry (#12433)
This is the reference implementation for using the new `TransformationConfigurationRegistry`. The localization tests can be omitted as this is covered by tests in the core component.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-14 00:04:16 +02:00
Wouter Born
abc786c6a2 Replace deprecated Google OAuth OOB flow (#12602)
This replaces the deprecated OOB OAuth flow used in the Nest Binding and Google STT/TTS add-ons.

Instead they will now use https://www.google.com as redirect_uri.
The instructions in the README and config descriptions have been updated for this change.

See: https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob

Fixes #12455

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-12 22:39:10 +02:00
Kai Kreuzer
a868111a54 Remove synchronization to avoid deadlocks (#12603)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-04-12 09:10:03 +02:00
Дилян Палаузов
15f67c1457 [transform.javascript] Fix typo (#12597) 2022-04-11 12:21:24 +02:00
Gwendal Roulleau
2be9a658d5 [pulseaudio] Small bugfixes and rewrite (#12581)
* [pulseaudio] small fixes and rewrite

- All classes are now @NonNullByDefault
- all build warnings cleared
- no more need for a watchdog scheduled thread for every pulseaudio device : the bridge now handles sending information to child
- fix bug : exception at startup when child handler try to get information from the bridge too soon is now handled by waiting 2 seconds if necessary
- fix bug : playing MP3 with high bitrate is now OK with the replacement of the ResetableInputStream by a standard BufferedInputStream that handle mark/reset method better
- fix bug : ghost device listener no longer receive event after dispose
- fix bug : discovery doesn't show already added thing anymore
- Updating the status bridge to ONLINE only AFTER the update method is done.
- Use the bridgeStatusChanged method in the childhandler to get opportunity to test if the child could go ONLINE, (and by the way initialize the audiosink and audiosource, has they also need information from the bridge)

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2022-04-10 00:25:45 +02:00
Holger Friedrich
f65ee6c3a8 [knx] Add option to use CEMI frame format for serial devices. (#12593)
CEMI frame format is used by newer serial devices like kBerry.
Calimero library can be configured to use CEMI instead of default EMI.

Followup on #10407. Relates to #4026.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-04-09 18:17:52 +02:00
Wouter Born
b3ade70e29 Fix SAT MarkdownCheck image location findings (#12591)
This fixes all the MarkdownCheck "Images must be located in the doc/ folder." findings.

Fixes #12590

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-09 16:56:13 +02:00
joepadmiraal
47526b1f01 Remove duplicate text and some spelling errors in the Spotify addon readme. Signed-off-by: Joep Admiraal <joep@groovytunes.nl> (#12592) 2022-04-09 16:25:24 +02:00
mlobstein
7613cbcd76 [epsonprojector] Fix discovery service to prevent erroneous inbox items (#12586)
* Fix discovery service to prevent erroneous inbox items
* improve EPSON string matching

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-04-09 16:10:36 +02:00
sheilbronn
0370ac61ba Update README.md (#12580)
Clarify/Correct the explanation of poll/reply example.
2022-04-09 10:36:00 +02:00
Holger Friedrich
08d03d9ddf [knx] Minor wording changes to documentation (#12589)
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-04-09 09:18:10 +02:00
Holger Friedrich
7e35341f23 [knx] Handle exceptions during initial read (#12520)
fixes #7239

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-04-08 22:25:14 +02:00
Wouter Born
972149fb3f [modbus] Make tests more stable (#12584)
This fixes the issue of the integration tests sometimes failing because channels have not yet been linked causing item state to remain null.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-08 14:32:32 +02:00
Andrew Fiddian-Green
9bb68a7415 [openthermgateway] warning log if trying to create a legacy Thing type (#12585)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-04-07 20:21:59 +02:00
openhab-bot
921bd95af6 New Crowdin updates (#12578)
* New translations digitalstrom.properties (German)

* New translations pixometer.properties (German)

* New translations amazondashbutton.properties (German)

* New translations amazondashbutton.properties (Hungarian)

* New translations amazondashbutton.properties (Italian)

* New translations amazondashbutton.properties (Ukrainian)
2022-04-05 21:07:04 +02:00
jesperskriasoft
873d615316 [luxom] Initial contribution (#12310)
Signed-off-by: Kris Jespers <kriasoft@telenet.be>
2022-04-05 20:02:27 +02:00
Wouter Born
707ecaf47b Reduce Mockito stubbing warnings (#12576)
See also: openhab/openhab-core#2893

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-05 00:06:49 +02:00
lolodomo
da9c34b13c [km200] Cleanup semantic tags (#12573)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-04 23:45:55 +02:00
lolodomo
36fcdb9dd4 Fix unexpected leading space in default translations (#12574)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-04 21:48:54 +02:00
lolodomo
2202e0b56e Don't limit serial port options (#12572)
* Don't limit serial port options

Related to openhab/openhab-core#2798

* [herzborg] Remove default value for serial port parameter

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-04-04 21:48:09 +02:00
Thomas Karl Pietrowski
2a2389a7e5 [senechome] Avoid null pointer errors (#12512)
Looks like the new generation of SenecIES power storage systems, which are using LiPo technology, provide additional data in the JSON array.
This data is not available in the old generation, which lead to missing data, when asking for a key and in further null pointer exceptions when going deeper in the data structure.

Therefore making a trivial check to detect the new generation of devices and skip the troubling section entirely.
CON: The section of items would not be updated. A to-do is of course to split the old and new generation into separate models of devices.

Fixes #11606

Also-By: Erwin Guib <eguib@web.de>
Also-By: Korbinian Probst <kp.droid.dev@gmail.com>
Signed-off-by: Thomas Karl Pietrowski <thopiekar@gmail.com>
2022-04-04 15:06:42 +02:00
Gaël L'hopital
cdf4101a94 [linky] Adressing issue #11642 (#12561)
* [linky] Addressing issue #11642
Apparently all the mess came from default write buffer size of Jetty client. Maybe during an update of jetty lib in the core.
I also corrected daily data that does not seem to accept J+1 anymore and three SAT findings

While I was here, enhanced LinkyException

Signed-off-by: clinique <gael@lhopital.org>
2022-04-04 10:14:43 +02:00
dalgwen
f1a1bd5f1d [marytts] Fix incorrect wav header (#12571)
With this simple fix, MaryTTS creates the correct wav header for the audio inputstream (audioformat is now assigned before we use it)

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-04-04 08:50:30 +02:00
Gaël L'hopital
94301eee8c [synopanalyzer] Incorrect octa reported (#12541)
* Some stations does not report octa dimension, thus leading the binding to incorrect values.
Enhanced discovery process
Code enhancements
SAT corrections
Enhanced Exception catching.

Signed-off-by: clinique <gael@lhopital.org>
2022-04-03 18:55:53 +02:00
Fabian Wolter
3520621c1b [pidcontroller] Add ability to limit the I-part (#12565)
* [pidcontroller] Add ability to limit the I-part

* Apply iMinValue & iMaxValue to the integral result accumulator

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

* Set iMinResult, iMaxResult default value to NaN

Co-authored-by: Lenno Nagel <lenno@nagel.ee>
2022-04-03 17:38:56 +02:00
maniac103
28ce7ebaed [homematic] Validate datapoint values before writing to config (#12557)
* [homematic] Validate datapoint values before writing to config

HM config datapoint values on some devices can be out of their valid
range in some cases, particularly if they are unused by the device
currently [1]. Since openhab-core now validates attempts to update
configuration by the thing handlers, make sure we always send a valid
configuration even for those affected datapoints.

[1] One example for such behaviour is HmIPW-DRBL4, which has multiple
    datapoints which depend on each other
    - POWERUP_JUMPTARGET can have values OFF, ON, OFF_DELAY, ON_DELAY
    - POWERUP_ONDELAY_VALUE, POWERUP_ONDELAY_UNIT are only used if
      POWERUP_JUMPTARGET has value ON_DELAY
    - likewise, POWERUP_OFFDELAY_VALUE and POWERUP_OFFDELAY_UNIT are
      only used if POWERUP_JUMPTARGET has value OFF_DELAY
    - if e.g. the POWERUP_JUMPTARGET is OFF, e.g. POWERUP_ONDELAY_VALUE
      might stay uninitialized by CCU and/or device itself, in which
      case it may be reported with an invalid value

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-04-03 11:39:59 +02:00
Wouter Born
79245b5d89 [networkupstools] Fix NutApiTest failing on Windows (#12564)
On Windows the PrintWriter used in the NutConnector adds different line endings causing some tests to fail.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-03 11:12:32 +02:00
Wouter Born
0f56369b2a [nanoleaf] Fix LayoutTest failing on Windows (#12563)
On Windows the view has different line endings causing some tests to fail.
For readability the big strings have also been moved into files.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-03 10:44:28 +02:00
Dan Cunningham
5712de5e63 [jdbc] Rework TimescaleDB code to actually work (#12525)
Fixes #12513

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-04-02 18:11:32 +02:00
Jacob Laursen
1239dda691 [wemo] Prevent excessive currentPower channel updates (#12461)
* Introduce algorithm for preventing excessive currentPower updates
* Increase calculation accuracy
* Rename currentPowerAccurate to currentPowerRaw
* Remove duplicated line
* Use interface when declaring double ended queue
* Reformat README to one sentence per line
* Rename constants for consistency and readability

Fixes #12460

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-04-02 12:46:26 +02:00
jimtng
115f5ab534 [jrubyscripting] Update to JRuby 9.3.4.0 (#12559)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-04-02 10:01:25 +02:00
Andrew Fiddian-Green
52701ef1c8 [tado] Add support for fanLevel, verticalSwing, horizontalSwing, light API (#12470)
* [tado] fix issue #12160 (first attempt)
* [tado] code style
* [tado] option descriptors
* [tado] add level5
* [tado] fan level and swing not allowed on heating or hot water
* [tado] warn about possible un-supported state values
* [tado] minor formatting
* [tado] harmonise getter methods for fan and swing state
* [tado] include all options in xml
* [tado] remove 's' from capabilities list names (go figure..)
* [tado] add OFF option
* [tado] add support for light channel, and dynamic channel decriptions
* [tado] tweak ReadMe for more clarity
* [tado] adopt reviewer suggestions

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-04-02 09:59:13 +02:00
Gaël L'hopital
2652ab647b [openuv] Fix time channels not being updated (#12558)
* [openuv] time channels not filled

Signed-off-by: clinique <gael@lhopital.org>
2022-04-01 23:23:54 +02:00
jimtng
77c765085e [jrubyscripting] Accept generic global variable names (#12539)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-04-01 23:17:03 +02:00
Kai Kreuzer
e8c944281a [tesla] Set the token creation time as it is no longer provided in the response (#12547)
* Set the token creation time as it is no longer provided in the response
Address CME
Reauthenticate in case of 401 responses

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-04-01 21:33:15 +02:00
dalgwen
ecf8aa32b0 [pulseaudio] Fix misconfiguration example in README (#12553)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>

Co-authored-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-04-01 09:24:53 +02:00
Kai Kreuzer
9d2b04de33 [tesla] Remove (broken) options to obtain refresh token through credentials (#12537)
* Remove (broken) option to obtain refresh token through credentials
* Remove outdated event streaming code
* Update README

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-03-31 09:11:55 +02:00
Jacob Laursen
8c6534300a [miele] Use framework's HTTP client (#12545)
* Refactor to use framework's Jetty HTTP client
* Do not try to parse HTML as JSON on failed HTTP calls
* Improve handler initialization log messages

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-30 07:03:46 +02:00
eugen
a2a5c2e6ff add support for dimmer (#12540)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-03-29 18:57:52 +02:00
Stefan Triller
3c0d27dad8 [novafinedust] Fix measurement parsing overflow (#12543)
Fixes #12542

Signed-off-by: Stefan Triller <github@stefantriller.de>
2022-03-29 18:54:21 +02:00
Andrew Fiddian-Green
4f4dfcca20 [openthermgateway] Various improvements (#12507)
* [openthermgateway] various tweaks

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-03-28 21:40:35 +02:00
Florian Hotze
bd1f5f8bc4 [yamahamusiccast] New channel for volume in decibel (#12519)
* Added volume in decibel channel.
* Fixed default value for syncVolume to match the docs.
* Use QuantityType with unit DECIBEL for volumeDB.

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
2022-03-28 08:51:33 +02:00
Jacob Laursen
2d3f0d68c0 [miele] Fix configuration validation and optimize performance (#12510)
* Update bridge status to UNKNOWN before scheduling polling job
* Reduced error log levels to warning
* Validate configuration and leave initialize() with status UNKNOWN
* Extract JSON-RPC handling to separate class
* Use already stored applianceId
* Keep listeners in Set to eliminate duplicates and improve performance
* Reduce access levels for variables exposed to subclasses unneededly
* Initialize translation provider with default language in constructor to avoid nullness
* Divide listener interface into two: discovery and appliance status
* Optimize communication between bridge and handlers
* Fix thing status transitions and support gone appliances
* Do not check/schedule jobs for each listener registration
* Optimize listener registration by using cached appliances
* Optimize state/property updates and reduce logging level for properties
* Fix concurrency issue during handler initialization
* Simplify online/offline transitions
* Use cached appliances for discovery listener callback
* Avoid unneeded call every 15 seconds receiving response with ~5.5 KB payload
* Fix devices being removed after failed RPC calls
* Fix method parameter descriptions

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-28 07:14:55 +02:00
eugen
f1176a062b [homekit] add support for complex accessories (#12346)
* Add complex accessories

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-03-28 00:11:44 +02:00
Daniel Rosengarten
53bb6f48ad [velbus] New module VMBELPIR + Improvement clock alarms management (#12390)
* [velbus] Add new functionality PRESSED and LONG PRESSED and fix bug

New functionnality :
Add the the possibility to simulate the PRESSED and LONG PRESSED message of an input.

Module supported with button simulation :
VMB1RYS (button : CH6)
VMB6IN (buttons : CH1 ... CH6)
VMB2PBN, VMB6PBN, VMB7IN, VMB8IR, VMB8PB, VMB8PBU, VMBEL1, VMBEL2, VMBEL4, VMBGP1, VMBGP1-2, VMBGP2, VMBGP2-2, VMBGP4, VMBGP4-2, VMBGP4PIR, VMBGP4PIR-2 (buttons : CH1 ... CH8)
VMBELO, VMBGPOD, VMBGPOD-2 (buttons : CH1 ... CH32)

Fix bug :

The channels names were not correctly assigned to the thing properties. The last channel had the default name, not the one retrieved from the module.

* Add trigger on channel when using button simulation

Remove uneeded  Thread.sleep in code.
Trigger the events PRESSED, LONG_PRESSED, RELEASED on the linked trigger channel when using the button simulation.

* Fix redundant superinterface DiscoveryService

Redundant superinterface DiscoveryService for the type VelbusThingDiscoveryService, already defined by AbstractDiscoveryService.

* Fix bug #11521

Typo in the Counter Channel name for VMB7IN.

* [velbus] Add VMBELPIR module

* [velbus] Updates clock alarms management

Changes the clocks alarm management :
- Global alarms are now set from the bridge thing.
- Local alarms are still set from the module thing, but the alarm type channels on modules are now readonly.

Reduces the flooding of the bus by adding a delay of 10 seconds before sending the update on the bus :
- Removes the send on the bus after each update of a clock alarm value.
- Sends only the values of the last update after 10 seconds.

Signed-off-by: Daniel Rosengarten <github@praetorians.be>
2022-03-27 23:21:17 +02:00
openhab-bot
cd1bf9c950 New Crowdin updates (#12523)
* New translations digitalstrom.properties (German)

* New translations dwdpollenflug.properties (German)

* New translations openweathermap.properties (French)

* New translations rotel.properties (French)

* New translations elroconnects.properties (French)

* New translations prowl.properties (French)
2022-03-27 23:15:52 +02:00
Ondrej Pecta
c22a33d651 [somfytahoma] Improved compatibility with the Somfy Connectivity Kit (#12532)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-03-27 20:05:18 +02:00
jimtng
c5b6ce97bb [fronius] Add Autonomy and Self Consumption channels (#12420)
* Add Autonomy and Self Consumption channels
* Change Inverter channels from DecimalType to QuantityType
* Convert ValueUnit to QuantityType, honour the unit from ValueUnit
* Replace custom unit converter with QuantityType's unit conversion
* Return QuantityType of zero for missing ValueUnit data, to be consistent with P_AC.
* Return UnDefType.NULL for other missing data
* De-duplicate URL parsing routine

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-03-27 19:10:24 +02:00
Ondrej Pecta
0c2901f3ed [somfytahoma] added support for the Shutter thing (#12495)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-03-27 19:04:00 +02:00
mlobstein
c81506b44d [yamahareceiver] Remove Apache commons libraries (#12527)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-03-27 15:53:21 +02:00
mlobstein
80cb1ed251 [denonmarantz] Remove Apache StringUtils (#12526)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-03-27 12:39:02 +02:00
agsochi
250efd3c0b Update README.md (#12528)
Fixed textual config
2022-03-27 12:22:36 +02:00
Holger Friedrich
414d7a84e6 [knx] Reduce compiler warnings (#12518)
added NonNullByDefault annotations
rename functions and local variables not matching the naming scheme

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2022-03-27 11:27:39 +02:00
lolodomo
9b7478c1fb [rotel] Support of MKII models (#12522)
There is no difference between original and MKII models regarding
available inputs and way to control the device.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-03-27 10:21:56 +02:00
Kai Kreuzer
2ebad7b4d7 [tesla] Adapt access token handling to changes in Tesla API (#12530)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-03-27 09:27:02 +02:00
lolodomo
1734d6ed82 [rotel] Support added for Michi models (P5, X3 and X5) (#12524)
Also fix command to set balance (different syntax in ASCII V1 and V2)

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-03-26 21:17:40 +01:00
Conte Andrea
4774f8a7e7 [openwebnet] fixing support for central unit (#12514)
* - read Temperature set in central unit at startup
* - ignoring what 4002 which may lead to unpredicted behaviours
- usage of own 0.8.0 from mvalla (new getWhatParameter method)
* attempt to integrate own 0.8.0
* - read setTemp (MANUAL mode) at startup
- read mode (OFF/PROTECTION/WEEKLY/SCENARIO/MANUAL) at startup
- persist selected mode (see issue 12401)
* remove unnecessary logs
* - fix typo
- own4j 0.8.1
* fix placeholder count

Signed-off-by: Conte Andrea <andrea@conte.com>
2022-03-25 17:32:10 +01:00
Christoph Weitkamp
8e6e493fc9 Fixed minor spelling mistake (#12515)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-03-25 12:34:11 +01:00
Gaël L'hopital
107a05aa5e [openuv] Correcting an uncatched exception in json deserialization (#12511)
* Correcting an uncatched exception in json deserialization

Signed-off-by: clinique <gael@lhopital.org>
2022-03-24 14:59:33 +01:00
lsiepel
5cd28f7096 [plugwiseha] Fix Zone thermostat not updating (#12509)
* Fix Zone thermostat not updating

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-03-23 19:26:40 +01:00
tonwi
b347491d60 [rotel] Extension of amplifier A14's channel list (#12447)
* A14: new channels: tcbypass, balance, speakera and speakerb
* Specific balance set command for models A1x
* Channels added on other models
* In state TCBYPASS ON: 1) Ignore user adjustments on BASS/TREBLE. 2) Reset BASS/TREBLE to 0.

Signed-off-by: Wilhelm Tonsern <wto.wit01@gmx.net>
Also-by: Laurent Garnier <lg.hc@free.fr>
2022-03-22 20:48:18 +01:00
openhab-bot
109ba0ec06 New translations windcentrale.properties (Dutch) (#12503) 2022-03-22 13:29:08 +01:00
Conte Andrea
85a5eb3a87 removed (duplicate) refreshDevice() at bridgeStatusChanged (#12502)
Signed-off-by: Conte Andrea <andrea@conte.com>
2022-03-21 19:25:39 +01:00
Jacob Laursen
f21bbc5945 [miele] Add null annotations and improve error handling robustness (#12497)
* Add null annotations and improve error handling robustness
* Fix compliancy with rule ConstantNameCheck

Fixes #12496

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-21 16:49:03 +01:00
Mark Herwege
7c29e4d565 [elroconnects] New binding for Elro Connects (#11189)
* Adjustments after review.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Fix pom.xml formatting.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Some fixes and removed redundant null checks.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Proper thread naming.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Adjust brand name capitalization. Some README adjustments.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Fix format issue.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Fix threadname.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Update development cycle

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Review fixes

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Avoid communication restart when disposing

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Update CODEOWNERS

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Code review.

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Background discovery

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Fix formatting

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Create i18n properties file

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Add IP Adress parameter

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

* Moved hostname resolving out of initialize

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2022-03-20 20:18:57 +01:00
M Valla
5f9096b63e [openwebnet] fixed generic device thing-type; added a time limit to devices refresh at boot (#12489)
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-03-20 09:53:50 +01:00
Christoph Weitkamp
5a9e70ca6a [androiddebugbridge] Added DynamicCommandOptionsProvider to populate 'start-package' Channel (#12491)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-03-20 08:56:58 +01:00
Andrew Fiddian-Green
e9cb9c30d0 [velux] Improve shutdown exception handling (#12356)
* [velux] add isDisposing flag to accelerate shutdown

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [velux] refactor Poller into a separate class

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [velux] use new Poller class; fix startup, shutdown, and exception code

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [velux] demote confusing log message

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>

* [velux] slightly more elegant interrupt flag set / check

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-03-19 15:00:30 +01:00
Wouter Born
a6f5b48dd5 [mqtt] Fix most SAT findings (#12492)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-19 09:27:41 +01:00
Gaël L'hopital
af8202e668 [icalendar] Adding ability to handle events without DTEND (#12482)
Signed-off-by: clinique <gael@lhopital.org>
2022-03-19 08:52:17 +01:00
Jacob Laursen
963a73ee74 Minor value cache tweaks (#12493)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-19 08:43:12 +01:00
Conte Andrea
1918afc3a9 [openwebnet] handle Thermo Central Unit monitoring messages (#12485)
* - handled what=30 (failure discovered ), what=22 (at least 1 probe in off), what=23 (at least 1 probe in protection), what=24 (at least 1 probe in manual)
- related channels added
* - update README
- ignore messages from probes and central unit and keep track only of messages from a real thermostat
* add example of failureDiscovered channel
* Update bundles/org.openhab.binding.openwebnet/src/main/resources/OH-INF/thing/channels.xml
* changed capital letters (atLeastOneProbeOFF -> atLeatOneProbeOff) as suggested

Signed-off-by: Conte Andrea <andrea@conte.com>
2022-03-18 19:00:48 +01:00
Doug Culnane
812ac5c4d6 [renault] API key update. (#12487)
Signed-off-by: Doug Culnane <doug@culnane.net>
2022-03-18 08:14:21 +01:00
GiviMAD
fee7f7e9c5 [pulseaudio] source: use thread safe collection and force reconnection (#12441)
* [pulseaudio] use thread safe collection
* [pulseaudio] source: connect pipe before store ref
* [pulseaudio] source: improve warning messages
* [pulseaudio] fix IOException when closing all sources
* [pulseaudio] prevent warning when InterruptedIOException on source close

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-03-18 00:41:00 +01:00
openhab-bot
409a4a6fac New Crowdin updates (#12484)
* New translations bluetooth.properties (Italian)
* New translations mycroft.properties (Italian)
* New translations bluetooth.properties (Italian)
* New translations bluetooth.properties (Italian)
* New translations prowl.properties (Italian)
2022-03-16 21:23:57 +01:00
Conte Andrea
7b8529e9bc [openwebnet] added channel "function" for Central Unit (#12483)
* added channel "function" for Central Unit

Signed-off-by: Conte Andrea <andrea@conte.com>
2022-03-16 19:10:46 +01:00
openhab-bot
b1827c773d New translations watsonstt.properties (Italian) (#12473) 2022-03-13 22:04:40 +01:00
Wouter Born
a47a1056ba Remove MQTT system broker leftovers (#12472)
The MqttService was used to keep track of the system MQTT brokers.
Since there are none the dependency can be removed.

Related to: openhab/openhab-core#2842
See also: #12157

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-13 21:45:59 +01:00
Wouter Born
cb1c1e586e [mail] Fix unstable MailBuilderTest (#12471)
When a URL attachment is used a check is done if an InputStream to the URL can be opened to see if it is valid.
Because the openHAB website was used the test would fail when the website has issues:

```
[ERROR]  org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail  Time elapsed: 10.391 s  <<< ERROR!
org.apache.commons.mail.EmailException: Invalid URL set:http://www.openhab.org
	at org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail(MailBuilderTest.java:77)
Caused by: java.io.IOException: Server returned HTTP response code: 520 for URL: http://www.openhab.org
	at org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail(MailBuilderTest.java:77)
```

It will now use a file URL instead so it is no longer depends on a website.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-13 20:26:32 +01:00
Ondrej Pecta
43fe75ba2e [prowl] Initial contribution (#10967)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-03-13 17:37:59 +01:00
Wouter Born
4f384419c8 Add mielecloud.tests to CODEOWNERS file (#12469)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-13 16:50:57 +01:00
Christoph Weitkamp
9e6b901d53 Fixed parameter ordering while storing values (#12467)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-03-13 12:13:00 +01:00
Christoph Weitkamp
8e414d45a0 Added support for DECT 302 (#12466)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-03-13 11:10:19 +01:00
Wouter Born
03e626018d [ipp] Update cups4j and dependencies (#12443)
Updates cups4j to 0.7.8 and syncs the cups4j dependencies.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-13 11:05:58 +01:00
GiviMAD
480cddbf2c STT service improvements (#12453)
* [googlestt|voskstt] change default maxSilenceSeconds to 3
* [watsonstt] add singleUtterance mode, rename inativityTimeout to maxSilenceSeconds and minor improvements
* [watsonstt] trim transcription

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-03-12 23:06:51 +01:00
J-N-K
ce6ef25ac3 bump compiler tooling (#12465)
This brings the build tools to the same versions as in core.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-12 22:24:38 +01:00
jimtng
eb9bde9fe8 [fronius] Add a note about enabling Night Mode on the device (#12463)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-03-12 14:51:04 +01:00
robnielsen
210a027053 [tradfri] reduce logging levels (#12462)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-03-12 08:53:01 +01:00
Ondrej Pecta
6112e447aa [somfytahoma] improved compatibility with Somfy Connectivity Kit (#12459)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-03-11 23:15:15 +01:00
Jerome Luckenbach
357dcd459b [pushover] Add featured integration paragraph (#12452)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2022-03-10 21:28:21 +01:00
RadOle
1a2dcc65fb [mihome] Update README.md (#11926)
Following https://www.openhab.org/docs/configuration/rules-dsl.html#rule-examples
one can find receivedEvent is now implicitly available in every rule that has a channel-based trigger
2022-03-10 21:24:32 +01:00
Gaël L'hopital
6da183495d [andoiddebugbridge] Update README (#12454)
* Update README.md

Added working compatibility mention with Freebox Pop Player.
2022-03-10 12:23:58 +01:00
Cody Cutrer
d06cc6a60a [homekit] do unit conversion for min/max heating/cooling temps (#12450)
this is especially important if you use the same item for both
TargetTemperature and HeatingThresholdTemperature characteristics,
since the former was already doing unit conversion for min/max.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-03-09 08:53:01 +01:00
Reinhard Plaim
ba03fef082 [goecharger] Add API V2 support (#12400)
* add API V2 support
* handle InterrupedException explicitly

Signed-off-by: Reinhard Plaim <reinhardplaim@gmail.com>
2022-03-08 15:37:39 +01:00
Ethan Dye
378a037df9 Bump jomnilink (#12444)
Signed-off-by: Ethan Dye <mrtops03@gmail.com>
2022-03-08 08:58:09 +01:00
lolodomo
e3ca3b01bf [pulseaudio] Fix exception handling when connecting (#12423)
Fix bridge/thing status update
Also update log levels

Fix #12419
Fix #12424

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-03-08 00:01:54 +01:00
glassl
20f6b52e71 Fix links to SmartThings capabilities reference doc (#12439)
Signed-off-by: Lenny Glassmann <lennyglassmann@gmail.com>
2022-03-07 23:52:56 +01:00
Marcel
739463896a [miio] Add support for Xiaomi Mi Air Purifier 3C BHR4518GL (zhimi.airp.mb4a) (#12076)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-03-07 23:47:17 +01:00
dependabot[bot]
f28ef254cf [jdbc] Update PostgreSQL JDBC driver to 42.3.3 (#12442)
* Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 9.4.1212 to 42.3.3.
* Update docs and feature
* Update README

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-07 22:35:20 +01:00
Martin Herbst
a533b19130 [homematic] Prevent the use of exponential notation (#12436)
* Prevent the use of exponential notation

The CCU does not accept exponential notation in TCL scripts.

Fix #12301

Signed-off-by: Martin Herbst <develop@mherbst.de>
2022-03-07 22:04:33 +01:00
Flole998
0e0b9afe08 [homematic] Fix invalid default values ending up in the thing type (#12437)
Sometimes invalid default values ended up in the default value for a channel of a thing type. Initializing the thing would fail completely complaining that it is not an allowed option. This patch makes sure those values are actually valid and attempts to correct them if they are invalid.

Signed-off-by: Flole <flole@flole.de>
2022-03-07 21:51:17 +01:00
Arne Seime
38a14b821d [millheat] Possibly wrong use of isHoliday instead of canChangeTemp (#12413)
* Possibly wrong use of isHoliday instaed of canChangeTemp

Signed-off-by: Arne Seime <arne.seime@gmail.com>
2022-03-07 21:37:08 +01:00
dependabot[bot]
29cba86a23 [bluetooth.generic] Update commons-beanutils to 1.9.4 (#12130)
Bumps commons-beanutils from 1.9.3 to 1.9.4.

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 21:31:13 +01:00
openhab-bot
5005dc002f New Crowdin updates (#12392)
* New translations bluetooth.properties (Finnish)
* New translations danfossairunit.properties (Danish)
* New translations hdpowerview.properties (Danish)
* New translations jruby.properties (Italian)
* New translations miele.properties (Danish)
* New translations mqtt.properties (Italian)
* New translations openwebnet.properties (Italian)
2022-03-07 21:25:05 +01:00
Andrew Fiddian-Green
ba07a870fe [openthermgateway] Add support for Ventilation/Heat Recovery units (#12367)
* [openthermgateway] clean version of prior PR
* [openthermgateway] fix NoSuchMethod exception
* [openthermgateway] create thread according to OH guidelines
* [openthermgateway] fix annotation warning
* [openthermgateway] framework handles bridge status changes
* [openthermgateway] implement learnings from PR #12356
* [openthermgateway] add ReadMe chapter on migration v3.2 .. v3.3
* [openthermgateway] delete duplicate OpenThermGatewayBindingConstants class
* [openthermgateway] remove redundant else clause, remove npe warning
* [openthermgateway] log to debug rather than info; eliminate static import
* [openthermgateway] eliminate static import
* [openthermgateway] suppress unused argument warning
* [openthermgateway] delete xml definitions for no longer used 'otgw' Thing type

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-03-06 21:18:02 +01:00
Wouter Born
5842ad1644 GHA CI build workflow improvements (#12425)
* Add error annotations only in Java 11 matrix build to prevent duplicates
* Make sure Java 11 build is not cancelled when Java 17 build fails so it can add annotations by using `fail-fast: false`
* Use changed files only for incremental PR builds so a full build is done for changes merged into 'main' branch
* Add GHA build status badge

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-06 19:42:48 +01:00
Sami Salonen
4d01af7165 [ambientweather] Update socket.io dependency used by ambientweather (#12429)
Discussed in https://github.com/openhab/openhab-addons/pull/11153#issuecomment-904545669

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-03-06 09:36:03 +01:00
Johannes Ott
8a394c6427 [deconz] Add support for lowbattery flag from state response (#12422)
* Add support for lowbattery flag from state response

Signed-off-by: Johannes Ott <mail@johannes-ott.net>
2022-03-05 21:51:21 +01:00
Wouter Born
52c21a35a3 Resolve runbundles for Xtext upgrade (#12385)
Depends on openhab/openhab-core#2786

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-05 15:19:52 +01:00
jimtng
e6179aafa2 [fronius] Add the new channels to the documentation (#12394)
* [fronius] Document the recently added inverter power and soc channels

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-03-05 10:43:31 +01:00
Martin van Wingerden
39ebfe2b07 [rfxcom] Support for Lucciair DC Speed (#12038)
* [rfxcom] Support speed for luca DC version
* [rfxcom] Handle null value for speed
* [rfxcom] Update readme and add migration channel

Signed-off-by: Martin van Wingerden <martin@martinvw.nl>
2022-03-05 10:34:31 +01:00
Jacob Laursen
a3b6f74764 [wemo] Fix thing status transitions (#12416)
* Fix status transitions

Fixes #12415

* Fix integration tests
* Fix missing status update for some devices after HTTP call

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-05 01:08:45 +01:00
GiviMAD
3ed28ae745 [pulseaudio] fix null pointer exception and ensure source bg task stops (#12414)
* [pulseaudio] fix null pointer exception and ensure source bg task stops

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-03-04 22:40:04 +01:00
Sönke Küper
cf0597aea2 [deutschebahn] Fixed order of stops (#12406)
* Fixed order of stops
* As execution was made synchronous in #12235 timeout is not needed any more

Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2022-03-04 20:51:27 +01:00
Sönke Küper
b209d9a51a [deutschebahn] Fixed timing issue in test case (#12404)
Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
2022-03-04 08:48:20 +01:00
Gaël L'hopital
84687674d2 [network] Removed last references to org.apache... (#12341)
* Removed unwanted files
* Badly spelled variable and incident code refactor

Signed-off-by: Gaël L'hopital <gael@lhopital.org>
Signed-off-by: clinique <gael@lhopital.org>
2022-03-04 08:45:23 +01:00
Jacob Laursen
d4938a6942 [wemo] Add missing channel categories and semantic tags (#12411)
* Extract thing descriptions into separate files
* Add missing channel categories
* Add semantic tags for temperature and humidity
* Fix typo

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-04 08:38:45 +01:00
GiviMAD
fb9f0d8d43 [porcupineks] fix build-in keywords on windows, fix service name and add missed modified (#12410)
* [porcupineks] fix windows and add modified
* [porcupineks] fix service name

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-03-03 22:47:02 +01:00
jimtng
2cce90f83d [fronius] Fix DecimalType constructor change (#12371)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-03-03 18:49:49 +01:00
GiviMAD
094cb7f12d [pulseaudio] register audio sources in openhab (#12376)
* [pulseaudio] register audio sources in openha
* [pulseaudio] fix audio source reconnection
* [pulseaudio] audio source check record property and customize SOTimeout
* [pulseaudio] use pipe streams
* [pulseaudio] synchronize commands and update after module load

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-03-03 13:01:07 +01:00
Jacob Laursen
c5a2a1fbdf [deconz] Fix compiler warning (#12403)
* Fix compiler warning and info.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-03 10:15:45 +01:00
Jacob Laursen
93e3a710e1 Simplify getWemoURL usages in handlers (#12397)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-03-02 21:51:42 +01:00
Matthew Skinner
7da00f1d68 Digest fix for doorbird. (#12399)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-03-02 13:21:40 +01:00
Wouter Born
d7d6798a97 [rrd4j] Upgrade to rrd4j 3.8.1 (#12398)
This should prevent a resource leak when generating graphs.

See: https://github.com/rrd4j/rrd4j/blob/master/changelog.txt

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-02 11:03:17 +01:00
Fabian Wolter
d35e96ab3f [hdpowerview] Remove unnecessary init checks and fix Thing status detail (#12331)
* [hdpowerview] Remove unnecessary init checks and fix Thing status detail

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-02-28 22:53:33 +01:00
Stefan Triller
dd687435ec [tradfri] use serial as discovery representation property instead of host (#12389)
Signed-off-by: Stefan Triller <github@stefantriller.de>
2022-02-28 18:53:16 +01:00
jimtng
166e4ec1b6 [jrubyscripting] Filter out empty require options (#12386)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-28 18:09:57 +01:00
jimtng
6c25e8b528 [jrubyscripting] Add auto-require scripts option (#12381)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-28 09:04:52 +01:00
Jacob Laursen
d56b2e4dbe [wemo] Refactor Insight Switch parser (#12380)
* Extract Insight parser to separate class and provide unit tests

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-27 21:13:08 +01:00
Jan Vybíral
923f720a5c [nuki] Fixed configuration reload on initialization (#12276)
* Fixed bug where thing configuration was not reloaded after reinitialization
* Added better logging when processing bridge callback

Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
2022-02-27 19:46:32 +01:00
Conte Andrea
b2765a3895 [openwebnet] adding support for central unit (#12062)
* - read 'standAlone' flag from thing
- send standAlone flag to own4j for setting the temperature on central unit
- own4j 0.7.1 required
* added localmode and central unit thing
* added localOffSet channel to readme.md
* added remoteControl, batteryStatus and modeCentralUnit for bus_thermo_cu
* added weekly and scenarios to modeCentralUnit
* - manual setting of a zone to T temperature (with persistence in central unit)
- manual setting of central unit to T temperature (all zones)
- set the central unit in OFF mode (all zones)
- set central unit in thermal protection (all zones)
- set central unit in antifreeze mode (all zones)
- weekly program activation command (all zones)
- scenario activation command (all zones)
* renamed cu's channels name
* removed unused channel 'modeCentralUnit" from readme
* fix #12298
* - add configuration section (where) for BusThermoCentralUnit
- strings ("OK", "KO", "ENABLED", "DISABLED" converted to constants
- fix typo

Signed-off-by: Conte Andrea <andrea@conte.com>

Co-authored-by: M Valla <12682715+mvalla@users.noreply.github.com>
2022-02-27 19:11:45 +01:00
Ondrej Pecta
339df2cb3a [somfytahoma] changed the severity of unsuported devices logging (#12372)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-02-27 17:44:49 +01:00
Wouter Born
a116a496a6 [modbus] Add workaround to fix itests (#12377)
This workaround fixes the modbus itests.
It seems that the methods that were added to the `BaseThingHandler` in openhab/openhab-core#2773 have caused some class loading issues when creating mocks of ThingHandlers in the modbus itests:

```
java.lang.NoClassDefFoundError: org/openhab/core/thing/type/ChannelTypeUID
	at org.mockito.codegen.ModbusPollerThingHandler$MockitoMock$1698831298.<clinit>(Unknown Source)
	at jdk.internal.reflect.GeneratedSerializationConstructorAccessor6.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:48)
	at org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:73)
	at org.mockito.internal.creation.instance.ObjenesisInstantiator.newInstance(ObjenesisInstantiator.java:22)
	at org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.createMock(SubclassByteBuddyMockMaker.java:48)
	at org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker.createMock(ByteBuddyMockMaker.java:42)
	at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:53)
	at org.mockito.internal.MockitoCore.mock(MockitoCore.java:96)
	at org.mockito.Mockito.mock(Mockito.java:1954)
	at org.mockito.Mockito.mock(Mockito.java:1869)
	at org.openhab.binding.modbus.tests.ModbusDataHandlerTest.createPollerMock(ModbusDataHandlerTest.java:199)
	at org.openhab.binding.modbus.tests.ModbusDataHandlerTest.testInitGeneric(ModbusDataHandlerTest.java:1039)
	at org.openhab.binding.modbus.tests.ModbusDataHandlerTest.testInitGeneric(ModbusDataHandlerTest.java:1007)
	at org.openhab.binding.modbus.tests.ModbusDataHandlerTest.testWriteOnlyData(ModbusDataHandlerTest.java:1101)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
	at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
	at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
	at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
	at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$8(BundleEngine.java:133)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
	at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:133)
	at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
	at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
	at aQute.tester.junit.platform.Activator.test(Activator.java:439)
	at aQute.tester.junit.platform.Activator.automatic(Activator.java:344)
	at aQute.tester.junit.platform.Activator.run(Activator.java:216)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at aQute.launcher.Launcher.launch(Launcher.java:450)
	at aQute.launcher.Launcher.run(Launcher.java:184)
	at aQute.launcher.Launcher.main(Launcher.java:160)
	at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170)
	at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:135)
	at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52)
Caused by: java.lang.ClassNotFoundException: org.openhab.core.thing.type.ChannelTypeUID
	at net.bytebuddy.dynamic.loading.ByteArrayClassLoader.findClass(ByteArrayClassLoader.java:397)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 128 more
```

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-27 11:29:14 +01:00
nesys
8f9cf7bcf5 Update README.md (#12378)
Included a working configuration and added few notes as discussed and agreed here: https://community.openhab.org/t/new-warn-in-log-since-fresh-3-0-1/119012/3
2022-02-27 10:36:39 +01:00
lolodomo
aa7931d0c5 [ipobserver] Cleanup semantic tags (#12379)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-27 01:16:35 +01:00
M Valla
d2d6ce5782 [openwebnet] Fix Things synchronization at boot / reconnect (#11975)
* [openwebnet] Fixes #11972: shutters are not refreshed at boot
* [openwebnet] added refreshDelay property
* [openwebnet] updated openwebnet4j to 0.7.1
* [openwebnet] improved where parameter description
* [openwebnet] updated to own4j 0.7.1 release
* [openwebnet] improved synch at boot
* [openwebnet] cleaned up refreshChannelState() and refreshDevice(), moved code to base class.
Added supportsRefreshAllDevices()
* [openwebnet] moved lastAllDevicesRefreshTS to sub-classes.
Set CEN/CEN+ things to ONLINE automatically.
* [openwebnet] improved comments/javadocs. Added connectSchedule to dispose()

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
2022-02-26 19:38:49 +01:00
robnielsen
9fd87f52ef [tradfri] fix null pointer exception when sending command to a device that is offline (#12347)
* [tradfri] fix null pointer exception when sending command to thing that is offline
* [tradfri] changed coapClient from @NinNullByDefault({}) to @Nullable

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-02-26 16:10:59 +01:00
David
38c896edc5 [govee] Fix Govee H5102 detection (#12373)
Signed-off-by: davidoe <1133989+davidoe@users.noreply.github.com>
2022-02-26 14:14:33 +01:00
Luca Calcaterra
a78f73eecd fix t31 fire and system statuses (#12252)
Signed-off-by: Luca Calcaterra <calcaterra.luca@gmail.com>
2022-02-26 11:04:11 +01:00
Christoph Weitkamp
505258c234 Fix build after DecimalType changes (#12374)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-26 01:07:05 +01:00
lsiepel
da0234f69c [plugwiseha] Fix bug introduced with #12349 (#12366)
* Fix bug introduced with #12349

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-02-25 13:33:58 +01:00
Ondrej Pecta
0737ee6bef [somfytahoma] added support for the Rain sensor thing (#12368)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-02-25 09:11:08 +01:00
Stefan Triller
791ad37ba6 [novafinedust] Fix RFC2217 serial port in configuration (#12370)
Fixes #12369

Signed-off-by: Stefan Triller <github@stefantriller.de>
2022-02-25 08:26:50 +01:00
Wouter Born
e84e2800a4 Add Java 17 to GHA CI build matrix (#12360)
This adds Java 17 to the GitHub Actions CI build matrix so we can make sure the build keeps working with both Java 11 and Java 17.
It also updates the required Java version range used by the enforcer plugin so it is also possible to build with the supported Java versions.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-24 10:55:20 +01:00
lsiepel
ea9d77ff71 [plugwiseha] Add and enhance channels (#12349)
* Add two-channels, fix scene and docs

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-02-23 23:52:07 +01:00
Jacob Laursen
2d54347b65 [hdpowerview] Divide thing descriptions into separate files (#12364)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-23 22:43:51 +01:00
Jacob Laursen
0b992cd50b [hdpowerview] Fix SAT warning (#12365)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-23 22:39:18 +01:00
GiviMAD
673397b826 [voskstt] add linux arm and linux aarch64 binaries (#12355)
* [voskstt] add linux arm and linux aarch64 binaries
* [voskstt] change preload model configuration default to false
* [voskstt] add supported platforms to readme

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-23 21:09:49 +01:00
Wouter Born
0d5b1ba61e [deutschebahn] Disable unstable DeutscheBahnTimetableHandlerTest (#12358)
This test keeps failing making our builds unstable.

See #12235

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-23 18:15:08 +01:00
Jacob Laursen
327391d483 [danfossairunit] Fix: Unsafe interpretation of method return type as '@NonNull' (#12303)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-23 16:53:27 +01:00
openhab-bot
cbe76507ab New translations flicbutton.properties (Italian) (#12351) 2022-02-23 16:33:22 +01:00
Wouter Born
c028deefbe Fix Java 17 compilation and test issues (#12353)
* Adds --add-opens to the surefire-maven-plugin config required for deserialization using Gson/XStream
* Upgrades plugin dependencies to JDK 17 compatible versions
* Replaces some reflection that no longer works on JDK 17
* Fixes issues when mocking Random
* Run Nashorn dependant tests only on JDK < 15

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-23 16:13:56 +01:00
Fabian Wolter
223c9f929b [hdpowerview] Let the framework change the child Thing statuses (#12330)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-02-23 15:23:19 +01:00
Sami Salonen
579bc70f6e [bluetooth.ruuvitag] Corrected movement counter channel description (#12352)
* [bluetooth.ruuvitag] Corrected movement counter channel description

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-02-23 13:41:14 +01:00
Cody Cutrer
923fb12b7d [mqtt.homie] handle exceptions parsing attributes (#12254)
fixes #10711

technically this code is in mqtt.generic, but it's only used by Homie.

in particular, if an incoming string doesn't match an enum, this will now
just ignore the value instead of raising an exception to be caught somewhere inside
of Hive MQTT, and eventually timing out and logging that mandatory topics weren't
received, instead of logging a pointer to the actual problem. this makes it so that
if there's a homie $datatype openhab doesn't understand (like duration), it will be
able to get to the point of just choosing a string channel

also did some minor debug logging cleanup for mqtt:
 * fixed a typo
 * when logging homie device name from the thing handler, use the config deviceid,
   since we likely don't have the attributes from MQTT yet

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-02-23 13:38:00 +01:00
Ondrej Pecta
957b69277d [somfytahoma] Added support for the Hitachi Yutaki devices (#12302)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2022-02-23 08:45:14 +01:00
jimtng
c0ebdbdb6b [daikin] Fix Special Mode and Streamer support (#12324)
* [daikin] Fix Special Mode support

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-23 08:37:25 +01:00
Mark Hilbush
307450352c Properly handle when zm installed on root directory (#12348)
Signed-off-by: Mark Hilbush <mark@hilbush.com>
2022-02-23 00:38:02 +01:00
lsiepel
2e1ea32e8f [plugwiseha] Improve cache and timeout handling (#12345)
* Rework caching and timeout handling
* Fix another caching related issue

Signed-off-by: Leo Siepel <leosiepel@gmail.com>
2022-02-22 21:00:43 +01:00
eugen
9e6b952b66 fix storage usage (#12305)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-22 06:50:19 +01:00
Wouter Born
00e16f5b4e [flicbutton] Fix SAT @NonNull findings (#12334)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-20 23:42:45 +01:00
Gaël L'hopital
cabcaa9698 [network] Adressing issue #11503 (#12316)
Signed-off-by: clinique <gael@lhopital.org>
2022-02-20 23:24:49 +01:00
lolodomo
6ef311304f Remove some of the empty XML tag "description" (#12332)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-20 23:16:16 +01:00
lolodomo
d868f0bbd9 [flicbutton] Add missing i18n translations properties (#12333)
Related to #9234

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-20 23:15:42 +01:00
openhab-bot
7d0809db31 New Crowdin updates (#12229)
* New translations deconz.properties (Italian)
* New translations dynamodb.properties (Finnish)
* New translations guntamatic.properties (Italian)
* New translations ipp.properties (German)
* New translations luxtronikheatpump.properties (German)
* New translations mqtt.properties (Italian)
* New translations openwebnet.properties (German)
* New translations voskstt.properties (Italian)
* New translations watsonstt.properties (Italian)
2022-02-20 22:02:01 +01:00
Patrick Fink
6c104e241a [flicbutton] Initial contribution FlicButton Binding (#9234)
* [flicbutton] Initial contribution FlicButton Binding

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Add config parameter address for FlicButton thing

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Run spotless

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Code cleanup & docs improvement

Signed-off-by: Patrick Fink <mail@pfink.de>

* Apply suggestions from code review

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

* [flicbutton] Update LICENSE

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Apply suggestions from code review (2) & update to 3.1-SNAPSHOT

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Apply suggestions from code review (3) & fix offline status

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix 3rd party source for proper IDE integration

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Simplify config parsing

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Move everything to internal package

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Remove hyphens from port parameter docs example

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Change maintainer to openHAB project

Signed-off-by: Patrick Fink <mail@pfink.de>

* Apply docs suggestions + update to 3.2.0-SNAPSHOT

Signed-off-by: Patrick Fink <mail@pfink.de>

Co-authored-by: Matthew Skinner <matt@pcmus.com>

* [flicbutton] Fix bridge offline & reconnect handling

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Close open socket on dispose

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Improve exception error message in ThingStatus

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix README title

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Improve exception error message in ThingStatus

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Style fixes

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Use trace log level for button clicks & status changes

Signed-off-by: Patrick Fink <mail@pfink.de>

* Apply doc improvements from code review

Signed-off-by: Patrick Fink <mail@pfink.de>

Co-authored-by: Matthew Skinner <matt@pcmus.com>

* [flicbutton] Add binding to bom/openhab-addons

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Cleanup / remove guava leftover

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Remove online status description

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Improve flicd hostname label

Signed-off-by: Patrick Fink <mail@pfink.de>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

* [flicbutton] Do not catch IllegalArgumentException anymore as its not neeed

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Use debug log level instead of info

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Update version and license

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix SAT warnings, e.g. add null handling annotations

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix SAT warnings (2)

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Concurrency refactoring & fixes

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Cancel initialization task also when already running

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Add javadoc and move FLIC_OPENHAB_EVENT_TRIGGER_MAP constant to constants class

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Use ThingStatusDetail.OFFLINE.GONE when Flic button was removed from bridge

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix FlicSimpleclientDiscoveryServiceImpl javadoc

Signed-off-by: Patrick Fink <mail@pfink.de>

* [flicbutton] Fix required definition of thing types

Signed-off-by: Patrick Fink <mail@pfink.de>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
2022-02-20 21:53:30 +01:00
Wouter Born
51bbd34cd7 [bluetooth] Add missing default translations (#12329)
This will allow for translating the Bluetooth Binding in Crowdin.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-20 20:26:10 +01:00
Wouter Born
8559651166 [mqtt] Add default translations (#12328)
This will allow for translating the MQTT Binding in Crowdin.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-20 20:12:31 +01:00
GiviMAD
27538fa87f [watsonstt] lazy abort (#12318)
* [watsonstt] lazy abort

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-20 14:25:47 +01:00
Jacob Laursen
c03dbfd520 Interrupt current thread on InterruptedException (#12323)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-20 14:22:40 +01:00
GiviMAD
4d77608da1 [googlestt] lazy abort (#12317)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-20 12:45:31 +01:00
Christoph Weitkamp
a517e6e768 [openweathermap] Call Thread.currentThread().interrupt() on InterruptedException (#12314)
* Call Thread.currentThread().interrupt() on InterruptedException

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-20 12:35:51 +01:00
GiviMAD
9bb43461fb [voskstt] initial contribution (#12249)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-19 21:52:04 +01:00
jimtng
6000bc75fb [daikin] Add the ability to disable background discovery (#12300)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-19 21:50:12 +01:00
Jacob Laursen
2e72ac78fd [hdpowerview] Add support for setting repeater LED color and brightness (#12308)
* Add support for setting repeater LED color and brightness.

Fixes #12307

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-19 21:48:38 +01:00
Wouter Born
33b613d283 [hueemulation] Provide non-null context to TriggerHandlerCallback (#12320)
This prevents NPEs and a compilation issue when openhab/openhab-core#2763 is merged.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-19 21:37:51 +01:00
Christoph Weitkamp
187937fbd1 Catch exception in case of connection to database failed during activation of servive (#12313)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-19 21:37:23 +01:00
ranzen84
3b0c2ca19f Update README.md (#12322) 2022-02-19 21:35:11 +01:00
eugen
f29034fe87 [homekit] mark item dirty only if it has homekit metadata (#12293)
* mark item dirty only if it has homekit metadata

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-19 09:21:52 +01:00
Christoph Weitkamp
bc7e01726f [openweathermap] Code cleanup (#12311)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-18 08:47:35 +01:00
Christoph Weitkamp
b5e480bd30 Allow default sound parameter value (#12309)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-17 23:03:31 +01:00
Ben Jones
2b80c0ea97 [amplipi] Add support for incremental volume control (#12297)
Signed-off-by: Ben Jones <ben.jones12@gmail.com>
2022-02-17 09:30:30 +01:00
jimtng
f18ee99b08 [daikin] Fix communication errors by retrying failed http requests (#12239)
* [daikin] Fix communication errors by retrying failed http requests

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-16 07:35:19 +01:00
Pawel
85866c63c0 [bluetooth.airthings] Catch all exceptions in a scheduled task to prevent future executions from being suppressed (#12261)
* Fixes #9862

Catch all exceptions in scheduled task to prevent future executions from being suppressed.

Signed-off-by: Pawel Switalski <switalski.pw@gmail.com>
Signed-off-by: Pawel <s-pw@example.com>
2022-02-16 07:30:39 +01:00
jimtng
baa9aacf50 [fronius] Fix communication errors by retrying failed http requests (#12255)
* [fronius] Fix communication errors by retrying failed http requests

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-15 23:50:37 +01:00
Christoph Weitkamp
f70290a5ae Fixed modbus integration tests (#12292)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-14 13:04:39 +01:00
lolodomo
909d3d8c42 [omnilink] Removed tags from channel type lock_switch (#12288)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-14 12:42:45 +01:00
lolodomo
4330e96ce7 [airquality] Cleanup semantic tags (#12290)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-14 07:49:04 +01:00
lolodomo
ab83767fcf [millheat] Cleanup semantic tags (#12289)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-14 07:48:24 +01:00
lolodomo
a0c31e0cfa [deconz] Cleanup semantic tags (#12287)
* [deconz] Cleanup semantic tags

Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 22:50:50 +01:00
lolodomo
43d1175c78 [vigicrues] Cleanup semantic tags (#12286)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 21:49:11 +01:00
lolodomo
78a5d5d6ad [openweathermap] Cleanup semantic tags (#12285)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 21:35:20 +01:00
lolodomo
02033c229d [sonyprojector] Fix tags for channel type powerstate (#12283)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 21:16:53 +01:00
lolodomo
f484faafd0 [sagercaster] Cleanup semantic tags (#12284)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 21:12:58 +01:00
lolodomo
631c7d8c79 [souliss] Remove tags from channel type power (#12282)
Related to #12262

Follow-up #12269

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 20:41:36 +01:00
Jacob Laursen
b750d85a11 Use system channel types for humidity and outdoor temperature (#12277)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-13 19:56:51 +01:00
lolodomo
7d3f3c56a7 [souliss] Fix semantic tags (#12269)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 16:26:01 +01:00
lolodomo
8b91e2172f [openwebnet] Fix tags for channel shutter (#12271)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 12:50:47 +01:00
lolodomo
c576b1e894 [dmx] Fix tags for channel color_temperature (#12265)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 12:49:52 +01:00
lolodomo
b25753cb17 [lifx] Cleanup semantic tags (#12274)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 12:48:06 +01:00
lolodomo
1197c67bbb Replace unknown category DimmableLight by Light (#12264)
Also replace unknwon category DimmableCT by ColorLight

Fix #12263

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-13 09:40:29 +01:00
Dan Cunningham
b7e064a872 [hydrawise] Support unused zones (#12275)
* [hydrawise] Support unused zones
Fixes #12209

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-02-13 09:15:20 +01:00
lolodomo
a7e6fe648d [max] Use defined semantic tags (#12268)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-12 23:11:26 +01:00
lolodomo
e0b1c58c5a [shelly] Category added to channel type sensorHumidity (#12266)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-12 23:09:00 +01:00
lolodomo
97d07c9316 [yeelight] Cleanup semantic tags (#12270)
Related to #12262

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-12 23:06:12 +01:00
Doug Culnane
605c06107f [renault] Renault more channels and HVAC ON / toggle charge mode (#12095)
* [renault] Add more channels to Renault Binding.
* [renault] Improve example rule to reduce API use.

Signed-off-by: Culnane Douglas <douglas.culnane@extern.a1.at>
2022-02-12 20:22:35 +01:00
lolodomo
223eb5e24d [feican] Add semantic tags on channel color_temperature (#12272)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-12 19:05:07 +01:00
eugen
5901479f0e [homekit] update java hap library (#12267)
* update hap
* correction for categories

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-02-12 15:07:58 +01:00
Matthew Skinner
35a6fdde60 [ipobserver] Add support for WiFi version and push based method. (#12151)
* Add support for Wifi version of ipObserver.
* make config private again.
* Add logging.
* Remove tags

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-02-12 09:34:16 +01:00
Jacob Laursen
1be50736e3 Fix recent regression when bridge is offline while initializing child things. (#12259)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-10 23:34:14 +01:00
Hilbrand Bouwkamp
888cf00245 [tplinksmarthome] Added KL400, KL430 lightstrip support (#12000)
Closes #8709

Additional:
- Added action to send and receive json commands to a tplink device. This can be used for test purposes or to run commands not available through channels.

Fixes:
- Power channel of a bulb is defined as QuantityType in xml, therefor it should create the state using QuantityType
- Retry getting values 5 times before setting the device offline. Reduced socket time out to 2 seconds as it normally should react quickly and if it times out it tries again.

Also-by: Dustin Masters <ceo@dustinsoftware.com>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-02-10 19:58:24 +01:00
jimtng
a0236bf993 [fronius] Add support for Fronius Smart Meter 65A (#12258)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-10 18:54:01 +01:00
MikeTheTux
70e57e43e2 [guntamatic] Added 'biosmart' and 'generic' thingtype, robustness improvements on control interface (#12146)
* * added 'biosmart' and 'generic' type. * robustness improvements on control interface

Signed-off-by: Michael Weger <weger.michael@gmx.net>
2022-02-09 21:02:59 +01:00
Jacob Laursen
b23254fc3a Fix unreachable lights and sensors being marked as GONE. (#12245)
Fixes #12244

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-09 20:26:57 +01:00
Ethan Dye
fdf8ebec98 [OmniLink] Refactor parts of code (#12246)
Signed-off-by: Ethan Dye <mrtops03@gmail.com>
2022-02-09 17:59:36 +01:00
Jacob Laursen
24c5105dca Reduce log level for messages received for unconfigured devices (#12248)
Fixes #12247

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-09 07:54:25 +01:00
Hannes Spenger
ac32260f22 [fronius] Added Ohmpilot thing and channel realpowersum for thing meter (#11835)
* Added support for fronius ohmpilot and added smart meter power sum.

Signed-off-by: urmet0 <hannes.spenger@gmail.com>
2022-02-09 00:02:40 +01:00
lolodomo
b54e1026ae [hue] Semantics added to channel types (#10977)
* [hue] Semantics added to channel types

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-08 23:03:31 +01:00
Ethan Dye
20da017fa2 [OmniLink] Add semantic tags to channels (#11100)
* Add semantic tags to channels
* Use system channels where possible

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
2022-02-08 22:01:57 +01:00
Wouter Born
14058c1603 [insteon] Prevent null values from being inferred when printing to console (#12243)
This prevents the null analysis from inferring null values when printing to a Console.

Related to openhab/openhab-core#2742

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-08 21:27:17 +01:00
Cody Cutrer
43cef812ae [mqtt.homie] remove unused constants in tests (#12242)
Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-02-08 21:01:25 +01:00
GiviMAD
9a086fd6e3 [watsonstt] initial contribution (#12161)
* [watsonstt] initial contribution

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-08 20:52:02 +01:00
lolodomo
99cfb65aba [openweathermap] Semantics added to channel types (#10972)
Also fix few categories to use only official categories

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-08 19:06:25 +01:00
J-N-K
60f9f60faf Adjustments after changing null-annotations for updating properties (#12221)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-08 18:35:16 +01:00
Andrew Fiddian-Green
a3448a57d3 [hdpowerview] Fix for capabilities:1 shades (#12237)
* [hdpowerview] fix capabilities:1

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-02-08 13:16:32 +01:00
GiviMAD
4e6bc0976e [porcupineks] fix null pointer exception and file bundle extraction on Windows OS (#12234)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-07 18:53:14 +01:00
jimtng
d46367dfd0 [mqtt] Remove references to the System Broker (#12233)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-07 16:03:41 +01:00
olivierkeke
e89a5e6996 [teleinfo] Refactor channel config files for Linky standard mode (#12204)
* Refactor channel config files
* Remove duplicate PAPP channel type

Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>
2022-02-07 16:02:48 +01:00
Wouter Born
144cb11243 Resolve runbundles for XStream upgrade (#12222)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-07 08:25:16 +01:00
jimtng
267a8aac7c [jrubyscripting] convert presets from java class to ruby class (#12047)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-06 21:50:56 +01:00
maniac103
f29d86cf4f [homematic] Remove state description step size handling (#12192)
The RPC protocol doesn't provide this value, so it always was made up
more or less arbitrarily. Since the UI now uses this value for
validation purposes, there are cases where valid values can not be
entered due to this step size (particularly for datapoints with more
than 1 decimal digit).

Fixes #12183

Signed-off-by: Danny Baumann <dannybaumann@web.de>
2022-02-06 20:21:59 +01:00
Hans-Jörg Merk
65cd63305d [Wemo] add @jlaur as code-owner (#12227)
Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2022-02-06 16:22:48 +01:00
Christoph Weitkamp
d707420ec5 [jdbc] Fixed ClassCastException for ColorItem / HSBType (#12225)
* Fixed ClassCastException for ColorItem / HSBType

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-06 15:45:03 +01:00
Christian Kittel
0028b8d13c Prevent Null Pointer Exception if socket connection is broken (#12223)
Signed-off-by: EvilPingu <ckittel@gmx.de>
2022-02-06 15:43:00 +01:00
GiviMAD
19fd145368 [googlestt] emit correct recognition events (#12210)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-02-06 13:42:32 +01:00
Jacob Laursen
1422253adf Fix inbox entries for already configured devices. (#12217)
Fixes #12216

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-06 12:16:45 +01:00
basse04
caed360c37 [kostalinverter] Fix to, prevent randomly stops of binding. (#12124)
* [kostalinverter] Fix to, prevent randomly stops of binding.

Signed-off-by: basse04 <orjan.backsell@gmail.com>
2022-02-06 11:02:32 +01:00
jimtng
a3bd8caba9 [mqtt.generic] Support transformationPattern for thing's availabilityTopic (#12167)
* [mqtt.generic] Support transformationPattern for thing's availability payload
* [mqtt] Remove org.apache.commons.lang3.StringUtils dependency

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-06 10:30:06 +01:00
Jacob Laursen
85ffbe37db [wemo] Fix already configured devices in inbox (#12215)
* Reuse UDN configuration parameter definition.
* Fix inbox entries for already configured devices.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-06 09:50:29 +01:00
Jacob Laursen
e9deeccf49 Eliminate risk of bad firmware response breaking shade/scene updates. (#12214)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-05 21:23:36 +01:00
Christian Kittel
b9a838bf18 Fixing Issue if server returns not 200 while signing in (#12211)
Signed-off-by: EvilPingu <ckittel@gmx.de>
2022-02-05 21:21:51 +01:00
digitlength
e872e14894 Update README.md (#12168)
Added outgoing data section
2022-02-05 20:44:45 +01:00
Andrew Fiddian-Green
b76551f4d7 [siemenrds] Update in ReadMe about getting an API key (#12212)
* [siemenrds] update ReadMe about the api key

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-02-05 20:34:34 +01:00
Sonic-Amiga
7a407523dc [herzborg] Herzborg binding (#9327)
Supports Herzborg curtain motors over RS-485 network

Signed-off-by: Pavel Fedin <pavel_fedin@mail.ru>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

Co-authored-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2022-02-05 19:08:05 +01:00
Jacob Laursen
8ebd4e9047 [wemo] Improve GENA subscription reliability and error handling (#12148)
* Consolidate service subscriptions in base class.
* Remove unsynchronized and unneeded cache of subscriptions.
* Do not unregister participant when removing subscription.
* Fix status wrongly set to ONLINE when exception is thrown.
* Refactor error handling for WemoHttpCall.
* Adjust log level for communication errors.
* Add automatic subscription renewal.
* Fix more ONLINE/OFFLINE status transition issues.
* Adjust log level when getWemoURL fails because device is offline.
* Remove redundant logging.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-05 18:56:58 +01:00
Stian Kjoglum
882e52647d Enhancement for websocket re-econnectivity & fix item/channel response (#12191)
Signed-off-by: Stian Kjoglum <stiankj@online.no>
Signed-off-by: kjoglum <stiankj@online.no>
2022-02-05 11:09:07 +01:00
Jacob Laursen
97422175c7 Update README after latest changes. (#12173)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-05 09:26:08 +01:00
eugen
fde78b3fea make onChange synchronized (#12205)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2022-02-05 08:39:17 +01:00
jimtng
73b805b115 [mqtt] connectionStateChanged(CONNECTED) called twice (#12200)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-04 23:32:56 +01:00
Jacob Laursen
97db73938d Improve error handling for unknown shades and timeouts. (#12181)
Fixes #12180

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-02-03 23:45:41 +01:00
lolodomo
02776d8585 [voicerss] Null annotations added on the main service class (#12190)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-03 19:48:14 +01:00
Balisz
3c7d4d8a38 [playstation] Clarified the part to obtain configuration info (#12194)
* Clarified the part to obtain configuration info
2022-02-03 16:32:16 +01:00
jimtng
5f48b72e16 [mqtt] Fix translation file names (#12193)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-03 16:27:55 +01:00
openhab-bot
9a8e14ba19 New Crowdin updates (#12188)
* New translations http.properties (Italian)

* New translations ambientweather.properties (French)

* New translations automower.properties (French)

* New translations electroluxair.properties (French)

* New translations mqttbroker.properties (Hungarian)

* New translations mqttbroker.properties (Italian)
2022-02-03 13:03:42 +01:00
jimtng
80819ca503 [mqtt] Support birth and shutdown message (#12152)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-03 12:42:54 +01:00
Kai Kreuzer
ca1e2b0e42 [tesla] Introduce "allowWakeUpForCommands" option (#12184)
* Introduce "allowWakeUpForCommands" option

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-02-02 20:28:48 +01:00
lolodomo
624efab678 [voicerss] Fix and enhance the external tool to prefill the cache (#12155)
* [voicerss] Fix and enhance the external tool to prefill the cache
* Make the tool independent of core openHAB
* Fix the parsing of the command arguments.
* Allow to provide optional audio codec and format.
* Null annotations added on most of the classes
* Simplified doc about classpath
* Suppress obsolete mention of open issue in doc

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-02 18:39:35 +01:00
jimtng
de6de1a22d [daikin] Fix NPE when setting zones on startup (#12165)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-02 17:35:15 +01:00
jimtng
36ab0cdc87 [mqtt] Remove MQTT System Broker (#12157)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-02 14:00:33 +01:00
Christoph Weitkamp
ca73548af2 [hue] Fixed setting wrong values for ledindocation configuration (#12182)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-01 08:42:17 +01:00
jimtng
5b1627c426 [mqtt] publishMQTT Action accepts a bytearray payload (#12170)
* [mqtt] MQTT Action publishMQTT accept byte array

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-02-01 00:51:46 +01:00
olivierkeke
87975feab2 [teleinfo] Update translation files (#12156)
* Apply maven i18n plugin

Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>
2022-02-01 00:44:58 +01:00
Jacob Laursen
fd6c8eeb80 [hdpowerview] Add shade identify command (#12175)
* Add shade identify command.

Fixes #12174 

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-31 18:38:40 +01:00
Wouter Born
58d6123696 [lifx] Add support for new LIFX products (#12179)
Allows for discovering all the new LIFX products and their features.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-01-31 12:35:54 +01:00
Dan Cunningham
a0920d4c0c [jsscripting] Append the ruleID or file name to the logger when console logging (#11945)
* Appends the ruleID or file name to the logger when console logging.
* Adds configurable logging, updates scriptId logic

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-01-31 11:55:50 +01:00
robnielsen
37c028ddc0 [insteon] Ignore missing network handler when disposing a device (#12169)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
2022-01-30 18:50:47 +01:00
Cody Cutrer
8794ff860e [homekit] handle NULL/UNDEF for temperature characteristics (#12172)
recent regression from handling QuantityType

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-01-30 18:46:56 +01:00
Dan Cunningham
00da156b1b [jsscripting] Updates to latest openhab-js library (#12171)
* Updates to latest openhab-js library
* Update for new default log level in 3.3

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-01-30 18:28:58 +01:00
jimtng
927dbba107 [mqtt.generic] Include availabilityTopic in the binding docs (#12158)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-01-30 11:45:33 +01:00
SoCsOnFPGAsGuy
5c741fda9e [enocean] enable usage of Nodon roller-shutter repeater mode (#12133)
* [enocean] enable repeater mode selection for NODON rollershutter
* [enocean] adds new EEP definition for NODON rollershutter to README.md

Signed-off-by: Marcel Eckert <mrcleckert@aol.com>
2022-01-30 11:12:03 +01:00
openhab-bot
78902b84b5 New translations electroluxair.properties (Italian) (#12147) 2022-01-30 09:53:09 +01:00
jimtng
dc10897456 [mqtt.generic] Rename channel label from Percentage Value to Dimmer (#12162)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-01-30 09:26:46 +01:00
jimtng
3c32f9aa24 [mqtt.generic] Fix default configuration and docs for color_mode (#12163)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-01-30 09:13:39 +01:00
jimtng
4e122005ca [jrubyscripting] Apply RUBYLIB configuration to $LOAD_PATH (#12123)
* [jrubyscripting] Apply RUBYLIB configuration to $LOAD_PATH

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-01-29 11:55:09 +01:00
lolodomo
5abea08da3 [voicerss] Hide the API key when logging API URL (#12096)
Also fix few typos

Also small changes regarding log levels and exception handling

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-29 11:52:36 +01:00
boecko
d75baa59af [groovyscripting] add conf/automation/groovy to the classpath (#12043)
* [groovyscripting] added conf/automation/groovy-path to the classpath

Signed-off-by: Andreas Böckler <andy@boeckler.org>
2022-01-29 09:33:12 +01:00
mlobstein
78e214651f Workaround for incorrectly reported fan state (#12145)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-01-28 22:00:52 +01:00
Arne Seime
4cad5dab1e Minor clarification of macAddress property (#12119)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
2022-01-28 16:41:56 +01:00
lolodomo
9717b7a107 [googlestt] Adjust service label for consistency with TTS services. (#12134)
Documentation enhanced to explain how to setup the default STT.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-28 09:02:21 +01:00
Jacob Laursen
7b3a1c9fc2 Create concrete handlers for Insight, Motion and Socket/Light Switch. (#12120)
No logic/code changes yet, just extraction/separation.

Fixes #12105

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-28 08:23:24 +01:00
openhab-bot
15d1610952 New Crowdin updates (#12050)
* New translations tradfri.properties (Italian)

* New translations mycroft.properties (French)

* New translations deutschebahn.properties (German)

* New translations gardena.properties (German)

* New translations luftdateninfo.properties (German)

* New translations network.properties (Finnish)

* New translations publictransportswitzerland.properties (Finnish)

* New translations mycroft.properties (Finnish)

* New translations pushover.properties (German)

* New translations yamahamusiccast.properties (Italian)

* New translations ecotouch.properties (German)

* New translations voicerss.properties (French)
2022-01-28 07:58:33 +01:00
jimtng
87b0dbfd06 [jrubyscripting] Update jruby version to 9.3.3.0 (#12143)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2022-01-28 07:47:38 +01:00
Jacob Laursen
dab48ddd95 [hdpowerview] Optimize initialization of shades (#12113)
* Optimize initialization of shades.

Fixes #12071

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Avoid hashmap reallocation during initialization.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-28 07:47:32 +01:00
Jacob Laursen
608d0ae23a [hdpowerview] Fix autoupdate quirk. (#12141)
Fixes #12140

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-27 21:38:29 +01:00
Jacob Laursen
369b985192 [hdpowerview] Convert calibrate to command channel. (#12138)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-27 20:49:27 +01:00
GiviMAD
89b8b2eb0a [porcupineks] add library to NOTICE file and update to porcupine 2.1 (#12137)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-01-27 20:19:27 +01:00
GiviMAD
702ffcdc22 [googlestt] add library to NOTICE file (#12136)
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-01-27 20:00:04 +01:00
Christian Wild
3d9717caf9 [tapocontrol] now supports energy monitoring of P110 device (#12017)
* [tapocontrol] added energy monitoring for P110
* [tapocontrol] corrected textual thing configuration in readme

Signed-off-by: Christian Wild <christian@wild-bw.de>
2022-01-27 08:46:30 +01:00
GiviMAD
07e02cf459 [googlestt] initial contribution (#12055)
* [googlestt] initial contribution

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-01-27 00:24:51 +01:00
eugen
ec93c3600e [homekit] quick restart on network changes (#12072)
* quick restart on network changes

* only restart if needed
* add null check

Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-01-26 20:19:03 +01:00
Benjamin Lafois
d6da67435a [somfytahoma] [Improvement] Fix cozytouch support and add waterheatersystem support (#11855)
* Add support for Cozytouch and WaterHeaterSystem

Signed-off-by: Benjamin Lafois <benjamin.lafois@gmail.com>
2022-01-26 20:12:46 +01:00
lolodomo
56b2f47be6 [porcupineks] Enhanced documentation (#12116)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-25 20:18:09 +01:00
Andrew Fiddian-Green
8a2d507b21 [hdpowerview] Added support for rear blackout panel (#12098)
* [hdpowerview] refactor enum constant names
* [hdpowerview] add support for blackout shades
* [hdpowerview] unit tests for capabilities 8 & 9
* [hdpowerview] delete no longer valid comment
* [hdpowerview] blackout shade position is never UNDEF
* [hdpowerview] updated read me
* [hdpowerview] refactor unit tests into two classes

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-01-25 20:09:14 +01:00
lolodomo
8b32095681 [voicerss] Declare myself as code maintainer (#12112)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-24 22:43:33 +01:00
Jacob Laursen
9d361c1fa3 [hdpowerview] Add support for repeaters (#12061)
* Add support for repeaters.

Fixes #12060

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Simplify thing type filtering.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Improve robustness of configuration ID validation/initialization.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Convert repeater-identify to command channel.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix logged warning.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Skip unneeded bridge status logic.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Skip redundant logging.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>

* Fix chanenl type label for blinking enabled.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-24 22:42:53 +01:00
olivierkeke
3d24cfc535 [teleinfo] improve documentation for Linky Standard TIC mode (#12093)
* Improve standard tic mode channels description
* Add textual configuration for standard tic mode
* Add new supported hardware

Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>
2022-01-24 21:37:16 +01:00
Jacob Laursen
bb9cb906d1 [wemo] Refactor duplicated code (#12101)
* Extract getHost() and getUDN() to common handler base class.
* Delete AbstractWemoHandler as it serves no purpose.
* Extract isUpnpDeviceRegistered() to base class.
* Fix typo.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-24 21:26:35 +01:00
lolodomo
ea21f2ff47 [pollytts] Mention where to find configuration settings (#12107)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-24 21:13:39 +01:00
lolodomo
ffb03d572d [voicerss] Mention where to find configuration settings (#12108)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-24 21:12:57 +01:00
lolodomo
0166fdaee6 [TTS services] Enhance doc to explain how to setup default voice (#12099)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-23 22:50:50 +01:00
Hans-Jörg Merk
d9c31e626a [wemo] make UPnP more robust and fix polling/portscan (#12001)
* [wemo] make UPnP more robust
* [wemo] change thing status updates

Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
2022-01-23 22:49:52 +01:00
Cody Cutrer
d4fb20d529 [homekit] use quantity type conversions for temperature characteristics (#12083)
if an Item associated with a temperature characteristic has a QuantityType
(of dimension Temperature) as its state, regardless of current unit,
use that to convert to celsius instead of any other configuration.

Note that this is only for supply values to HomeKit; commands coming from
HomeKit will still send a DecimalType with units according to the HomeKit-wide
useFahrenheit configuration.

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2022-01-23 13:40:14 +01:00
Jonathan Gilbert
6bd37cb02a [jsscripting] JS script engine no longer watches node_modules for scripts (#11830)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2022-01-23 11:46:13 +01:00
lolodomo
4af260d0e6 [voicerss] Updated documentation (config, voices) (#12088)
* [voicerss] Updated documentation (config, voices)

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

* Removed "actually"

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

* Use HTTPS to reference API WEB site in documentation

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-23 11:04:47 +01:00
lolodomo
107c72e958 [pollytts] Fix typo in documentation (#12089)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-22 22:35:50 +01:00
Flole998
158f8341d5 Add channels for screensaver state and virtual keyboard state (#11984)
Include OnAVStart for playing state detection

Fixes: #7542

Signed-off-by: Flole <flole@flole.de>
2022-01-22 22:34:48 +01:00
Frank Seidinger
dd08a2a1e3 [knx] GroupRead / SendToKNX fails with NullPointerException #12040 (#12074)
* Fixed NullPointerException due to missing SecureApplicationLayer in creation of ProcessCommunicationResponder

Signed-off-by: Frank Seidinger <frank.seidinger@gmail.com>
2022-01-22 20:38:33 +01:00
lolodomo
e9c9acdbfd [voicerss] Fix bad audio format code and use HTTPS URL instead of HTTP (#12092)
Fix #12091

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-22 19:12:38 +01:00
Marcel
d196dc2c92 [miio] Implement lumi devices support for gateways (#11688)
* [miio] Implement lumi devices support for gateways v3 WIP

Adding support for the following models:
* Aqara LED Light Bulb (Tunable White) (modelId: lumi.light.aqcn02)
* IKEA E27 white spectrum opal (modelId: ikea.light.led1545g12)
* IKEA E27 white spectrum clear (modelId: ikea.light.led1546g12)
* IKEA E14 white spectrum (modelId: ikea.light.led1536g5)
* IKEA GU10 white spectrum (modelId: ikea.light.led1537r6)
* IKEA E27 warm white (modelId: ikea.light.led1623g12)
* IKEA GU10 warm white (modelId: ikea.light.led1650r5)
* IKEA E14 warm white (modelId: ikea.light.led1649c5)
* Door lock (modelId: lumi.lock.v1)
* Aqara Door Lock (modelId: lumi.lock.aq1)
* Aqara Door Lock S2 (modelId: lumi.lock.acn02)
* Aqara Door lock S2 Pro (modelId: lumi.lock.acn03)
* Mi Smart Plug (Zigbee) (modelId: lumi.plug.mmeu01)
* Mi Temperature and Humidity Sensor (modelId: lumi.sensor_ht.v1)
* Mi Window and Door Sensor (modelId: lumi.sensor_magnet.v2)
* Mi Motion Sensor (modelId: lumi.sensor_motion.v2)
* Water Leak Sensor (modelId: lumi.sensor_wleak.aq1)
* Aqara Temperature and Humidity Sensor (modelId: lumi.weather.v1)

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* Work in progress support plug

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] cleanup, improve messages and initialization

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] Cleanup to prepare for PR

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] add missing placeholder

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] resolve merge issue

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] update readme after rebase

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] Update from review comments and warnings/checkstyle cleanup

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] update readme after merge and update json to updated format

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] Improve online indication

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* reset

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* Update readme

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] update from review comments

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

* [miio] feedback codereview

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2022-01-22 18:57:01 +01:00
Andreas Brenk
03b53475ba [voicerss] Add support for WAV audio format (#11916)
* [voicerss] add unit test for supported formats
* [voicerss] add support for WAV audio format

Signed-off-by: Andreas Brenk <mail@andreasbrenk.com>
2022-01-22 16:53:05 +01:00
GiviMAD
efa8963d20 [porcupineks] Keyword Spotter, initial contribution (#12028)
* initial contribution

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-01-22 14:02:02 +01:00
lolodomo
f75c04d5d4 [googletts] Configuration example via text file in documentation (#12087)
* [googletts] Configuration example via text file in documentation

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-22 11:31:36 +01:00
lolodomo
5c373923e8 [pollytts] Small changes in configuration in documentation (#12086)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-22 10:45:01 +01:00
lolodomo
f823e11d3a [picotts] Added new chapter for configuration in documentation (#12085)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-22 09:57:39 +01:00
Andrew Fiddian-Green
c828d81dbb [hdpowerview] Update shade database (#12081)
* [hdpowerview] update shade database

* [hdpowerview] add type 65 shade capabilities 8

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-01-21 20:32:28 +01:00
Christoph Weitkamp
caa3359f53 Fixed build by improve config handling (#12078)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-21 14:04:43 +01:00
Christopher Schirner
cc437d86e2 Add note for Unifi OS default port (#11812)
Co-authored-by: schinken <mail+github@schinken.io>
2022-01-21 10:36:52 +01:00
Richard Koshak
df7d111bce changedSince returns a boolean, not a Number (#12079) 2022-01-20 16:51:39 +01:00
Gleb Dyskin
28adfb9d1e Update README.md (#12057)
Editing wrong channels in items
2022-01-20 15:19:15 +01:00
Matt Filetto
d8ca7d20ca [onkyo] Add support for TX-NR609 (#12067)
* binding: [onkyo]: add TX-NR609
* Basically a 616 but with some THX Listening Modes not on other models
* [onkyo]: add "PLIIx Music + THX Music" Listening Mode

Signed-off-by: Matt Filetto <matt.filetto@gmail.com>
2022-01-19 18:15:22 +01:00
Christoph Weitkamp
58ff256288 [androiddebugbridge] Added mDNS discovery for Fire TV Stick (#11881)
* Added mDNS discovery for Fire TV Stick

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-18 09:02:38 +01:00
Kai Kreuzer
39ee01687f Fix NPE when Thing configuration changes (#12070)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-18 00:03:46 +01:00
mlobstein
71b4fcbac7 [oppo] Fix Play Mode and Disc Type updates (#12066)
* Fix Play Mode and Disc Type updates

Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-01-17 20:29:23 +01:00
Markus Eckhardt
94401fc798 [km200] Added JCE check and removed some warnings (#11841)
* Added a check if JCE is installed
* removed warnings

Signed-off-by: Markus Eckhardt <github@familie-eckhardt.eu>
2022-01-17 18:47:38 +01:00
Jacob Laursen
e44dfe7dbc [hdpowerview] Refactor dynamic channels (#11853)
* Extract dynamic channel creation to separate classes.
* Avoid double list allocations.
* Add test coverage for scenarios with no channels built.
* Extract common builder stuff to super class.
* Fix grammar.
* Reduce constructor access modifiers.
* Removed unneeded this keyword for protected method.
* Fix null annotation issues.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-17 13:41:33 +01:00
Christoph Weitkamp
8b3bb313eb [pushover] Improved exception handling (#12023)
* Improved exception handling

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-16 18:07:36 +01:00
Wouter Born
b0765271d3 Upgrade to Karaf 4.3.6 (#12058)
* Syncs the karaf.version so the new Maven plugin is used
* Resolves itest runbundles for the new runtime dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2022-01-16 14:25:19 +01:00
Wouter Born
bfe059c585 [mielecloud] Fix tests by adding missing email configuration parameter (#12056)
The validation did not fail previously because it was broken and fixed in https://github.com/openhab/openhab-core/pull/2683

Signed-off-by: Wouter Born <github@maindrain.net>
2022-01-15 21:27:59 +01:00
Jacob Laursen
fee45a5b94 [hdpowerview] Refactor exception handling (#12049)
* Refactor exception handling.

Fixes #12048

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-15 19:16:09 +01:00
Jacob Laursen
ddfab66849 Update username for Andy Lintner. (#12046)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-15 18:39:08 +01:00
lolodomo
2623632ac7 [electroluxair] Add missing default translation properties (#12053)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-15 17:47:58 +01:00
lolodomo
0e62c88e7f [yamahamusiccast] Add missing default translation properties (#12054)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-15 17:46:40 +01:00
Jonathan Gilbert
4d88ad06ae [jsscripting] Wrapped GraalJS ScriptEngines now also Autocloseable (#12022)
Signed-off-by: Jonathan Gilbert <jpg@trillica.com>
2022-01-15 17:44:15 +01:00
Christoph Weitkamp
67b701b6b4 [jdbc] Removed check if item exists to allow to truncate data for clean-ups (#12052)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-15 17:09:54 +01:00
Joan Pujol
0df790c687 [influxdb] Fix previous item state performance issues (#11993)
Fixes #11878

Signed-off-by: Joan Pujol <joanpujol@gmail.com>
2022-01-15 16:39:19 +01:00
Christoph Weitkamp
bb2e4c7c65 [jdbc] Implement 'ModifiablePersistenceService' interface (#11922)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-15 14:29:06 +01:00
openhab-bot
344a4ceae3 New Crowdin updates (#11960)
* New translations openweathermap.properties (Italian)

* New translations openweathermap.properties (German)

* New translations icalendar.properties (Italian)

* New translations network.properties (German)

* New translations atlona.properties (Italian)

* New translations yeelight.properties (Italian)

* New translations yioremote.properties (Italian)

* New translations astro.properties (German)

* New translations deconz.properties (German)

* New translations deconz.properties (Italian)

* New translations pollytts.properties (German)

* New translations mqtt.properties (Italian)

* New translations publictransportswitzerland.properties (Italian)

* New translations mqtt.properties (Italian)

* New translations mqtt.properties (Italian)

* New translations ipp.properties (German)
2022-01-14 23:30:41 +01:00
Jacob Laursen
2832567fc9 [hdpowerview] Add support for calibrating a shade (#12002)
* Add support for calibrating a shade.

Fixes #11767

* Fix startup problems by decoupling capabilities cache from updateSoftProperties.
* Minor refactoring of capabilities and shade id handling.
* Dispose faster/safer by killing any remaining tasks.
* Set shade thing status to UNKNOWN until we receive any data for shade.
* Fix position update glitch after setting position.
* Remove unneeded catch after shade id refactoring.
* Document return values in Javadoc.
* Avoid logging InterruptedException during dispose.
* Add calibration example item.
* Reduce nesting.
* Add myself as reviewer for binding.
* Add Andrew Fiddian-Green as reviewer for binding.
* Handle JsonParseException.
* Fix alphabetic order.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-14 22:59:01 +01:00
eugen
843ca55c68 fix Fahrenheit conversion (#12024)
Signed-off-by: Eugen Freiter <freiter@gmx.de>
2022-01-14 22:56:50 +01:00
Andrew Fiddian-Green
67ccf858f8 [hdpowerview] update shade database (#12045)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-01-14 19:43:11 +01:00
Jacob Laursen
d07348b216 [hdpowerview] Fix SAT warnings (#12032)
* Fix SAT warnings about missing @NonNullByDefault.
* Move part of firmware JSON response validation to HDPowerViewWebTargets.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-14 19:35:56 +01:00
Christoph Weitkamp
e3e4cd667d [ipp] Added representation property and code improvements (#12039)
* Added representation property

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-14 11:32:58 +01:00
alexf2015
1ee5906fc7 [digitalstrom] Adoptions due to API changes in DSS Update 1.19.2 (#12033)
* added support for DSUID in DSS response data while being compatible to removed DSID which might still be in use due to older firmware versions.
* fixed a NPE and also fixed json parameter naming.
* applied improvements from DSUID class
* fixed variable name, made dsid member final, added author

Signed-off-by: Alexander Friese <af944580@googlemail.com>
2022-01-14 08:38:20 +01:00
lolodomo
ae50e32364 [digitalstrom] Update CODEOWNERS (#12041)
As discussed in #12033 , the mentioned authors for the digitalstrom binding will no more contribute or review.

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-14 08:03:25 +01:00
Martin van Wingerden
71011b2431 [rfxcom] Updates / small fixes (#12037)
* [rfxcom] Updates / small fixes

Added support for:
 - CHIME - Alfawise, dBell
 - HUMIDITY - HUM3 - Inovalley S80 plant humidity sensor
 - LIGHTING1 - Oase Inscenio FM Master

Fixes #10251

Signed-off-by: Martin van Wingerden <martin@martinvw.nl>
2022-01-13 14:12:19 +01:00
maniac103
a4c579b753 [homematic] Fix long button press handling for HM-IP devices (#11982)
* [homematic] Fix long button press handling for HM-IP devices

HM devices have the following long press cycle:
PRESS_CONT
PRESS_LONG
PRESS_CONT (N times for repetion)
PRESS_LONG_RELEASE

while (at least some) HM-IP devices use this one:
PRESS_LONG
PRESS_LONG_START
PRESS_LONG (N times for repetition)
PRESS_LONG_RELEASE

Add support for the latter case while keeping support for the former
case.

Signed-off-by: Danny Baumann <dannybaumann@web.de>

* [homematic] Track 'uses LONG_START datapoint' flag per-device
2022-01-13 09:09:19 +01:00
Kai Kreuzer
a1e6a4e35c [tesla] Add support for setting charging amps and sentry mode (#12029)
* Add support for setting charging amps and sentry mode

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-13 09:04:24 +01:00
Kai Kreuzer
e9b0620c86 [tesla] Change center_display_state from switch to number (#12030)
* Change center_display_state from switch to number

Signed-off-by: Kai Kreuzer <kai@openhab.org>

* Update property file

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-12 23:06:31 +01:00
Udo Hartmann
ab2f6b0afe [knx] Update README.md (#12035)
Changed Example of Dimmer channel. Makes no sense to provide both Switch and Position Status in configuration, as an update of Switch Status will delete Position and vice versa. Position Status makes sense.
2022-01-12 21:09:42 +01:00
Kai Kreuzer
b7e78e3a0d Update sunroof feature to changed Tesla API (#12031)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-12 08:41:10 +01:00
Fabian Wolter
a925fb52d0 PR template: Update marketplace URL; add notes about rebase/labels/update.lst (#11988)
Also update jfrog URL, proofreading and improve readability.

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-01-12 08:28:38 +01:00
MikeTheTux
7b0ba301e7 [guntamatic] Initial contribution: Binding for Guntamatic Heating Systems (#12011)
Signed-off-by: Michael Weger <weger.michael@gmx.net>
2022-01-11 22:35:18 +01:00
Moritz 'Morty' Strübe
11ed1c3e66 [mqtt] Add documentation about using auto discovery with Tasmota (#12003)
* [mqtt] HomeAssistant: Doc: Add auto discovery with Tasmota
* [mqtt] HomeAssistant: Doc: Minor formatting adjustments

Signed-off-by: Moritz 'Morty' Strübe <morty@gmx.net>
2022-01-11 13:25:27 +01:00
dalgwen
682cb8a1b5 [mycroft] Init i18n (#12020)
(and by the way, reorder alphabetically the CODEOWNERS file)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-01-11 13:17:33 +01:00
dalgwen
40b5932817 [mycroft] Initial contribution (#11040)
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-01-10 16:51:07 +01:00
Sven Strohschein
ab1ce7f6db [innogysmarthome] VariableActuators are now recognized again (#11741) (#12008)
Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
2022-01-10 13:53:38 +01:00
Kai Kreuzer
35d7d9d6dd [tesla] Clarify and update how refresh tokens can be obtained (#12015)
* Clarify and update how refresh tokens can be obtained
* Fix logging statement

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-10 09:54:31 +01:00
Kai Kreuzer
43384fe9fc Print usage for tesla command on console (#12014)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-01-10 09:47:03 +01:00
Jan Vybíral
dc0a974a98 [nuki] Support for SmartLock 3.0 and SmartDoor (#12005)
Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
2022-01-10 09:36:28 +01:00
Jeremy Stucki
bcb7b73191 [publictransportswitzerland] Add missing default translation properties (#12009)
Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>
2022-01-09 19:14:03 +01:00
Moritz 'Morty' Strübe
ebf5c4e0e9 [jeelink] Doc: Clarify thing discovery (#12004)
Signed-off-by: Moritz 'Morty' Strübe <morty@gmx.net>
2022-01-09 17:41:17 +01:00
Matthew Skinner
cb3496f967 [ipcamera] Fix multiple mjpeg issues and allow stream to stay alive (#11921)
* Fix for a camera that has a space in boundary
* Fixes to ipcamera.mjpeg

Signed-off-by: Matthew Skinner <matt@pcmus.com>
2022-01-09 13:42:16 +01:00
chingon007
46ba275edb [sonnen] Initial contribution of new binding for solar battery (#11915)
* Initial contribution of sonnen binding

Signed-off-by: chingon007 <tron81@gmx.de>
2022-01-09 11:31:23 +01:00
James Melville
0fcebcde3f [mqtt.generic] Add UOM to inbound values for MQTT Channels (#10727)
* Add UOM for MQTT Channels

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix dependencies

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify units parsing, remove channelUID from NumberValue constructor

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify pattern

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix tests

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct Units reference

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct homeassistant binding changes

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Wrap precision in temperature unit definition

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal for precision

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal throughout

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix SAT

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Inverty equals check

Signed-off-by: James Melville <jamesmelville@gmail.com>
2022-01-09 10:05:53 +01:00
Jan Gustafsson
f79ce45650 [electroluxair] Initial contribution (#11116)
* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review and also copyright to 2022.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* [electroluxair] Initial contribution of the electroluxair openHAB binding

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review.

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>

* Updated after code review

Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
2022-01-09 10:02:25 +01:00
Matthew Skinner
06576fa0fe [opensprinkler] Add Veto and some default times to state options. (#11816)
* Add default times to state options.


Signed-off-by: Matthew Skinner <matt@pcmus.com>

* remove pattern


Signed-off-by: Matthew Skinner <matt@pcmus.com>

* Update default translations properties

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

Co-authored-by: Laurent Garnier <lg.hc@free.fr>
2022-01-08 22:57:23 +01:00
Flole998
a13ce5793c [http] Provide meaningful error messages (#11995)
Signed-off-by: Flole <flole@flole.de>
2022-01-08 15:49:30 +01:00
Jacob Laursen
56a10af420 Consolidate properties for compliance. (#11997)
Fixes #11996

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-08 14:37:00 +01:00
Jacob Laursen
e64d0e5028 Consolidate properties for compliance. (#11992)
Fixes #11991

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-08 01:00:22 +01:00
dalgwen
82974b4c2f [googletts] Use returned sound to get play informations (#11877)
* [googletts] Use real sound returned to get play informations (#10015)

When google tts returns a wav file, it is now parsed to get correct informations about it.(mandatory for playing it with at least the System speaker audio sink)
Close #10015

* Fix a regression, as the WAV fix was incorrectly applied to the MP3 file

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2022-01-08 00:44:28 +01:00
raykleibelt
65002647df Update HomematicDeviceDiscoveryService.java (#11971)
fix for bug #11969

After a restart of openHAB the function 'getScanTimeout()' is called before the member 'installModeDuration' has been initialized with the correct value from the configuration. With a large number of Homematic devices, the default value of 'installModeDuration' is too small to read in all Homematic devices from the CCU.
Therefore, when calling the function 'getScanTimeout()', the value is read directly from the configuration. The member 'installModeDuration' has been removed.

Signed-off-by: raykleibelt <54982000+raykleibelt@users.noreply.github.com>
2022-01-07 21:43:24 +01:00
Jacob Laursen
78fd621ad9 Use standard firmware property constant. (#11989)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-07 21:31:59 +01:00
Christoph Weitkamp
6f555cb0af Remove license header in feature file (#11983)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-07 13:15:47 +01:00
Jacob Laursen
05ebeea86b [hdpowerview] Add firmware information properties for hub and shade. (#11980)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-07 10:33:52 +01:00
LukasA83
1280a0e11b Add DateTime channel type to comply with mqtt homie convention 3.x (#11894)
Signed-off-by: Lukas Agethen <lukas83@gmx.de>
2022-01-06 23:35:41 +01:00
coop-git
348a1ce422 [yamahamusiccast] Adding NOTICE (#11978)
Signed-off-by: Lennert Coopman <github@coopman.org>
2022-01-06 22:27:18 +01:00
Fabian Wolter
1b701a5c7c [yamahamusiccast] Fix license headers (#11977)
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
2022-01-06 20:36:03 +01:00
coop-git
60c1eceb96 [yamahamusiccast] Initial contribution (#11880)
* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>

* Pull Request OH3

Signed-off-by: Lennert Coopman <github@coopman.org>
2022-01-06 20:04:25 +01:00
Hilbrand Bouwkamp
da59cdd255 Update license headers to 2022 (#11973)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2022-01-06 18:14:47 +01:00
yfaway
3c78ddff1d Update README.md (#11862)
Fix 1 spelling error. Mark several channels as writable. Add link to the PDF file that contains the list of EnvisaLink commands.
2022-01-06 13:46:00 +01:00
Christian Wild
6b6372e95c [tapocontrol] fix "device not found" with L510/L530 hw rev2 / add L920 and P110 things (#11967)
* [tapocontrol] P110 and L920 Things added
* [tapocontrol] Fixed L510/L530 Series Bug with HW-Rev2.0

Signed-off-by: Christian Wild <christian@wild-bw.de>
2022-01-06 12:29:44 +01:00
Philipp S
5dc26419d1 [deconz] Support for air quality sensor (#11885)
[deconz] Support for air quality sensor

Signed-off-by: Philipp Schneider <philipp.schneider@nixo-soft.de>
2022-01-06 09:44:59 +01:00
mlobstein
b9ad9ae29e [atlona] Correct spelling of atlona (#11966)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-01-05 16:39:32 +01:00
Christoph Weitkamp
346fcd068c Do not create table on 'query', only on 'store' (#11961)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-04 21:26:52 +01:00
Andrew Fiddian-Green
d45bcdb7aa [hdpowerview] Fix secondary position bug. Add shade database and properties. (#11698)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2022-01-04 20:23:48 +01:00
Christoph Weitkamp
0988c040a6 Add mime data to restored image (#11962)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-04 16:52:56 +01:00
Christoph Weitkamp
ef46e126b4 [jdbc] Fixed NPE when SQL query failed (#11954)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-04 10:37:04 +01:00
Wouter Born
845b57add9 [plugwise] Remove broken links from documentation (#11951)
These linked pages seem to have been removed from the Plugwise website.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-01-04 09:32:40 +01:00
mlobstein
e9537f2cbd fix projector error message display (#11953)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2022-01-04 09:28:34 +01:00
Matt
770e897f36 [haywardomnilogic] Added filter & pump RPM & state channels (#11223)
* Update unit formating

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Updates per last review

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Updated units to decimal

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Removed erroneous chlorinator code from filterhandler

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Adding pump support, added body of water to xml paths to prevent detection of terminal or other items

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Added getApiDef call to initialize when debug=trace

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fixed typo on README

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Cleanup pump xml spotless checks

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fix typos in README

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fixed a couple typos in pump discovery

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fixed README typo

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fix untested pump typos

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fix pump typo

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add thing properties and max filter/pump speed command

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add support for relays to exist in the backyard

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Update README

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add support for colorLogicLights to exist in the backyard

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Remove sensor thing and associated handler.  Hayward does not expose data for stand alone sensors.  Packaged in other things (backyard air temp, body of water temp, etc.)

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Added heater states

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Updated heater state in readme

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Added dynamic state description updates to set pump & filter minimum and maximum speeds.

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Moved dynamicStateDescription updates to thing initialize routine

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Code checks

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add min/max limits to filter, pump and heater setpoints

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add virtual heater dynamic state descriptions.  Change filter & pump speeds back to number:dimensionless

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Add pump & filter speed RPM channels

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Fixed typo in pump handler

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Elaborate on filter/pump handler initialize exception

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Update bow.xml property intit's to empty values (fix typos)

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Added debug flag to inject XML until appropriate integration tests are setup

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Pump and Filter enable to last speed

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Removed tatus file

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Update readme

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* format readMe

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Update ReadMe

Signed-off-by: Matt Myers <mmyers75@icloud.com>

* Remove xml debug code

Signed-off-by: Matt Myers <mmyers75@icloud.com>
2022-01-03 16:49:36 +01:00
Björn Lange
45ce201813 [mielecloud] Fix mockito concurrency issues in integration tests (#11742)
* Move bridge and thing setup into individual integration tests
* Ensure that mocks used by ThingHandlers are fully initialized prior to
creating the thing handlers
* Ensure that bridge and thing are linked together after thing creation in
integration tests

Signed-off-by: Björn Lange <bjoern.lange@tu-dortmund.de>
2022-01-03 16:16:01 +01:00
Christoph Weitkamp
167f8ebc49 Avoid UnsupportedEncodingException & use const from StandardCharsets (#11948)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-03 16:05:08 +01:00
openhab-bot
3f54327d5a New Crowdin updates (#11890)
* New translations adorne.properties (German)
* New translations ahawastecollection.properties (German)
* New translations airquality.properties (German)
* New translations airvisualnode.properties (German)
* New translations amazonechocontrol.properties (German)
* New translations astro.properties (Finnish)
* New translations astro.properties (French)
* New translations bosesoundtouch.properties (German)
* New translations chromecast.properties (German)
* New translations denonmarantz.properties (German)
* New translations exec.properties (German)
* New translations hue.properties (French)
* New translations icalendar.properties (German)
* New translations jruby.properties (German)
* New translations jruby.properties (Italian)
* New translations luxtronikheatpump.properties (German)
* New translations mielecloud.properties (German)
* New translations openuv.properties (French)
* New translations openweathermap.properties (German)
* New translations phc.properties (German)
* New translations powermax.properties (French)
* New translations pushsafer.properties (German)
* New translations rotel.properties (French)
* New translations tradfri.properties (French)
2022-01-03 16:00:47 +01:00
J-N-K
aaf0132d01 [amazonechocontrol] Fix refresh time for skill connected devices (#11943)
Signed-Off-By: Jan N. Klug <github@klug.nrw>
2022-01-03 15:32:20 +01:00
Christoph Weitkamp
0936d97b41 [googletts] Improve exception handling (#11925)
* Improve exception handling
* Moved classes to dto package to reduce SAT warning

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-03 14:12:36 +01:00
Sami Salonen
76855fd81a [dynamodb] AWS SDK updated to 2.17.102 (#11914)
* [dynamodb] Update guide for updating the SDK

Some steps were obsolete and required corrections.

Signed-off-by: Sami Salonen <ssalonen@gmail.com>

* [dynamodb] Update AWS SDK to 2.17.102

- Added NOTICE with all compiled dependencies. Dependencies listed in
  feature.xml are omitted.
- jackson dependency is now provided by AWS SDK as a 'shaded' copy
- log4j version used in tests updated
- Specifying DefaultsMode=STANDARD to make the SDK utilize latest
  recommended parameters. RetryMode is also controlled by DefaultsMode,
  so we avoid setting it explicitly unless overridden by the user.
- Fixed test regressions due to SDK changes

Signed-off-by: Sami Salonen <ssalonen@gmail.com>
2022-01-03 14:07:45 +01:00
Christoph Weitkamp
dee9ab891f [openweathermap] Improved exception handling (#11949)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-03 14:00:25 +01:00
Micha
41d775c02b [heos] Update Denon CLI reference in plugin documentation (#11947) 2022-01-03 13:59:39 +01:00
Markus Lipp
dba4b0088f [jsscripting] Fixed links to JS-Joda (#11950)
Fixed path to JS-Joda github page to be formatter as external links
2022-01-03 13:52:05 +01:00
Jacob Laursen
5c9da5687c Support refresh command for signalStrength items. (#11944)
Fixes #11942

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-03 13:36:36 +01:00
Michael Wodniok
4a8fd569f0 [icalendar] fixes #11927: Added original texts for translation (#11928)
* [icalendar] fixes #11927: Added original texts for translation

Signed-off-by: Michael Wodniok <michi@noorganization.org>
2022-01-03 12:09:58 +01:00
Dan Cunningham
3884b378bb Adds a RepresentationProperty to discovery to avoid duplicate inobx entries (#11941)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2022-01-03 09:22:45 +01:00
Stefan Giehl
2d32067533 [LuxtronikHeatpump] fix channel type of newly defined unknown channels (#11937)
Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
2022-01-02 16:57:41 +01:00
Bo Biene
6deb3f56da [wolfsmartset] Fix NullPointerException when updating values (#11931)
* fix bug #11930 NullPointerException

Signed-off-by: Bo Biene <openhab.github@biene.eu>
2022-01-02 16:51:51 +01:00
Robert Schmid
ef2454cd82 [dali] Fix frame packing (#11936)
Signed-off-by: Robert Schmid <r.schmid@outlook.com>
2022-01-02 16:38:33 +01:00
jpharvey
8eda5551d1 [cbus] fix exception from threadpool at startup (#11846)
* update to use executorservice to fix crash caused by change in underlying threadpool implementation

* Remove explicit cast

Signed-off-by: John Harvey <john.p.harvey@btinternet.com>
2022-01-02 16:20:32 +01:00
Jacob Laursen
e8df66f1d0 [hdpowerview] Refresh battery level when receiving refresh command (#11933)
* Refresh battery level when receiving REFRESH command.

Fixes #11932

Update README with shade refresh logic.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2022-01-02 13:44:51 +01:00
lolodomo
e4cd27f623 [powermax] Add few missing default translation properties (#11913)
Also run mvn i18n:generate-default-translations

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-01 11:33:08 +01:00
lolodomo
b701e15ec2 [remoteopenhab] Reorder default translation properties (#11912)
Result of mvn i18n:generate-default-translations

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-01 11:32:14 +01:00
lolodomo
b37a293f03 [rotel] Fix default properties (#11911)
Also reorder properties by running mvn i18n:generate-default-translations

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-01 11:31:09 +01:00
lolodomo
2283adaee1 [astro] Add missing default translation properties (#11910)
Reorder the properties running mvn i18n:generate-default-translations

Fix #11811

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-01 11:30:27 +01:00
kakonema
52b4bd8f10 [Yeelight] Add color4 bulb (#11908)
* [Yeelight] Add color4 bulb

Signed-off-by: Vlado Ilic <kakonema@gmail.com>
2021-12-31 16:39:46 +01:00
Stefan Triller
a1df7a82ff [iCalendar] Fix httpclient getting stuck with broken requests (#11866)
* [iCalendar] Fix httpclient getting stuck with broken requests

Fixes #9827

Signed-off-by: Stefan Triller <github@stefantriller.de>
2021-12-31 11:46:36 +01:00
Christoph Weitkamp
cf86044580 Prevent errors in log when URI host is null (#11893)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-30 13:53:24 +01:00
Hilbrand Bouwkamp
253f36abbf [astro] Fixed timeLeft calculation at the end of the year (#11889)
Season timeleft calculated the wrong time at the end of the year, because the seasons it measures the time with are the seasons within the same year.
So for times at the end of the year it computed against the season at the beginning of the year, resulting in negative number of days.
Also changed the time of timeLeft to actual days instead of quantity unit days.
Because with the milliseconds internal resolution it will generate events each and every time this channel is updated as milliseconds change often.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2021-12-30 13:49:43 +01:00
Jacob Laursen
50560f7b5b Fix inability to recover from network issues on initialization. (#11891)
Fixes #11304

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2021-12-30 11:58:22 +01:00
Martin Herbst
a407555362 Explicit conversion to double value added (#11887)
Fixes #11886


Signed-off-by: Martin Herbst <develop@mherbst.de>
2021-12-29 18:47:07 +01:00
Stefan Giehl
352c171f9a [LuxtronikHeatpump] Adds additional channels (#11860)
* Adds channels available on newer heatpumps

Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
2021-12-29 18:25:16 +01:00
Wouter Born
5eb6368927 [shelly] Fix comment in translations file (#11884)
This fixes the comment showing up in the translations.
The code seems to use the 'message.discovery.failed' instead of 'discovery.failed'.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-29 14:10:54 +01:00
openhab-bot
c23f6adf13 New Crowdin updates (#11832)
* New translations astro.properties (Finnish)
* New translations astro.properties (German)
* New translations bluetooth.properties (German)
* New translations boschshc.properties (Italian)
* New translations comfoair.properties (German)
* New translations dwdunwetter.properties (German)
* New translations epsonprojector.properties (German)
* New translations gpio.properties (German)
* New translations heliosventilation.properties (German)
* New translations homeconnect.properties (German)
* New translations homematic.properties (German)
* New translations ipp.properties (German)
* New translations jruby.properties (Hungarian)
* New translations jsscripting.properties (German)
* New translations jsscripting.properties (Hungarian)
* New translations map.properties (German)
* New translations map.properties (Hungarian)
* New translations mqttbroker.properties (Italian)
* New translations nanoleaf.properties (German)
* New translations ocean.properties (German)
* New translations openhabcloud.properties (Finnish)
* New translations samsungtv.properties (Hungarian)
* New translations shelly.properties (German)
* New translations snmp.properties (German)
* New translations sonos.properties (German)
* New translations spotify.properties (German)
* New translations tr064.properties (German)
* New translations tradfri.properties (German)
* New translations unifi.properties (German)
* New translations unifi.properties (Hungarian)
* New translations valloxmv.properties (Finnish)
* New translations volvooncall.properties (German)
* New translations xslt.properties (German)
2021-12-29 13:16:52 +01:00
Ondrej Pecta
0583b608fd [yeelight] Fixed ceiling3 device being recognized as device without nightmode (#11876)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
2021-12-29 08:42:09 +01:00
Kai Kreuzer
db567bc652 Various small enhancements (#11874)
- do not go from INITIALIZING to OFFLINE and then ONLINE, but skip OFFLINE for panels, if the controller is ONLINE
- reduce logging to debug when receiving trigger events
- only update Thing configuration if necessary to avoid Thing updated events
- fix description of model types, which was outdated due to new models being available by now

Signed-off-by: Kai Kreuzer <kai.kreuzer@telekom.de>
2021-12-28 19:27:45 +01:00
Fredo70
96a8f942b1 [myStrom] Request info is not supported by the first generation of plug (#11854)
* Request info is not supported by the first generation of plug

closes #10432
Signed-off-by: Frederic Chastagnol <fchastagnol@fredoware.ch>
2021-12-28 18:42:16 +01:00
eugen
b6af3aba9f return min value instead of 0 (#11803)
Signed-off-by: Eugen Freiter <freiter@gmx.de>

Co-authored-by: Eugen Freiter <freiter@gmx.de>
2021-12-28 13:19:55 +01:00
Stefan Giehl
d2c06fbbe1 [irobot] fixes typo in channel description (#11870)
Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
2021-12-28 13:01:32 +01:00
Jacob Laursen
5e3bddf4ed [miele] Refactor mDNS discovery (#11873)
* Add nullness annotations.
* Fix error handling.
* Localize discovery result label.
* Reduce log level to warning for error creating discovery result.

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2021-12-28 12:35:52 +01:00
Kai Kreuzer
57cc935708 Reduce to debug logging in case of communication problems (#11872)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-28 11:17:57 +01:00
Andrew Fiddian-Green
e9060c462b [miele] Fix mDNS issue where hub repeatedly disappears from, resp. reappears in, the Inbox. (#11834)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2021-12-28 09:49:05 +01:00
Matthew Skinner
8d15e0ae7b Bump netty to 4.1.72.Final for log4j2 fix TELSTICK FIXED (#11863)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2021-12-28 09:45:24 +01:00
Wouter Born
7f137ccaf9 [boschshc] Add default translations (#11851)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-28 09:25:06 +01:00
Jeremy Stucki
1cae863569 [publictransportswitzerland] Public Transport Switzerland Initial contribution (#8540)
* [publictransportswitzerland] Initital commit

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add json stationboard

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add csv stationboard

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Encoding / Data usage

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update readme

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update binding.xml

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove code owner

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add more detailed thing status

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Make field filters a constant

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove json channel

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Stop scheduler on config error

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Work on i18n

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove TODO

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Re-order members

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update label

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Set status to unknown instead of initializing

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update version

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Log api response

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Mark CSV advanced

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add error message

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update readme

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Move members

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add dynamic channels

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Implement dispose

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove unnecessary translation

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Rename csv -> tsv

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update readme

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update train names

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Fix markdown table

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Use UNDEF

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Allow departures without platform

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Work on display logic

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Use null

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Make style checks happy

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Implement refresh command

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Avoid hitting API limits

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Use expiring cache

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update version

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Increase channel update interval

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Use lower cache expiration time

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Avoid glob import

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Make compiler happier

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add error explanation

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Skip check

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Print message instead of stacktrace

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Store date format as final field

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Cache configuration

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Work on exception handling

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update readme

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Make style checks happy

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Bump version

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Work on compiler warnings

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Add more detailed introduction

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Move tsv into group

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Bump version

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update thing description

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update thing description

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove explicit channel creation

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Run mvn spotless:apply

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Migrate to OH3

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Work on OH3 migration

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Bump version

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Define channel-type for departures

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update copyright notice

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Move channel types below thing types

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove ignored files

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Remove author tag

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update feature description

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Make linter happy

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* [publictransportswitzerland] Update README

Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

* Bump version

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2021-12-27 21:19:22 +01:00
jimtng
d38f37fa1a [amazonechocontrol] Remove duplicate items in the example (#11809)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-12-27 20:31:22 +01:00
LukasA83
9b70cf0be4 [MQTT] Add additional logging information (#11849)
* [MQTT] Add additional logging information

Add additional logging information when command is not supported by type.

Signed-off-by: Lukas Agethen <lukas83@gmx.de>
2021-12-27 19:59:47 +01:00
Kai Kreuzer
e087bac902 Revert "Bump netty to 4.1.72.Final for log4j2 2.15.0 fix (#11826)" (#11861)
This reverts commit d778bb92bb.
2021-12-26 22:41:53 +01:00
Jacob Laursen
155ecf4d25 Fix scene group support for Hub v1. (#11857)
Fixes #11856

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2021-12-26 16:38:20 +01:00
Marcel
0b79d87d9f Fix pom http://maven.apache.org/xsd/maven-v4_0_0.xsd entries (#11850)
* Fix pom http://maven.apache.org/xsd/maven-v4_0_0.xsd entries
* Fix http://maven.apache.org/maven-v4_0_0.xsd entries in pom.xml

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2021-12-24 11:36:42 +01:00
Sebastian Held
d67c34e2bf [ecotouch] Fix description of nviSollKuehlen and coolEnableTemp being writable (#11716)
* Fix description of nviSollKuehlen being writable
* Fix description of coolEnableTemp being writable
* [ecotouch] make channels writable
* [ecotouch] silence compiler warnings
* change example to English

Signed-off-by: Sebastian Held <sebastian.held@gmx.de>
Co-authored-by: Jan Mattner <JanMattner@users.noreply.github.com>
2021-12-24 10:36:04 +01:00
Marcel
cc47ef7f3e pom update from http to https reference (#11833)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2021-12-23 19:40:44 +01:00
Matthew Skinner
d778bb92bb Bump netty to 4.1.72.Final for log4j2 2.15.0 fix (#11826)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2021-12-22 20:28:23 +01:00
mlobstein
b8f4f46f08 fix typo in ChannelDown option (#11843)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
2021-12-22 17:12:59 +01:00
Holger Friedrich
d8114b07a2 [networkupstools] correct i18n translations containing spaces in keys (#11828)
[bmwconnecteddrive] correct i18n translations containing spaces in keys

[omnilink] correct i18n translations containing spaces in keys

[roku] correct i18n translations containing spaces in keys

[somfytahoma] correct i18n translations containing spaces in keys

[wlanthermo] correct i18n translations containing spaces in keys

[yamahareceiver] correct i18n translations containing spaces in keys

This is a workaround for openhab/openhab-core#2636.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2021-12-22 00:25:54 +01:00
Dan Cunningham
ec10dfe897 [jsscripting] Update docs and refactor path (#11827)
This adds a minor refactoring of loading local resource paths that i didn't have time to get into 3.2  and moves the docs directory to doc.

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2021-12-21 23:36:22 +01:00
Christoph Weitkamp
6420533d68 [tradfri] Fix UTF-8 characters in i18n properties file (#11840)
* [tradfri] Fix UTF-8 characters in i18n properties file

- Fix UTF-8 characters in i18n properties file

* Added colons to descriptions in config- description

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-21 23:07:39 +01:00
Hilbrand Bouwkamp
d8175b010a [tplinksmarthome] KP405 channel in xml should be dimmer not switch (#11839)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2021-12-21 22:39:16 +01:00
Michael Aschenborn
8ea76db693 Update README.md (#11836)
missing )
2021-12-21 18:39:32 +01:00
Stefan Triller
df7552c92b [ventaair] Add Air quality and service time channels (#11792)
* [ventaair] Add Air quality and service time channels

- also add value 4 for water level

Signed-off-by: Stefan Triller <github@stefantriller.de>
2021-12-21 08:26:32 +01:00
jlaur
817de38683 [hdpowerview] Update positions after triggering scene/scene group (#11768)
* Update positions after triggering scene/scene group.
* Compare enum values directly with ==
* Fix re-entrant calls.

Fixes #11697

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2021-12-20 20:32:48 +01:00
Marcel
b2dd13efbb [onkyo] Add channels for media info (#11813)
* [onkyo] Add channels for media info

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
2021-12-20 20:08:09 +01:00
GiviMAD
208885deb6 [androiddebugbridge] Add channels for record events, open urls and doc improvements (#11692)
* Add channels for record events, open urls and doc improvements

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2021-12-20 19:21:11 +01:00
Matthew Skinner
dd951cee02 Fix Global OFF not turning lights/segments off. (#11806)
Signed-off-by: Matthew Skinner <matt@pcmus.com>
2021-12-20 18:59:06 +01:00
Hilbrand Bouwkamp
3a913a6e6b [tplinksmarthome] Added new devices ES20, KP125, KP405 and KS230 (#11771)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2021-12-20 18:58:27 +01:00
Wouter Born
eca8fbccc7 [jrubyscripting] Update version to 9.3.2 in README.md (#11823)
Related to #11775

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-20 14:51:51 +01:00
jimtng
be89829a50 [jrubyscripting] Upgrade jruby to 9.3.2.0 (#11775)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2021-12-20 11:33:50 +01:00
Christoph Weitkamp
37088d4e8a [map] Rename transform.properties to map.properties (#11817)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-20 11:32:51 +01:00
Jerome Luckenbach
b9733eca58 [touchwand] Secure url's for the readme (#11821)
Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
2021-12-20 11:20:14 +01:00
Kai Kreuzer
48746f5e3f Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-20 09:07:55 +01:00
Christoph Weitkamp
b77a85fcc5 Update OH version in skeleton scripts (#11820)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-20 08:29:43 +01:00
Christoph Weitkamp
0f2d9367e4 Resolve itest runbundles for snapshot 3.3.0 (#11819)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-20 08:10:52 +01:00
openhab-bot
6dc031e6cf [unleash-maven-plugin] Preparation for next development cycle. 2021-12-20 00:30:46 +00:00
16568 changed files with 553888 additions and 196435 deletions

1
.gitattributes vendored
View File

@@ -1,2 +1,3 @@
* text eol=lf
*.java text=auto
*.xml text=auto

View File

@@ -3,27 +3,32 @@ Thanks for contributing to the openHAB project!
Please describe the goal and effect of your PR here.
Pay attention to the below notes and to *the guidelines* for this repository.
Feel free to delete any comment sections in the template (starting with "<!--").
-->
<!-- TITLE -->
ATTENTION: Don't use "git merge" when working with your pull request branch!
This can clutter your Git history and make your PR unusable.
Use "git rebase" instead. See this forum post for further details:
https://community.openhab.org/t/rebase-your-code-or-how-to-fix-your-git-history-before-requesting-a-pull/129358
<!--
Please provide a PR summary in the *Title* above, according to the following schema:
- If related to one specific add-on: Mention the add-on shortname in square brackets
e.g. "[exec]", "[netatmo]" or "[tesla]"
- If the PR is work in progress: Add "[WIP]"
- Give a short meaningful description in imperative mood
e.g. "Add support for device XYZ" or "Fix wrongly handled exception"
for a new add-on/binding: "Initial contribution"
Examples:
- "[homematic] Improve communication with weak signal devices"
- "[timemachine][WIP] Initial contribution"
- "Update contribution guidelines on new signing rules"
-->
All PRs should be created using the "main" branch as base.
Important bugfixes are cherry-picked by maintainers to the patch release branch after a PR has been merged.
<!-- DESCRIPTION -->
Add one or more appropriate labels to make your PR show up in the release notes.
E.g. enhancement, bug, documentation, new binding
This can only be done by yourself if you already contributed to this repo.
If your PR's code is not backward compatible with previous releases (which
should be avoided), add a message to the release notes by filing another PR:
https://github.com/openhab/openhab-distro/blob/main/distributions/openhab/src/main/resources/bin/update.lst
# Title
Provide a short summary in the *Title* above. It will show up in the release notes.
For example:
- [homematic] Improve communication with weak signal devices
- [timemachine][WIP] Initial contribution
# Description
<!--
Please give a few sentences describing the overall goals of the pull request.
Give enough details to make the improvement and changes of the PR understandable
to both developers and tech-savy users.
@@ -41,21 +46,18 @@ Please keep the following in mind:
https://www.openhab.org/docs/developer/bindings/#include-the-binding-in-the-build
- Did you sign-off your work:
https://www.openhab.org/docs/developer/contributing.html#sign-your-work
-->
<!-- TESTING -->
# Testing
<!--
Your Pull Request will automatically be built and available under the following folder:
https://openhab.jfrog.io/openhab/libs-pullrequest-local/org/openhab/
Your pull request will automatically be built and available under the following folder:
https://openhab.jfrog.io/ui/native/libs-pullrequest-local/org/openhab/addons/bundles/
It is a good practice to add a URL to your built JAR in this Pull Request description,
It is a good practice to add a URL to your built JAR in this pull request description,
so it is easier for the community to test your Add-on.
If your Pull Request contains a new binding, it will likely take some time
If your pull request contains a new binding, it will likely take some time
before it is reviewed and processed by maintainers.
That said, consider submitting your Add-on in the Eclipse IoT Marketplace
See this thread for more info:
https://community.openhab.org/t/24491
That said, consider submitting your Add-on in the Marketplace:
https://community.openhab.org/c/marketplace/69
Don't forget to submit a thread about your Add-on in the openHAB community:
https://community.openhab.org/c/add-ons

View File

@@ -66,7 +66,7 @@ function addon_projects() {
local addon="$1"
# include add-on projects
local projects=":$(find . -mindepth 2 -maxdepth 2 -type d -regextype egrep -regex "./(bundles|itests)/$addon(\..*)?$" | grep -Ev 'org.openhab.binding.mqtt.homeassistant.tests|org.openhab.binding.mqtt.homie.tests' | sort | sed -E 's#./(bundles|itests)/##g' | xargs | sed 's# #,:#g')"
local projects=":$(find . -mindepth 2 -maxdepth 2 -type d -regextype egrep -regex "./(bundles|itests)/$addon(\..*)?$" | sort | sed -E 's#./(bundles|itests)/##g' | xargs | sed 's# #,:#g')"
# include BOMs
projects="$projects,:org.openhab.addons.bom.openhab-core-index,:org.openhab.addons.bom.runtime-index,:org.openhab.addons.bom.test-index"
@@ -94,7 +94,10 @@ function build_addon() {
function build_based_on_changes() {
local changed_addon=$(changed_addons | xargs)
if [ $(echo $changed_addon | wc -w) -eq 1 ] && [ $(addon_unrelated_changed_files $changed_addon | wc -l) -eq 0 ]; then
if [ $(echo $changed_addon | wc -w) -eq 1 ] && \
[ $(addon_unrelated_changed_files $changed_addon | wc -l) -eq 0 ] && \
[ -d "./bundles/$changed_addon" ]
then
build_addon $changed_addon
else
build_all

23
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
# Number of days of inactivity before an issue becomes stale (two month)
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed (another six month)
daysUntilClose: 180
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- "PR pending"
# Only issues with all of these labels are checked if stale.
onlyLabels:
- "awaiting feedback"
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
# Limit to only `issues``
only: issues

View File

@@ -16,25 +16,26 @@ on:
jobs:
build:
strategy:
fail-fast: false
matrix:
java: [ '11' ]
maven: [ '3.8.4']
os: [ 'ubuntu-20.04' ]
java: [ '17' ]
maven: [ '3.9.4' ]
os: [ 'ubuntu-22.04' ]
name: Build (Java ${{ matrix.java }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
if: github.head_ref == ''
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Checkout merge
if: github.head_ref != ''
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: Set up Cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: |
~/.m2/repository
@@ -44,24 +45,26 @@ jobs:
${{ runner.os }}-maven-
- name: Set up Java ${{ matrix.java }}
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Set up Maven ${{ matrix.maven }}
uses: stCarolas/setup-maven@v4.2
uses: stCarolas/setup-maven@v4.5
with:
maven-version: ${{ matrix.maven }}
- name: Register Problem Matchers
if: ${{ matrix.java == '17' }}
id: problem_matchers
run: |
echo "::add-matcher::.github/openhab-compile-problems.json"
- name: Get Changed Files
if: github.head_ref != ''
id: files
uses: Ana06/get-changed-files@v2.0.0
uses: Ana06/get-changed-files@v2.2.0
with:
format: 'csv'
@@ -78,21 +81,21 @@ jobs:
- name: Upload Build Log
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: build-log-java-${{ matrix.java }}-${{ matrix.os }}
path: build.log
- name: Upload SAT Summary Report
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: sat-summary-report
path: target/summary_report.html
- name: Report SAT Errors as Annotations
if: ${{ matrix.java == '17' && always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: ghys/checkstyle-github-action@main
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
with:
title: CheckStyle Violations
path: '**/checkstyle-result.xml'

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
.idea
.project
.DS_Store
.gradle
*.iml
npm-debug.log
.build.log

View File

@@ -6,29 +6,34 @@
# Add-on maintainers:
/bundles/org.openhab.automation.groovyscripting/ @wborn
/bundles/org.openhab.automation.jrubyscripting/ @boc-tothefuture
/bundles/org.openhab.automation.jsscripting/ @jpg0
/bundles/org.openhab.automation.jrubyscripting/ @ccutrer @jimtng
/bundles/org.openhab.automation.jsscripting/ @jpg0 @florian-h05
/bundles/org.openhab.automation.jsscriptingnashorn/ @wborn
/bundles/org.openhab.automation.jythonscripting/ @openhab/add-ons-maintainers
/bundles/org.openhab.automation.pidcontroller/ @fwolter
/bundles/org.openhab.automation.pwm/ @fwolter
/bundles/org.openhab.binding.adorne/ @theiding
/bundles/org.openhab.binding.ahawastecollection/ @soenkekueper
/bundles/org.openhab.binding.airq/ @aurelio1
/bundles/org.openhab.binding.airquality/ @kubawolanin
/bundles/org.openhab.binding.airquality/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.airvisualnode/ @3cky
/bundles/org.openhab.binding.alarmdecoder/ @bobadair @billfor
/bundles/org.openhab.binding.allplay/ @dominicdesu
/bundles/org.openhab.binding.amazondashbutton/ @OLibutzki
/bundles/org.openhab.binding.amazondashbutton/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.amazonechocontrol/ @mgeramb
/bundles/org.openhab.binding.ambientweather/ @mhilbush
/bundles/org.openhab.binding.amplipi/ @kaikreuzer
/bundles/org.openhab.binding.androiddebugbridge/ @GiviMAD
/bundles/org.openhab.binding.androidtv/ @morph166955
/bundles/org.openhab.binding.anel/ @paphko
/bundles/org.openhab.binding.anthem/ @mhilbush
/bundles/org.openhab.binding.asuswrt/ @wildcs
/bundles/org.openhab.binding.astro/ @gerrieg
/bundles/org.openhab.binding.atlona/ @tmrobert8
/bundles/org.openhab.binding.atlona/ @mlobstein
/bundles/org.openhab.binding.autelis/ @digitaldan
/bundles/org.openhab.binding.automower/ @maxpg
/bundles/org.openhab.binding.avmfritz/ @cweitkamp
/bundles/org.openhab.binding.awattar/ @Wolfgang1966
/bundles/org.openhab.binding.benqprojector/ @mlobstein
/bundles/org.openhab.binding.bigassfan/ @mhilbush
/bundles/org.openhab.binding.bluetooth/ @cdjackson @cpmeister
@@ -41,11 +46,13 @@
/bundles/org.openhab.binding.bluetooth.enoceanble/ @pfink
/bundles/org.openhab.binding.bluetooth.generic/ @cpmeister
/bundles/org.openhab.binding.bluetooth.govee/ @cpmeister
/bundles/org.openhab.binding.bluetooth.grundfosalpha/ @tisoft
/bundles/org.openhab.binding.bluetooth.radoneye/ @petero-dk
/bundles/org.openhab.binding.bluetooth.roaming/ @cpmeister
/bundles/org.openhab.binding.bluetooth.ruuvitag/ @ssalonen
/bundles/org.openhab.binding.bmwconnecteddrive/ @weymann @ntruchsess
/bundles/org.openhab.binding.boschindego/ @jofleck
/bundles/org.openhab.binding.boschshc/ @stefan-kaestle @coeing @GerdZanker
/bundles/org.openhab.binding.bondhome/ @ccutrer
/bundles/org.openhab.binding.boschindego/ @jofleck @jlaur
/bundles/org.openhab.binding.boschshc/ @david-pace @GerdZanker
/bundles/org.openhab.binding.bosesoundtouch/ @marvkis @tratho
/bundles/org.openhab.binding.broadlinkthermostat/ @flo-02-mu
/bundles/org.openhab.binding.bsblan/ @hypetsch
@@ -53,6 +60,7 @@
/bundles/org.openhab.binding.buienradar/ @gedejong
/bundles/org.openhab.binding.caddx/ @jossuar
/bundles/org.openhab.binding.cbus/ @jpharvey
/bundles/org.openhab.binding.chatgpt/ @kaikreuzer
/bundles/org.openhab.binding.chromecast/ @kaikreuzer
/bundles/org.openhab.binding.cm11a/ @BobRak
/bundles/org.openhab.binding.comfoair/ @boehan
@@ -61,13 +69,12 @@
/bundles/org.openhab.binding.daikin/ @caffineehacker
/bundles/org.openhab.binding.dali/ @rs22
/bundles/org.openhab.binding.danfossairunit/ @pravussum
/bundles/org.openhab.binding.darksky/ @cweitkamp
/bundles/org.openhab.binding.dbquery/ @lujop
/bundles/org.openhab.binding.deconz/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.deconz/ @J-N-K
/bundles/org.openhab.binding.denonmarantz/ @jwveldhuis
/bundles/org.openhab.binding.deutschebahn/ @soenkekueper
/bundles/org.openhab.binding.digiplex/ @rmichalak
/bundles/org.openhab.binding.digitalstrom/ @MichaelOchel @msiegele
/bundles/org.openhab.binding.digitalstrom/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.dlinksmarthome/ @MikeJMajor
/bundles/org.openhab.binding.dmx/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.dominoswiss/ @Friesoch
@@ -77,62 +84,75 @@
/bundles/org.openhab.binding.dsmr/ @Hilbrand
/bundles/org.openhab.binding.dwdpollenflug/ @DerOetzi
/bundles/org.openhab.binding.dwdunwetter/ @limdul79
/bundles/org.openhab.binding.easee/ @alexf2015
/bundles/org.openhab.binding.echonetlite/ @mikeb01
/bundles/org.openhab.binding.ecobee/ @mhilbush
/bundles/org.openhab.binding.ecotouch/ @sibbi77
/bundles/org.openhab.binding.ecowitt/ @Av3m
/bundles/org.openhab.binding.ecovacs/ @maniac103
/bundles/org.openhab.binding.ecowatt/ @lolodomo
/bundles/org.openhab.binding.ekey/ @hmerk
/bundles/org.openhab.binding.electroluxair/ @jannegpriv
/bundles/org.openhab.binding.elerotransmitterstick/ @vbier
/bundles/org.openhab.binding.elroconnects/ @mherwege
/bundles/org.openhab.binding.energenie/ @hmerk
/bundles/org.openhab.binding.energidataservice/ @jlaur
/bundles/org.openhab.binding.enigma2/ @gdolfen
/bundles/org.openhab.binding.enocean/ @fruggy83
/bundles/org.openhab.binding.enphase/ @Hilbrand
/bundles/org.openhab.binding.enturno/ @klocsson
/bundles/org.openhab.binding.epsonprojector/ @mlobstein
/bundles/org.openhab.binding.etherrain/ @dfad1469
/bundles/org.openhab.binding.evcc/ @florian-h05
/bundles/org.openhab.binding.evohome/ @Nebula83
/bundles/org.openhab.binding.exec/ @kgoderis
/bundles/org.openhab.binding.feed/ @svilenvul
/bundles/org.openhab.binding.feed/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.feican/ @Hilbrand
/bundles/org.openhab.binding.fineoffsetweatherstation/ @Andy2003
/bundles/org.openhab.binding.flicbutton/ @pfink
/bundles/org.openhab.binding.fmiweather/ @ssalonen
/bundles/org.openhab.binding.folderwatcher/ @goopilot
/bundles/org.openhab.binding.folding/ @fa2k
/bundles/org.openhab.binding.foobot/ @airboxlab @Hilbrand
/bundles/org.openhab.binding.freebox/ @lolodomo
/bundles/org.openhab.binding.freeboxos/ @clinique
/bundles/org.openhab.binding.fronius/ @trokohl
/bundles/org.openhab.binding.fsinternetradio/ @paphko
/bundles/org.openhab.binding.ftpupload/ @paulianttila
/bundles/org.openhab.binding.gardena/ @gerrieg
/bundles/org.openhab.binding.gardena/ @gerrieg @andrewfg
/bundles/org.openhab.binding.gce/ @clinique
/bundles/org.openhab.binding.generacmobilelink/ @digitaldan
/bundles/org.openhab.binding.globalcache/ @mhilbush
/bundles/org.openhab.binding.goecharger/ @SamuelBrucksch
/bundles/org.openhab.binding.govee/ @stefan-hoehn
/bundles/org.openhab.binding.gpio/ @nils-bauer
/bundles/org.openhab.binding.gpstracker/ @gbicskei
/bundles/org.openhab.binding.gree/ @markus7017
/bundles/org.openhab.binding.groheondus/ @FlorianSW
/bundles/org.openhab.binding.groupepsa/ @arjanmels
/bundles/org.openhab.binding.guntamatic/ @MikeTheTux
/bundles/org.openhab.binding.haassohnpelletstove/ @chingon007
/bundles/org.openhab.binding.harmonyhub/ @digitaldan
/bundles/org.openhab.binding.haywardomnilogic/ @matchews
/bundles/org.openhab.binding.hccrubbishcollection/ @cossey
/bundles/org.openhab.binding.hdanywhere/ @kgoderis
/bundles/org.openhab.binding.hdpowerview/ @beowulfe
/bundles/org.openhab.binding.hdpowerview/ @andylintner @jlaur @andrewfg
/bundles/org.openhab.binding.helios/ @kgoderis
/bundles/org.openhab.binding.heliosventilation/ @ramack
/bundles/org.openhab.binding.heos/ @Wire82
/bundles/org.openhab.binding.herzborg/ @Sonic-Amiga
/bundles/org.openhab.binding.homeconnect/ @bruestel
/bundles/org.openhab.binding.homematic/ @FStolte @gerrieg @mdicke2s
/bundles/org.openhab.binding.homewizard/ @Daniel-42
/bundles/org.openhab.binding.hpprinter/ @cossey
/bundles/org.openhab.binding.http/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.hue/ @cweitkamp
/bundles/org.openhab.binding.hue/ @cweitkamp @andrewfg
/bundles/org.openhab.binding.hydrawise/ @digitaldan
/bundles/org.openhab.binding.hyperion/ @tavalin
/bundles/org.openhab.binding.iammeter/ @lewei50
/bundles/org.openhab.binding.iaqualink/ @digitaldan
/bundles/org.openhab.binding.icalendar/ @daMihe
/bundles/org.openhab.binding.icloud/ @pgfeller
/bundles/org.openhab.binding.icloud/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.ihc/ @paulianttila
/bundles/org.openhab.binding.innogysmarthome/ @ollie-dev
/bundles/org.openhab.binding.insteon/ @robnielsen
/bundles/org.openhab.binding.intesis/ @hmerk
/bundles/org.openhab.binding.ipcamera/ @Skinah
@@ -143,10 +163,12 @@
/bundles/org.openhab.binding.ism8/ @hans-reiner
/bundles/org.openhab.binding.jablotron/ @octa22
/bundles/org.openhab.binding.jeelink/ @vbier
/bundles/org.openhab.binding.jellyfin/ @GiviMAD
/bundles/org.openhab.binding.juicenet/ @jsjames
/bundles/org.openhab.binding.kaleidescape/ @mlobstein
/bundles/org.openhab.binding.keba/ @kgoderis
/bundles/org.openhab.binding.km200/ @Markinus
/bundles/org.openhab.binding.knx/ @sjka
/bundles/org.openhab.binding.knx/ @kaikreuzer @holgerfriedrich
/bundles/org.openhab.binding.kodi/ @pail23 @cweitkamp
/bundles/org.openhab.binding.konnected/ @volfan6415
/bundles/org.openhab.binding.kostalinverter/ @cschneider
@@ -160,18 +182,24 @@
/bundles/org.openhab.binding.lifx/ @wborn
/bundles/org.openhab.binding.linky/ @clinique @lolodomo
/bundles/org.openhab.binding.linuxinput/ @t-8ch
/bundles/org.openhab.binding.liquidcheck/ @marcelGoerentz
/bundles/org.openhab.binding.lirc/ @kabili207
/bundles/org.openhab.binding.livisismarthome/ @Novanic
/bundles/org.openhab.binding.logreader/ @paulianttila
/bundles/org.openhab.binding.loxone/ @ppieczul
/bundles/org.openhab.binding.luftdateninfo/ @weymann
/bundles/org.openhab.binding.lutron/ @actong @bobadair
/bundles/org.openhab.binding.luxom/ @jesperskriasoft
/bundles/org.openhab.binding.luxtronikheatpump/ @sgiehl
/bundles/org.openhab.binding.magentatv/ @markus7017
/bundles/org.openhab.binding.mail/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.mail/ @J-N-K
/bundles/org.openhab.binding.max/ @marcelrv
/bundles/org.openhab.binding.mcd/ @simon-dengler
/bundles/org.openhab.binding.mcp23017/ @aogorek
/bundles/org.openhab.binding.meater/ @jannegpriv
/bundles/org.openhab.binding.mecmeter/ @kaikreuzer
/bundles/org.openhab.binding.mediolaaiogateway/ @Av3m
/bundles/org.openhab.binding.melcloud/ @lucacalcaterra @paulianttila @thewiep
/bundles/org.openhab.binding.mercedesme/ @weymann
/bundles/org.openhab.binding.meteoalerte/ @clinique
/bundles/org.openhab.binding.meteoblue/ @9037568
/bundles/org.openhab.binding.meteostick/ @cdjackson
@@ -180,7 +208,7 @@
/bundles/org.openhab.binding.mihome/ @pboos
/bundles/org.openhab.binding.miio/ @marcelrv
/bundles/org.openhab.binding.mikrotik/ @duhast
/bundles/org.openhab.binding.milight/ @davidgraeff
/bundles/org.openhab.binding.milight/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.millheat/ @seime
/bundles/org.openhab.binding.minecraft/ @ibaton
/bundles/org.openhab.binding.modbus/ @ssalonen
@@ -192,25 +220,29 @@
/bundles/org.openhab.binding.modbus.sunspec/ @mrbig
/bundles/org.openhab.binding.monopriceaudio/ @mlobstein
/bundles/org.openhab.binding.mpd/ @stefanroellin
/bundles/org.openhab.binding.mqtt/ @davidgraeff
/bundles/org.openhab.binding.mqtt/ @ccutrer
/bundles/org.openhab.binding.mqtt.espmilighthub/ @Skinah
/bundles/org.openhab.binding.mqtt.generic/ @davidgraeff
/bundles/org.openhab.binding.mqtt.homeassistant/ @davidgraeff @antroids
/bundles/org.openhab.binding.mqtt.homie/ @davidgraeff
/bundles/org.openhab.binding.myq/ @digitaldan
/bundles/org.openhab.binding.mqtt.generic/ @ccutrer
/bundles/org.openhab.binding.mqtt.homeassistant/ @antroids @ccutrer
/bundles/org.openhab.binding.mqtt.homie/ @ccutrer
/bundles/org.openhab.binding.mqtt.ruuvigateway/ @ssalonen
/bundles/org.openhab.binding.mycroft/ @dalgwen
/bundles/org.openhab.binding.mybmw/ @ntruchsess @mherwege @martingrassl
/bundles/org.openhab.binding.mynice/ @clinique
/bundles/org.openhab.binding.mystrom/ @pail23
/bundles/org.openhab.binding.nanoleaf/ @raepple @stefan-hoehn
/bundles/org.openhab.binding.nanoleaf/ @stefan-hoehn
/bundles/org.openhab.binding.neato/ @jjlauterbach
/bundles/org.openhab.binding.neeo/ @tmrobert8
/bundles/org.openhab.binding.neeo/ @morph166955
/bundles/org.openhab.binding.neohub/ @andrewfg
/bundles/org.openhab.binding.nest/ @wborn
/bundles/org.openhab.binding.netatmo/ @clinique @cweitkamp @lolodomo
/bundles/org.openhab.binding.network/ @davidgraeff @mettke
/bundles/org.openhab.binding.netatmo/ @clinique @lolodomo
/bundles/org.openhab.binding.network/ @mettke
/bundles/org.openhab.binding.networkupstools/ @Hilbrand
/bundles/org.openhab.binding.nibeheatpump/ @paulianttila
/bundles/org.openhab.binding.nibeuplink/ @alexf2015
/bundles/org.openhab.binding.nikobus/ @crnjan
/bundles/org.openhab.binding.nikohomecontrol/ @mherwege
/bundles/org.openhab.binding.nobohub/ @espenaf
/bundles/org.openhab.binding.novafinedust/ @t2000
/bundles/org.openhab.binding.ntp/ @marcelrv
/bundles/org.openhab.binding.nuki/ @janvyb
@@ -221,12 +253,12 @@
/bundles/org.openhab.binding.omnikinverter/ @hansbogert
/bundles/org.openhab.binding.omnilink/ @ecdye
/bundles/org.openhab.binding.onebusaway/ @sdwilsh
/bundles/org.openhab.binding.onewire/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.onewire/ @J-N-K
/bundles/org.openhab.binding.onewiregpio/ @aogorek
/bundles/org.openhab.binding.onkyo/ @pail23 @paulianttila
/bundles/org.openhab.binding.opengarage/ @psmedley
/bundles/org.openhab.binding.opensprinkler/ @CrackerStealth @FlorianSW
/bundles/org.openhab.binding.openthermgateway/ @ArjenKorevaar
/bundles/org.openhab.binding.openthermgateway/ @ArjenKorevaar @andrewfg
/bundles/org.openhab.binding.openuv/ @clinique
/bundles/org.openhab.binding.openweathermap/ @cweitkamp
/bundles/org.openhab.binding.openwebnet/ @mvalla
@@ -242,15 +274,19 @@
/bundles/org.openhab.binding.pjlinkdevice/ @nils
/bundles/org.openhab.binding.playstation/ @FluBBaOfWard
/bundles/org.openhab.binding.plclogo/ @falkena
/bundles/org.openhab.binding.plex/ @aronbeurskens
/bundles/org.openhab.binding.plugwise/ @wborn
/bundles/org.openhab.binding.plugwiseha/ @lsiepel
/bundles/org.openhab.binding.powermax/ @lolodomo
/bundles/org.openhab.binding.proteusecometer/ @2chilled
/bundles/org.openhab.binding.prowl/ @octa22
/bundles/org.openhab.binding.publictransportswitzerland/ @jeremystucki
/bundles/org.openhab.binding.pulseaudio/ @peuter
/bundles/org.openhab.binding.pushbullet/ @hakan42
/bundles/org.openhab.binding.pushover/ @cweitkamp
/bundles/org.openhab.binding.pushsafer/ @appzer @cweitkamp
/bundles/org.openhab.binding.qbus/ @QbusKoen
/bundles/org.openhab.binding.qolsysiq/ @digitaldan
/bundles/org.openhab.binding.radiothermostat/ @mlobstein
/bundles/org.openhab.binding.regoheatpump/ @crnjan
/bundles/org.openhab.binding.revogi/ @andibraeu
@@ -262,7 +298,7 @@
/bundles/org.openhab.binding.robonect/ @reyem
/bundles/org.openhab.binding.roku/ @mlobstein
/bundles/org.openhab.binding.rotel/ @lolodomo
/bundles/org.openhab.binding.russound/ @tmrobert8
/bundles/org.openhab.binding.russound/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.sagercaster/ @clinique
/bundles/org.openhab.binding.samsungtv/ @paulianttila
/bundles/org.openhab.binding.satel/ @druciak
@@ -271,37 +307,46 @@
/bundles/org.openhab.binding.seneye/ @nikotanghe
/bundles/org.openhab.binding.sensebox/ @hakan42
/bundles/org.openhab.binding.sensibo/ @seime
/bundles/org.openhab.binding.sensorcommunity/ @weymann
/bundles/org.openhab.binding.serial/ @MikeJMajor
/bundles/org.openhab.binding.serialbutton/ @kaikreuzer
/bundles/org.openhab.binding.shelly/ @markus7017
/bundles/org.openhab.binding.siemensrds/ @andrewfg
/bundles/org.openhab.binding.silvercrestwifisocket/ @jmvaz
/bundles/org.openhab.binding.sinope/ @chaton78
/bundles/org.openhab.binding.sleepiq/ @syphr42
/bundles/org.openhab.binding.sleepiq/ @syphr42 @mhilbush
/bundles/org.openhab.binding.smaenergymeter/ @monnimeter
/bundles/org.openhab.binding.smartmeter/ @msteigenberger
/bundles/org.openhab.binding.smartthings/ @BobRak
/bundles/org.openhab.binding.smgw/ @J-N-K
/bundles/org.openhab.binding.smhi/ @pacive
/bundles/org.openhab.binding.smsmodem/ @dalgwen
/bundles/org.openhab.binding.sncf/ @clinique
/bundles/org.openhab.binding.snmp/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.snmp/ @J-N-K
/bundles/org.openhab.binding.solaredge/ @alexf2015
/bundles/org.openhab.binding.solarlog/ @johannrichard
/bundles/org.openhab.binding.solarmax/ @jamietownsend
/bundles/org.openhab.binding.solarwatt/ @sven-carstens
/bundles/org.openhab.binding.solax/ @theater
/bundles/org.openhab.binding.somfymylink/ @loungeflyz
/bundles/org.openhab.binding.somfytahoma/ @octa22
/bundles/org.openhab.binding.somneo/ @0x4d4d
/bundles/org.openhab.binding.sonnen/ @chingon007
/bundles/org.openhab.binding.sonos/ @kgoderis @lolodomo
/bundles/org.openhab.binding.sonyaudio/ @freke
/bundles/org.openhab.binding.sonyprojector/ @lolodomo
/bundles/org.openhab.binding.souliss/ @lucacalcaterra @fazioa
/bundles/org.openhab.binding.speedtest/ @MikeTheTux
/bundles/org.openhab.binding.spotify/ @Hilbrand
/bundles/org.openhab.binding.squeezebox/ @digitaldan @mhilbush
/bundles/org.openhab.binding.surepetcare/ @renescherer @HerzScheisse
/bundles/org.openhab.binding.synopanalyzer/ @clinique
/bundles/org.openhab.binding.systeminfo/ @svilenvul
/bundles/org.openhab.binding.systeminfo/ @mherwege
/bundles/org.openhab.binding.tacmi/ @twendt @Wolfgang1966 @marvkis
/bundles/org.openhab.binding.tado/ @dfrommi
/bundles/org.openhab.binding.tado/ @dfrommi @andrewfg
/bundles/org.openhab.binding.tankerkoenig/ @dolic @JueBag
/bundles/org.openhab.binding.tapocontrol/ @wildcs
/bundles/org.openhab.binding.tasmotaplug/ @mlobstein
/bundles/org.openhab.binding.telegram/ @ZzetT
/bundles/org.openhab.binding.teleinfo/ @Nokyyz @olivierkeke
/bundles/org.openhab.binding.tellstick/ @openhab/add-ons-maintainers
@@ -309,85 +354,101 @@
/bundles/org.openhab.binding.tibber/ @kjoglum
/bundles/org.openhab.binding.tivo/ @mlobstein
/bundles/org.openhab.binding.touchwand/ @roieg
/bundles/org.openhab.binding.tplinkrouter/ @olivierkeke
/bundles/org.openhab.binding.tplinksmarthome/ @Hilbrand
/bundles/org.openhab.binding.tr064/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.tr064/ @J-N-K
/bundles/org.openhab.binding.tradfri/ @cweitkamp @kaikreuzer
/bundles/org.openhab.binding.twitter/ @computergeek1507
/bundles/org.openhab.binding.unifi/ @mgbowman
/bundles/org.openhab.binding.unifi/ @mgbowman @Hilbrand
/bundles/org.openhab.binding.unifiedremote/ @GiviMAD
/bundles/org.openhab.binding.upb/ @marcusb
/bundles/org.openhab.binding.upnpcontrol/ @mherwege
/bundles/org.openhab.binding.urtsi/ @OLibutzki
/bundles/org.openhab.binding.urtsi/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.valloxmv/ @bjoernbrings
/bundles/org.openhab.binding.vdr/ @MatthiasKlocke
/bundles/org.openhab.binding.vektiva/ @octa22
/bundles/org.openhab.binding.velbus/ @cedricboon
/bundles/org.openhab.binding.velux/ @gs4711
/bundles/org.openhab.binding.velux/ @gs4711 @andrewfg
/bundles/org.openhab.binding.venstarthermostat/ @hww3 @digitaldan
/bundles/org.openhab.binding.ventaair/ @t2000
/bundles/org.openhab.binding.verisure/ @jannegpriv
/bundles/org.openhab.binding.vesync/ @dag81
/bundles/org.openhab.binding.vigicrues/ @clinique
/bundles/org.openhab.binding.vitotronic/ @steand
/bundles/org.openhab.binding.volvooncall/ @clinique @Jamstah
/bundles/org.openhab.binding.vizio/ @mlobstein
/bundles/org.openhab.binding.volvooncall/ @Jamstah
/bundles/org.openhab.binding.warmup/ @jamesmelville
/bundles/org.openhab.binding.weathercompany/ @mhilbush
/bundles/org.openhab.binding.weatherunderground/ @lolodomo
/bundles/org.openhab.binding.webexteams/ @tdeckers
/bundles/org.openhab.binding.webthing/ @grro
/bundles/org.openhab.binding.wemo/ @hmerk
/bundles/org.openhab.binding.wifiled/ @rvt @xylo
/bundles/org.openhab.binding.windcentrale/ @marcelrv
/bundles/org.openhab.binding.wemo/ @hmerk @jlaur
/bundles/org.openhab.binding.wifiled/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.windcentrale/ @marcelrv @wborn
/bundles/org.openhab.binding.wlanthermo/ @CSchlipp
/bundles/org.openhab.binding.wled/ @Skinah
/bundles/org.openhab.binding.wolfsmartset/ @BoBiene
/bundles/org.openhab.binding.wundergroundupdatereceiver/ @danieldemus
/bundles/org.openhab.binding.x/ @computergeek1507
/bundles/org.openhab.binding.xmltv/ @clinique
/bundles/org.openhab.binding.xmppclient/ @pavel-gololobov
/bundles/org.openhab.binding.yamahareceiver/ @davidgraeff @zarusz
/bundles/org.openhab.binding.yamahamusiccast/ @coop-git
/bundles/org.openhab.binding.yamahareceiver/ @zarusz
/bundles/org.openhab.binding.yeelight/ @claell
/bundles/org.openhab.binding.yioremote/ @miloit
/bundles/org.openhab.binding.volumio/ @miloit
/bundles/org.openhab.binding.zoneminder/ @mhilbush
/bundles/org.openhab.binding.zway/ @pathec
/bundles/org.openhab.io.homekit/ @beowulfe @yfre
/bundles/org.openhab.io.hueemulation/ @davidgraeff @digitaldan
/bundles/org.openhab.io.imperihome/ @pdegeus
/bundles/org.openhab.io.homekit/ @andylintner @ccutrer @yfre
/bundles/org.openhab.io.hueemulation/ @digitaldan
/bundles/org.openhab.io.metrics/ @pravussum
/bundles/org.openhab.io.neeo/ @tmrobert8
/bundles/org.openhab.io.neeo/ @morph166955
/bundles/org.openhab.io.openhabcloud/ @kaikreuzer
/bundles/org.openhab.persistence.dynamodb/ @ssalonen
/bundles/org.openhab.persistence.influxdb/ @lujop
/bundles/org.openhab.persistence.inmemory/ @J-N-K
/bundles/org.openhab.persistence.jdbc/ @openhab/add-ons-maintainers
/bundles/org.openhab.persistence.jpa/ @openhab/add-ons-maintainers
/bundles/org.openhab.persistence.mapdb/ @mkhl
/bundles/org.openhab.persistence.mapdb/ @openhab/add-ons-maintainers
/bundles/org.openhab.persistence.mongodb/ @openhab/add-ons-maintainers
/bundles/org.openhab.persistence.rrd4j/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.bin2json/ @paulianttila
/bundles/org.openhab.transform.exec/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.javascript/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.jinja/ @jochen314
/bundles/org.openhab.transform.jsonpath/ @clinique
/bundles/org.openhab.transform.map/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.regex/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.rollershutterposition/ @jsjames
/bundles/org.openhab.transform.scale/ @clinique
/bundles/org.openhab.transform.vat/ @jlaur
/bundles/org.openhab.transform.xpath/ @openhab/add-ons-maintainers
/bundles/org.openhab.transform.xslt/ @openhab/add-ons-maintainers
/bundles/org.openhab.voice.googlestt/ @GiviMAD
/bundles/org.openhab.voice.googletts/ @gbicskei
/bundles/org.openhab.voice.mactts/ @kaikreuzer
/bundles/org.openhab.voice.marytts/ @kaikreuzer
/bundles/org.openhab.voice.mimictts/ @dalgwen
/bundles/org.openhab.voice.picotts/ @FlorianSW
/bundles/org.openhab.voice.pollytts/ @hillmanr
/bundles/org.openhab.voice.voicerss/ @JochenHiller
/bundles/org.openhab.voice.pollytts/ @openhab/add-ons-maintainers
/bundles/org.openhab.voice.rustpotterks/ @GiviMAD
/bundles/org.openhab.voice.voicerss/ @lolodomo
/bundles/org.openhab.voice.voskstt/ @GiviMAD
/bundles/org.openhab.voice.watsonstt/ @GiviMAD
/itests/org.openhab.automation.groovyscripting.tests/ @wborn
/itests/org.openhab.automation.jsscriptingnashorn.tests/ @wborn
/itests/org.openhab.binding.astro.tests/ @gerrieg
/itests/org.openhab.binding.avmfritz.tests/ @cweitkamp
/itests/org.openhab.binding.feed.tests/ @svilenvul
/itests/org.openhab.binding.feed.tests/ @openhab/add-ons-maintainers
/itests/org.openhab.binding.hue.tests/ @cweitkamp
/itests/org.openhab.binding.max.tests/ @marcelrv
/itests/org.openhab.binding.mielecloud.tests/ @BjoernLange
/itests/org.openhab.binding.modbus.tests/ @ssalonen
/itests/org.openhab.binding.mqtt.homeassistant.tests/ @davidgraeff
/itests/org.openhab.binding.mqtt.homie.tests/ @davidgraeff
/itests/org.openhab.binding.nest.tests/ @wborn
/itests/org.openhab.binding.mqtt.homeassistant.tests/ @antroids
/itests/org.openhab.binding.mqtt.homie.tests/ @openhab/add-ons-maintainers
/itests/org.openhab.binding.mqtt.ruuvigateway.tests/ @ssalonen
/itests/org.openhab.binding.ntp.tests/ @marcelrv
/itests/org.openhab.binding.systeminfo.tests/ @svilenvul
/itests/org.openhab.binding.systeminfo.tests/ @mherwege
/itests/org.openhab.binding.tradfri.tests/ @cweitkamp @kaikreuzer
/itests/org.openhab.binding.wemo.tests/ @hmerk
/itests/org.openhab.persistence.mapdb.tests/ @mkhl
/itests/org.openhab.persistence.mapdb.tests/ @openhab/add-ons-maintainers
# PLEASE HELP ADDING FURTHER LINES HERE!

View File

@@ -2,10 +2,10 @@
<img align="right" width="220" src="./logo.png" />
[![Build Status](https://ci.openhab.org/job/openHAB-Addons/badge/icon)](https://ci.openhab.org/job/openHAB-Addons/)
[![GitHub Actions Build Status](https://github.com/openhab/openhab-addons/actions/workflows/ci-build.yml/badge.svg?branch=main)](https://github.com/openhab/openhab-addons/actions/workflows/ci-build.yml)
[![Jenkins Build Status](https://ci.openhab.org/job/openHAB-Addons/badge/icon)](https://ci.openhab.org/job/openHAB-Addons/)
[![EPL-2.0](https://img.shields.io/badge/license-EPL%202-green.svg)](https://opensource.org/licenses/EPL-2.0)
[![Crowdin](https://badges.crowdin.net/openhab-addons/localized.svg)](https://crowdin.com/project/openhab-addons)
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=2164344)](https://www.bountysource.com/teams/openhab/issues?tracker_ids=2164344)
This repository contains the official set of add-ons that are implemented on top of openHAB Core APIs.
Add-ons that got accepted in here will be maintained (e.g. adapted to new core APIs)
@@ -62,7 +62,25 @@ You find the following repository structure:
To build all add-ons from the command-line, type in:
`mvn clean install`
```shell
mvn clean install
```
Most of the time you do not need to build all bindings, but only the binding you are working on.
To simply build only your binding use the `-pl` option.
For example to build only the astro binding:
```shell
mvn clean install -pl :org.openhab.binding.astro
```
If you have a binding that has dependencies that are dynamically as specified in the feature.xml you can create a `.kar` instead of a `.jar` file.
A `.kar` file will include the feature.xml and when added to openHAB will load and activate any dependencies specified in the feature.xml file.
To create a `.kar` file run maven with the goal `karaf:kar`:
```shell
mvn clean install karaf:kar -pl :org.openhab.binding.astro
```
To improve build times you can add the following options to the command:
@@ -75,19 +93,63 @@ To improve build times you can add the following options to the command:
| `-Dspotless.check.skip=true` | Skip the Spotless code style checks |
| `-o` | Work offline so Maven does not download any updates |
| `-T 1C` | Build in parallel, using 1 thread per core |
| `-pl :<add-on directory>` | Build a single add-on |
For example you can skip checks and tests during development with:
`mvn clean install -DskipChecks -DskipTests`
```shell
mvn clean install -DskipChecks -DskipTests -pl :org.openhab.binding.astro
```
Adding these options improves the build time but could hide problems in your code.
Parallel builds are also less easy to debug and the increased load may cause timing sensitive tests to fail.
To check if your code is following the [code style](https://www.openhab.org/docs/developer/guidelines.html#b-code-formatting-rules-style) run: `mvn spotless:check`
To reformat your code so it conforms to the code style you can run: `mvn spotless:apply`
#### Translations
Add-on translations are managed via [Crowdin](https://crowdin.com/project/openhab-addons).
The English translation is taken from the openHAB-addons GitHub repo and automatically imported in Crowdin when changes are made to the English i18n properties file.
When translations are added or updated and approved in Crowdin, a pull request is automatically created by Crowdin.
Therefore translations should not be edited in the openHAB-addons repo, but only in Crowdin.
Otherwise translation are overridden by the automatic process.
To fill the English properties file run the following maven command on an add-on:
```shell
mvn i18n:generate-default-translations
```
This command can also update the file when things or channel are added or updated.
In some cases the command does not work, and requires the full plug-in name.
In that case use:
```shell
mvn org.openhab.core.tools:i18n-maven-plugin:3.4.0:generate-default-translations
```
#### Code Quality
To check if your code is following the [code style](https://www.openhab.org/docs/developer/guidelines.html#b-code-formatting-rules-style) run:
```shell
mvn spotless:check
```
To reformat your code so it conforms to the code style you can run:
```shell
mvn spotless:apply
```
### Integration Tests
When your add-on also has an integration test in the `itests` directory, you may need to update the runbundles in the `itest.bndrun` file when the Maven dependencies change.
Maven can resolve the integration test dependencies automatically by executing: `mvn clean install -DwithResolver -DskipChecks`
Maven can resolve the integration test dependencies automatically by executing:
```shell
mvn clean install -DwithResolver -DskipChecks
```
The build generates a `.jar` file per bundle in the respective bundle `/target` directory.

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bom</groupId>
<artifactId>org.openhab.addons.reactor.bom</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.addons.bom.openhab-addons</artifactId>
@@ -29,6 +31,11 @@
<artifactId>org.openhab.automation.jsscripting</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.automation.jsscriptingnashorn</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.automation.jythonscripting</artifactId>
@@ -104,16 +111,31 @@
<artifactId>org.openhab.binding.androiddebugbridge</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.androidtv</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.anel</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.anthem</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.astro</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.asuswrt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.atlona</artifactId>
@@ -134,6 +156,11 @@
<artifactId>org.openhab.binding.avmfritz</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.awattar</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.benqprojector</artifactId>
@@ -194,6 +221,16 @@
<artifactId>org.openhab.binding.bluetooth.govee</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bluetooth.grundfosalpha</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bluetooth.radoneye</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bluetooth.roaming</artifactId>
@@ -206,7 +243,7 @@
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bmwconnecteddrive</artifactId>
<artifactId>org.openhab.binding.bondhome</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -254,6 +291,11 @@
<artifactId>org.openhab.binding.cbus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.chatgpt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.chromecast</artifactId>
@@ -294,11 +336,6 @@
<artifactId>org.openhab.binding.danfossairunit</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.darksky</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.dbquery</artifactId>
@@ -374,6 +411,16 @@
<artifactId>org.openhab.binding.dwdunwetter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.easee</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.echonetlite</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.ecobee</artifactId>
@@ -386,7 +433,12 @@
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.ecowitt</artifactId>
<artifactId>org.openhab.binding.ecovacs</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.ecowatt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -394,16 +446,31 @@
<artifactId>org.openhab.binding.ekey</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.electroluxair</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.elerotransmitterstick</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.elroconnects</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.energenie</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.energidataservice</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.enigma2</artifactId>
@@ -434,6 +501,11 @@
<artifactId>org.openhab.binding.etherrain</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.evcc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.evohome</artifactId>
@@ -454,6 +526,16 @@
<artifactId>org.openhab.binding.feican</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.fineoffsetweatherstation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.flicbutton</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.fmiweather</artifactId>
@@ -479,6 +561,11 @@
<artifactId>org.openhab.binding.freebox</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.freeboxos</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.fronius</artifactId>
@@ -519,6 +606,11 @@
<artifactId>org.openhab.binding.goecharger</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.govee</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.gpio</artifactId>
@@ -539,6 +631,16 @@
<artifactId>org.openhab.binding.groheondus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.groupepsa</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.guntamatic</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.haassohnpelletstove</artifactId>
@@ -584,6 +686,11 @@
<artifactId>org.openhab.binding.heos</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.herzborg</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.homeconnect</artifactId>
@@ -649,11 +756,6 @@
<artifactId>org.openhab.binding.ihc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.innogysmarthome</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.insteon</artifactId>
@@ -704,6 +806,16 @@
<artifactId>org.openhab.binding.jeelink</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.jellyfin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.juicenet</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.kaleidescape</artifactId>
@@ -789,11 +901,21 @@
<artifactId>org.openhab.binding.linuxinput</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.liquidcheck</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.lirc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.livisismarthome</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.logreader</artifactId>
@@ -806,12 +928,12 @@
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.luftdateninfo</artifactId>
<artifactId>org.openhab.binding.lutron</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.lutron</artifactId>
<artifactId>org.openhab.binding.luxom</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -834,21 +956,41 @@
<artifactId>org.openhab.binding.max</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mcd</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mcp23017</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.meater</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mecmeter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mediolaaiogateway</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.melcloud</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mercedesme</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.meteoalerte</artifactId>
@@ -976,7 +1118,17 @@
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.myq</artifactId>
<artifactId>org.openhab.binding.mycroft</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mybmw</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mynice</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@@ -1044,6 +1196,11 @@
<artifactId>org.openhab.binding.nikohomecontrol</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.nobohub</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.novafinedust</artifactId>
@@ -1199,6 +1356,11 @@
<artifactId>org.openhab.binding.plclogo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.plex</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.plugwise</artifactId>
@@ -1219,6 +1381,16 @@
<artifactId>org.openhab.binding.proteusecometer</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.prowl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.publictransportswitzerland</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.pulseaudio</artifactId>
@@ -1244,6 +1416,11 @@
<artifactId>org.openhab.binding.qbus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.qolsysiq</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.radiothermostat</artifactId>
@@ -1344,6 +1521,11 @@
<artifactId>org.openhab.binding.sensibo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.sensorcommunity</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.serial</artifactId>
@@ -1394,11 +1576,21 @@
<artifactId>org.openhab.binding.smartthings</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.smgw</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.smhi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.smsmodem</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.sncf</artifactId>
@@ -1419,11 +1611,21 @@
<artifactId>org.openhab.binding.solarlog</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.solarmax</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.solarwatt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.solax</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.somfymylink</artifactId>
@@ -1434,6 +1636,16 @@
<artifactId>org.openhab.binding.somfytahoma</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.somneo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.sonnen</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.sonos</artifactId>
@@ -1454,6 +1666,11 @@
<artifactId>org.openhab.binding.souliss</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.speedtest</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.spotify</artifactId>
@@ -1499,6 +1716,11 @@
<artifactId>org.openhab.binding.tapocontrol</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.tasmotaplug</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.telegram</artifactId>
@@ -1534,6 +1756,11 @@
<artifactId>org.openhab.binding.touchwand</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.tplinkrouter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.tplinksmarthome</artifactId>
@@ -1549,11 +1776,6 @@
<artifactId>org.openhab.binding.tradfri</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.twitter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.unifi</artifactId>
@@ -1619,6 +1841,11 @@
<artifactId>org.openhab.binding.verisure</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.vesync</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.vigicrues</artifactId>
@@ -1629,11 +1856,21 @@
<artifactId>org.openhab.binding.vitotronic</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.vizio</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.volvooncall</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.volumio</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.warmup</artifactId>
@@ -1649,6 +1886,11 @@
<artifactId>org.openhab.binding.weatherunderground</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.webexteams</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.webthing</artifactId>
@@ -1684,6 +1926,16 @@
<artifactId>org.openhab.binding.wolfsmartset</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.wundergroundupdatereceiver</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.x</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.xmltv</artifactId>
@@ -1694,6 +1946,11 @@
<artifactId>org.openhab.binding.xmppclient</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.yamahamusiccast</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.yamahareceiver</artifactId>
@@ -1729,11 +1986,6 @@
<artifactId>org.openhab.io.hueemulation</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.io.imperihome</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.io.metrics</artifactId>
@@ -1759,6 +2011,11 @@
<artifactId>org.openhab.persistence.influxdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.persistence.inmemory</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.persistence.jdbc</artifactId>
@@ -1794,11 +2051,6 @@
<artifactId>org.openhab.transform.exec</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.javascript</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.jinja</artifactId>
@@ -1819,11 +2071,21 @@
<artifactId>org.openhab.transform.regex</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.rollershutterposition</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.scale</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.vat</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.transform.xpath</artifactId>
@@ -1834,6 +2096,11 @@
<artifactId>org.openhab.transform.xslt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.googlestt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.googletts</artifactId>
@@ -1849,6 +2116,11 @@
<artifactId>org.openhab.voice.marytts</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.mimictts</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.picotts</artifactId>
@@ -1859,11 +2131,26 @@
<artifactId>org.openhab.voice.pollytts</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.rustpotterks</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.voicerss</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.voskstt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.voice.watsonstt</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bom</groupId>
<artifactId>org.openhab.addons.reactor.bom</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.addons.bom.openhab-core-index</artifactId>

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons</groupId>
<artifactId>org.openhab.addons.reactor</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<groupId>org.openhab.addons.bom</groupId>
@@ -37,11 +39,14 @@
</goals>
<configuration>
<target>
<copy file="${basedirRoot}/../../bundles/pom.xml" overwrite="true" tofile="${basedirRoot}/../../bom/openhab-addons/pom.xml"/>
<copy file="${basedirRoot}/../../bundles/pom.xml" overwrite="true"
tofile="${basedirRoot}/../../bom/openhab-addons/pom.xml"/>
<!-- rewrite footer -->
<replaceregexp file="${basedirRoot}/../../bom/openhab-addons/pom.xml" match="/modules[\s\S]*dependencies&gt;" replace="/dependencies&gt;"/>
<replaceregexp file="${basedirRoot}/../../bom/openhab-addons/pom.xml"
match="/modules[\s\S]*dependencies&gt;" replace="/dependencies&gt;"/>
<!-- rewrite header -->
<replaceregexp file="${basedirRoot}/../../bom/openhab-addons/pom.xml" match="\S*parent[\s\S]*modules&gt;\S*" replace="header"/>
<replaceregexp file="${basedirRoot}/../../bom/openhab-addons/pom.xml"
match="\S*parent[\s\S]*modules&gt;\S*" replace="header"/>
<replace file="{basedirRoot}/../../bom/openhab-addons/pom.xml">
<replacetoken>header</replacetoken>
<replacevalue><![CDATA[<parent>

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bom</groupId>
<artifactId>org.openhab.addons.reactor.bom</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.addons.bom.runtime-index</artifactId>

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bom</groupId>
<artifactId>org.openhab.addons.reactor.bom</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.addons.bom.test-index</artifactId>

View File

@@ -10,7 +10,7 @@ IF %ARGC% NEQ 3 (
exit /B 1
)
SET OpenhabVersion="3.2.0-SNAPSHOT"
SET OpenhabVersion="4.1.0-SNAPSHOT"
SET BindingIdInCamelCase=%~1
SET BindingIdInLowerCase=%BindingIdInCamelCase%

View File

@@ -2,7 +2,7 @@
[ $# -lt 3 ] && { echo "Usage: $0 <BindingIdInCamelCase> <Author> <GitHub Username>"; exit 1; }
openHABVersion=3.2.0-SNAPSHOT
openHABVersion=4.1.0-SNAPSHOT
camelcaseId=$1
id=`echo $camelcaseId | tr '[:upper:]' '[:lower:]'`

View File

@@ -1,6 +1,6 @@
# Groovy Scripting
This add-on provides support for [Groovy](https://groovy-lang.org/) 3.0.9 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.11 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
## Creating Groovy Scripts
@@ -31,7 +31,7 @@ The openHAB server uses the [SLF4J](https://www.slf4j.org/) library for logging.
```groovy
import org.slf4j.LoggerFactory
LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello world!")
LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello, World!")
```
Depending on the openHAB logging configuration, you may need to prefix logger names with `org.openhab.core.automation` for them to show up in the log file (or you modify the logging configuration).
@@ -39,5 +39,5 @@ Depending on the openHAB logging configuration, you may need to prefix logger na
The script uses the [LoggerFactory](https://www.slf4j.org/apidocs/org/slf4j/Logger.html) to obtain a named logger and then logs a message like:
```text
... [INFO ] [.openhab.core.automation.examples:-2 ] - Hello world!
... [INFO ] [.openhab.core.automation.examples:-2 ] - Hello, World!
```

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.automation.groovyscripting</artifactId>
@@ -13,23 +15,65 @@
<name>openHAB Add-ons :: Bundles :: Automation :: Groovy Scripting</name>
<properties>
<bnd.importpackage>com.ibm.icu.*;resolution:=optional,groovy.runtime.metaclass;resolution:=optional,groovyjarjarantlr4.stringtemplate;resolution:=optional,org.abego.treelayout.*;resolution:=optional,org.apache.ivy.*;resolution:=optional,org.stringtemplate.v4.*;resolution:=optional</bnd.importpackage>
<groovy.version>3.0.9</groovy.version>
<bnd.importpackage>com.ibm.icu.*;resolution:=optional,groovy.runtime.metaclass;resolution:=optional,groovyjarjarantlr4.stringtemplate;resolution:=optional,org.abego.treelayout.*;resolution:=optional,org.apache.ivy.*;resolution:=optional,org.fusesource.jansi.*;resolution:=optional,org.stringtemplate.v4.*;resolution:=optional</bnd.importpackage>
<groovy.version>4.0.11</groovy.version>
</properties>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-jsr223</artifactId>
<version>${groovy.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-json</artifactId>
<version>${groovy.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-xml</artifactId>
<version>${groovy.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-yaml</artifactId>
<version>${groovy.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<configuration>
<bnd><![CDATA[${oh.bndDefaults}
Require-Capability:
osgi.extender:=
filter:="(osgi.extender=osgi.serviceloader.processor)",
osgi.serviceloader:=
filter:="(osgi.serviceloader=org.apache.groovy.json.FastStringServiceFactory)";
cardinality:=multiple
SPI-Provider: *
SPI-Consumer: *
]]>
</bnd>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -12,6 +12,7 @@
*/
package org.openhab.automation.groovyscripting.internal;
import java.io.File;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -20,10 +21,13 @@ import javax.script.ScriptEngine;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.OpenHAB;
import org.openhab.core.automation.module.script.AbstractScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptEngineFactory;
import org.osgi.service.component.annotations.Component;
import groovy.lang.GroovyClassLoader;
/**
* This is an implementation of a {@link ScriptEngineFactory} for Groovy.
*
@@ -33,12 +37,21 @@ import org.osgi.service.component.annotations.Component;
@NonNullByDefault
public class GroovyScriptEngineFactory extends AbstractScriptEngineFactory {
private static final String FILE_DIRECTORY = "automation" + File.separator + "groovy";
private final org.codehaus.groovy.jsr223.GroovyScriptEngineFactory factory = new org.codehaus.groovy.jsr223.GroovyScriptEngineFactory();
private final List<String> scriptTypes = (List<String>) Stream.of(factory.getExtensions(), factory.getMimeTypes())
.flatMap(List::stream) //
.collect(Collectors.toUnmodifiableList());
private final GroovyClassLoader gcl = new GroovyClassLoader(GroovyScriptEngineFactory.class.getClassLoader());
public GroovyScriptEngineFactory() {
String scriptDir = OpenHAB.getConfigFolder() + File.separator + FILE_DIRECTORY;
logger.debug("Adding script directory {} to the GroovyScriptEngine class path.", scriptDir);
gcl.addClasspath(scriptDir);
}
@Override
public List<String> getScriptTypes() {
return scriptTypes;
@@ -46,6 +59,9 @@ public class GroovyScriptEngineFactory extends AbstractScriptEngineFactory {
@Override
public @Nullable ScriptEngine createScriptEngine(String scriptType) {
return scriptTypes.contains(scriptType) ? factory.getScriptEngine() : null;
if (scriptTypes.contains(scriptType)) {
return new org.codehaus.groovy.jsr223.GroovyScriptEngineImpl(gcl);
}
return null;
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon:addon id="groovyscripting" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:addon="https://openhab.org/schemas/addon/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd">
<type>automation</type>
<name>Groovy Scripting</name>
<description>This adds a Groovy script engine.</description>
<connection>none</connection>
</addon:addon>

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.automation.jrubyscripting</artifactId>
@@ -13,8 +15,8 @@
<name>openHAB Add-ons :: Bundles :: Automation :: JRuby Scripting</name>
<properties>
<bnd.importpackage>com.sun.nio.*;resolution:=optional,com.sun.security.*;resolution:=optional,org.apache.tools.ant.*;resolution:=optional,org.bouncycastle.*;resolution:=optional,org.joda.*;resolution:=optional,sun.management.*;resolution:=optional,sun.nio.*;resolution:=optional</bnd.importpackage>
<jruby.version>9.3.1.0</jruby.version>
<bnd.importpackage>com.sun.nio.*;resolution:=optional,com.sun.security.*;resolution:=optional,org.apache.tools.ant.*;resolution:=optional,org.bouncycastle.*;resolution:=optional,org.joda.*;resolution:=optional,sun.management.*;resolution:=optional,sun.nio.*;resolution:=optional,jakarta.annotation;resolution:=optional</bnd.importpackage>
<jruby.version>9.4.5.0</jruby.version>
</properties>
<dependencies>

View File

@@ -0,0 +1,218 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal;
import java.io.Reader;
import java.util.Objects;
import javax.script.Bindings;
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.jruby.embed.jsr223.JRubyEngine;
/**
* This is a wrapper for {@link JRubyEngine}.
*
* The purpose of this class is to intercept the call to eval and save the context into
* a global variable for use in the helper library.
*
* @author Jimmy Tanagra - Initial contribution
*/
@NonNullByDefault
public class JRubyEngineWrapper implements Compilable, Invocable, ScriptEngine {
private final JRubyEngine engine;
private static final String CONTEXT_VAR_NAME = "ctx";
private static final String GLOBAL_VAR_NAME = "$" + CONTEXT_VAR_NAME;
JRubyEngineWrapper(JRubyEngine engine) {
this.engine = Objects.requireNonNull(engine);
}
@Override
public CompiledScript compile(@Nullable String script) throws ScriptException {
return engine.compile(script);
}
@Override
public CompiledScript compile(@Nullable Reader reader) throws ScriptException {
return engine.compile(reader);
}
@Override
public Object eval(@Nullable String script, @Nullable ScriptContext context) throws ScriptException {
Object ctx = Objects.requireNonNull(context).getBindings(ScriptContext.ENGINE_SCOPE).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(script, context);
}
context.setAttribute(GLOBAL_VAR_NAME, ctx, ScriptContext.ENGINE_SCOPE);
try {
return engine.eval(script, context);
} finally {
context.removeAttribute(GLOBAL_VAR_NAME, ScriptContext.ENGINE_SCOPE);
}
}
@Override
public Object eval(@Nullable Reader reader, @Nullable ScriptContext context) throws ScriptException {
Object ctx = Objects.requireNonNull(context).getBindings(ScriptContext.ENGINE_SCOPE).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(reader, context);
}
context.setAttribute(GLOBAL_VAR_NAME, ctx, ScriptContext.ENGINE_SCOPE);
try {
return engine.eval(reader, context);
} finally {
context.removeAttribute(GLOBAL_VAR_NAME, ScriptContext.ENGINE_SCOPE);
}
}
@Override
public Object eval(@Nullable String script, @Nullable Bindings bindings) throws ScriptException {
Object ctx = Objects.requireNonNull(bindings).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(script, bindings);
}
bindings.put(GLOBAL_VAR_NAME, ctx);
try {
return engine.eval(script, bindings);
} finally {
bindings.remove(GLOBAL_VAR_NAME);
}
}
@Override
public Object eval(@Nullable Reader reader, @Nullable Bindings bindings) throws ScriptException {
Object ctx = Objects.requireNonNull(bindings).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(reader, bindings);
}
bindings.put(GLOBAL_VAR_NAME, ctx);
try {
return engine.eval(reader, bindings);
} finally {
bindings.remove(GLOBAL_VAR_NAME);
}
}
@Override
public Object eval(@Nullable String script) throws ScriptException {
Object ctx = getBindings(ScriptContext.ENGINE_SCOPE).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(script);
}
getContext().setAttribute(GLOBAL_VAR_NAME, ctx, ScriptContext.ENGINE_SCOPE);
try {
return engine.eval(script);
} finally {
getContext().removeAttribute(GLOBAL_VAR_NAME, ScriptContext.ENGINE_SCOPE);
}
}
@Override
public Object eval(@Nullable Reader reader) throws ScriptException {
Object ctx = getBindings(ScriptContext.ENGINE_SCOPE).get(CONTEXT_VAR_NAME);
if (ctx == null) {
return engine.eval(reader);
}
getContext().setAttribute(GLOBAL_VAR_NAME, ctx, ScriptContext.ENGINE_SCOPE);
try {
return engine.eval(reader);
} finally {
getContext().removeAttribute(GLOBAL_VAR_NAME, ScriptContext.ENGINE_SCOPE);
}
}
@Override
public Object get(@Nullable String key) {
return engine.get(key);
}
@Override
public void put(@Nullable String key, @Nullable Object value) {
engine.put(key, value);
}
@Override
public Bindings getBindings(int scope) {
return engine.getBindings(scope);
}
@Override
public void setBindings(@Nullable Bindings bindings, int scope) {
engine.setBindings(bindings, scope);
}
@Override
public Bindings createBindings() {
return engine.createBindings();
}
@Override
public ScriptContext getContext() {
return engine.getContext();
}
@Override
public void setContext(@Nullable ScriptContext context) {
engine.setContext(context);
}
@Override
public ScriptEngineFactory getFactory() {
return engine.getFactory();
}
@Override
public Object invokeMethod(@Nullable Object receiver, @Nullable String method, Object @Nullable... args)
throws ScriptException, NoSuchMethodException {
return engine.invokeMethod(receiver, method, args);
}
@Override
public Object invokeFunction(@Nullable String method, Object @Nullable... args)
throws ScriptException, NoSuchMethodException {
return engine.invokeFunction(method, args);
}
@Override
public <T> T getInterface(@Nullable Class<T> returnType) {
return engine.getInterface(returnType);
}
@Override
public <T> T getInterface(@Nullable Object receiver, @Nullable Class<T> returnType) {
return engine.getInterface(receiver, returnType);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -13,20 +13,21 @@
package org.openhab.automation.jrubyscripting.internal;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.jruby.runtime.Constants;
import org.openhab.core.OpenHAB;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,41 +36,56 @@ import org.slf4j.LoggerFactory;
* Processes JRuby Configuration Parameters.
*
* @author Brian O'Connell - Initial contribution
* @author Jimmy Tanagra - Add $LOAD_PATH, require injection
*/
@NonNullByDefault
public class JRubyScriptEngineConfiguration {
private final Logger logger = LoggerFactory.getLogger(JRubyScriptEngineConfiguration.class);
private static final Path DEFAULT_GEM_HOME = Paths.get(OpenHAB.getConfigFolder(), "scripts", "lib", "ruby",
"gem_home");
private static final String RUBY_ENGINE_REPLACEMENT = "{RUBY_ENGINE}";
private static final String RUBY_ENGINE_VERSION_REPLACEMENT = "{RUBY_ENGINE_VERSION}";
private static final String RUBY_VERSION_REPLACEMENT = "{RUBY_VERSION}";
private static final List<String> REPLACEMENTS = List.of(RUBY_ENGINE_REPLACEMENT, RUBY_ENGINE_VERSION_REPLACEMENT,
RUBY_VERSION_REPLACEMENT);
private static final Path DEFAULT_RUBYLIB = Paths.get(OpenHAB.getConfigFolder(), "automation", "lib", "ruby");
private static final String DEFAULT_GEM_HOME = Paths
.get(OpenHAB.getConfigFolder(), "automation", "ruby", ".gem", RUBY_ENGINE_VERSION_REPLACEMENT).toString();
private static final String DEFAULT_RUBYLIB = Paths.get(OpenHAB.getConfigFolder(), "automation", "ruby", "lib")
.toString();
private static final String GEM_HOME = "gem_home";
private static final String GEM_HOME_CONFIG_KEY = "gem_home";
private static final String RUBYLIB_CONFIG_KEY = "rubylib";
private static final String GEMS_CONFIG_KEY = "gems";
private static final String REQUIRE_CONFIG_KEY = "require";
private static final String CHECK_UPDATE_CONFIG_KEY = "check_update";
private static final String DEPENDENCY_TRACKING_CONFIG_KEY = "dependency_tracking";
// Map of configuration parameters
private static final Map<String, OptionalConfigurationElement> CONFIGURATION_PARAMETERS = Map.ofEntries(
private final Map<String, OptionalConfigurationElement> configurationParameters = Map.ofEntries(
Map.entry("local_context",
new OptionalConfigurationElement.Builder(OptionalConfigurationElement.Type.SYSTEM_PROPERTY)
.mappedTo("org.jruby.embed.localcontext.scope").defaultValue("singlethread").build()),
new OptionalConfigurationElement(OptionalConfigurationElement.Type.SYSTEM_PROPERTY, "singlethread",
"org.jruby.embed.localcontext.scope")),
Map.entry("local_variable",
new OptionalConfigurationElement.Builder(OptionalConfigurationElement.Type.SYSTEM_PROPERTY)
.mappedTo("org.jruby.embed.localvariable.behavior").defaultValue("transient").build()),
new OptionalConfigurationElement(OptionalConfigurationElement.Type.SYSTEM_PROPERTY, "transient",
"org.jruby.embed.localvariable.behavior")),
Map.entry(GEM_HOME,
new OptionalConfigurationElement.Builder(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT)
.mappedTo("GEM_HOME").defaultValue(DEFAULT_GEM_HOME.toString()).build()),
Map.entry(GEM_HOME_CONFIG_KEY,
new OptionalConfigurationElement(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT,
DEFAULT_GEM_HOME, "GEM_HOME")),
Map.entry("rubylib",
new OptionalConfigurationElement.Builder(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT)
.mappedTo("RUBYLIB").defaultValue(DEFAULT_RUBYLIB.toString()).build()),
Map.entry(RUBYLIB_CONFIG_KEY,
new OptionalConfigurationElement(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT,
DEFAULT_RUBYLIB, "RUBYLIB")),
Map.entry("gems", new OptionalConfigurationElement.Builder(OptionalConfigurationElement.Type.GEM).build()));
Map.entry(GEMS_CONFIG_KEY, new OptionalConfigurationElement("openhab-scripting=~>5.0")),
private static final Map<OptionalConfigurationElement.Type, List<OptionalConfigurationElement>> CONFIGURATION_TYPE_MAP = CONFIGURATION_PARAMETERS
.values().stream().collect(Collectors.groupingBy(v -> v.type));
Map.entry(REQUIRE_CONFIG_KEY, new OptionalConfigurationElement("openhab/dsl")),
Map.entry(CHECK_UPDATE_CONFIG_KEY, new OptionalConfigurationElement("true")),
Map.entry(DEPENDENCY_TRACKING_CONFIG_KEY, new OptionalConfigurationElement("true")));
/**
* Update configuration
@@ -79,8 +95,14 @@ public class JRubyScriptEngineConfiguration {
*/
void update(Map<String, Object> config, ScriptEngineFactory factory) {
logger.trace("JRuby Script Engine Configuration: {}", config);
configurationParameters.forEach((k, v) -> v.clearValue());
config.forEach(this::processConfigValue);
configureScriptEngine(factory);
configureSystemProperties();
ScriptEngine engine = factory.getScriptEngine();
configureRubyEnvironment(engine);
configureGems(engine);
}
/**
@@ -90,202 +112,300 @@ public class JRubyScriptEngineConfiguration {
* @param value Configuration value
*/
private void processConfigValue(String key, Object value) {
OptionalConfigurationElement configurationElement = CONFIGURATION_PARAMETERS.get(key);
OptionalConfigurationElement configurationElement = configurationParameters.get(key);
if (configurationElement != null) {
configurationElement.setValue(value.toString());
configurationElement.setValue(value.toString().trim());
} else {
logger.debug("Ignoring unexpected configuration key: {}", key);
}
}
/**
* Configure the ScriptEngine
*
* @param factory Script Engine to configure
* Gets a single configuration element.
*/
void configureScriptEngine(ScriptEngineFactory factory) {
configureSystemProperties(CONFIGURATION_TYPE_MAP.getOrDefault(OptionalConfigurationElement.Type.SYSTEM_PROPERTY,
Collections.<OptionalConfigurationElement> emptyList()));
private String get(String key) {
OptionalConfigurationElement configElement = configurationParameters.get(key);
ScriptEngine engine = factory.getScriptEngine();
return Objects.requireNonNull(configElement).getValue();
}
configureRubyEnvironment(CONFIGURATION_TYPE_MAP.getOrDefault(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT,
Collections.<OptionalConfigurationElement> emptyList()), engine);
/**
* Gets the concrete gem home to install gems into for this version of JRuby.
*
* {RUBY_ENGINE} and {RUBY_VERSION} are replaced with their current actual values.
*/
public String getSpecificGemHome() {
String gemHome = get(GEM_HOME_CONFIG_KEY);
if (gemHome.isEmpty()) {
return gemHome;
}
configureGems(CONFIGURATION_TYPE_MAP.getOrDefault(OptionalConfigurationElement.Type.GEM,
Collections.<OptionalConfigurationElement> emptyList()), engine);
gemHome = gemHome.replace(RUBY_ENGINE_REPLACEMENT, Constants.ENGINE);
gemHome = gemHome.replace(RUBY_ENGINE_VERSION_REPLACEMENT, Constants.VERSION);
gemHome = gemHome.replace(RUBY_VERSION_REPLACEMENT, Constants.RUBY_VERSION);
return new File(gemHome).toString();
}
/**
* Get the base for all possible gem homes.
*
* If the configured gem home contains {RUBY_ENGINE} or {RUBY_VERSION},
* the path is cut off at that point. This means a single configuration
* value will include the gem homes for all parallel-installed ruby
* versions.
*
*/
public String getGemHomeBase() {
String gemHome = get(GEM_HOME_CONFIG_KEY);
for (String replacement : REPLACEMENTS) {
int loc = gemHome.indexOf(replacement);
if (loc != -1) {
gemHome = gemHome.substring(0, loc);
}
}
return new File(gemHome).toString();
}
/**
* Makes Gem home directory if it does not exist
*/
private void ensureGemHomeExists() {
OptionalConfigurationElement gemHomeConfigElement = CONFIGURATION_PARAMETERS.get(GEM_HOME);
if (gemHomeConfigElement != null) {
Optional<String> gemHome = gemHomeConfigElement.getValue();
if (gemHome.isPresent()) {
File gemHomeDirectory = new File(gemHome.get());
if (!gemHomeDirectory.exists()) {
logger.debug("gem_home directory does not exist, creating");
if (!gemHomeDirectory.mkdirs()) {
logger.debug("Error creating gem_home direcotry");
}
}
} else {
logger.debug("Gem install requested without gem_home specified, not ensuring gem_home path exists");
private boolean ensureGemHomeExists(String gemHome) {
File gemHomeDirectory = new File(gemHome);
if (!gemHomeDirectory.exists()) {
logger.debug("gem_home directory does not exist, creating");
if (!gemHomeDirectory.mkdirs()) {
logger.warn("Error creating gem_home directory");
return false;
}
}
return true;
}
/**
* Install a gems in ScriptEngine
*
* @param gemsDirectives List of gems to install
* @param engine Engine to install gems
*/
private synchronized void configureGems(List<OptionalConfigurationElement> gemDirectives, ScriptEngine engine) {
for (OptionalConfigurationElement gemDirective : gemDirectives) {
if (gemDirective.getValue().isPresent()) {
ensureGemHomeExists();
private synchronized void configureGems(ScriptEngine engine) {
String gems = get(GEMS_CONFIG_KEY);
if (gems.isEmpty()) {
return;
}
String[] gems = gemDirective.getValue().get().split(",");
for (String gem : gems) {
gem = gem.trim();
String gemCommand;
if (gem.contains("=")) {
String[] gemParts = gem.split("=");
gem = gemParts[0];
String version = gemParts[1];
gemCommand = "Gem.install('" + gem + "',version='" + version + "')\n";
} else {
gemCommand = "Gem.install('" + gem + "')\n";
}
String gemHome = getSpecificGemHome();
if (gemHome.isEmpty()) {
logger.warn("Gem install requested with empty gem_home, not installing gems.");
return;
}
try {
logger.debug("Installing Gem: {} ", gem);
logger.trace("Gem install code:\n{}\n", gemCommand);
engine.eval(gemCommand);
} catch (Exception e) {
logger.error("Error installing Gem", e);
}
}
} else {
logger.debug("Ruby gem property has no value");
if (!ensureGemHomeExists(gemHome)) {
return;
}
boolean checkUpdate = "true".equals(get(CHECK_UPDATE_CONFIG_KEY));
String[] gemsArray = gems.split(",");
// Set update_native_env_enabled to false so that bundler doesn't leak
// into other script engines
String gemCommand = "require 'jruby'\nJRuby.runtime.instance_config.update_native_env_enabled = false\nrequire 'bundler/inline'\nrequire 'openssl'\n\ngemfile("
+ checkUpdate + ") do\n" + " source 'https://rubygems.org/'\n";
int validGems = 0;
for (String gem : gemsArray) {
gem = gem.trim();
String[] versions = {};
if (gem.contains("=")) {
String[] gemParts = gem.split("=", 2);
gem = gemParts[0].trim();
versions = gemParts[1].split(";");
}
if (gem.isEmpty()) {
continue;
}
gemCommand += " gem '" + gem + "'";
for (String version : versions) {
version = version.trim();
if (!version.isEmpty()) {
gemCommand += ", '" + version + "'";
}
}
gemCommand += ", require: false\n";
validGems += 1;
}
if (validGems == 0) {
return;
}
gemCommand += "end\n";
try {
logger.debug("Installing Gems");
logger.trace("Gem install code:\n{}", gemCommand);
engine.eval(gemCommand);
} catch (ScriptException e) {
logger.warn("Error installing Gems", unwrap(e));
}
}
/**
* Configure the base Ruby Environment
* Execute ruby require statement in the ScriptEngine
*
* @param engine Engine to configure
* @param engine Engine to insert the require statements
*/
public ScriptEngine configureRubyEnvironment(ScriptEngine engine) {
configureRubyEnvironment(CONFIGURATION_TYPE_MAP.getOrDefault(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT,
Collections.<OptionalConfigurationElement> emptyList()), engine);
return engine;
public void injectRequire(ScriptEngine engine) {
String requires = get(REQUIRE_CONFIG_KEY);
if (requires.isEmpty()) {
return;
}
Stream.of(requires.split(",")).map(s -> s.trim()).filter(s -> !s.isEmpty()).forEach(script -> {
final String requireStatement = String.format("require '%s'", script);
try {
logger.trace("Injecting require statement: {}", requireStatement);
engine.eval(requireStatement);
} catch (ScriptException e) {
logger.warn("Error evaluating `{}`", requireStatement, unwrap(e));
}
});
}
/**
* Configure the optional elements of the Ruby Environment
*
* @param optionalConfigurationElements Optional elements to configure in the ruby environment
* @param scriptEngine Engine in which to configure environment
*/
public void configureRubyEnvironment(ScriptEngine scriptEngine) {
getConfigurationElements(OptionalConfigurationElement.Type.RUBY_ENVIRONMENT).forEach(configElement -> {
String value;
if ("GEM_HOME".equals(configElement.mappedTo().get())) {
// this value has to be post-processed to handle replacements.
value = getSpecificGemHome();
} else {
value = configElement.getValue();
}
scriptEngine.put("__key", configElement.mappedTo().get());
scriptEngine.put("__value", value);
logger.trace("Setting Ruby environment ENV['{}''] = '{}'", configElement.mappedTo().get(), value);
try {
scriptEngine.eval("ENV[__key] = __value");
} catch (ScriptException e) {
logger.warn("Error setting Ruby environment", unwrap(e));
}
// clean up our temporary variables
scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).remove("__key");
scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).remove("__value");
});
configureRubyLib(scriptEngine);
}
/**
* Split up and insert ENV['RUBYLIB'] into Ruby's $LOAD_PATH
* This needs to be called after ENV['RUBYLIB'] has been set by configureRubyEnvironment
*
* @param engine Engine in which to configure environment
*/
private void configureRubyEnvironment(List<OptionalConfigurationElement> optionalConfigurationElements,
ScriptEngine engine) {
for (OptionalConfigurationElement configElement : optionalConfigurationElements) {
String environmentProperty = configElement.mappedTo().get();
if (configElement.getValue().isPresent()) {
String environmentSetting = "ENV['" + environmentProperty + "']='" + configElement.getValue().get()
+ "'";
try {
logger.trace("Setting Ruby environment with code: {} ", environmentSetting);
engine.eval(environmentSetting);
} catch (ScriptException e) {
logger.error("Error setting ruby environment", e);
}
} else {
logger.debug("Ruby environment property ({}) has no value", environmentProperty);
private void configureRubyLib(ScriptEngine engine) {
String rubyLib = get(RUBYLIB_CONFIG_KEY);
if (!rubyLib.isEmpty()) {
final String code = "$LOAD_PATH.unshift *ENV['RUBYLIB']&.split(File::PATH_SEPARATOR)" + //
"&.reject(&:empty?)" + //
"&.reject { |path| $LOAD_PATH.include?(path) }"; //
try {
engine.eval(code);
} catch (ScriptException exception) {
logger.warn("Error setting $LOAD_PATH from RUBYLIB='{}'", rubyLib, unwrap(exception));
}
}
}
public List<String> getRubyLibPaths() {
String rubyLib = get(RUBYLIB_CONFIG_KEY);
if (rubyLib.isEmpty()) {
return List.of();
}
return List.of(rubyLib.split(File.pathSeparator));
}
public boolean enableDependencyTracking() {
return "true".equals(get(DEPENDENCY_TRACKING_CONFIG_KEY));
}
/**
* Configure system properties
*
* @param optionalConfigurationElements Optional system properties to configure
*/
private void configureSystemProperties(List<OptionalConfigurationElement> optionalConfigurationElements) {
for (OptionalConfigurationElement configElement : optionalConfigurationElements) {
private void configureSystemProperties() {
getConfigurationElements(OptionalConfigurationElement.Type.SYSTEM_PROPERTY).forEach(configElement -> {
String systemProperty = configElement.mappedTo().get();
if (configElement.getValue().isPresent()) {
String propertyValue = configElement.getValue().get();
logger.trace("Setting system property ({}) to ({})", systemProperty, propertyValue);
System.setProperty(systemProperty, propertyValue);
} else {
logger.warn("System property ({}) has no value", systemProperty);
}
String propertyValue = configElement.getValue();
logger.trace("Setting system property ({}) to ({})", systemProperty, propertyValue);
System.setProperty(systemProperty, propertyValue);
});
}
private Stream<OptionalConfigurationElement> getConfigurationElements(OptionalConfigurationElement.Type type) {
return configurationParameters.values().stream().filter(element -> element.type.equals(type));
}
/**
* Unwraps the cause of an exception, if it has one.
*
* Since a user cares about the _Ruby_ stack trace of the throwable, not
* the details of where openHAB called it.
*/
private Throwable unwrap(Throwable e) {
Throwable cause = e.getCause();
if (cause != null) {
return cause;
}
return e;
}
/**
* Inner static companion class for configuration elements
*/
private static class OptionalConfigurationElement {
private enum Type {
SYSTEM_PROPERTY,
RUBY_ENVIRONMENT,
OTHER
}
private final Optional<String> defaultValue;
private final String defaultValue;
private final Optional<String> mappedTo;
private final Type type;
private Optional<String> value;
private OptionalConfigurationElement(Type type, @Nullable String mappedTo, @Nullable String defaultValue) {
private OptionalConfigurationElement(String defaultValue) {
this(Type.OTHER, defaultValue, null);
}
private OptionalConfigurationElement(Type type, String defaultValue, @Nullable String mappedTo) {
this.type = type;
this.defaultValue = Optional.ofNullable(defaultValue);
this.defaultValue = defaultValue;
this.mappedTo = Optional.ofNullable(mappedTo);
value = Optional.empty();
}
private Optional<String> getValue() {
return value.or(() -> defaultValue);
private String getValue() {
return value.orElse(defaultValue);
}
private void setValue(String value) {
this.value = Optional.of(value);
}
private void clearValue() {
this.value = Optional.empty();
}
private Optional<String> mappedTo() {
return mappedTo;
}
private enum Type {
SYSTEM_PROPERTY,
RUBY_ENVIRONMENT,
GEM
}
private static class Builder {
private final Type type;
private @Nullable String defaultValue = null;
private @Nullable String mappedTo = null;
private Builder(Type type) {
this.type = type;
}
private Builder mappedTo(String mappedTo) {
this.mappedTo = mappedTo;
return this;
}
private Builder defaultValue(String value) {
this.defaultValue = value;
return this;
}
private OptionalConfigurationElement build() {
return new OptionalConfigurationElement(type, mappedTo, defaultValue);
}
}
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -12,77 +12,88 @@
*/
package org.openhab.automation.jrubyscripting.internal;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.automation.jrubyscripting.internal.watch.JRubyDependencyTracker;
import org.openhab.core.automation.module.script.AbstractScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.automation.module.script.ScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptExtensionManagerWrapper;
import org.openhab.core.config.core.ConfigurableService;
import org.openhab.core.service.WatchService;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Modified;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
/**
* This is an implementation of a {@link ScriptEngineFactory} for Ruby.
*
* @author Brian O'Connell - Initial contribution
* @author Jimmy Tanagra - Add require injection
*/
@NonNullByDefault
@Component(service = ScriptEngineFactory.class, configurationPid = "org.openhab.automation.jrubyscripting")
@ConfigurableService(category = "automation", label = "JRuby Scripting", description_uri = "automation:jruby")
@Component(service = ScriptEngineFactory.class, configurationPid = "org.openhab.automation.jrubyscripting", property = Constants.SERVICE_PID
+ "=org.openhab.automation.jrubyscripting")
@ConfigurableService(category = "automation", label = "JRuby Scripting", description_uri = "automation:jrubyscripting")
public class JRubyScriptEngineFactory extends AbstractScriptEngineFactory {
private final JRubyScriptEngineConfiguration configuration = new JRubyScriptEngineConfiguration();
// Filter out the File entry to prevent shadowing the Ruby File class which breaks Ruby in spectacularly
// difficult ways to debug.
private static final Set<String> FILTERED_PRESETS = Set.of("File");
private static final Set<String> INSTANCE_PRESETS = Set.of();
private static final Set<String> GLOBAL_PRESETS = Set.of("scriptExtension", "automationManager", "ruleRegistry",
"items", "voice", "rules", "things", "events", "itemRegistry", "ir", "actions", "se", "audio",
"lifecycleTracker");
private final javax.script.ScriptEngineFactory factory = new org.jruby.embed.jsr223.JRubyEngineFactory();
private final List<String> scriptTypes = Stream
.concat(factory.getExtensions().stream(), factory.getMimeTypes().stream())
.collect(Collectors.toUnmodifiableList());
private final List<String> scriptTypes = Stream.concat(Objects.requireNonNull(factory.getExtensions()).stream(),
Objects.requireNonNull(factory.getMimeTypes()).stream()).toList();
// Adds @ in front of a set of variables so that Ruby recogonizes them as instance variables
private static Map.Entry<String, Object> mapInstancePresets(Map.Entry<String, Object> entry) {
if (INSTANCE_PRESETS.contains(entry.getKey())) {
return Map.entry("@" + entry.getKey(), entry.getValue());
} else {
return entry;
}
}
private final JRubyDependencyTracker jrubyDependencyTracker;
// Adds $ in front of a set of variables so that Ruby recogonizes them as global variables
// Adds $ in front of a set of variables so that Ruby recognizes them as global
// variables
private static Map.Entry<String, Object> mapGlobalPresets(Map.Entry<String, Object> entry) {
if (GLOBAL_PRESETS.contains(entry.getKey())) {
if (Character.isLowerCase(entry.getKey().charAt(0)) && !(entry.getValue() instanceof Class)
&& !(entry.getValue() instanceof Enum)) {
return Map.entry("$" + entry.getKey(), entry.getValue());
} else {
return entry;
}
}
// The activate call activates the automation and sets its configuration
@Activate
protected void activate(Map<String, Object> config) {
configuration.update(config, factory);
public JRubyScriptEngineFactory(@Reference(target = WatchService.CONFIG_WATCHER_FILTER) WatchService watchService,
Map<String, Object> config) {
jrubyDependencyTracker = new JRubyDependencyTracker(watchService, this);
modified(config);
}
@Deactivate
protected void deactivate() {
jrubyDependencyTracker.deactivate();
}
// The modified call updates configuration for the automation
@Modified
protected void modified(Map<String, Object> config) {
configuration.update(config, factory);
// Re-initialize the dependency tracker's watchers.
jrubyDependencyTracker.deactivate();
if (configuration.enableDependencyTracking()) {
jrubyDependencyTracker.activate();
}
}
@Override
@@ -92,22 +103,102 @@ public class JRubyScriptEngineFactory extends AbstractScriptEngineFactory {
@Override
public void scopeValues(ScriptEngine scriptEngine, Map<String, Object> scopeValues) {
// Empty comments prevent the formatter from breaking up the correct streams chaining
// Empty comments prevent the formatter from breaking up the correct streams
// chaining
logger.debug("Scope Values: {}", scopeValues);
Map<String, Object> filteredScopeValues = //
scopeValues //
.entrySet() //
.stream() //
.filter(map -> !FILTERED_PRESETS.contains(map.getKey())) //
.map(JRubyScriptEngineFactory::mapInstancePresets) //
.map(JRubyScriptEngineFactory::mapGlobalPresets) //
.collect(Collectors.toMap(map -> map.getKey(), map -> map.getValue())); //
super.scopeValues(scriptEngine, filteredScopeValues);
Map<Boolean, Map<String, Object>> partitionedMap = //
filteredScopeValues.entrySet() //
.stream() //
.collect(Collectors.partitioningBy(entry -> (entry.getValue() instanceof Class),
Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)));
super.scopeValues(scriptEngine, partitionedMap.getOrDefault(false, new HashMap<>()));
importClassesToRuby(scriptEngine, partitionedMap.getOrDefault(true, new HashMap<>()));
Object scriptExtension = scopeValues.get("scriptExtension");
if (scriptExtension instanceof ScriptExtensionManagerWrapper wrapper
&& configuration.enableDependencyTracking()) {
// we inject like this instead of using the script context, because
// this is executed _before_ the dependency tracker is added to the script
// context.
// But we need this set up before we inject our requires
scriptEngine.put("$dependencyListener", jrubyDependencyTracker.getTracker(wrapper.getScriptIdentifier()));
}
// scopeValues is called twice. The first call only passed 'se'. The second call
// passed the rest of the
// presets, including 'ir'. We wait for the second call before running the
// require statements.
if (scopeValues.containsKey("ir")) {
configuration.injectRequire(scriptEngine);
}
}
private void importClassesToRuby(ScriptEngine scriptEngine, Map<String, Object> objects) {
try {
scriptEngine.put("__classes", objects);
final String code = "__classes.each { |(name, klass)| Object.const_set(name, klass.ruby_class) unless Object.const_defined?(name, false) }";
scriptEngine.eval(code);
// clean up our temporary variable
scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).remove("__classes");
} catch (ScriptException e) {
logger.debug("Error importing java classes", e);
}
}
@Override
public @Nullable ScriptEngine createScriptEngine(String scriptType) {
return scriptTypes.contains(scriptType) ? configuration.configureRubyEnvironment(factory.getScriptEngine())
: null;
if (!scriptTypes.contains(scriptType)) {
return null;
}
ScriptEngine engine = factory.getScriptEngine();
configuration.configureRubyEnvironment(engine);
return new JRubyEngineWrapper((org.jruby.embed.jsr223.JRubyEngine) engine);
}
@Override
public @Nullable ScriptDependencyTracker getDependencyTracker() {
return jrubyDependencyTracker;
}
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC, unbind = "removeChangeTracker")
public void addChangeTracker(ScriptDependencyTracker.Listener listener) {
jrubyDependencyTracker.addChangeTracker(listener);
}
public void removeChangeTracker(ScriptDependencyTracker.Listener listener) {
jrubyDependencyTracker.removeChangeTracker(listener);
}
public List<String> getRubyLibPaths() {
return configuration.getRubyLibPaths();
}
public boolean isFileInLoadPath(String file) {
for (String path : getRubyLibPaths()) {
if (file.startsWith(new File(path).toString() + File.separator)) {
return true;
}
}
return false;
}
public String getGemHome() {
return configuration.getSpecificGemHome();
}
public boolean isFileInGemHome(String file) {
String gemHome = configuration.getGemHomeBase();
if (gemHome.isEmpty()) {
return false;
}
return file.startsWith(gemHome + File.separator);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -0,0 +1,111 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.eclipse.jdt.annotation.NonNullByDefault;
// Copy of org.openhab.core.automation.module.script.rulesupport.internal.loader.collection.BidiSetBag
/**
* Bidirectional bag of unique elements. A map allowing multiple, unique values to be stored against a single key.
* Provides optimized lookup of values for a key, as well as keys referencing a value.
*
* @author Jonathan Gilbert - Initial contribution
* @author Jan N. Klug - Make implementation thread-safe
* @param <K> Type of Key
* @param <V> Type of Value
*/
@NonNullByDefault
public class BidiSetBag<K, V> {
private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
private final Map<K, Set<V>> keyToValues = new HashMap<>();
private final Map<V, Set<K>> valueToKeys = new HashMap<>();
public void put(K key, V value) {
lock.writeLock().lock();
try {
keyToValues.computeIfAbsent(key, k -> new HashSet<>()).add(value);
valueToKeys.computeIfAbsent(value, v -> new HashSet<>()).add(key);
} finally {
lock.writeLock().unlock();
}
}
public Set<V> getValues(K key) {
lock.readLock().lock();
try {
Set<V> values = keyToValues.getOrDefault(key, Set.of());
return Collections.unmodifiableSet(values);
} finally {
lock.readLock().unlock();
}
}
public Set<K> getKeys(V value) {
lock.readLock().lock();
try {
Set<K> keys = valueToKeys.getOrDefault(value, Set.of());
return Collections.unmodifiableSet(keys);
} finally {
lock.readLock().unlock();
}
}
public Set<V> removeKey(K key) {
lock.writeLock().lock();
try {
Set<V> values = keyToValues.remove(key);
if (values != null) {
for (V value : values) {
valueToKeys.computeIfPresent(value, (k, v) -> {
v.remove(key);
return v;
});
}
return values;
} else {
return Set.of();
}
} finally {
lock.writeLock().unlock();
}
}
public Set<K> removeValue(V value) {
lock.writeLock().lock();
try {
Set<K> keys = valueToKeys.remove(value);
if (keys != null) {
for (K key : keys) {
keyToValues.computeIfPresent(key, (k, v) -> {
v.remove(value);
return v;
});
}
return keys;
} else {
return Set.of();
}
} finally {
lock.writeLock().unlock();
}
}
}

View File

@@ -0,0 +1,106 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Consumer;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.automation.jrubyscripting.internal.JRubyScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.service.WatchService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Tracks Ruby dependencies
*
* @author Cody Cutrer - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@NonNullByDefault
public class JRubyDependencyTracker implements ScriptDependencyTracker {
private final Logger logger = LoggerFactory.getLogger(JRubyDependencyTracker.class);
private final Set<ScriptDependencyTracker.Listener> dependencyChangeListeners = ConcurrentHashMap.newKeySet();
private final BidiSetBag<String, String> scriptToLibs = new BidiSetBag<>();
private final JRubyScriptEngineFactory scriptEngineFactory;
private final List<JRubyWatchService> dependencyWatchServices = new ArrayList<>();
private final WatchService watchService;
public JRubyDependencyTracker(final WatchService watchService, final JRubyScriptEngineFactory scriptEngineFactory) {
this.watchService = watchService;
this.scriptEngineFactory = scriptEngineFactory;
}
public void activate() {
String gemHome = scriptEngineFactory.getGemHome();
if (!gemHome.isEmpty()) {
dependencyWatchServices.add(new JRubyGemWatchService(watchService, gemHome, this));
}
List<Path> libPaths = scriptEngineFactory.getRubyLibPaths().stream().map(Path::of).toList();
dependencyWatchServices.add(new JRubyLibWatchService(watchService, libPaths, this));
dependencyWatchServices.forEach(JRubyWatchService::activate);
}
public void deactivate() {
dependencyWatchServices.forEach(JRubyWatchService::deactivate);
dependencyWatchServices.clear();
}
void dependencyChanged(String dependency) {
Set<String> scripts = new HashSet<>(scriptToLibs.getKeys(dependency)); // take a copy as it will change as we
logger.debug("{} changed; reimporting {} scripts...", dependency, scripts.size());
for (String scriptUrl : scripts) {
for (ScriptDependencyTracker.Listener listener : dependencyChangeListeners) {
try {
listener.onDependencyChange(scriptUrl);
} catch (Exception e) {
logger.warn("Failed to notify tracker of dependency change: {}: {}", e.getClass(), e.getMessage());
}
}
}
}
@Override
public Consumer<String> getTracker(String scriptId) {
return dependencyPath -> startTracking(scriptId, dependencyPath);
}
@Override
public void removeTracking(String scriptId) {
scriptToLibs.removeKey(scriptId);
}
protected void startTracking(String scriptId, String libPath) {
scriptToLibs.put(scriptId, libPath);
}
public void addChangeTracker(ScriptDependencyTracker.Listener listener) {
logger.trace("adding change tracker listener {}", listener);
dependencyChangeListeners.add(listener);
}
public void removeChangeTracker(ScriptDependencyTracker.Listener listener) {
logger.trace("removing change tracker listener {}", listener);
dependencyChangeListeners.remove(listener);
}
}

View File

@@ -0,0 +1,72 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import java.nio.file.Path;
import java.util.Arrays;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.service.WatchService;
/**
* Watches a gem home
*
* @author Cody Cutrer - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@NonNullByDefault
public class JRubyGemWatchService implements JRubyWatchService, WatchService.WatchEventListener {
private static final String GEMSPEC = ".gemspec";
private final WatchService watchService;
private final Path path;
private JRubyDependencyTracker dependencyTracker;
JRubyGemWatchService(WatchService watchService, String path, JRubyDependencyTracker dependencyTracker) {
this.watchService = watchService;
this.dependencyTracker = dependencyTracker;
this.path = Path.of(path);
}
@Override
public void activate() {
watchService.registerListener(this, path);
}
@Override
public void deactivate() {
watchService.unregisterListener(this);
}
@Override
public void processWatchEvent(WatchService.Kind kind, Path path) {
String file = path.toFile().getName();
if (file.endsWith(GEMSPEC)) {
// This seems really lazy, but you can't definitively tell the name
// of a gem from the gemspec's filename. It's simply too ambiguous with version
// numbers and platforms allowed to have `-` and `_` characters as well. RubyGems
// doesn't do it either - it either has the name already, and searches for
// `<name>-*.gemspec`, or it completely lists the all files on disk. Either way
// it then executes the gemspec to get full details. We can't do that here in
// pure Java and without a JRubyEngine available. So just punt and invalidate
// _all_ subsets of hyphens. Worst case we invalidate a "parent" gem that didn't
// need to be invalidated, but oh well, that just means a script reloads sometimes
// when it didn't absolutely need to.
String[] parts = file.split("-");
for (int i = 0; i < parts.length - 1; ++i) {
dependencyTracker.dependencyChanged("gem:" + String.join("-", Arrays.copyOf(parts, i + 1)));
}
}
}
}

View File

@@ -0,0 +1,60 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import static org.openhab.core.service.WatchService.Kind.*;
import java.io.File;
import java.nio.file.Path;
import java.util.List;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.service.WatchService;
import org.openhab.core.service.WatchService.Kind;
/**
* Watches a Ruby lib dir
*
* @author Cody Cutrer - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@NonNullByDefault
public class JRubyLibWatchService implements JRubyWatchService, WatchService.WatchEventListener {
private final JRubyDependencyTracker dependencyTracker;
private final WatchService watchService;
private final List<Path> paths;
JRubyLibWatchService(WatchService watchService, List<Path> paths, JRubyDependencyTracker dependencyTracker) {
this.watchService = watchService;
this.dependencyTracker = dependencyTracker;
this.paths = paths;
}
@Override
public void activate() {
watchService.registerListener(this, paths);
}
@Override
public void deactivate() {
watchService.unregisterListener(this);
}
@Override
public void processWatchEvent(Kind kind, Path path) {
File file = path.toFile();
if (!file.isHidden() && (kind == DELETE || (file.canRead() && (kind == CREATE || kind == MODIFY)))) {
dependencyTracker.dependencyChanged(file.getPath());
}
}
}

View File

@@ -0,0 +1,72 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import java.io.File;
import java.nio.file.Path;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.automation.jrubyscripting.internal.JRubyScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.automation.module.script.ScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptEngineManager;
import org.openhab.core.automation.module.script.rulesupport.loader.AbstractScriptFileWatcher;
import org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher;
import org.openhab.core.service.ReadyService;
import org.openhab.core.service.StartLevelService;
import org.openhab.core.service.WatchService;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Monitors {@code <openHAB-conf>/automation/ruby} for Ruby files, but not libraries in lib or gems
*
* @author Cody Cutrer - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@Component(immediate = true, service = { ScriptFileWatcher.class, ScriptDependencyTracker.Listener.class })
@NonNullByDefault
public class JRubyScriptFileWatcher extends AbstractScriptFileWatcher {
private final Logger logger = LoggerFactory.getLogger(JRubyScriptFileWatcher.class);
private static final String FILE_DIRECTORY = "automation" + File.separator + "ruby";
private final JRubyScriptEngineFactory scriptEngineFactory;
@Activate
public JRubyScriptFileWatcher(final @Reference ScriptEngineManager manager,
final @Reference ReadyService readyService, final @Reference StartLevelService startLevelService,
final @Reference(target = "(" + Constants.SERVICE_PID
+ "=org.openhab.automation.jrubyscripting)") ScriptEngineFactory scriptEngineFactory,
final @Reference(target = WatchService.CONFIG_WATCHER_FILTER) WatchService watchService) {
super(watchService, manager, readyService, startLevelService, FILE_DIRECTORY, true);
this.scriptEngineFactory = (JRubyScriptEngineFactory) scriptEngineFactory;
}
@Override
protected Optional<String> getScriptType(Path scriptFilePath) {
String path = scriptFilePath.toString();
if (scriptEngineFactory.isFileInGemHome(path) || scriptEngineFactory.isFileInLoadPath(path)) {
return Optional.empty();
}
return super.getScriptType(scriptFilePath).filter(type -> scriptEngineFactory.getScriptTypes().contains(type));
}
}

View File

@@ -0,0 +1,34 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jrubyscripting.internal.watch;
import org.eclipse.jdt.annotation.NonNullByDefault;
/**
* The {@link JRubyWatchService} is an interface for controlling internal watch services
*
* @author Jan N. Klug - Initial contribution
*/
@NonNullByDefault
public interface JRubyWatchService {
/**
* start watching
*/
void activate();
/**
* stop watching
*/
void deactivate();
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon:addon id="jrubyscripting" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:addon="https://openhab.org/schemas/addon/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd">
<type>automation</type>
<name>JRuby Scripting</name>
<description>This adds a JRuby script engine.</description>
<connection>none</connection>
<service-id>org.openhab.automation.jrubyscripting</service-id>
<config-description-ref uri="automation:jrubyscripting"/>
</addon:addon>

View File

@@ -4,7 +4,18 @@
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0
https://openhab.org/schemas/config-description-1.0.0.xsd">
<config-description uri="automation:jruby">
<config-description uri="automation:jrubyscripting">
<parameter-group name="gems">
<label>Ruby Gems</label>
<description>This group defines the list of Ruby Gems to install.</description>
</parameter-group>
<parameter-group name="environment">
<label>Ruby Environment</label>
<description>This group defines Ruby's environment.</description>
<advanced>true</advanced>
</parameter-group>
<parameter-group name="system">
<label>System Properties</label>
@@ -12,22 +23,61 @@
<advanced>true</advanced>
</parameter-group>
<parameter-group name="environment">
<label>Ruby Environment</label>
<description>This group defines Ruby's environment.</description>
<advanced>false</advanced>
</parameter-group>
<parameter-group name="gems">
<parameter name="gems" type="text" required="false" groupName="gems">
<label>Ruby Gems</label>
<description>This group defines the list of Ruby Gems to install.</description>
<advanced>false</advanced>
</parameter-group>
<description><![CDATA[A comma separated list of Ruby Gems to install. Versions may be constrained by separating with an
<tt>=</tt> and then the standard RubyGems version constraint, such as "<tt>openhab-scripting=~>5.0</tt>".
]]></description>
<default>openhab-scripting=~>5.0.0</default>
</parameter>
<parameter name="require" type="text" required="false" groupName="gems">
<label>Require Scripts</label>
<description>A comma separated list of script names to be required by the JRuby Scripting Engine before running user
scripts.</description>
<default>openhab/dsl</default>
</parameter>
<parameter name="check_update" type="boolean" required="true" groupName="gems">
<label>Check for Gem Updates</label>
<description>Check RubyGems for updates to the above gems when OpenHAB starts or JRuby settings are changed.
Otherwise it will try to fulfill the requirements with locally installed gems, and you can manage them yourself with
an external Ruby by setting the same GEM_HOME.</description>
<default>true</default>
<advanced>true</advanced>
</parameter>
<parameter name="gem_home" type="text" required="false" groupName="environment">
<label>GEM_HOME</label>
<description><![CDATA[Location Ruby Gems will be installed to and loaded from. Directory will be created if necessary.
You can use <tt>{RUBY_ENGINE_VERSION}</tt>, <tt>{RUBY_ENGINE}</tt> and/or <tt>{RUBY_VERSION}</tt> replacements in this value to automatically point to
a new directory when the addon is updated with a new version of JRuby.
Defaults to "<tt>OPENHAB_CONF/automation/ruby/.gem/{RUBY_ENGINE_VERSION}</tt>" when not specified.
]]></description>
<advanced>true</advanced>
</parameter>
<parameter name="rubylib" type="text" required="false" groupName="environment">
<label>RUBYLIB</label>
<description><![CDATA[Search path for user libraries. Separate each path with a colon (semicolon in Windows). Defaults to
"<tt>OPENHAB_CONF/automation/ruby/lib</tt>" when not specified.]]></description>
<advanced>true</advanced>
</parameter>
<parameter name="dependency_tracking" type="boolean" required="true" groupName="environment">
<label>Enable Dependency Tracking</label>
<description>Dependency tracking allows your scripts to automatically reload when one of its dependencies is updated.
You may want to disable dependency tracking if you plan on editing or updating a shared library, but don't want all
your scripts to reload until you can test it.</description>
<default>true</default>
<advanced>true</advanced>
</parameter>
<parameter name="local_context" type="text" required="false" groupName="system">
<label>Context Instance Type</label>
<description>The local context holds Ruby runtime, name-value pairs for sharing variables between Java and Ruby. See
https://github.com/jruby/jruby/wiki/RedBridge#Context_Instance_Type for options and details.</description>
<description><![CDATA[The local context holds Ruby runtime, name-value pairs for sharing variables between Java and Ruby. See
<a href="https://github.com/jruby/jruby/wiki/RedBridge#Context_Instance_Type">the documentation</a> for options and details.
]]></description>
<default>singlethread</default>
<options>
<option value="singleton">Singleton</option>
@@ -35,35 +85,21 @@
<option value="singlethread">SingleThread</option>
<option value="concurrent">Concurrent</option>
</options>
<advanced>true</advanced>
</parameter>
<parameter name="local_variable" type="text" required="false" groupName="system">
<label>Local Variable Behavior</label>
<description>Defines how variables are shared between Ruby and Java. See
https://github.com/jruby/jruby/wiki/RedBridge#local-variable-behavior-options for options and details.</description>
<description><![CDATA[Defines how variables are shared between Ruby and Java. See
<a href="https://github.com/jruby/jruby/wiki/RedBridge#local-variable-behavior-options">the documentation</a> for options and details.
]]></description>
<default>transient</default>
<options>
<option value="transient">Transient</option>
<option value="persistent">Persistent</option>
<option value="global">Global</option>
</options>
</parameter>
<parameter name="gem_home" type="text" required="false" groupName="environment">
<label>GEM_HOME</label>
<description>Location Ruby Gems will be installed and loaded, directory will be created if missing and gem installs
are specified</description>
<default></default>
</parameter>
<parameter name="rubylib" type="text" required="false" groupName="environment">
<label>RUBYLIB</label>
<description>Search path for user libraries. Separate each path with a colon (semicolon in Windows).</description>
</parameter>
<parameter name="gems" type="text" required="false" groupName="gems">
<label>Ruby Gems</label>
<description>Comma separated list of Ruby Gems to install.</description>
<advanced>true</advanced>
</parameter>
</config-description>

View File

@@ -1,14 +1,11 @@
# service
service.automation.jrubyscripting.label = JRuby Scripting
# bundle config
automation.config.jruby.check_update.label = Check for Gem Updates
automation.config.jruby.check_update.description = Check RubyGems for updates to the above gems when OpenHAB starts or JRuby settings are changed. Otherwise it will try to fulfill the requirements with locally installed gems, and you can manage them yourself with an external Ruby by setting the same GEM_HOME.
automation.config.jruby.dependency_tracking.label = Enable Dependency Tracking
automation.config.jruby.dependency_tracking.description = Dependency tracking allows your scripts to automatically reload when one of its dependencies is updated. You may want to disable dependency tracking if you plan on editing or updating a shared library, but don't want all your scripts to reload until you can test it.
automation.config.jruby.gem_home.label = GEM_HOME
automation.config.jruby.gem_home.description = Location Ruby Gems will be installed and loaded, directory will be created if missing and gem installs are specified
automation.config.jruby.gem_home.description = Location Ruby Gems will be installed to and loaded from. Directory will be created if necessary. You can use <tt>{RUBY_ENGINE_VERSION}</tt>, <tt>{RUBY_ENGINE}</tt> and/or <tt>{RUBY_VERSION}</tt> replacements in this value to automatically point to a new directory when the addon is updated with a new version of JRuby. Defaults to "<tt>OPENHAB_CONF/automation/ruby/.gem/{RUBY_ENGINE_VERSION}</tt>" when not specified.
automation.config.jruby.gems.label = Ruby Gems
automation.config.jruby.gems.description = Comma separated list of Ruby Gems to install.
automation.config.jruby.gems.description = A comma separated list of Ruby Gems to install. Versions may be constrained by separating with an <tt>=</tt> and then the standard RubyGems version constraint, such as "<tt>openhab-scripting=~>5.0</tt>".
automation.config.jruby.group.environment.label = Ruby Environment
automation.config.jruby.group.environment.description = This group defines Ruby's environment.
automation.config.jruby.group.gems.label = Ruby Gems
@@ -16,15 +13,21 @@ automation.config.jruby.group.gems.description = This group defines the list of
automation.config.jruby.group.system.label = System Properties
automation.config.jruby.group.system.description = This group defines JRuby system properties.
automation.config.jruby.local_context.label = Context Instance Type
automation.config.jruby.local_context.description = The local context holds Ruby runtime, name-value pairs for sharing variables between Java and Ruby. See https://github.com/jruby/jruby/wiki/RedBridge#Context_Instance_Type for options and details.
automation.config.jruby.local_context.description = The local context holds Ruby runtime, name-value pairs for sharing variables between Java and Ruby. See <a href="https://github.com/jruby/jruby/wiki/RedBridge#Context_Instance_Type">the documentation</a> for options and details.
automation.config.jruby.local_context.option.singleton = Singleton
automation.config.jruby.local_context.option.threadsafe = ThreadSafe
automation.config.jruby.local_context.option.singlethread = SingleThread
automation.config.jruby.local_context.option.concurrent = Concurrent
automation.config.jruby.local_variable.label = Local Variable Behavior
automation.config.jruby.local_variable.description = Defines how variables are shared between Ruby and Java. See https://github.com/jruby/jruby/wiki/RedBridge#local-variable-behavior-options for options and details.
automation.config.jruby.local_variable.description = Defines how variables are shared between Ruby and Java. See <a href="https://github.com/jruby/jruby/wiki/RedBridge#local-variable-behavior-options">the documentation</a> for options and details.
automation.config.jruby.local_variable.option.transient = Transient
automation.config.jruby.local_variable.option.persistent = Persistent
automation.config.jruby.local_variable.option.global = Global
automation.config.jruby.require.label = Require Scripts
automation.config.jruby.require.description = A comma separated list of script names to be required by the JRuby Scripting Engine before running user scripts.
automation.config.jruby.rubylib.label = RUBYLIB
automation.config.jruby.rubylib.description = Search path for user libraries. Separate each path with a colon (semicolon in Windows).
automation.config.jruby.rubylib.description = Search path for user libraries. Separate each path with a colon (semicolon in Windows). Defaults to "<tt>OPENHAB_CONF/automation/ruby/lib</tt>" when not specified.
# service
service.automation.jrubyscripting.label = JRuby Scripting

View File

@@ -0,0 +1,33 @@
automation.config.jruby.check_update.label = Nach Gem Updates suchen
automation.config.jruby.check_update.description = Prüfen Sie RubyGems auf Aktualisierungen der oben genannten Gems, wenn OpenHAB startet oder JRuby-Einstellungen geändert werden. Andernfalls wird versucht, die Anforderungen mit lokal installierten Gems zu erfüllen. Sie können auch ein eigenes, externes Ruby einsetzen, indem Sie dasselbe GEM_HOME definieren.
automation.config.jruby.dependency_tracking.label = Abhängigkeitsverfolgung aktivieren
automation.config.jruby.dependency_tracking.description = Die Abhängigkeitsverfolgung ermöglicht es Ihren Skripten, automatisch neu zu laden, wenn eine ihrer Abhängigkeiten aktualisiert wird. Sie können die Abhängigkeitsverfolgung deaktivieren, wenn Sie eine gemeinsam genutzte Bibliothek bearbeiten oder aktualisieren möchten, aber nicht wollen, dass alle Skripte neu geladen werden, bis Sie sie testen können.
automation.config.jruby.gem_home.label = GEM_HOME
automation.config.jruby.gem_home.description = Speicherort Ruby Gems wird installiert und von dort geladen. Das Verzeichnis wird bei Bedarf erstellt. Sie können die Ersetzungen <tt>{RUBY_ENGINE_VERSION}</tt>, <tt>{RUBY_ENGINE}</tt> und/oder <tt>{RUBY_VERSION}</tt> in diesem Wert verwenden, um automatisch auf ein neues Verzeichnis zu verweisen, wenn das Addon wird mit einer neuen Version von JRuby aktualisiert. Standardmäßig „<tt>OPENHAB_CONF/automation/ruby/.gem/{RUBY_ENGINE_VERSION}</tt>“, wenn nicht angegeben.
automation.config.jruby.gems.label = Ruby Gems
automation.config.jruby.gems.description = Eine kommagetrennte Liste von zu installierenden Ruby Gems. Versionen können eingeschränkt werden, indem sie von <tt>\=</tt> getrennt werden, und dann die Standard RubyGems Versionsbeschränkung, wie "<tt>openhab-scripting\=~>5.0.0</tt>".
automation.config.jruby.group.environment.label = Ruby-Umgebung
automation.config.jruby.group.environment.description = Diese Gruppe definiert die Ruby Umgebung.
automation.config.jruby.group.gems.label = Ruby Gems
automation.config.jruby.group.gems.description = Diese Gruppe definiert die Liste der zu installierenden Ruby Gems.
automation.config.jruby.group.system.label = Systemeigenschaften
automation.config.jruby.group.system.description = Diese Gruppe definiert JRuby Systemeigenschaften.
automation.config.jruby.local_context.label = Context Instance Type
automation.config.jruby.local_context.description = Der lokale Kontext enthält Ruby Laufzeitumgebung, Namens-Wert-Paare für das Teilen von Variablen zwischen Java und Ruby. Siehe <a href\="https\://github.com/jruby/jruby/wiki/RedBridge\#Context_Instance_Type">die Dokumentation</a> für Optionen und Details.
automation.config.jruby.local_context.option.singleton = Singleton
automation.config.jruby.local_context.option.threadsafe = ThreadSafe
automation.config.jruby.local_context.option.singlethread = SingleThread
automation.config.jruby.local_context.option.concurrent = Concurrent
automation.config.jruby.local_variable.label = Lokales Variablenverhalten
automation.config.jruby.local_variable.description = Legt fest, wie Variablen zwischen Ruby und Java geteilt werden. Siehe <a href\="https\://github.com/jruby/jruby/wiki/RedBridge\#local-variable-behavior-options">die Dokumentation</a> für Optionen und Details.
automation.config.jruby.local_variable.option.transient = Transient
automation.config.jruby.local_variable.option.persistent = Persistent
automation.config.jruby.local_variable.option.global = Global
automation.config.jruby.require.label = Skripte anfordern
automation.config.jruby.require.description = Eine durch Kommata getrennte Liste von Skriptnamen, die von der JRuby Scripting Engine verlangt werden, bevor Benutzerskripte ausgeführt werden.
automation.config.jruby.rubylib.label = RUBYLIB
automation.config.jruby.rubylib.description = Suchpfad für Benutzerbibliotheken. Trennen Sie jeden Pfad mit einem Doppelpunkt (Semikolon unter Windows). Standardmäßig "<tt>OPENHAB_CONF/automation/ruby/lib</tt>" wenn nicht angegeben.
# service
service.automation.jrubyscripting.label = JRuby Scripting

View File

@@ -0,0 +1,30 @@
# service
service.automation.jrubyscripting.label = JRuby szkriptek
# bundle config
automation.config.jruby.gem_home.label = GEM_HOME
automation.config.jruby.gem_home.description = A Ruby Gems (gyémántok) telepítési és betöltési helye, ha a gyémántok telepítése engedélyezve van. A mappa automatikusan létrehozásra kerül
automation.config.jruby.gems.label = Ruby gyémántok
automation.config.jruby.gems.description = Vesszővel elválasztott lista a telepítendő gyémántokról.
automation.config.jruby.group.environment.label = Ruby környezet
automation.config.jruby.group.environment.description = Ez a csoport adja meg a Ruby környezetet.
automation.config.jruby.group.gems.label = Ruby gyémántok
automation.config.jruby.group.gems.description = Ez a csoport adja meg a Ruby gyémántok telepítendő listáját.
automation.config.jruby.group.system.label = Rendszer tulajdonságok
automation.config.jruby.group.system.description = Ez a csoport adja meg a JRuby rendszer tulajdonságokat.
automation.config.jruby.local_context.label = A kontextus példány típusa
automation.config.jruby.local_context.description = A helyi kontextus tartalmazza a Ruby futtatási környezetét, név-érték párjait a Java és Ruby közti változók átadásához. A lehetőségek és részletek megtekintéséhez nyissa meg a következő linket\: https\://github.com/jruby/jruby/wiki/RedBridge\#Context_Instance_Type.
automation.config.jruby.local_context.option.singleton = Egyke (singleton)
automation.config.jruby.local_context.option.threadsafe = Szálbiztos
automation.config.jruby.local_context.option.singlethread = Egyszálú
automation.config.jruby.local_context.option.concurrent = Párhuzamos
automation.config.jruby.local_variable.label = Helyi változó viselkedés
automation.config.jruby.local_variable.description = Megadja, hogy a változók átadása a Ruby és a Java környezet között miként történjen. Részletek\: https\://github.com/jruby/jruby/wiki/RedBridge\#local-variable-behavior-options.
automation.config.jruby.local_variable.option.transient = Átmeneti
automation.config.jruby.local_variable.option.persistent = Tartós
automation.config.jruby.local_variable.option.global = Teljes körű
automation.config.jruby.rubylib.label = RUBYLIB
automation.config.jruby.rubylib.description = A felhasználói könyvtárak keresési útvonala. Elválasztó a kettőspont (Pontosvessző Windows alatt).

View File

@@ -0,0 +1,33 @@
automation.config.jruby.check_update.label = Controlla per Aggiornamenti di Gem
automation.config.jruby.check_update.description = Controllare RubyGems per gli aggiornamenti alle gem di cui sopra quando OpenHAB inizia o le impostazioni JRuby vengono modificate. Altrimenti proverà a soddisfare i requisiti con gem installate localmente, e puoi gestirli da soli con un Ruby esterno impostando lo stesso GEM_HOME.
automation.config.jruby.dependency_tracking.label = Abilita Monitoraggio Delle Dipendenze
automation.config.jruby.dependency_tracking.description = Il monitoraggio delle dipendenze consente agli script di ricaricare automaticamente quando una delle sue dipendenze viene aggiornata. Si consiglia di disabilitare il tracciamento delle dipendenze se si prevede di modificare o aggiornare una libreria condivisa, ma non vuoi che tutti gli script siano ricaricati fino a quando non puoi provarlo.
automation.config.jruby.gem_home.label = GEM_HOME
automation.config.jruby.gem_home.description = Il percorso da dove le Ruby Gems saranno installate e caricate. La directory verrà creata se necessario. È possibile utilizare i valori <tt>{RUBY_ENGINE_VERSION}</tt>, <tt>{RUBY_ENGINE}</tt> e/o <tt>{RUBY_VERSION}</tt> come sostituzioni per puntare automaticamente a una nuova directory quando l''addon viene aggiornato con una nuova versione di JRuby. Il valore predefinito è "<tt>OPENHAB_CONF/automation/ruby/.gem/{RUBY_ENGINE_VERSION}</tt>" se non specificato.
automation.config.jruby.gems.label = Ruby Gems
automation.config.jruby.gems.description = Un elenco separato da virgola di Ruby Gems da installare. Le versioni possono essere vincolate separando con un <tt>\=</tt> e quindi il vincolo di versione standard di RubyGems, come "<tt>openhab-scripting\=~>5.</tt>".
automation.config.jruby.group.environment.label = Ambiente Di Ruby
automation.config.jruby.group.environment.description = Questo gruppo definisce l'ambiente di Ruby.
automation.config.jruby.group.gems.label = Ruby Gems
automation.config.jruby.group.gems.description = Questo gruppo definisce la lista di Ruby Gems da installare.
automation.config.jruby.group.system.label = Proprietà di sistema
automation.config.jruby.group.system.description = Questo gruppo definisce le proprietà del sistema JRuby.
automation.config.jruby.local_context.label = Tipo Context Instance
automation.config.jruby.local_context.description = Il contesto locale contiene le coppie di runtime Ruby, none-valore per la condivisione delle variabili tra Java e Ruby. Vedere <a href\="https\://github.com/jruby/jruby/wiki/RedBridge\#Context_Instance_Type">la documentazione</a> per le opzioni e i dettagli.
automation.config.jruby.local_context.option.singleton = Singleton
automation.config.jruby.local_context.option.threadsafe = Thread Sicura
automation.config.jruby.local_context.option.singlethread = Thread Singola
automation.config.jruby.local_context.option.concurrent = Concorrente
automation.config.jruby.local_variable.label = Comportamento Variabile Locale
automation.config.jruby.local_variable.description = Definisce come le variabili sono condivise tra Ruby e Java. Vedi <a href\="https\://github.com/jruby/jruby/wiki/RedBridge\#local-variable-behavior-options">la documentazione</a> per le opzioni e i dettagli.
automation.config.jruby.local_variable.option.transient = Transitorio
automation.config.jruby.local_variable.option.persistent = Persistente
automation.config.jruby.local_variable.option.global = Globale
automation.config.jruby.require.label = Richiede Scripts
automation.config.jruby.require.description = Un elenco separato da virgola di nomi di script che devono essere richiesti dal motore di scripting JRuby prima di eseguire gli script utente.
automation.config.jruby.rubylib.label = RUBYLIB
automation.config.jruby.rubylib.description = Percorso di ricerca per le librerie utente. Separare ogni percorso con due punti (con un punto e virgola in Windows). Predefinito "<tt>OPENHAB_CONF/automation/ruby/lib</tt>" se non specificato.
# service
service.automation.jrubyscripting.label = JRuby Scripting

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,10 @@
Bundle-SymbolicName: ${project.artifactId}
DynamicImport-Package: *
Import-Package: org.openhab.core.automation.module.script,javax.management,javax.script,javax.xml.datatype,javax.xml.stream;version="[1.0,2)",org.osgi.framework;version="[1.8,2)",org.slf4j;version="[1.7,2)"
Require-Capability: osgi.extender;
Import-Package: org.openhab.core.automation.module.script,org.openhab.core.items,org.openhab.core.library.types,javax.management,javax.script,javax.xml.datatype,javax.xml.stream;version="[1.0,2)",org.osgi.framework;version="[1.8,2)",org.slf4j;version="[1.7,2)"
Require-Capability:
osgi.extender:=
filter:="(osgi.extender=osgi.serviceloader.processor)",
osgi.serviceloader;
osgi.serviceloader:=
filter:="(osgi.serviceloader=org.graalvm.polyglot.impl.AbstractPolyglotImpl)";
cardinality:=multiple

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.automation.jsscripting</artifactId>
<name>openHAB Add-ons :: Bundles :: Automation :: JSScripting</name>
<name>openHAB Add-ons :: Bundles :: Automation :: JavaScript Scripting</name>
<properties>
<bnd.importpackage>
@@ -20,10 +22,9 @@
!jdk.internal.reflect.*,
!jdk.vm.ci.services
</bnd.importpackage>
<graal.version>21.3.0</graal.version>
<asm.version>6.2.1</asm.version>
<graal.version>22.0.0.2</graal.version> <!-- DO NOT UPGRADE: 22.0.0.2 is the latest version working on armv7l / OpenJDK 11.0.16 & armv7l / Zulu 17.0.5+8 -->
<oh.version>${project.version}</oh.version>
<ohjs.version>openhab@1.2.1</ohjs.version>
<ohjs.version>openhab@4.7.3</ohjs.version>
</properties>
<build>
@@ -46,9 +47,9 @@
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.12.0</version>
<version>1.12.1</version>
<configuration>
<nodeVersion>v12.16.1</nodeVersion>
<nodeVersion>v16.17.1</nodeVersion> <!-- DO NOT DOWNGRADE: NodeJS < 16 doesn't support Apple Silicon -->
<workingDirectory>target/js</workingDirectory>
</configuration>
<executions>
@@ -65,16 +66,30 @@
<goal>npm</goal>
</goals>
<configuration>
<arguments>install ${ohjs.version} webpack webpack-cli</arguments>
<!--suppress UnresolvedMavenProperty -->
<arguments>install ${ohjs.version} webpack@^5.87.0 webpack-cli@^5.1.4</arguments> <!-- webpack & webpack-cli versions should match to the ones from openhab-js -->
</configuration>
</execution>
<execution>
<id>npx webpack</id>
<id>npx webpack (openhab-js globals injection)</id>
<goals>
<goal>npx</goal>
</goals>
<configuration>
<arguments>webpack -c ./node_modules/openhab/webpack.config.js --entry ./node_modules/openhab/ -o ./dist</arguments>
<!--suppress UnresolvedMavenProperty -->
<arguments>webpack -c ./node_modules/openhab/build/@globals-webpack.config.js --entry-reset --entry
./node_modules/openhab/build/@openhab-globals.js -o ./dist</arguments>
</configuration>
</execution>
<execution>
<id>npx webpack (openhab-js)</id>
<goals>
<goal>npx</goal>
</goals>
<configuration>
<!--suppress UnresolvedMavenProperty -->
<arguments>webpack -c ./node_modules/openhab/build/webpack.config.js --entry-reset --entry
./node_modules/openhab/ -o ./dist</arguments>
</configuration>
</execution>
</executions>
@@ -99,6 +114,13 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.openhab.tools.sat</groupId>
<artifactId>sat-plugin</artifactId>
<configuration>
<pmdFilter>${project.basedir}/suppressions.properties</pmdFilter>
</configuration>
</plugin>
</plugins>
</build>
@@ -113,11 +135,6 @@
<artifactId>js-scriptengine</artifactId>
<version>${graal.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js-launcher</artifactId>
<version>${graal.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>graal-sdk</artifactId>
@@ -133,37 +150,7 @@
<artifactId>js</artifactId>
<version>${graal.version}</version>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>69.1</version>
</dependency>
<!-- include as version required is older than OH provides -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
<version>${asm.version}</version>
</dependency>
<!-- GraalJS changelog says that com.ibm.icu/icu4j is not required for GraalJS >= 22.0.0 as it moved to org.graalvm.truffle;
but GraalJS >= 22.2.0 requires it, so we'll need to add it when we upgrade -->
</dependencies>
</project>

View File

@@ -3,7 +3,7 @@
<features name="org.openhab.automation.jsscripting-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository>
<feature name="openhab-automation-jsscripting" description="JSScripting" version="${project.version}">
<feature name="openhab-automation-jsscripting" description="JavaScript Scripting" version="${project.version}">
<feature>openhab-runtime-base</feature>
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.automation.jsscripting/${project.version}</bundle>
</feature>

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -15,10 +15,9 @@ package org.openhab.automation.jsscripting.internal;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
import org.graalvm.polyglot.PolyglotException;
import org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocable;
import org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,8 +26,8 @@ import org.slf4j.LoggerFactory;
*
* @author Jonathan Gilbert - Initial contribution
*/
class DebuggingGraalScriptEngine<T extends ScriptEngine & Invocable>
extends InvocationInterceptingScriptEngineWithInvocable<T> {
class DebuggingGraalScriptEngine<T extends ScriptEngine & Invocable & AutoCloseable>
extends InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable<T> {
private static final Logger STACK_LOGGER = LoggerFactory
.getLogger("org.openhab.automation.script.javascript.stack");
@@ -38,11 +37,14 @@ class DebuggingGraalScriptEngine<T extends ScriptEngine & Invocable>
}
@Override
public ScriptException afterThrowsInvocation(ScriptException se) {
Throwable cause = se.getCause();
public Exception afterThrowsInvocation(Exception e) {
Throwable cause = e.getCause();
if (cause instanceof IllegalArgumentException) {
STACK_LOGGER.error("Failed to execute script:", e);
}
if (cause instanceof PolyglotException) {
STACK_LOGGER.error("Failed to execute script:", cause);
}
return se;
return e;
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -12,20 +12,26 @@
*/
package org.openhab.automation.jsscripting.internal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
import javax.script.ScriptEngine;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.automation.jsscripting.internal.fs.watch.JSDependencyTracker;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.automation.module.script.ScriptEngineFactory;
import org.openhab.core.config.core.ConfigParser;
import org.openhab.core.config.core.ConfigurableService;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Modified;
import org.osgi.service.component.annotations.Reference;
import com.oracle.truffle.js.scriptengine.GraalJSEngineFactory;
/**
* An implementation of {@link ScriptEngineFactory} with customizations for GraalJS ScriptEngines.
@@ -36,52 +42,64 @@ import org.osgi.service.component.annotations.Modified;
@Component(service = ScriptEngineFactory.class, configurationPid = "org.openhab.jsscripting", property = Constants.SERVICE_PID
+ "=org.openhab.jsscripting")
@ConfigurableService(category = "automation", label = "JS Scripting", description_uri = "automation:jsscripting")
@NonNullByDefault
public final class GraalJSScriptEngineFactory implements ScriptEngineFactory {
private static final String CFG_INJECTION_ENABLED = "injectionEnabled";
private static final String INJECTION_CODE = "Object.assign(this, require('openhab'));";
private boolean injectionEnabled = true;
private static final String CFG_INJECTION_CACHING_ENABLED = "injectionCachingEnabled";
public static final String MIME_TYPE = "application/javascript;version=ECMAScript-2021";
private static final GraalJSEngineFactory factory = new GraalJSEngineFactory();
private static final List<String> scriptTypes = createScriptTypes();
private static List<String> createScriptTypes() {
// Add those for backward compatibility (existing scripts may rely on those MIME types)
List<String> backwardCompat = List.of("application/javascript;version=ECMAScript-2021", "graaljs");
return Stream.of(factory.getMimeTypes(), factory.getExtensions(), backwardCompat).flatMap(List::stream)
.toList();
}
private boolean injectionEnabled = true;
private boolean injectionCachingEnabled = true;
private final JSScriptServiceUtil jsScriptServiceUtil;
private final JSDependencyTracker jsDependencyTracker;
@Activate
public GraalJSScriptEngineFactory(final @Reference JSScriptServiceUtil jsScriptServiceUtil,
final @Reference JSDependencyTracker jsDependencyTracker, Map<String, Object> config) {
this.jsDependencyTracker = jsDependencyTracker;
this.jsScriptServiceUtil = jsScriptServiceUtil;
modified(config);
}
@Override
public List<String> getScriptTypes() {
List<String> scriptTypes = new ArrayList<>();
/*
* Whilst we run in parallel with Nashorn, we use a custom mime-type to avoid
* disrupting Nashorn scripts. When Nashorn is removed, we take over the standard
* JS runtime.
*/
// GraalJSEngineFactory graalJSEngineFactory = new GraalJSEngineFactory();
//
// scriptTypes.addAll(graalJSEngineFactory.getMimeTypes());
// scriptTypes.addAll(graalJSEngineFactory.getExtensions());
scriptTypes.add(MIME_TYPE);
return Collections.unmodifiableList(scriptTypes);
return scriptTypes;
}
@Override
public void scopeValues(ScriptEngine scriptEngine, Map<String, Object> scopeValues) {
// noop; the are retrieved via modules, not injected
// noop; they are retrieved via modules, not injected
}
@Override
public ScriptEngine createScriptEngine(String scriptType) {
return new DebuggingGraalScriptEngine<>(
new OpenhabGraalJSScriptEngine(injectionEnabled ? INJECTION_CODE : null));
public @Nullable ScriptEngine createScriptEngine(String scriptType) {
if (!scriptTypes.contains(scriptType)) {
return null;
}
return new DebuggingGraalScriptEngine<>(new OpenhabGraalJSScriptEngine(injectionEnabled,
injectionCachingEnabled, jsScriptServiceUtil, jsDependencyTracker));
}
@Activate
protected void activate(BundleContext context, Map<String, ?> config) {
modified(config);
@Override
public @Nullable ScriptDependencyTracker getDependencyTracker() {
return jsDependencyTracker;
}
@Modified
protected void modified(Map<String, ?> config) {
Object injectionEnabled = config.get(CFG_INJECTION_ENABLED);
this.injectionEnabled = injectionEnabled == null || (Boolean) injectionEnabled;
this.injectionEnabled = ConfigParser.valueAsOrElse(config.get(CFG_INJECTION_ENABLED), Boolean.class, true);
this.injectionCachingEnabled = ConfigParser.valueAsOrElse(config.get(CFG_INJECTION_CACHING_ENABLED),
Boolean.class, true);
}
}

View File

@@ -0,0 +1,58 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.automation.jsscripting.internal.threading.ThreadsafeTimers;
/**
* Abstraction layer to collect all features injected into the JS runtime during the context creation.
*
* @author Florian Hotze - Initial contribution
*/
@NonNullByDefault
public class JSRuntimeFeatures {
/**
* All elements of this Map are injected into the JS runtime using their key as the name.
*/
private final Map<String, Object> features = new HashMap<>();
public final ThreadsafeTimers threadsafeTimers;
JSRuntimeFeatures(Lock lock, JSScriptServiceUtil jsScriptServiceUtil) {
this.threadsafeTimers = new ThreadsafeTimers(lock, jsScriptServiceUtil.getScriptExecution(),
jsScriptServiceUtil.getScheduler());
features.put("ThreadsafeTimers", threadsafeTimers);
}
/**
* Get the features that are to be injected into the JS runtime during context creation.
*
* @return the runtime features
*/
public Map<String, Object> getFeatures() {
return features;
}
/**
* Un-initialization hook, called when the engine is closed.
* Use this method to clean up resources or cancel operations that were created by the JS runtime.
*/
public void close() {
threadsafeTimers.clearAll();
}
}

View File

@@ -0,0 +1,52 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.automation.module.script.action.ScriptExecution;
import org.openhab.core.scheduler.Scheduler;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* OSGi utility service for providing easy access to script services.
*
* @author Florian Hotze - Initial contribution
*/
@Component(immediate = true, service = JSScriptServiceUtil.class)
@NonNullByDefault
public class JSScriptServiceUtil {
private final Scheduler scheduler;
private final ScriptExecution scriptExecution;
@Activate
public JSScriptServiceUtil(final @Reference Scheduler scheduler, final @Reference ScriptExecution scriptExecution) {
this.scheduler = scheduler;
this.scriptExecution = scriptExecution;
}
public Scheduler getScheduler() {
return scheduler;
}
public ScriptExecution getScriptExecution() {
return scriptExecution;
}
public JSRuntimeFeatures getJSRuntimeFeatures(Lock lock) {
return new JSRuntimeFeatures(lock, this);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -16,6 +16,8 @@ import static org.openhab.core.automation.module.script.ScriptEngineFactory.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.channels.SeekableByteChannel;
import java.nio.file.AccessMode;
import java.nio.file.FileSystems;
@@ -26,94 +28,150 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileAttribute;
import java.time.Duration;
import java.time.Instant;
import java.time.ZonedDateTime;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Consumer;
import java.util.function.Function;
import javax.script.ScriptContext;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Engine;
import org.graalvm.polyglot.HostAccess;
import org.graalvm.polyglot.Source;
import org.graalvm.polyglot.Value;
import org.openhab.automation.jsscripting.internal.fs.DelegatingFileSystem;
import org.openhab.automation.jsscripting.internal.fs.PrefixedSeekableByteChannel;
import org.openhab.automation.jsscripting.internal.fs.ReadOnlySeekableByteArrayChannel;
import org.openhab.automation.jsscripting.internal.fs.watch.JSDependencyTracker;
import org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocable;
import org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable;
import org.openhab.core.automation.module.script.ScriptExtensionAccessor;
import org.openhab.core.items.Item;
import org.openhab.core.library.types.QuantityType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.oracle.truffle.js.scriptengine.GraalJSScriptEngine;
/**
* GraalJS Script Engine implementation
* GraalJS ScriptEngine implementation
*
* @author Jonathan Gilbert - Initial contribution
* @author Dan Cunningham - Script injections
* @author Florian Hotze - Create lock object for multi-thread synchronization; Inject the {@link JSRuntimeFeatures}
* into the JS context; Fix memory leak caused by HostObject by making HostAccess reference static; Switch to
* {@link Lock} for multi-thread synchronization; globals and openhab-js injection code caching
*/
public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngineWithInvocable<GraalJSScriptEngine> {
public class OpenhabGraalJSScriptEngine
extends InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable<GraalJSScriptEngine> {
private static final Logger LOGGER = LoggerFactory.getLogger(OpenhabGraalJSScriptEngine.class);
private static final String GLOBAL_REQUIRE = "require(\"@jsscripting-globals\");";
private static Source GLOBAL_SOURCE;
static {
try {
GLOBAL_SOURCE = Source.newBuilder("js", getFileAsReader("node_modules/@jsscripting-globals.js"),
"@jsscripting-globals.js").cached(true).build();
} catch (IOException e) {
throw new RuntimeException("Failed to load @jsscripting-globals.js", e);
}
}
private static Source OPENHAB_JS_SOURCE;
static {
try {
OPENHAB_JS_SOURCE = Source
.newBuilder("js", getFileAsReader("node_modules/@openhab-globals.js"), "@openhab-globals.js")
.cached(true).build();
} catch (IOException e) {
throw new RuntimeException("Failed to load @openhab-globals.js", e);
}
}
private static final String OPENHAB_JS_INJECTION_CODE = "Object.assign(this, require('openhab'));";
private static final String REQUIRE_WRAPPER_NAME = "__wraprequire__";
// final CommonJS search path for our library
/** Final CommonJS search path for our library */
private static final Path NODE_DIR = Paths.get("node_modules");
/** Shared Polyglot {@link Engine} across all instances of {@link OpenhabGraalJSScriptEngine} */
private static final Engine ENGINE = Engine.newBuilder().allowExperimentalOptions(true)
.option("engine.WarnInterpreterOnly", "false").build();
/** Provides unlimited host access as well as custom translations from JS to Java Objects */
private static final HostAccess HOST_ACCESS = HostAccess.newBuilder(HostAccess.ALL)
// Translate JS-Joda ZonedDateTime to java.time.ZonedDateTime
.targetTypeMapping(Value.class, ZonedDateTime.class, v -> v.hasMember("withFixedOffsetZone"),
v -> ZonedDateTime.parse(v.invokeMember("withFixedOffsetZone").invokeMember("toString").asString()),
HostAccess.TargetMappingPrecedence.LOW)
// Translate JS-Joda Duration to java.time.Duration
.targetTypeMapping(Value.class, Duration.class,
// picking two members to check as Duration has many common function names
v -> v.hasMember("minusDuration") && v.hasMember("toNanos"),
v -> Duration.ofNanos(v.invokeMember("toNanos").asLong()), HostAccess.TargetMappingPrecedence.LOW)
// Translate JS-Joda Instant to java.time.Instant
.targetTypeMapping(Value.class, Instant.class,
// picking two members to check as Instant has many common function names
v -> v.hasMember("toEpochMilli") && v.hasMember("epochSecond"),
v -> Instant.ofEpochMilli(v.invokeMember("toEpochMilli").asLong()),
HostAccess.TargetMappingPrecedence.LOW)
// Translate openhab-js Item to org.openhab.core.items.Item
.targetTypeMapping(Value.class, Item.class, v -> v.hasMember("rawItem"),
v -> v.getMember("rawItem").as(Item.class), HostAccess.TargetMappingPrecedence.LOW)
// Translate openhab-js Quantity to org.openhab.core.library.types.QuantityType
.targetTypeMapping(Value.class, QuantityType.class, v -> v.hasMember("rawQtyType"),
v -> v.getMember("rawQtyType").as(QuantityType.class), HostAccess.TargetMappingPrecedence.LOW)
.build();
/** {@link Lock} synchronization of multi-thread access */
private final Lock lock = new ReentrantLock();
private final JSRuntimeFeatures jsRuntimeFeatures;
// these fields start as null because they are populated on first use
private @NonNullByDefault({}) String engineIdentifier;
private @NonNullByDefault({}) Consumer<String> scriptDependencyListener;
private String engineIdentifier;
private @Nullable Consumer<String> scriptDependencyListener;
private boolean initialized = false;
private String globalScript;
private final boolean injectionEnabled;
private final boolean injectionCachingEnabled;
/**
* Creates an implementation of ScriptEngine (& Invocable), wrapping the contained engine, that tracks the script
* lifecycle and provides hooks for scripts to do so too.
* Creates an implementation of ScriptEngine {@code (& Invocable)}, wrapping the contained engine,
* that tracks the script lifecycle and provides hooks for scripts to do so too.
*/
public OpenhabGraalJSScriptEngine(@Nullable String injectionCode) {
public OpenhabGraalJSScriptEngine(boolean injectionEnabled, boolean injectionCachingEnabled,
JSScriptServiceUtil jsScriptServiceUtil, JSDependencyTracker jsDependencyTracker) {
super(null); // delegate depends on fields not yet initialised, so we cannot set it immediately
this.globalScript = GLOBAL_REQUIRE + (injectionCode != null ? injectionCode : "");
this.injectionEnabled = injectionEnabled;
this.injectionCachingEnabled = injectionCachingEnabled;
this.jsRuntimeFeatures = jsScriptServiceUtil.getJSRuntimeFeatures(lock);
// Custom translate JS Objects - > Java Objects
HostAccess hostAccess = HostAccess.newBuilder(HostAccess.ALL)
// Translate JS-Joda ZonedDateTime to java.time.ZonedDateTime
.targetTypeMapping(Value.class, ZonedDateTime.class, (v) -> v.hasMember("withFixedOffsetZone"), v -> {
return ZonedDateTime
.parse(v.invokeMember("withFixedOffsetZone").invokeMember("toString").asString());
}, HostAccess.TargetMappingPrecedence.LOW)
LOGGER.debug("Initializing GraalJS script engine...");
// Translate JS-Joda Duration to java.time.Duration
.targetTypeMapping(Value.class, Duration.class,
// picking two members to check as Duration has many common function names
(v) -> v.hasMember("minusDuration") && v.hasMember("toNanos"), v -> {
return Duration.ofNanos(v.invokeMember("toNanos").asLong());
}, HostAccess.TargetMappingPrecedence.LOW)
.build();
delegate = GraalJSScriptEngine.create(
Engine.newBuilder().allowExperimentalOptions(true).option("engine.WarnInterpreterOnly", "false")
.build(),
Context.newBuilder("js").allowExperimentalOptions(true).allowAllAccess(true).allowHostAccess(hostAccess)
.option("js.commonjs-require-cwd", JSDependencyTracker.LIB_PATH)
.option("js.nashorn-compat", "true") // to ease migration
.option("js.ecmascript-version", "2021") // nashorn compat will enforce es5 compatibility, we
// want ecma2021
.option("js.commonjs-require", "true") // enable CommonJS module support
delegate = GraalJSScriptEngine.create(ENGINE,
Context.newBuilder("js").allowExperimentalOptions(true).allowAllAccess(true)
.allowHostAccess(HOST_ACCESS)
.option("js.commonjs-require-cwd", jsDependencyTracker.getLibraryPath().toString())
.option("js.nashorn-compat", "true") // Enable Nashorn compat mode as openhab-js relies on
// accessors, see
// https://github.com/oracle/graaljs/blob/master/docs/user/NashornMigrationGuide.md#accessors
.option("js.ecmascript-version", "2022") // If Nashorn compat is enabled, it will enforce ES5
// compatibility, we want ECMA2022
.option("js.commonjs-require", "true") // Enable CommonJS module support
.hostClassLoader(getClass().getClassLoader())
.fileSystem(new DelegatingFileSystem(FileSystems.getDefault().provider()) {
@Override
public SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options,
FileAttribute<?>... attrs) throws IOException {
if (scriptDependencyListener != null) {
scriptDependencyListener.accept(path.toString());
Consumer<String> localScriptDependencyListener = scriptDependencyListener;
if (localScriptDependencyListener != null) {
localScriptDependencyListener.accept(path.toString());
}
if (path.toString().endsWith(".js")) {
@@ -150,7 +208,7 @@ public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngi
public Map<String, Object> readAttributes(Path path, String attributes,
LinkOption... options) throws IOException {
if (isRootNodePath(path)) {
return Collections.singletonMap("isRegularFile", true);
return Map.of("isRegularFile", true);
}
return super.readAttributes(path, attributes, options);
}
@@ -167,11 +225,18 @@ public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngi
@Override
protected void beforeInvocation() {
super.beforeInvocation();
lock.lock();
if (initialized) {
return;
}
ScriptContext ctx = delegate.getContext();
if (ctx == null) {
throw new IllegalStateException("Failed to retrieve script context");
}
// these are added post-construction, so we need to fetch them late
this.engineIdentifier = (String) ctx.getAttribute(CONTEXT_KEY_ENGINE_IDENTIFIER);
@@ -193,29 +258,63 @@ public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngi
}
ScriptExtensionModuleProvider scriptExtensionModuleProvider = new ScriptExtensionModuleProvider(
scriptExtensionAccessor);
scriptExtensionAccessor, lock);
// Wrap the "require" function to also allow loading modules from the ScriptExtensionModuleProvider
Function<Function<Object[], Object>, Function<String, Object>> wrapRequireFn = originalRequireFn -> moduleName -> scriptExtensionModuleProvider
.locatorFor(delegate.getPolyglotContext(), engineIdentifier).locateModule(moduleName)
.map(m -> (Object) m).orElseGet(() -> originalRequireFn.apply(new Object[] { moduleName }));
delegate.getBindings(ScriptContext.ENGINE_SCOPE).put(REQUIRE_WRAPPER_NAME, wrapRequireFn);
delegate.put("require", wrapRequireFn.apply((Function<Object[], Object>) delegate.get("require")));
// Injections into the JS runtime
jsRuntimeFeatures.getFeatures().forEach((key, obj) -> {
LOGGER.debug("Injecting {} into the JS runtime...", key);
delegate.put(key, obj);
});
initialized = true;
try {
eval(globalScript);
LOGGER.debug("Evaluating cached global script...");
delegate.getPolyglotContext().eval(GLOBAL_SOURCE);
if (this.injectionEnabled) {
if (this.injectionCachingEnabled) {
LOGGER.debug("Evaluating cached openhab-js injection...");
delegate.getPolyglotContext().eval(OPENHAB_JS_SOURCE);
} else {
LOGGER.debug("Evaluating openhab-js injection from the file system...");
eval(OPENHAB_JS_INJECTION_CODE);
}
}
LOGGER.debug("Successfully initialized GraalJS script engine.");
} catch (ScriptException e) {
LOGGER.error("Could not inject global script", e);
}
}
@Override
protected Object afterInvocation(Object obj) {
lock.unlock();
return super.afterInvocation(obj);
}
@Override
protected Exception afterThrowsInvocation(Exception e) {
lock.unlock();
return super.afterThrowsInvocation(e);
}
@Override
public void close() {
jsRuntimeFeatures.close();
}
/**
* Tests if this is a root node directory, `/node_modules`, `C:\node_modules`, etc...
*
* @param path
* @return
* @param path a root path
* @return whether the given path is a node root directory
*/
private boolean isRootNodePath(Path path) {
return path.startsWith(path.getRoot().resolve(NODE_DIR));
@@ -223,11 +322,26 @@ public class OpenhabGraalJSScriptEngine extends InvocationInterceptingScriptEngi
/**
* Converts a root node path to a class resource path for loading local modules
* Ex: C:\node_modules\foo.js -> /node_modules/foo.js
*
* @param path
* @return
* @param path a root path, e.g. C:\node_modules\foo.js
* @return the class resource path for loading local modules
*/
private String nodeFileToResource(Path path) {
return "/" + NODE_DIR + "/" + path.getFileName();
return "/" + path.subpath(0, path.getNameCount()).toString().replace('\\', '/');
}
/**
* @param fileName filename relative to the resources folder
* @return file as {@link InputStreamReader}
*/
private static Reader getFileAsReader(String fileName) throws IOException {
InputStream ioStream = OpenhabGraalJSScriptEngine.class.getClassLoader().getResourceAsStream(fileName);
if (ioStream == null) {
throw new IOException(fileName + " not found");
}
return new InputStreamReader(ioStream);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -16,6 +16,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.graalvm.polyglot.Context;
@@ -26,9 +27,11 @@ import org.openhab.core.automation.module.script.ScriptExtensionAccessor;
import org.openhab.core.automation.module.script.rulesupport.shared.ScriptedAutomationManager;
/**
* Class providing script extensions via CommonJS modules.
* Class providing script extensions via CommonJS modules (with module name `@runtime`).
*
* @author Jonathan Gilbert - Initial contribution
* @author Florian Hotze - Pass in lock object for multi-thread synchronization; Switch to {@link Lock} for multi-thread
* synchronization
*/
@NonNullByDefault
@@ -36,11 +39,13 @@ public class ScriptExtensionModuleProvider {
private static final String RUNTIME_MODULE_PREFIX = "@runtime";
private static final String DEFAULT_MODULE_NAME = "Defaults";
private final Lock lock;
private final ScriptExtensionAccessor scriptExtensionAccessor;
public ScriptExtensionModuleProvider(ScriptExtensionAccessor scriptExtensionAccessor) {
public ScriptExtensionModuleProvider(ScriptExtensionAccessor scriptExtensionAccessor, Lock lock) {
this.scriptExtensionAccessor = scriptExtensionAccessor;
this.lock = lock;
}
public ModuleLocator locatorFor(Context ctx, String engineIdentifier) {
@@ -73,10 +78,15 @@ public class ScriptExtensionModuleProvider {
private Value toValue(Context ctx, Map<String, Object> map) {
try {
return ctx.eval(Source.newBuilder( // convert to Map to JS Object
"js",
"(function (mapOfValues) {\n" + "let rv = {};\n" + "for (var key in mapOfValues) {\n"
+ " rv[key] = mapOfValues.get(key);\n" + "}\n" + "return rv;\n" + "})",
"<generated>").build()).execute(map);
"js", """
(function (mapOfValues) {
let rv = {};
for (var key in mapOfValues) {
rv[key] = mapOfValues.get(key);
}
return rv;
})\
""", "<generated>").build()).execute(map);
} catch (IOException e) {
throw new IllegalArgumentException("Failed to generate exports", e);
}
@@ -94,7 +104,7 @@ public class ScriptExtensionModuleProvider {
for (Map.Entry<String, Object> entry : rv.entrySet()) {
if (entry.getValue() instanceof ScriptedAutomationManager) {
entry.setValue(new ThreadsafeWrappingScriptedAutomationManagerDelegate(
(ScriptedAutomationManager) entry.getValue()));
(ScriptedAutomationManager) entry.getValue(), lock));
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -14,47 +14,48 @@ package org.openhab.automation.jsscripting.internal.fs.watch;
import java.io.File;
import org.openhab.core.OpenHAB;
import org.openhab.core.automation.module.script.rulesupport.loader.DependencyTracker;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.automation.module.script.rulesupport.loader.AbstractScriptDependencyTracker;
import org.openhab.core.service.WatchService;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
/**
* Tracks JS module dependencies
*
* @author Jonathan Gilbert - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@Component(immediate = true, service = JSDependencyTracker.class)
public class JSDependencyTracker extends DependencyTracker {
@Component(service = JSDependencyTracker.class)
@NonNullByDefault
public class JSDependencyTracker extends AbstractScriptDependencyTracker {
private final Logger logger = LoggerFactory.getLogger(JSDependencyTracker.class);
public static final String LIB_PATH = String.join(File.separator, OpenHAB.getConfigFolder(), "automation", "js",
"node_modules");
public JSDependencyTracker() {
super(LIB_PATH);
}
private static final String LIB_PATH = String.join(File.separator, "automation", "js", "node_modules");
@Activate
public void activate() {
File directory = new File(LIB_PATH);
if (!directory.exists()) {
if (!directory.mkdirs()) {
logger.warn("Failed to create watched directory: {}", LIB_PATH);
}
} else if (directory.isFile()) {
logger.warn("Trying to watch directory {}, however it is a file", LIB_PATH);
}
super.activate();
public JSDependencyTracker(@Reference(target = WatchService.CONFIG_WATCHER_FILTER) WatchService watchService) {
super(watchService, LIB_PATH);
}
@Deactivate
@Override
public void deactivate() {
super.deactivate();
}
@Override
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC, unbind = "removeChangeTracker")
public void addChangeTracker(ScriptDependencyTracker.Listener listener) {
super.addChangeTracker(listener);
}
@Override
public void removeChangeTracker(ScriptDependencyTracker.Listener listener) {
super.removeChangeTracker(listener);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -13,53 +13,45 @@
package org.openhab.automation.jsscripting.internal.fs.watch;
import java.io.File;
import java.nio.file.Path;
import java.util.Optional;
import org.openhab.automation.jsscripting.internal.GraalJSScriptEngineFactory;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.automation.module.script.ScriptDependencyTracker;
import org.openhab.core.automation.module.script.ScriptEngineManager;
import org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileReference;
import org.openhab.core.automation.module.script.rulesupport.loader.AbstractScriptFileWatcher;
import org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher;
import org.openhab.core.service.ReadyService;
import org.openhab.core.service.StartLevelService;
import org.openhab.core.service.WatchService;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
/**
* Monitors <openHAB-conf>/automation/js for Javascript files
* Monitors {@code <openHAB-conf>/automation/js} for Javascript files, but not libraries
*
* @author Jonathan Gilbert - Initial contribution
* @author Jan N. Klug - Refactored to new WatchService
*/
@Component(immediate = true)
public class JSScriptFileWatcher extends ScriptFileWatcher {
@Component(immediate = true, service = { ScriptFileWatcher.class, ScriptDependencyTracker.Listener.class })
@NonNullByDefault
public class JSScriptFileWatcher extends AbstractScriptFileWatcher {
private static final String FILE_DIRECTORY = "automation" + File.separator + "js";
@Activate
public JSScriptFileWatcher(final @Reference ScriptEngineManager manager, final @Reference ReadyService readyService,
final @Reference JSDependencyTracker jsDependencyTracker) {
super(manager, jsDependencyTracker, readyService, FILE_DIRECTORY);
}
@Activate
@Override
public void activate() {
super.activate();
}
@Deactivate
@Override
public void deactivate() {
super.deactivate();
public JSScriptFileWatcher(final @Reference(target = WatchService.CONFIG_WATCHER_FILTER) WatchService watchService,
final @Reference ScriptEngineManager manager, final @Reference ReadyService readyService,
final @Reference StartLevelService startLevelService) {
super(watchService, manager, readyService, startLevelService, FILE_DIRECTORY, true);
}
@Override
protected boolean createAndLoad(ScriptFileReference ref) {
return super.createAndLoad(new ScriptFileReference(ref.getScriptFileURL()) {
@Override
public Optional<String> getScriptType() {
assert super.getScriptType().get().equalsIgnoreCase("js");
return Optional.of(GraalJSScriptEngineFactory.MIME_TYPE);
}
});
protected Optional<String> getScriptType(Path scriptFilePath) {
String scriptType = super.getScriptType(scriptFilePath).orElse(null);
if (!scriptFilePath.startsWith(getWatchPath().resolve("node_modules")) && ("js".equals(scriptType))) {
return Optional.of(scriptType);
}
return Optional.empty();
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -17,9 +17,12 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.automation.module.script.ScriptExtensionProvider;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.annotations.Activate;
@@ -30,7 +33,7 @@ import org.osgi.service.component.annotations.Activate;
* @author Jonathan Gilbert - Initial contribution
*/
public abstract class AbstractScriptExtensionProvider implements ScriptExtensionProvider {
private Map<String, Function<String, Object>> types;
private Map<String, Function<String, Object>> types = new HashMap<>();
private Map<String, Map<String, Object>> idToTypes = new ConcurrentHashMap<>();
protected abstract String getPresetName();
@@ -43,7 +46,7 @@ public abstract class AbstractScriptExtensionProvider implements ScriptExtension
@Activate
public void activate(final BundleContext context) {
types = new HashMap<>();
types.clear();
initializeTypes(context);
}
@@ -54,7 +57,7 @@ public abstract class AbstractScriptExtensionProvider implements ScriptExtension
@Override
public Collection<String> getPresets() {
return Collections.singleton(getPresetName());
return Set.of(getPresetName());
}
@Override
@@ -63,10 +66,10 @@ public abstract class AbstractScriptExtensionProvider implements ScriptExtension
}
@Override
public Object get(String scriptIdentifier, String type) throws IllegalArgumentException {
public @Nullable Object get(String scriptIdentifier, String type) throws IllegalArgumentException {
Map<String, Object> forScript = idToTypes.computeIfAbsent(scriptIdentifier, k -> new HashMap<>());
return forScript.computeIfAbsent(type, k -> types.get(k).apply(scriptIdentifier));
return forScript.computeIfAbsent(type,
k -> Objects.nonNull(types.get(k)) ? types.get(k).apply(scriptIdentifier) : null);
}
@Override

View File

@@ -1,25 +0,0 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scope;
//import com.oracle.truffle.js.runtime.java.adapter.JavaAdapterFactory;
/**
* Class utility to allow creation of 'extendable' classes with a classloader of the current bundle, rather than the
* classloader of the file being extended.
*
* @author Jonathan Gilbert - Initial contribution
*/
public class ClassExtender {
private ClassLoader classLoader = getClass().getClassLoader();
}

View File

@@ -1,64 +0,0 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scope;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Allows scripts to register for lifecycle events
*
* @author Jonathan Gilbert - Initial contribution
*/
public class Lifecycle implements ScriptDisposalAware {
private static final Logger logger = LoggerFactory.getLogger(Lifecycle.class);
public static final int DEFAULT_PRIORITY = 50;
private List<Hook> listeners = new ArrayList<>();
public void addDisposeHook(Consumer<Object> listener, int priority) {
addListener(listener, priority);
}
public void addDisposeHook(Consumer<Object> listener) {
addDisposeHook(listener, DEFAULT_PRIORITY);
}
private void addListener(Consumer<Object> listener, int priority) {
listeners.add(new Hook(priority, listener));
}
@Override
public void unload(String scriptIdentifier) {
try {
listeners.stream().sorted(Comparator.comparingInt(h -> h.priority))
.forEach(h -> h.fn.accept(scriptIdentifier));
} catch (RuntimeException ex) {
logger.warn("Script unloading halted due to exception in disposal: {}: {}", ex.getClass(), ex.getMessage());
}
}
private static class Hook {
public Hook(int priority, Consumer<Object> fn) {
this.priority = priority;
this.fn = fn;
}
int priority;
Consumer<Object> fn;
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -31,10 +31,6 @@ public class OSGiScriptExtensionProvider extends ScriptDisposalAwareScriptExtens
@Override
protected void initializeTypes(final BundleContext context) {
ClassExtender classExtender = new ClassExtender();
addType("bundleContext", k -> context);
addType("lifecycle", k -> new Lifecycle());
addType("classutil", k -> classExtender);
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -17,9 +17,12 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.automation.module.script.ScriptExtensionProvider;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.annotations.Activate;
@@ -55,7 +58,7 @@ public abstract class ScriptDisposalAwareScriptExtensionProvider
@Override
public Collection<String> getPresets() {
return Collections.singleton(getPresetName());
return Set.of(getPresetName());
}
@Override
@@ -64,10 +67,10 @@ public abstract class ScriptDisposalAwareScriptExtensionProvider
}
@Override
public Object get(String scriptIdentifier, String type) throws IllegalArgumentException {
public @Nullable Object get(String scriptIdentifier, String type) throws IllegalArgumentException {
Map<String, Object> forScript = idToTypes.computeIfAbsent(scriptIdentifier, k -> new HashMap<>());
return forScript.computeIfAbsent(type, k -> types.get(k).apply(scriptIdentifier));
return forScript.computeIfAbsent(type,
k -> Objects.nonNull(types.get(k)) ? types.get(k).apply(scriptIdentifier) : null);
}
@Override
@@ -89,8 +92,8 @@ public abstract class ScriptDisposalAwareScriptExtensionProvider
if (forScript != null) {
for (Object o : forScript.values()) {
if (o instanceof ScriptDisposalAware) {
((ScriptDisposalAware) o).unload(scriptIdentifier);
if (o instanceof ScriptDisposalAware script) {
script.unload(scriptIdentifier);
}
}
}

View File

@@ -1,101 +0,0 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scope;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.Supplier;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.automation.module.script.ScriptExtensionProvider;
import org.osgi.service.component.annotations.Component;
/**
* Shared Cache implementation for JS scripting.
*
* @author Jonathan Gilbert - Initial contribution
*/
@Component(immediate = true)
@NonNullByDefault
public class SharedCache implements ScriptExtensionProvider {
private static final String PRESET_NAME = "cache";
private static final String OBJECT_NAME = "sharedcache";
private JSCache cache = new JSCache();
@Override
public Collection<String> getDefaultPresets() {
return Set.of(PRESET_NAME);
}
@Override
public Collection<String> getPresets() {
return Set.of(PRESET_NAME);
}
@Override
public Collection<String> getTypes() {
return Set.of(OBJECT_NAME);
}
@Override
public @Nullable Object get(String scriptIdentifier, String type) throws IllegalArgumentException {
if (OBJECT_NAME.equals(type)) {
return cache;
}
return null;
}
@Override
public Map<String, Object> importPreset(String scriptIdentifier, String preset) {
if (PRESET_NAME.equals(preset)) {
final Object requestedType = get(scriptIdentifier, OBJECT_NAME);
if (requestedType != null) {
return Map.of(OBJECT_NAME, requestedType);
}
}
return Collections.emptyMap();
}
@Override
public void unload(String scriptIdentifier) {
// ignore for now
}
public static class JSCache {
private Map<String, Object> backingMap = new HashMap<>();
public void put(String k, Object v) {
backingMap.put(k, v);
}
public @Nullable Object remove(String k) {
return backingMap.remove(k);
}
public @Nullable Object get(String k) {
return backingMap.get(k);
}
public @Nullable Object get(String k, Supplier<Object> supplier) {
return backingMap.computeIfAbsent(k, (unused_key) -> supplier.get());
}
}
}

View File

@@ -1,128 +0,0 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scriptengine;
import java.io.Reader;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptException;
/**
* {@link ScriptEngine} implementation that delegates to a supplied ScriptEngine instance. Allows overriding specific
* methods.
*
* @author Jonathan Gilbert - Initial contribution
*/
public abstract class DelegatingScriptEngineWithInvocable<T extends ScriptEngine & Invocable>
implements ScriptEngine, Invocable {
protected T delegate;
public DelegatingScriptEngineWithInvocable(T delegate) {
this.delegate = delegate;
}
@Override
public Object eval(String s, ScriptContext scriptContext) throws ScriptException {
return delegate.eval(s, scriptContext);
}
@Override
public Object eval(Reader reader, ScriptContext scriptContext) throws ScriptException {
return delegate.eval(reader, scriptContext);
}
@Override
public Object eval(String s) throws ScriptException {
return delegate.eval(s);
}
@Override
public Object eval(Reader reader) throws ScriptException {
return delegate.eval(reader);
}
@Override
public Object eval(String s, Bindings bindings) throws ScriptException {
return delegate.eval(s, bindings);
}
@Override
public Object eval(Reader reader, Bindings bindings) throws ScriptException {
return delegate.eval(reader, bindings);
}
@Override
public void put(String s, Object o) {
delegate.put(s, o);
}
@Override
public Object get(String s) {
return delegate.get(s);
}
@Override
public Bindings getBindings(int i) {
return delegate.getBindings(i);
}
@Override
public void setBindings(Bindings bindings, int i) {
delegate.setBindings(bindings, i);
}
@Override
public Bindings createBindings() {
return delegate.createBindings();
}
@Override
public ScriptContext getContext() {
return delegate.getContext();
}
@Override
public void setContext(ScriptContext scriptContext) {
delegate.setContext(scriptContext);
}
@Override
public ScriptEngineFactory getFactory() {
return delegate.getFactory();
}
@Override
public Object invokeMethod(Object o, String s, Object... objects) throws ScriptException, NoSuchMethodException {
return delegate.invokeMethod(o, s, objects);
}
@Override
public Object invokeFunction(String s, Object... objects) throws ScriptException, NoSuchMethodException {
return delegate.invokeFunction(s, objects);
}
@Override
public <T> T getInterface(Class<T> aClass) {
return delegate.getInterface(aClass);
}
@Override
public <T> T getInterface(Object o, Class<T> aClass) {
return delegate.getInterface(o, aClass);
}
}

View File

@@ -0,0 +1,136 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scriptengine;
import java.io.Reader;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNull;
/**
* {@link ScriptEngine} implementation that delegates to a supplied ScriptEngine instance. Allows overriding specific
* methods.
*
* @author Jonathan Gilbert - Initial contribution
*/
public abstract class DelegatingScriptEngineWithInvocableAndAutocloseable<T extends ScriptEngine & Invocable & AutoCloseable>
implements ScriptEngine, Invocable, AutoCloseable {
protected @NonNull T delegate;
public DelegatingScriptEngineWithInvocableAndAutocloseable(@NonNull T delegate) {
this.delegate = delegate;
}
@Override
public Object eval(String s, ScriptContext scriptContext) throws ScriptException {
return delegate.eval(s, scriptContext);
}
@Override
public Object eval(Reader reader, ScriptContext scriptContext) throws ScriptException {
return delegate.eval(reader, scriptContext);
}
@Override
public Object eval(String s) throws ScriptException {
return delegate.eval(s);
}
@Override
public Object eval(Reader reader) throws ScriptException {
return delegate.eval(reader);
}
@Override
public Object eval(String s, Bindings bindings) throws ScriptException {
return delegate.eval(s, bindings);
}
@Override
public Object eval(Reader reader, Bindings bindings) throws ScriptException {
return delegate.eval(reader, bindings);
}
@Override
public void put(String s, Object o) {
delegate.put(s, o);
}
@Override
public Object get(String s) {
return delegate.get(s);
}
@Override
public Bindings getBindings(int i) {
return delegate.getBindings(i);
}
@Override
public void setBindings(Bindings bindings, int i) {
delegate.setBindings(bindings, i);
}
@Override
public Bindings createBindings() {
return delegate.createBindings();
}
@Override
public ScriptContext getContext() {
return delegate.getContext();
}
@Override
public void setContext(ScriptContext scriptContext) {
delegate.setContext(scriptContext);
}
@Override
public ScriptEngineFactory getFactory() {
return delegate.getFactory();
}
@Override
public Object invokeMethod(Object o, String s, Object... objects)
throws ScriptException, NoSuchMethodException, IllegalArgumentException {
return delegate.invokeMethod(o, s, objects);
}
@Override
public Object invokeFunction(String s, Object... objects) throws ScriptException, NoSuchMethodException {
return delegate.invokeFunction(s, objects);
}
@Override
public <T> T getInterface(Class<T> aClass) {
return delegate.getInterface(aClass);
}
@Override
public <T> T getInterface(Object o, Class<T> aClass) {
return delegate.getInterface(o, aClass);
}
@Override
public void close() throws Exception {
delegate.close();
}
}

View File

@@ -1,124 +0,0 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scriptengine;
import java.io.Reader;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
/**
* Delegate allowing AOP-style interception of calls, either before Invocation, or upon a {@link ScriptException}.
* being thrown.
*
* @param <T> The delegate class
* @author Jonathan Gilbert - Initial contribution
*/
public abstract class InvocationInterceptingScriptEngineWithInvocable<T extends ScriptEngine & Invocable>
extends DelegatingScriptEngineWithInvocable<T> {
public InvocationInterceptingScriptEngineWithInvocable(T delegate) {
super(delegate);
}
protected void beforeInvocation() {
}
protected ScriptException afterThrowsInvocation(ScriptException se) {
return se;
}
@Override
public Object eval(String s, ScriptContext scriptContext) throws ScriptException {
try {
beforeInvocation();
return super.eval(s, scriptContext);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object eval(Reader reader, ScriptContext scriptContext) throws ScriptException {
try {
beforeInvocation();
return super.eval(reader, scriptContext);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object eval(String s) throws ScriptException {
try {
beforeInvocation();
return super.eval(s);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object eval(Reader reader) throws ScriptException {
try {
beforeInvocation();
return super.eval(reader);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object eval(String s, Bindings bindings) throws ScriptException {
try {
beforeInvocation();
return super.eval(s, bindings);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object eval(Reader reader, Bindings bindings) throws ScriptException {
try {
beforeInvocation();
return super.eval(reader, bindings);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object invokeMethod(Object o, String s, Object... objects) throws ScriptException, NoSuchMethodException {
try {
beforeInvocation();
return super.invokeMethod(o, s, objects);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
@Override
public Object invokeFunction(String s, Object... objects) throws ScriptException, NoSuchMethodException {
try {
beforeInvocation();
return super.invokeFunction(s, objects);
} catch (ScriptException se) {
throw afterThrowsInvocation(se);
}
}
}

View File

@@ -0,0 +1,159 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.scriptengine;
import java.io.Reader;
import java.lang.reflect.UndeclaredThrowableException;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
/**
* Delegate allowing AOP-style interception of calls, either before Invocation, or upon a {@link ScriptException}.
* being thrown.
*
* @param <T> The delegate class
* @author Jonathan Gilbert - Initial contribution
*/
public abstract class InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable<T extends ScriptEngine & Invocable & AutoCloseable>
extends DelegatingScriptEngineWithInvocableAndAutocloseable<T> {
public InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable(T delegate) {
super(delegate);
}
protected void beforeInvocation() {
}
protected Object afterInvocation(Object obj) {
return obj;
}
protected Exception afterThrowsInvocation(Exception e) {
return e;
}
@Override
public Object eval(String s, ScriptContext scriptContext) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(s, scriptContext));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object eval(Reader reader, ScriptContext scriptContext) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(reader, scriptContext));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object eval(String s) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(s));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object eval(Reader reader) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(reader));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object eval(String s, Bindings bindings) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(s, bindings));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object eval(Reader reader, Bindings bindings) throws ScriptException {
try {
beforeInvocation();
return afterInvocation(super.eval(reader, bindings));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object invokeMethod(Object o, String s, Object... objects)
throws ScriptException, NoSuchMethodException, NullPointerException, IllegalArgumentException {
try {
beforeInvocation();
return afterInvocation(super.invokeMethod(o, s, objects));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (NoSuchMethodException e) { // Make sure to unlock on exceptions from Invocable.invokeMethod to avoid
// deadlocks
throw (NoSuchMethodException) afterThrowsInvocation(e);
} catch (NullPointerException e) {
throw (NullPointerException) afterThrowsInvocation(e);
} catch (IllegalArgumentException e) {
throw (IllegalArgumentException) afterThrowsInvocation(e);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
@Override
public Object invokeFunction(String s, Object... objects)
throws ScriptException, NoSuchMethodException, NullPointerException {
try {
beforeInvocation();
return afterInvocation(super.invokeFunction(s, objects));
} catch (ScriptException se) {
throw (ScriptException) afterThrowsInvocation(se);
} catch (NoSuchMethodException e) { // Make sure to unlock on exceptions from Invocable.invokeFunction to avoid
// deadlocks
throw (NoSuchMethodException) afterThrowsInvocation(e);
} catch (NullPointerException e) {
throw (NullPointerException) afterThrowsInvocation(e);
} catch (Exception e) {
throw new UndeclaredThrowableException(afterThrowsInvocation(e)); // Wrap and rethrow other exceptions
}
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -15,6 +15,7 @@ package org.openhab.automation.jsscripting.internal.threading;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
@@ -30,7 +31,7 @@ import org.openhab.core.config.core.ConfigDescriptionParameter;
import org.openhab.core.config.core.Configuration;
/**
* An version of {@link SimpleRule} which controls multithreaded execution access to this specific rule. This is useful
* A version of {@link SimpleRule} which controls multithreaded execution access to this specific rule. This is useful
* for rules which wrap GraalJS Contexts, which are not multithreaded.
*
* @author Jonathan Gilbert - Initial contribution
@@ -38,7 +39,7 @@ import org.openhab.core.config.core.Configuration;
@NonNullByDefault
class ThreadsafeSimpleRuleDelegate implements Rule, SimpleRuleActionHandler {
private final Object lock;
private final Lock lock;
private final SimpleRule delegate;
/**
@@ -47,7 +48,7 @@ class ThreadsafeSimpleRuleDelegate implements Rule, SimpleRuleActionHandler {
* @param lock rule executions will synchronize on this object
* @param delegate the delegate to forward invocations to
*/
ThreadsafeSimpleRuleDelegate(Object lock, SimpleRule delegate) {
ThreadsafeSimpleRuleDelegate(Lock lock, SimpleRule delegate) {
this.lock = lock;
this.delegate = delegate;
}
@@ -55,8 +56,11 @@ class ThreadsafeSimpleRuleDelegate implements Rule, SimpleRuleActionHandler {
@Override
@NonNullByDefault({})
public Object execute(Action module, Map<String, ?> inputs) {
synchronized (lock) {
lock.lock();
try {
return delegate.execute(module, inputs);
} finally { // Make sure that Lock is unlocked regardless of an exception is thrown or not to avoid deadlocks
lock.unlock();
}
}

View File

@@ -0,0 +1,213 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscripting.internal.threading;
import java.time.Duration;
import java.time.Instant;
import java.time.ZonedDateTime;
import java.time.temporal.Temporal;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.automation.module.script.action.ScriptExecution;
import org.openhab.core.automation.module.script.action.Timer;
import org.openhab.core.scheduler.ScheduledCompletableFuture;
import org.openhab.core.scheduler.Scheduler;
import org.openhab.core.scheduler.SchedulerTemporalAdjuster;
/**
* A polyfill implementation of NodeJS timer functionality (<code>setTimeout()</code>, <code>setInterval()</code> and
* the cancel methods) which controls multithreaded execution access to the single-threaded GraalJS contexts.
*
* @author Florian Hotze - Initial contribution; Reimplementation to conform standard JS setTimeout and setInterval;
* Threadsafe reimplementation of the timer creation methods of {@link ScriptExecution}
*/
public class ThreadsafeTimers {
private final Lock lock;
private final Scheduler scheduler;
private final ScriptExecution scriptExecution;
// Mapping of positive, non-zero integer values (used as timeoutID or intervalID) and the Scheduler
private final Map<Long, ScheduledCompletableFuture<Object>> idSchedulerMapping = new ConcurrentHashMap<>();
private AtomicLong lastId = new AtomicLong();
private String identifier = "noIdentifier";
public ThreadsafeTimers(Lock lock, ScriptExecution scriptExecution, Scheduler scheduler) {
this.lock = lock;
this.scheduler = scheduler;
this.scriptExecution = scriptExecution;
}
/**
* Set the identifier base string used for naming scheduled jobs.
*
* @param identifier identifier to use
*/
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
/**
* Schedules a block of code for later execution.
*
* @param instant the point in time when the code should be executed
* @param closure the code block to execute
* @return a handle to the created timer, so that it can be canceled or rescheduled
*/
public Timer createTimer(ZonedDateTime instant, Runnable closure) {
return createTimer(identifier, instant, closure);
}
/**
* Schedules a block of code for later execution.
*
* @param identifier an optional identifier
* @param instant the point in time when the code should be executed
* @param closure the code block to execute
* @return a handle to the created timer, so that it can be canceled or rescheduled
*/
public Timer createTimer(@Nullable String identifier, ZonedDateTime instant, Runnable closure) {
return scriptExecution.createTimer(identifier, instant, () -> {
lock.lock();
try {
closure.run();
} finally { // Make sure that Lock is unlocked regardless of an exception is thrown or not to avoid
// deadlocks
lock.unlock();
}
});
}
/**
* <a href="https://developer.mozilla.org/en-US/docs/Web/API/setTimeout"><code>setTimeout()</code></a> polyfill.
* Sets a timer which executes a given function once the timer expires.
*
* @param callback function to run after the given delay
* @param delay time in milliseconds that the timer should wait before the callback is executed
* @return Positive integer value which identifies the timer created; this value can be passed to
* <code>clearTimeout()</code> to cancel the timeout.
*/
public long setTimeout(Runnable callback, Long delay) {
long id = lastId.incrementAndGet();
ScheduledCompletableFuture<Object> future = scheduler.schedule(() -> {
lock.lock();
try {
callback.run();
idSchedulerMapping.remove(id);
} finally { // Make sure that Lock is unlocked regardless of an exception is thrown or not to avoid
// deadlocks
lock.unlock();
}
}, identifier + ".timeout." + id, Instant.now().plusMillis(delay));
idSchedulerMapping.put(id, future);
return id;
}
/**
* <a href="https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout"><code>clearTimeout()</code></a> polyfill.
* Cancels a timeout previously created by <code>setTimeout()</code>.
*
* @param timeoutId The identifier of the timeout you want to cancel. This ID was returned by the corresponding call
* to setTimeout().
*/
public void clearTimeout(long timeoutId) {
ScheduledCompletableFuture<Object> scheduled = idSchedulerMapping.remove(timeoutId);
if (scheduled != null) {
scheduled.cancel(true);
}
}
/**
* <a href="https://developer.mozilla.org/en-US/docs/Web/API/setInterval"><code>setInterval()</code></a> polyfill.
* Repeatedly calls a function with a fixed time delay between each call.
*
* @param callback function to run
* @param delay time in milliseconds that the timer should delay in between executions of the callback
* @return Numeric, non-zero value which identifies the timer created; this value can be passed to
* <code>clearInterval()</code> to cancel the interval.
*/
public long setInterval(Runnable callback, Long delay) {
long id = lastId.incrementAndGet();
ScheduledCompletableFuture<Object> future = scheduler.schedule(() -> {
lock.lock();
try {
callback.run();
} finally { // Make sure that Lock is unlocked regardless of an exception is thrown or not to avoid
// deadlocks
lock.unlock();
}
}, identifier + ".interval." + id, new LoopingAdjuster(Duration.ofMillis(delay)));
idSchedulerMapping.put(id, future);
return id;
}
/**
* <a href="https://developer.mozilla.org/en-US/docs/Web/API/clearInterval"><code>clearInterval()</code></a>
* polyfill.
* Cancels a timed, repeating action which was previously established by a call to <code>setInterval()</code>.
*
* @param intervalID The identifier of the repeated action you want to cancel. This ID was returned by the
* corresponding call to <code>setInterval()</code>.
*/
public void clearInterval(long intervalID) {
clearTimeout(intervalID);
}
/**
* Cancels all timed actions (i.e. timeouts and intervals) that were created with this instance of
* {@link ThreadsafeTimers}.
* Should be called in a de-initialization/unload hook of the script engine to avoid having scheduled jobs that are
* running endless.
*/
public void clearAll() {
idSchedulerMapping.forEach((id, future) -> future.cancel(true));
idSchedulerMapping.clear();
}
/**
* This is a temporal adjuster that takes a single delay.
* This adjuster makes the scheduler run as a fixed rate scheduler from the first time adjustInto was called.
*
* @author Florian Hotze - Initial contribution
*/
private static class LoopingAdjuster implements SchedulerTemporalAdjuster {
private Duration delay;
private @Nullable Temporal timeDone;
LoopingAdjuster(Duration delay) {
this.delay = delay;
}
@Override
public boolean isDone(Temporal temporal) {
// Always return false so that a new job will be scheduled
return false;
}
@Override
public Temporal adjustInto(Temporal temporal) {
Temporal localTimeDone = timeDone;
Temporal nextTime;
if (localTimeDone != null) {
nextTime = localTimeDone.plus(delay);
} else {
nextTime = temporal.plus(delay);
}
timeDone = nextTime;
return nextTime;
}
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
@@ -13,6 +13,8 @@
package org.openhab.automation.jsscripting.internal.threading;
import java.util.concurrent.locks.Lock;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.automation.Rule;
import org.openhab.core.automation.module.script.rulesupport.shared.ScriptedAutomationManager;
@@ -31,15 +33,18 @@ import org.openhab.core.automation.type.TriggerType;
* instance of this class that they are registered with.
*
* @author Jonathan Gilbert - Initial contribution
* @author Florian Hotze - Pass in lock object for multi-thread synchronization; Switch to {@link Lock} for multi-thread
* synchronization
*/
@NonNullByDefault
public class ThreadsafeWrappingScriptedAutomationManagerDelegate {
private ScriptedAutomationManager delegate;
private Object lock = new Object();
private final Lock lock;
public ThreadsafeWrappingScriptedAutomationManagerDelegate(ScriptedAutomationManager delegate) {
public ThreadsafeWrappingScriptedAutomationManagerDelegate(ScriptedAutomationManager delegate, Lock lock) {
this.delegate = delegate;
this.lock = lock;
}
public void removeModuleType(String UID) {
@@ -60,8 +65,8 @@ public class ThreadsafeWrappingScriptedAutomationManagerDelegate {
public Rule addRule(Rule element) {
// wrap in a threadsafe version, safe per context
if (element instanceof SimpleRule) {
element = new ThreadsafeSimpleRuleDelegate(lock, (SimpleRule) element);
if (element instanceof SimpleRule rule) {
element = new ThreadsafeSimpleRuleDelegate(lock, rule);
}
return delegate.addRule(element);

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon:addon id="jsscripting" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:addon="https://openhab.org/schemas/addon/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd">
<type>automation</type>
<name>JavaScript Scripting</name>
<description>This adds a JS (ECMAScript-2021) script engine.</description>
<connection>none</connection>
<service-id>org.openhab.jsscripting</service-id>
<config-description-ref uri="automation:jsscripting"/>
</addon:addon>

View File

@@ -7,8 +7,9 @@
<config-description uri="automation:jsscripting">
<parameter name="injectionEnabled" type="boolean" required="true">
<label>Use Built-in Global Variables</label>
<description><![CDATA[ Import all variables from the OH scripting library into all rules for common services like items, things, actions, log, etc... <br>
If disabled, the OH scripting library can be imported manually using "<i>require('openhab')</i>"
<description><![CDATA[
Import all variables from the openHAB JavaScript library into all rules for common services like items, things, actions, log, etc... <br>
If disabled, the openHAB JavaScript library can be imported manually using "<i>require('openhab')</i>"
]]></description>
<options>
<option value="true">Use Built-in Variables</option>
@@ -16,5 +17,17 @@
</options>
<default>true</default>
</parameter>
<parameter name="injectionCachingEnabled" type="boolean" required="true">
<label>Cache openHAB JavaScript Library Injection</label>
<description><![CDATA[
Cache the openHAB JavaScript library injection for optimal performance.<br>
Disable this option to allow loading the library from the local user configuration directory "automation/js/node_modules". Disabling caching may increase script loading times, especially on less powerful systems.
]]></description>
<options>
<option value="true">Cache Library Injection</option>
<option value="false">Do Not Cache Library Injection</option>
</options>
<default>true</default>
</parameter>
</config-description>
</config-description:config-descriptions>

View File

@@ -1,8 +1,15 @@
# add-on
addon.jsscripting.name = JavaScript Scripting
addon.jsscripting.description = This adds a JS (ECMAScript-2021) script engine.
# add-on
automation.config.jsscripting.injectionCachingEnabled.label = Cache openHAB JavaScript Library Injection
automation.config.jsscripting.injectionCachingEnabled.description = Cache the openHAB JavaScript library injection for optimal performance.<br>Disable this option to allow loading the library from the local user configuration directory "automation/js/node_modules". Disabling caching may increase script loading times, especially on less powerful systems.
automation.config.jsscripting.injectionCachingEnabled.option.true = Cache Library Injection
automation.config.jsscripting.injectionCachingEnabled.option.false = Do Not Cache Library Injection
automation.config.jsscripting.injectionEnabled.label = Use Built-in Global Variables
automation.config.jsscripting.injectionEnabled.description = Import all variables from the OH scripting library into all rules for common services like items, things, actions, log, etc... <br> If disabled, the OH scripting library can be imported manually using "<i>require('openhab')</i>"
automation.config.jsscripting.injectionEnabled.description = Import all variables from the openHAB JavaScript library into all rules for common services like items, things, actions, log, etc... <br> If disabled, the openHAB JavaScript library can be imported manually using "<i>require('openhab')</i>"
automation.config.jsscripting.injectionEnabled.option.true = Use Built-in Variables
automation.config.jsscripting.injectionEnabled.option.false = Do Not Use Built-in Variables
# service
service.automation.jsscripting.label = JS Scripting

View File

@@ -0,0 +1,15 @@
# add-on
addon.jsscripting.name = JavaScript Scripting
addon.jsscripting.description = Dette tilføjer en JS (ECMAScript-2021) script-motor.
# add-on
automation.config.jsscripting.injectionCachingEnabled.label = Cache openHAB JavaScript-bibliotek injektion
automation.config.jsscripting.injectionCachingEnabled.description = Brug det medfølgende openHAB JavaScript-bibliotek for optimal ydeevne.<br> Deaktivér denne indstilling for at tillade indlæsning af biblioteket fra den lokale brugerkonfigurerede mappe "automation/js/node_modules". Anvendelse af et bibliotek leveret af brugeren, kan resultere i øgede indlæsningstider, specielt på mindre kraftfulde systemer.
automation.config.jsscripting.injectionCachingEnabled.option.true = Cache injektion af bibliotek
automation.config.jsscripting.injectionCachingEnabled.option.false = Cache ikke injektion af bibliotek
automation.config.jsscripting.injectionEnabled.label = Brug indbyggede globale variabler
automation.config.jsscripting.injectionEnabled.description = Importer alle variabler fra openHAB JavaScript-biblioteket ind i alle regler for fælles tjenester som items, things, actions, log, etc... <br> Hvis deaktiveret, kan openHAB JavaScript-biblioteket importeres manuelt med "<i>require('openhab')</i>"
automation.config.jsscripting.injectionEnabled.option.true = Brug indbyggede variabler
automation.config.jsscripting.injectionEnabled.option.false = Brug ikke indbyggede variabler

View File

@@ -0,0 +1,12 @@
automation.config.jsscripting.injectionEnabled.label = Globale Integrierte Variablen
automation.config.jsscripting.injectionEnabled.description = Importiere alle globalen Variablen der openHAB Scripting Bibliothek in allen Regeln für häufig genutzte Dienste wie z. B. Items, Things, Actions, usw... <br> Wenn diese Option deaktiviert ist, dann kann die openHAB Scripting Bibliothek manuell mit "<i>require('openhab')</i>" importiert werden
automation.config.jsscripting.injectionEnabled.option.true = Integrierte Variablen verwenden
automation.config.jsscripting.injectionEnabled.option.false = Integrierten Variablen nicht verwenden
automation.config.jsscripting.useIncludedLibrary.label = Integrierte openHAB Scripting Bibliothek
automation.config.jsscripting.useIncludedLibrary.description = Verwende die mitgelieferte openHAB JavaScript-Bibliothek für optimale Performance.<br>Deaktiviere diese Option, um das Laden der Bibliothek aus dem lokalen Benutzerkonfigurationsverzeichnis "automation/js/node_modules" zu ermöglichen. Die Verwendung einer vom Benutzer zur Verfügung gestellten Version der Bibliothek kann die Ladezeiten des Skripts erhöhen, insbesondere auf weniger leistungsfähigen Systemen.
automation.config.jsscripting.useIncludedLibrary.option.true = Integrierte Bibliothek verwenden
automation.config.jsscripting.useIncludedLibrary.option.false = Integrierte Bibliothek nicht verwenden
# service
service.automation.jsscripting.label = JavaScript Scripting

View File

@@ -0,0 +1,8 @@
automation.config.jsscripting.injectionEnabled.label = Beépített teljes körű változók használata
automation.config.jsscripting.injectionEnabled.description = Az összes változó betöltése az OH szkript könyvtárból az összes közös szolgáltatási szabály számára, pl.\: elemek, dolgok, akciók, naplók, stb... <br> Ha kikapcsolja, az OH szkript könyvtárt betöltheti a "<i>require('openhab')</i>" paranccsal
automation.config.jsscripting.injectionEnabled.option.true = Beépített változók használata
automation.config.jsscripting.injectionEnabled.option.false = Ne használja a beépített változókat
# service
service.automation.jsscripting.label = JS szkriptek

View File

@@ -0,0 +1,15 @@
# add-on
addon.jsscripting.name = Script JavaScript
addon.jsscripting.description = Questo aggiunge un motore di script JS (ECMAScript-2021).
# add-on
automation.config.jsscripting.injectionCachingEnabled.label = Salva Libreria per Iniezione openHAB JavaScript
automation.config.jsscripting.injectionCachingEnabled.description = Utilizza la libreria JavaScript openHAB salvata per prestazioni ottimali.<br> Disabilita questa opzione per consentire il caricamento della libreria dalla directory di configurazione utente locale "automation/js/node_modules". L'utilizzo di una versione fornita dall'utente della libreria può aumentare i tempi di caricamento degli script, soprattutto su sistemi meno potenti.
automation.config.jsscripting.injectionCachingEnabled.option.true = Inietta Libreria Salvata
automation.config.jsscripting.injectionCachingEnabled.option.false = Inietta Libreria Non Salvata
automation.config.jsscripting.injectionEnabled.label = Usa le variabili globali Integrate
automation.config.jsscripting.injectionEnabled.description = Importa tutte le variabili dalla libreria JavaScript openHAB in tutte le Rules per servizi comuni come Item, Thing, Action, Log, ecc... <br> Se disabilitata, la libreria JavaScript openHAB può essere importata manualmente usando "<i>require('openhab')</i>"
automation.config.jsscripting.injectionEnabled.option.true = Utilizza variabili integrate
automation.config.jsscripting.injectionEnabled.option.false = Non utilizzare variabili integrate

View File

@@ -1,204 +1,178 @@
// ThreadsafeTimers is injected into the JS runtime
(function (global) {
'use strict';
'use strict';
const System = Java.type('java.lang.System');
const log = Java.type("org.slf4j.LoggerFactory").getLogger("org.openhab.automation.script");
const ScriptExecution = Java.type('org.openhab.core.model.script.actions.ScriptExecution');
const ZonedDateTime = Java.type('java.time.ZonedDateTime');
// Append the script file name OR rule UID depending on which is available
const defaultIdentifier = 'org.openhab.automation.script' + (globalThis['javax.script.filename'] ? '.file.' + globalThis['javax.script.filename'].replace(/^.*[\\\/]/, '') : globalThis.ruleUID ? '.ui.' + globalThis.ruleUID : '');
const System = Java.type('java.lang.System');
const formatRegExp = /%[sdj%]/g;
// Pass the defaultIdentifier to ThreadsafeTimers to enable naming of scheduled jobs
ThreadsafeTimers.setIdentifier(defaultIdentifier);
const formatRegExp = /%[sdj%]/g;
function createLogger (name = defaultIdentifier) {
return Java.type('org.slf4j.LoggerFactory').getLogger(name);
}
function stringify(value) {
try {
if (Java.isJavaObject(value)) {
return value.toString();
} else {
// special cases
if (value === undefined) {
return "undefined"
}
if (typeof value === 'function') {
return "[Function]"
}
if (value instanceof RegExp) {
return value.toString();
}
// fallback to JSON
return JSON.stringify(value, null, 2);
}
} catch (e) {
return '[Circular: ' + e + ']';
}
// User configurable
let log = createLogger();
function stringify (value) {
try {
if (typeof value === 'string') return value;
// special cases
if (value === undefined) {
return 'undefined';
}
if (value === null) {
return 'null';
}
// JSON.stringify all objects that do not polyfill toString()
const str = value.toString();
if (typeof value === 'object' && (str === '[object Object]' || str === '[object Java]')) {
return JSON.stringify(value, null, 2);
}
return str;
} catch (e) {
return 'Error: failed to format log message: ' + e;
}
}
function format(f) {
if (typeof f !== 'string') {
var objects = [];
for (var index = 0; index < arguments.length; index++) {
objects.push(stringify(arguments[index]));
}
return objects.join(' ');
}
function format (f) {
try {
const args = arguments;
if (arguments.length === 1) return f;
// If there is only one argument, stringify and return it
if (args.length === 1) return stringify(f);
var i = 1;
var args = arguments;
var len = args.length;
var str = String(f).replace(formatRegExp, function (x) {
if (x === '%%') return '%';
if (i >= len) return x;
switch (x) {
case '%s': return String(args[i++]);
case '%d': return Number(args[i++]);
case '%j':
try {
return stringify(args[i++]);
} catch (_) {
return '[Circular]';
}
// falls through
default:
return x;
}
// Else if the first arg is string, do regex string formatting
// the number of args after the formatted string must match the number of % placeholder
let str;
let i = 1;
if (typeof f === 'string') {
str = String(f).replace(formatRegExp, function (x) {
if (x === '%%') return '%';
if (i >= args.length) return x;
switch (x) {
case '%s': return String(args[i++]);
case '%d': return Number(args[i++]);
case '%j':
try {
return stringify(args[i++]);
} catch (e) {
return '[Circular]';
}
// falls through
default:
return x;
}
});
for (var x = args[i]; i < len; x = args[++i]) {
if (x === null || (typeof x !== 'object' && typeof x !== 'symbol')) {
str += ' ' + x;
} else {
str += ' ' + stringify(x);
}
}
// Else stringify and join all args
for (let x = args[i]; i < args.length; x = args[++i]) {
str += ' ' + stringify(x);
}
return str;
} catch (e) {
return 'Error: failed to format log message: ' + e;
}
}
const counters = {};
const timers = {};
// Polyfills for common NodeJS functions
const console = {
assert: function (expression, message) {
if (!expression) {
log.error(message);
}
},
count: function (label) {
let counter;
if (label) {
if (counters.hasOwnProperty(label)) {
counter = counters[label];
} else {
counter = 0;
}
return str;
}
const counters = {};
const timers = {};
// update
counters[label] = ++counter;
log.debug(format.apply(null, [label + ':', counter]));
}
},
const console = {
'assert': function (expression, message) {
if (!expression) {
log.error(message);
}
},
debug: function () {
log.debug(format.apply(null, arguments));
},
count: function (label) {
let counter;
info: function () {
log.info(format.apply(null, arguments));
},
if (label) {
if (counters.hasOwnProperty(label)) {
counter = counters[label];
} else {
counter = 0;
}
log: function () {
log.info(format.apply(null, arguments));
},
// update
counters[label] = ++counter;
log.debug(format.apply(null, [label + ':', counter]));
}
},
warn: function () {
log.warn(format.apply(null, arguments));
},
debug: function () {
log.debug(format.apply(null, arguments));
},
error: function () {
log.error(format.apply(null, arguments));
},
info: function () {
log.info(format.apply(null, arguments));
},
trace: function () {
log.trace(new Error(format.apply(null, arguments)).stack.replace(/^Error: /, ''));
},
log: function () {
log.info(format.apply(null, arguments));
},
time: function (label) {
if (label) {
timers[label] = System.currentTimeMillis();
}
},
warn: function () {
log.warn(format.apply(null, arguments));
},
error: function () {
log.error(format.apply(null, arguments));
},
trace: function (e) {
if (Java.isJavaObject(e)) {
log.trace(e.getLocalizedMessage(), e);
} else {
if (e.stack) {
log.trace(e.stack);
} else {
if (e.message) {
log.trace(format.apply(null, [(e.name || 'Error') + ':', e.message]));
} else {
log.trace((e.name || 'Error'));
}
}
}
},
time: function (label) {
if (label) {
timers[label] = System.currentTimeMillis();
}
},
timeEnd: function (label) {
if (label) {
const now = System.currentTimeMillis();
if (timers.hasOwnProperty(label)) {
log.info(format.apply(null, [label + ':', (now - timers[label]) + 'ms']));
delete timers[label];
} else {
log.info(format.apply(null, [label + ':', '<no timer>']));
}
}
timeEnd: function (label) {
if (label) {
const now = System.currentTimeMillis();
if (timers.hasOwnProperty(label)) {
log.info(format.apply(null, [label + ':', (now - timers[label]) + 'ms']));
delete timers[label];
} else {
log.info(format.apply(null, [label + ':', '<no timer>']));
}
};
}
},
function setTimeout(cb, delay) {
const args = Array.prototype.slice.call(arguments, 2);
return ScriptExecution.createTimerWithArgument(
ZonedDateTime.now().plusNanos(delay * 1000000),
args,
function (args) {
cb.apply(global, args);
}
);
// Allow user customizable logging names
// Be aware that a log4j2 required a logger defined for the logger name, otherwise messages won't be logged!
set loggerName (name) {
log = createLogger(name);
this._loggerName = name;
ThreadsafeTimers.setIdentifier(name);
},
get loggerName () {
return this._loggerName || defaultIdentifier;
}
};
function clearTimeout(timer) {
if (timer !== undefined && timer.isActive()) {
timer.cancel();
}
}
function setInterval(cb, delay) {
const args = Array.prototype.slice.call(arguments, 2);
const delayNanos = delay * 1000000
let timer = ScriptExecution.createTimerWithArgument(
ZonedDateTime.now().plusNanos(delayNanos),
args,
function (args) {
cb.apply(global, args);
if (!timer.isCancelled()) {
timer.reschedule(ZonedDateTime.now().plusNanos(delayNanos));
}
}
);
return timer;
}
function clearInterval(timer) {
clearTimeout(timer);
}
//Polyfil common functions onto the global object
globalThis.console = console;
globalThis.setTimeout = setTimeout;
globalThis.clearTimeout = clearTimeout;
globalThis.setInterval = setInterval;
globalThis.clearInterval = clearInterval;
//Support legacy NodeJS libraries
globalThis.global = globalThis;
globalThis.process = { env: { NODE_ENV: '' } };
// Polyfill common NodeJS functions onto the global object
globalThis.console = console;
globalThis.setTimeout = function (functionRef, delay, ...args) {
return ThreadsafeTimers.setTimeout(() => functionRef(...args), delay);
};
globalThis.clearTimeout = ThreadsafeTimers.clearTimeout;
globalThis.setInterval = function (functionRef, delay, ...args) {
return ThreadsafeTimers.setInterval(() => functionRef(...args), delay);
};
globalThis.clearInterval = ThreadsafeTimers.clearInterval;
// Support legacy NodeJS libraries
globalThis.global = globalThis;
globalThis.process = { env: { NODE_ENV: '' } };
})(this);

View File

@@ -0,0 +1,2 @@
# Please check here how to add suppressions https://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html
org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable=AvoidThrowingNullPointerException,AvoidCatchingNPE

View File

@@ -0,0 +1,49 @@
# JavaScript Scripting (Nashorn)
This add-on allows you to use your older ECMAScript 5.1 code on newer Java versions until the code is migrated to ECMAScript 2021+.
It should only be installed for providing backwards compatibility.
When writing new code it is preferred to do this using ECMAScript 2021+ for which support is provided by installing the [JavaScript Scripting](https://www.openhab.org/addons/automation/jsscripting/) add-on.
This add-on uses a standalone [Nashorn Engine](https://github.com/openjdk/nashorn) to run ECMAScript 5.1 code.
The Nashorn Engine was pre-installed in openHAB 2 and openHAB 3 because it was part of Java.
Since Java 15 the Nashorn Engine has been removed from Java.
## Creating JavaScript Scripts
When this add-on is installed, JavaScript script actions will be run by this add-on and allow ECMAScript 5.1 features.
Alternatively, you can create scripts in the `automation/jsr223` configuration directory.
If you create an empty file called `test.nashornjs`, you will see a log line with information similar to:
```text
... [INFO ] [.a.m.s.r.i.l.ScriptFileWatcher:150 ] - Loading script 'test.nashornjs'
```
To enable debug logging, use the [console logging]({{base}}/administration/logging.html) commands to enable debug logging for the automation functionality:
```text
log:set DEBUG org.openhab.core.automation
```
For more information on the available APIs in scripts see the [JSR223 Scripting]({{base}}/configuration/jsr223.html) documentation.
## Script Examples
JavaScript scripts provide access to almost all the functionality in an openHAB runtime environment.
As a simple example, the following script logs "Hello, World!".
Note that `console.log` will usually not work since the output has no terminal to display the text.
The openHAB server uses the [SLF4J](https://www.slf4j.org/) library for logging.
```js
var LoggerFactory = Java.type('org.slf4j.LoggerFactory');
LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello, World!");
```
Depending on the openHAB logging configuration, you may need to prefix logger names with `org.openhab.core.automation` for them to show up in the log file (or you modify the logging configuration).
The script uses the [LoggerFactory](https://www.slf4j.org/apidocs/org/slf4j/Logger.html) to obtain a named logger and then logs a message like:
```text
... [INFO ] [org.openhab.core.automation.examples ] - Hello, World!
```

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.automation.jsscriptingnashorn</artifactId>
<name>openHAB Add-ons :: Bundles :: Automation :: JavaScript Scripting (Nashorn)</name>
<properties>
<bnd.importpackage>jdk.dynalink.*;resolution:=optional</bnd.importpackage>
<asm.version>7.3.1</asm.version>
</properties>
<dependencies>
<dependency>
<groupId>org.openjdk.nashorn</groupId>
<artifactId>nashorn-core</artifactId>
<version>15.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>${asm.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<features name="org.openhab.automation.jsscriptingnashorn-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository>
<feature name="openhab-automation-jsscriptingnashorn" description="JavaScript Scripting (Nashorn)" version="${project.version}">
<feature>openhab-runtime-base</feature>
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.automation.jsscriptingnashorn/${project.version}</bundle>
</feature>
</features>

View File

@@ -0,0 +1,84 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscriptingnashorn.internal;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.automation.module.script.AbstractScriptEngineFactory;
import org.openhab.core.automation.module.script.ScriptEngineFactory;
import org.osgi.service.component.annotations.Component;
/**
* This is an implementation of a {@link ScriptEngineFactory} for Nashorn.
*
* @author Wouter Born - Initial contribution
*/
@Component(service = ScriptEngineFactory.class)
@NonNullByDefault
public class NashornScriptEngineFactory extends AbstractScriptEngineFactory {
private final org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory factory = new org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory();
private final List<String> scriptTypes = createScriptTypes();
private List<String> createScriptTypes() {
List<String> extensions = List.of("nashornjs");
String mimeTypeVersion = ";version=ECMAScript-5.1";
List<String> mimeTypes = factory.getMimeTypes().stream().map(mimeType -> mimeType + mimeTypeVersion)
.collect(Collectors.toUnmodifiableList());
return Stream.of(extensions, mimeTypes).flatMap(List::stream).collect(Collectors.toUnmodifiableList());
}
@Override
public List<String> getScriptTypes() {
return scriptTypes;
}
@Override
public void scopeValues(ScriptEngine scriptEngine, Map<String, Object> scopeValues) {
Set<String> expressions = new HashSet<>();
for (Entry<String, Object> entry : scopeValues.entrySet()) {
scriptEngine.put(entry.getKey(), entry.getValue());
if (entry.getValue() instanceof Class) {
expressions.add(String.format("%s = %<s.static;", entry.getKey()));
}
}
String scriptToEval = String.join("\n", expressions);
try {
scriptEngine.eval(scriptToEval);
} catch (ScriptException ex) {
logger.error("ScriptException while importing scope: {}", ex.getMessage());
}
}
@Override
public @Nullable ScriptEngine createScriptEngine(String scriptType) {
return scriptTypes.contains(scriptType)
? factory.getScriptEngine(NashornScriptEngineFactory.class.getClassLoader())
: null;
}
}

View File

@@ -0,0 +1,20 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
@org.osgi.annotation.bundle.Header(name = org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE, value = "*")
package org.openhab.automation.jsscriptingnashorn.internal;
/**
* Additional information for the JavaScript Scripting Nashorn package
*
* @author Wouter Born - Initial contribution
*/

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon:addon id="jsscriptingnashorn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:addon="https://openhab.org/schemas/addon/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd">
<type>automation</type>
<name>JavaScript Scripting (Nashorn)</name>
<description>This adds a JS (Nashorn) script engine.</description>
<connection>none</connection>
</addon:addon>

View File

@@ -0,0 +1,43 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.automation.jsscriptingnashorn;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
import java.util.List;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.junit.jupiter.api.Test;
import org.openhab.automation.jsscriptingnashorn.internal.NashornScriptEngineFactory;
/**
* Tests {@link NashornScriptEngineFactory}.
*
* @author Wouter Born - Initial contribution
*/
@NonNullByDefault
public class NashornScriptEngineFactoryTest {
@Test
public void scriptTypesAreNashornSpecific() {
List<String> scriptTypes = new NashornScriptEngineFactory().getScriptTypes();
assertThat(scriptTypes,
contains("nashornjs", "application/javascript;version=ECMAScript-5.1",
"application/ecmascript;version=ECMAScript-5.1", "text/javascript;version=ECMAScript-5.1",
"text/ecmascript;version=ECMAScript-5.1"));
assertThat(scriptTypes.size(), is(5));
}
}

View File

@@ -1,4 +1,11 @@
# Jython Scripting
# Jython Scripting (DEPRECATED)
::: tip Note:
Currently, the development of Jython stopped at version 2.7 with no definite timeline to support Python 3.x.
The 3rd party openHAB helper library for Jython is also no longer maintained.
We would not recommend using Jython scripting at this point in time.
For alternatives, check out the list of other supported [automation add-ons](https://www.openhab.org/addons/#automation).
:::
This add-on provides [Jython](https://www.jython.org/) 2.7.2 that can be used as a scripting language within automation rules and which eliminates the need to download Jython and create `EXTRA_JAVA_OPTS` entries for `bootclasspath`, `python.home` and `python.path`.
@@ -34,7 +41,7 @@ The openHAB server uses the [SLF4J](https://www.slf4j.org/) library for logging.
```python
from org.slf4j import LoggerFactory
LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello world!")
LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello, World!")
```
Jython can [import Java classes](https://jython.readthedocs.io/en/latest/ModulesPackages/).
@@ -52,5 +59,5 @@ The script uses the [LoggerFactory](https://www.slf4j.org/apidocs/org/slf4j/Logg
to obtain a named logger and then logs a message like:
```text
... [INFO ] [.openhab.core.automation.examples:-2 ] - Hello world!
... [INFO ] [.openhab.core.automation.examples:-2 ] - Hello, World!
```

View File

@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>3.2.0</version>
<version>4.1.1-SNAPSHOT</version>
</parent>
<artifactId>org.openhab.automation.jythonscripting</artifactId>

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2010-2021 Contributors to the openHAB project
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon:addon id="pidcontroller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:addon="https://openhab.org/schemas/addon/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd">
<type>automation</type>
<name>Jython Scripting (DEPRECATED)</name>
<description>This adds a Jython script engine.</description>
<connection>none</connection>
</addon:addon>

View File

@@ -24,7 +24,7 @@ Select the Item you like to control in the "Item Action" and leave the command e
### Trigger
This module triggers whenever the `input` or the `setpoint` changes or the `loopTime` expires.
Every trigger calculates the P, the I and the D part and sums them up to form the `output` value.
Every trigger calculates the P-, the I- and the D-part and sums them up to form the `output` value.
This is then transferred to the action module.
| Name | Type | Description | Required |
@@ -35,26 +35,36 @@ This is then transferred to the action module.
| `ki` | Decimal | I: [Integral Gain](#integral-i-gain-parameter) Parameter | Y |
| `kd` | Decimal | D: [Derivative Gain](#derivative-d-gain-parameter) Parameter | Y |
| `kdTimeConstant` | Decimal | D-T1: [Derivative Gain Time Constant](#derivative-time-constant-d-t1-parameter) in sec. | Y |
| `commandItem` | String | Send a String "RESET" to this item to reset the I and the D part to 0. | N |
| `commandItem` | String | Send a String "RESET" to this item to reset the I- and the D-part to 0. | N |
| `loopTime` | Decimal | The interval the output value will be updated in milliseconds. Note: the output will also be updated when the input value or the setpoint changes. | Y |
| `pInspector` | Item | Name of the debug Item for the current P part | N |
| `iInspector` | Item | Name of the debug Item for the current I part | N |
| `dInspector` | Item | Name of the debug Item for the current D part | N |
| `eInspector` | Item | Name of the debug Item for the current regulation difference (error) | N |
| `integralMinValue` | Decimal | The I-part will be limited (min) to this value. | N |
| `integralMaxValue` | Decimal | The I-part will be limited (max) to this value. | N |
| `pInspector` | Item | Name of the inspector Item for the current P-part | N |
| `iInspector` | Item | Name of the inspector Item for the current I-part | N |
| `dInspector` | Item | Name of the inspector Item for the current D-part | N |
| `eInspector` | Item | Name of the inspector Item for the current regulation difference (error) | N |
The `loopTime` should be max a tenth of the system response.
E.g. the heating needs 10 min to heat up the room, the loop time should be max 1 min.
Lower values won't harm, but need more calculation resources.
You can view the internal P, I and D parts of the controller with the inspector Items.
The I-part can be limited via `integralMinValue`/`integralMaxValue`.
This is useful if the regulation cannot meet its setpoint from time to time.
E.g. a heating controller in the summer, which can not cool (min limit) or when the heating valve is already at 100% and the room is only slowly heating up (max limit).
When controlling a heating valve, reasonable values are 0% (min limit) and 100% (max limit).
You can view the internal P-, I- and D-parts of the controller with the inspector Items.
These values are useful when tuning the controller.
They are updated every time the output is updated.
Inspector items are also used to recover the controller's previous state during startup. This feature allows the PID
controller parameters to be updated and openHAB to be restarted without losing the current controller state.
## Proportional (P) Gain Parameter
Parameter: `kp`
A value of 0 disables the P part.
A value of 0 disables the P-part.
A value of 1 sets the output to the current setpoint deviation (error).
E.g. the setpoint is 25°C and the measured value is 20°C, the output will be set to 5.
@@ -67,7 +77,7 @@ Parameter: `ki`
The purpose of this parameter is to let the output drift towards the setpoint.
The bigger this parameter, the faster the drifting.
A value of 0 disables the I part.
A value of 0 disables the I-part.
A value of 1 adds the current setpoint deviation (error) to the output each `loopTime` (in milliseconds).
E.g. (`loopTimeMs=1000`) the setpoint is 25°C and the measured value is 20°C, the output will be set to 5 after 1 sec.
@@ -81,7 +91,7 @@ Parameter: `kd`
The purpose of this parameter is to react to sudden changes (e.g. an opened window) and also to damp the regulation.
This makes the regulation more resilient against oscillations, i.e. bigger `kp` and `ki` values can be set.
A value of 0 disables the D part.
A value of 0 disables the D-part.
A value of 1 sets the output to the difference between the last setpoint deviation (error) and the current.
E.g. the setpoint is 25°C and the measured value is 20°C (error=5°C).
@@ -91,13 +101,13 @@ When the temperature drops to 10°C due to an opened window (error=15°C), the o
Parameter: `kdTimeConstant`
The purpose of this parameter is to slow down the impact of the D part.
The purpose of this parameter is to slow down the impact of the D-part.
This parameter behaves like a [low-pass](https://en.wikipedia.org/wiki/Low-pass_filter) filter.
The D part will become 63% of its actual value after `kdTimeConstant` seconds and 99% after 5 times `kdTimeConstant`. E.g. `kdTimeConstant` is set to 10s, the D part will become 99% after 50s.
The D-part will become 63% of its actual value after `kdTimeConstant` seconds and 99% after 5 times `kdTimeConstant`. E.g. `kdTimeConstant` is set to 10s, the D-part will become 99% after 50s.
Higher values lead to a longer lasting impact of the D part (stretching) after a change in the setpoint deviation (error).
The "stretching" also results in a lower amplitude, i.e. if you increase this value, you might want to also increase `kd` to keep the height of the D part at the same level.
Higher values lead to a longer lasting impact of the D-part (stretching) after a change in the setpoint deviation (error).
The "stretching" also results in a lower amplitude, i.e. if you increase this value, you might want to also increase `kd` to keep the height of the D-part at the same level.
## Tuning
@@ -108,7 +118,7 @@ This results in quite reasonable working systems in most cases.
So, this will be described in the following.
To be able to proceed with this method, you need to visualize the input and the output value of the PID controller over time.
It's also good to visualize the individual P, I and D parts (these are forming the output value) via the inspector items.
It's also good to visualize the individual P-, I- and D-parts (these are forming the output value) via the inspector items.
The visualization could be done by adding a persistence and use Grafana for example.
After you added a [Rule](https://www.openhab.org/docs/configuration/rules-dsl.html) with above trigger and action module and configured those, proceed with the following steps:
@@ -121,10 +131,18 @@ E.g. the time it takes from opening the heater valve and seeing an effect of the
3. Decrease `kp` a bit, that the system doesn't oscillate anymore
4. Repeat the two steps for the `ki` parameter (keep `kp` set)
5. Repeat the two steps for the `kd` parameter (keep `kp` and `ki` set)
6. As the D part acts as a damper, you should now be able to increase `kp` and `ki` further without resulting in oscillations
6. As the D-part acts as a damper, you should now be able to increase `kp` and `ki` further without resulting in oscillations
After each modification of above parameters, test the system response by introducing a setpoint deviation (error).
This can be done either by changing the setpoint (e.g. 20°C -> 25°C) or by forcing the measured value to change (e.g. by opening a window).
This process can take some time with slow responding control loops like heating systems.
You will get faster results with constant lighting or PV zero export applications.
## Persisting controller state across restarts
Persisting controller state requires inspector items `iInspector`, `dInspector`, `eInspector` to be configured.
The PID controller uses these Items to expose internal state in order to restore it during startup or reload.
In addition, you need to have persistence set up for these items in openHAB. Please see openHAB documentation regarding
[Persistence](https://www.openhab.org/docs/configuration/persistence.html) for more details and instructions.

Some files were not shown because too many files have changed in this diff Show More