Commit Graph

3096 Commits

Author SHA1 Message Date
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