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>
* 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>
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>
* 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>
* 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>
* 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)
* [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>
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>
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>
* 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)
* [openwebnet] Backward support for CU configurations with where="0"
* [openwebnet] fix send in handleSetProgramNumber()
---------
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* New translations pollytts.properties (French)
* New translations energidataservice.properties (Danish)
* New translations pollytts.properties (German)
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>
* 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>
* [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>
* 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>
* 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)
* [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>
* [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>
* [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>
* [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>
* [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>
* [doorbird] Support for more audio streams
And proper use of a synchronous base class.
---------
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* [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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
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>
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>
* [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>
* [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>
* 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>
* [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>
- 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
* 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)
* 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>
* Declare missing connection attribute
* change mactts, marytts, and picotts to none for consistency
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
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>
* 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>
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>
* Setting ffmpeg reference 'ffmpegMjpeg' to null after stopping convertion to fix automatic restart of ffmpeg process.
---------
Signed-off-by: Thomas Burri <th@thonojato.ch>
* [openwebnet] improved shutterRun calibration and README
* [openwebnet] added Thing status detail when bridge is offline
--------
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* New translations jruby.properties (German)
* New translations knx.properties (German)
* New translations openwebnet.properties (Italian)
* New translations anthem.properties (Italian)
* [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>
* 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>
* 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>
* [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>
* [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>
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>
* [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>
* 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>
* 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>
* [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>
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>
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>
* [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>
* 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>
- 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>
- 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>
* 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>
* 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>
* 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)
* [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>
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>
* 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>
* [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>
* [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>
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>
* New translations deconz.properties (German)
* New translations netatmo.properties (Italian)
* New translations avmfritz.properties (German)
* New translations openwebnet.properties (Italian)
* [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>
* [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>
Remove binding (replaced by livisismarthome)
Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Signed-off-by: Sven Strohschein <novanic@gmx.de>
* [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>
* [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>
* #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>
* 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>
* [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>
* [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>
* [ecovacs] Initial contribution
Add initial version of a binding for vacuum cleaners made by Ecovacs.
Signed-off-by: Danny Baumann <dannybaumann@web.de>
* 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>
* [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>
* 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)
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>
* 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>
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>
* Add thing type update instructions
* Move thingTypeVersion to correct thing type
* Add groupIds to update instructions
Signed-off-by: Mark Hilbush <mark@hilbush.com>
* [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>
* 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)
* 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)
* 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>
* 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>
* [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>
* 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>
* 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)
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>
* [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>
* [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>
* [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>
* [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>
* [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>
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>
* [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>
* 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.
* [mqtt.homeassistant] support command_template for fan components
* [mqtt.homeassistant] fix field declaration for consistency
Signed-off-by: Cody Cutrer <cody@cutrer.us>
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>
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>
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.
* [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>
* [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>
* [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>
* [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>
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>
* [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>
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>
* [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>
* [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>
* [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>
* [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>
* [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>
* 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>
- 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>
* [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>
* [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>
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>
* 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.
* [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>
* [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>
* [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>
* [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>
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>
The documentation states incorrectly that "Hello, World!" is printed when instead "Hello world!" is printed.
Signed-off-by: Wouter Born <github@maindrain.net>
* Allow handling of QuantityType for color temperature channel
* Fixed log messages and reduce log level.
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
* [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>
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>
* New translations knx.properties (German)
* New translations yamahamusiccast.properties (German)
* New translations hdpowerview.properties (Danish)
* New translations jsscripting.properties (Danish)
* 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)
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>
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>
* [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>
* 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>
* [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>
* 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)
* [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>
* [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>
* [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>
* 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>
* 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>
* [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>
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>
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>
* 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
* 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>
* [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>
* 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>
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>
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>
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>
* 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>
* New translations miele.properties (Danish)
* New translations jruby.properties (Italian)
* New translations ecowatt.properties (Italian)
* New translations webexteams.properties (Italian)
* [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>
* 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>
* [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>