* [lutron] initial submission for RA3 support
* add parameter to getDevices(), remove getRA3Devices()
---------
Signed-off-by: Peter J Wojciechowski <peterwoj@dwellersoul.com>
Under demo.items the button-last-event channel was of the Number type. I have changed this to String.
In the channels for devices section this was already corrected but is not 'live' yet?
Signed-off-by: Gemertw <59452423+Gemertw@users.noreply.github.com>
* Fix refresh/initial state request
Fixes#15735
* Fix channel updates when thing comes online
Fixes#15669
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Also-by: Andrew Fiddian-Green <software@whitebear.ch>
While the app can't go lower than 5A, the API allows setting values down
to 0A, and at least going to 2-3A can make sense if you want to put
excess solar power into the car without also drawing some from the grid.
Due to the overhead this causes it can be wasteful, so keep logging the
warning about going below 5A.
Signed-off-by: Ulrich Spörlein <uspoerlein@gmail.com>
* New translations jpa.properties (Italian)
* New translations inmemory.properties (Italian)
* New translations mapdb.properties (Italian)
* New translations mongodb.properties (Italian)
* New translations rrd4j.properties (Italian)
Upgrades H2 database from 1.4.191 to 2.2.224.
Add ';NON_KEYWORDS=VALUE' to the JDBC URL because the add-on uses 'value' (which is also a keyword) as column name.
Also fixes some queries used by the command extension because H2 always uses upper case table names.
For the change log, see:
https://h2database.com/html/changelog.html
For migration notes, see:
https://h2database.com/html/migration-to-v2.htmlFixes#13115
Signed-off-by: Wouter Born <github@maindrain.net>
* Fix problem with DPT 251.600.
In the old implementation the datatype was implemented with byte 0-255.
The DPT 251.600 is defined with 0-100%, change this from byte to
PercentType.
Signed-off-by: Marco Mueller <marco@ms.mueller.ch>
The dependency change in #15659 caused slf4j to be embedded into the bundle.
As a result the bundle no longer uses Pax Logging so it cannot find an SLF4J provider and logs the following when it is installed:
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
Signed-off-by: Wouter Born <github@maindrain.net>
* Adding the possibility to disable websocket listening.
This is set up in order to ease debugging of the "Erreur Interne" issue.
* Enhancing websocket work with recurrent deconnection, simplification of listeners handling
* refactored function name
* Fixed the name of the channel where the refresh command is sent.
* Solving SAT issues
* Corrected doc error
* Added properties
* Removed gson 2.10 now that it is included into core.
---------
Signed-off-by: clinique <gael@lhopital.org>
* Convert to OH jetty HttpClient
* Adds a Stack for HttpClient storage
* Add synchronized to prevent exception
* fix binding
* Stop stack on close
* Resolves exception on registring forward actions
* Reduces client count to 5 to align to expected thread pool limit of 5
---------
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
Co-authored-by: Mark Herwege <mark.herwege@telenet.be>
* Update README.md
I had some struggles with setting up google TTS, got it to work eventually and now update the README to help users in the future.
This commit includes updating the information, including necessary tips, formatting und some minor details
Signed-off-by: Felix Schneider <fs@felix-schneider.org>
The cleanup includes:
* Use lambdas
* Use enhanced switches
* Make abstract class constructors protected
* Fix typos
Signed-off-by: Wouter Born <github@maindrain.net>
Adding support for the following models:
* Xiaomi Smart Humidifier 2 (modelId: deerma.humidifier.jsq2w)
closing #15639
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Upgrade to version 3
* Use ThreadPoolManager and add sleep
* Remove pool prefix, already added by thread pool manager
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
* Add a buffer to lower Weather API requests
* Correcting typo identified in PR #15587 after merge
---------
Signed-off-by: clinique <gael@lhopital.org>
* Resolve itest runbundles
* Fix dependency issues
* Add specs features because Pax Web now depends on "asm"
Signed-off-by: Wouter Born <github@maindrain.net>
* New translations netatmo.properties (Italian)
* New translations danfossairunit.properties (Danish)
* New translations jsscripting.properties (Italian)
* Added connection check via IdleStateHandler events for sent onvif requests.
Also checking connect errors and setting new states connectError or refusedError accordingly.
On connect, only one request is sent to have less parallel actions in case of reconnect, timeout.
Moved GetCapabilities call to GetSystemDateAndTime response handler part.
Added support to disable automatic polling at startup.
* Fixed call of sendOnvifRequest (missed to remove one call of requestBuilder).
---------
Signed-off-by: Thomas Burri <th@thonojato.ch>
Signed-off-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
Migrating from OH 2.5 I tripped over this, as :power no longer exists and instead one has to send ON/OFF commands to the :color channel instead.
Looks like documentation wasn't fully updated with the code changes.
Signed-off-by: uqs <uqs@FreeBSD.org>
* Improve conversion of database value to item state
* Refactor test cases to reduce redundancy
* Refactor for type-safety
* Refactor type cast
Fixes#15433
---------
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Special handling for temperature differences in °F and °F/%,
DPT 9.002 and 9.003, needs to be adapted due to change in core.
Refs openhab/openhab-core#3792.
Implementation is valid for 4.0 and 4.x snapshot.
Fixes#15567.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [miio] maintenance - update device names list
Update the list with latest device names
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] Update device names list
Update the list with latest device names used by some of the support
tools
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
---------
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [Juicenet] Fix typos in setOverride()
Some obvious typos in setOverride() result in the timestamp being
ignored which causes it to fail
Fixes#15564
* [Juicenet] Allow disabling the override
- The charger has default settings upon plugin, changing the current state
sets the overide to Y, this makes override settable only in the N direction
to remove whatever settings were previously applied
* [Juicenet] Document new writable status of override
---------
Signed-off-by: Ed Martin <edman007@edman007.com>
* simplified determination of start/stop as the opMode now has new values (7+8) to show missing authentication (before this was included in value "2")
* refactored ChargerOpState to enum
---------
Signed-off-by: Alexander Friese <af944580@googlemail.com>
Signed-off-by: Alexander Friese <alexf2015@users.noreply.github.com>
Co-authored-by: lsiepel <leosiepel@gmail.com>
* Provide detailed error information on failed commands
* Log as info when command succeeds
* Revert collect(Collectors.toList()) refactoring
* Provide exception message in status description
Fixes#15511
---------
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* fixed problems with fingerprint codes which were received in decimal instead of hex
Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
* correct format issues
Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
* add test file for fingerprint codes
Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
* Delete openhab-addons.code-workspace
Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
---------
Signed-off-by: Andre Jendrysseck <ajendry@gwdg.de>
Co-authored-by: Andre Jendrysseck <ajendry@gwdg.de>
* [gardena] Improve and fix UoM support
Properly convert incoming UoM values for command durations, and output
measurements as UoM values where possible.
* [gardena] Fix signal strength channel value
Previously the binding sent 0..100, but the system expects 0..4 for the
system.signal-strength channel.
* [gardena] Update README
* [gardena] Use actual units in state description where appropriate
Signed-off-by: Danny Baumann <dannybaumann@web.de>
XMLInputFactory: Disable properties IS_SUPPORTING_EXTERNAL_ENTITIES and
SUPPORT_DTD which allow injecting external entities.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* Updated A5-10 EEP family (corrected readings, added new channels)
* Changed fanSpeedStage channel to type Number and added new options to it
* Added dayNightModeState channel
Fixes#15458
Signed-off-by: Daniel Weber <uni@fruggy.de>
* Remove build server specific timing from dynamodb and ruuvigateway
There should be no difference between running tests on your own PC or on a build server.
The ruuvigateway tests always fail for me during parallel builds due to its unrealistic timing.
Signed-off-by: Wouter Born <github@maindrain.net>
* [automation] Code optimization for Java17: instanceof matching and multiline strings
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [automation] Make use of Java17 features
Use Map/Set/List.of instead of Collections.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* review comment
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
---------
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* Resolve runbundles for CXF upgrade
Related to openhab/openhab-core#3770
Signed-off-by: Wouter Born <github@maindrain.net>
* Replace Grizzly JAX-RS Client with Jetty HTTP client in hueemulation tests
It seems that the Grizzly JAX-RS Client implementation does not work well with the new CXF dependencies on the classpath.
As we do not use Grizzly anywhere else it is probably best to also stop using the Grizzly HTTP Server in these tests in the future.
Signed-off-by: Wouter Born <github@maindrain.net>
---------
Signed-off-by: Wouter Born <github@maindrain.net>
* Fix Paradox EVOHD zone parsing fail #10572
* Root cause is that EVOHD and EVO192 have much more zones which are
stored in a different memory map model. They should be treated the same
way. Fix is simple and can be downported to 3.x if decided by the
maintainers
Signed-off-by: Konstantin Polihronov <polychronov@gmail.com>
Make sure that SecureRadom is used whenever the random number
is used for cryptographic operations, e.g. as nonce/salt.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [jrubyscripting] Fix broken image in README.md
* [jrubyscripting] Update the base url in the regenerate instructions
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
* reworked the way to retrieve Charger state as API endpoint is now deprecated.
* fixed result processing: removed default handling by bridge handler which caused everything to go offline if a single charger had faulty config.
* additional channels / removed obsolete firmware channel
Signed-off-by: Alexander Friese <af944580@googlemail.com>
* [tr064] Fix clearing of auth (results)
In case of multiple root things the auth store (results and digests) was cleared for all clients instead of only removing the failed auth result or old authentication.
* fix TAM request
Signed-off-by: Jan N. Klug <github@klug.nrw>
* New translations hue.properties (Italian)
* New translations deconz.properties (Italian)
* New translations anel.properties (Italian)
* New translations atlona.properties (Italian)
* New translations electroluxair.properties (Italian)
* New translations groupepsa.properties (Italian)
* New translations somneo.properties (Italian)
* New translations meater.properties (Italian)
* New translations juicenet.properties (Italian)
* New translations volumio.properties (Italian)
* New translations asuswrt.properties (Italian)
* [pulseaudio] For source, default timeout should be disconnection ASAP
To avoid weird behaviour, such as pulseaudio server storing audio data between inputstream get/read and then sending the backlog all at once when finally reading, we must disconnect immediately thereafter.
---------
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
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>
* [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>
* [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>
* [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>
* [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>
* [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>
* [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>
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>
* [miio] cloud login issues improvement
* Small change in debug loggin is login issues are expected
* Additional trouble shooting steps in readme
* Fix duplicate name in device list preventing readme maker running
* Catch a json exception in readme maker
close#13611close#7459
* [miio] fix strange/foreign characters in readme
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [mqtt.espmilight] Automatically convert color values to color temp for RGB+CCT bulbs
Yes, it's lots of math, but references are provided. This supplants
whiteThreshold for RGB+CCT bulbs since it is far more flexible and
accurate.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Abort migration from real names when most tables have table name prefix
* Add missing checks for database connection from console commands
* Add additional documentation for check/fix schema
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
otherwise if your step is 1.0 in fahrenheit, then your
values will get rounded to 1.0 celsius, and you might not
even notice you've lost precision in the Home app.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [evcc] Extend accepted command types
* [evcc] Convert QuantityType commands to required units
* [evcc] Allow evcc URL to end with a slash
Should fix an issue on the forum, where a user sent a command of DecimalType, but the binding expected a QuantityType.
See https://community.openhab.org/t/evcc-binding-electric-vehicle-charging-control/135209/15.
The accepted command types are extended for all channels if possible.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Add console command for checking schema integrity
* Remove unneeded logging
* Add console command for fixing schema integrity
* Provide documentation
* Try to add support for Derby and PostgreSQL
* Sort alphabetically by item name
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Since JUnit Jupiter test classes and methods do not need to be `public`.
It is recommended to omit the `public` modifier.
See https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods
"Class and method visibility
Test classes, test methods, and lifecycle methods are not required to be
`public`, but they must not be `private`.
It is generally recommended to omit the `public` modifier for test
classes, test methods, and lifecycle methods unless there is a technical
reason for doing so (...)"
Signed-off-by: Thomas Traude <t-riggs@gmx.net>
* Fix never ending WARN when HIK camera does not support alarm inputs.
* Streamline code.
* Update Instar support for 2k+ Generation.
* Fix alarm codes.
* Add CHANNEL_LAST_EVENT_DATA
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* [miio] add support Xiaomi Smart Air Purifier 4 (modelId: zhimi.airp.mb5)
Adding support for the following models:
* Xiaomi Smart Air Purifier 4 (modelId: zhimi.airp.mb5)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [boschshc] Support smart light bulbs (#13707)
* add thing type definition for smart bulbs using system channels
* add constants for thing type and channels
* implement and register handler
* implement binary switch service (to switch on/off)
* implement multi-level switch service (allows to get/set brightness
from 0-100%)
* implement service to get and set colors
* add unit tests for handler and state classes
- update documentation
Signed-off-by: David Pace <dev@davidpace.de>
* [jsscripting] Refactor ThreadsafeTimers to create futures inline instead of in an extra methods
* [jsscripting] Introduce utility class for providing easy access to script services
* [jsscripting] Reimplement timer creation methods from ScriptExecution for thread-safety
* [jsscripting] Add missing JavaDoc for reimplement timer creation methods
* [jsscripting] Remove the future from the map when setTimeout expires
* [jsscripting] Rename `GraalJSScriptServiceUtil` to `JSScriptServiceUtil`
* [jsscripting] Remove the `createTimerWithArgument` method
* [jsscripting] Replace the OSGi workaround of `JSScriptServiceUtil` with an injection mechanism
* [jsscripting] Use constructor to inject `JSScriptServiceUtil` into `GraalJSScriptEngineFactory`
* [jsscripting] Minor improvements by @J-N-K (#1)
* [jsscripting] Minor changes related to last commit to keep flexibility of `JSRuntimeFeatures`
* [jsscripting] Upgrade openhab-js to v2.1.1
* [jsscripting] Remove unused code
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
Co-authored-by: Jan N. Klug <github@klug.nrw>
This fixed the maven build, that fails because webpack-cli version 5.0.0 doesn’t properly process the given entrypoint.
Instead, webpack tries to use the entrypoint from openhab-js‘ webpack config file.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Fix compiler info
Unsafe interpretation of method return type as '@NonNull' based on the receiver type 'java.util.Enumeration<java.net.@NonNull NetworkInterface>'. Type 'java.util.Enumeration<E>' doesn't seem to be designed with null type annotations in mind
* Improve robustness of job rescheduling and handler disposal
Handler tried updating thing although the handler was already disposed
Fixes#13701
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add warning about using tableCaseSensitiveItemNames without dedicated schema
* Move warning to extended description
* Rephrase explanation
* Fix commands
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
The majority of brightness channels were already converted to dimmer.
This PR applies same to the 'other'brightness channels like nightlight
and/or ambient
close: #9936
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Enable wrapped exceptions being thrown by Yank
Fixes#13718
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix SAT warning about hashCode implementation
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [jsscripting] Downgrade GraalVM to fix issue with armv7l & OpenJDK 11.0.16
The community reported several cases where JS Scripting was not working due to some issue with the injection of the global script.
This issue seems to only occur on armv7l (e.g. Raspberry Pi 32bit) and OpenJDK 11.0.16.
Investigation showed that the occurrence of the problem depends on the GraalJS version.
See https://community.openhab.org/t/js-scripting-all-scripts-stop-working-when-upgrading-to-3-4-0-m4/140837.
* [jsscripting] Add logging for injection of JSRuntimeFeatures
* [jsscripting] Lint `@jsscripting-globals.js` with semistandard
* [jsscripting] Remove ICU4J as it moved to `org.graalvm.truffle`
Reference f5661d4655/CHANGELOG.md (version-2200).
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* [evcc] Change DTO from double to float as the higher precision is not required
* [evcc] Change DTO from int/long to float
* [evcc] Update JavaDoc & small improvements
* [evcc] `EvccHandler`: Add exception message to the debug log
Fixes https://github.com/openhab/openhab-addons/issues/13646.
Avoids problems with changed data types in the future by generally using float instead of int.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Visualize Nanoleaf layout
* Only calculate image if channel is linked
* White background image
* Render more shapes
Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
* Add zone actions for rules
* Don't scan for NuvoNet source messages if openHAB NuvoNet sources are not being used
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Add console command for listing tables
* Query row counts only when needed and while generating output
* Add cleanup command
* Add documentation
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This change adds support for obtaining the battery state for the
following devices:
* Motion Detector
* Thermostat
* Twinguard
* Wall Thermostat
* Window/Door Contact
The following changes were made:
* Add system.battery-level and system.low-battery channels to Motion
Detector, Thermostat, Twinguard, Wall Thermostat and Window/Door Contact
* Add constant for battery-level and low-battery channels in
BoschSHCBindingConstants
* Implement abstract handler and service for battery-powered devices
* Let appropriate devices inherit the abstract implementation
* Add missing super calls in initializeServices() methods
* Rename existing getServiceURL() to getServiceStateURL() in HTTP client
* Add methods to retrieve service states without the suffix "/state" in
the URL
* Rename DeviceStatusUpdate to DeviceServiceData
* Let DeviceServiceData extend BoschSHCServiceState
* Extend DeviceServiceData DTO with model for faults
* Enhance bridge handler: handle updates without state sub-objects,
extract methods to enhance readability
* Add unit tests for all affected devices
* Minor code enhancements
* Update documentation
Signed-off-by: David Pace <dev@davidpace.de>
* Upgrade commons-text to 1.10.0 (prevents CVE-2022-42889)
* Upgrade commons-lang3 to 3.12.0
* Remove commons-text, wrap from feature because it is embedded into the bundle
Signed-off-by: Wouter Born <github@maindrain.net>
* [mqtt.homeassistant] support non-RGB lights
dynamically decide which type of channel to expose. also send "down-typed"
commands to the proper topic. this also sets the groundwork for supporting
template and JSON schemas
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [tellstick] Avoid updates duplication after communication errors
Fix#13453
Do not register the same device handler many times as listener in the bridge handler
Unregister the device handler from the bridge handler when disposing device handler
HTTP timeout set to 15s
Remove the retry mechanism related to the timeout
Check HTTP status code
Fix discovery service unregistration
Log statistics about request/refresh durations and number of timeouts/errors
Change logging in case of exception
Also change few logs level (remove usage of logger.error)
Execute one refresh at bridge initialization and not 2
Small enhancement of the bridge/things status management
implement discovery service unregistration
Fix few code analysis findings
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Use a set for deviceStatusListeners to avoid duplications
Review comment: @NonNullByDefault for TellstickHandlerFactory
Review comment: use ThingStatusDetail.CONFIGURATION_ERROR if no bridge
is defined
Review comment: use 1_000_000 instead of 1000000
Review comment: use Instant instead of LocalDateTime
Review comment: Thread.currentThread().interrupt()
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* [jsscripting] Reimplement timers to conform standard JS
* [jsscripting] Name scheduled jobs by loggerName + id
* [jsscripting] Update timer identifiers
* [jsscripting] Update identifiers for scheduled jobs
* [jsscripting] Synchronize method that is called when the script is reloaded
* [jsscripting] Cancel all scheduled jobs when the engine is closed
* [jsscripting] Ensure that a timerId is never reused by a subsequent call & Use long primitive type instead of Integer
* [jsscripting] Use an abstraction class to inject features into the JS runtime
* [jsscripting] Make ThreadsafeTimers threadsafe for concurrent access to the class itself
* [jsscripting] Move the locking for `invokeFunction` to `OpenhabGraalJSScriptEngine`
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
Avoid registering several times the same device status listener.
It is called by the thing handler each time the bridge status changed to ONLINE.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* [kostalinverter] Fix for the Kostal inverter binding to work with
different firmware releases regarded to PIKO 10-20 Version 221004
This is the next version regarded to Closed PR #13464
* [kostalinverter] Changes done 20221019
Regarded to Thread.....
* Proper handling of InterruptedException
Also removbe a useless call to return
Signed-off-by: Örjan Backsell <orjan.backsell@gmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
* Do not append number when using real item names
* Extract getTableName to separate class
* Add initial test coverage
* Extract migration logic to separate class
* Support migration from real names back to numbered
* Simplify zero-padding
* Fix NullPointerException
* Fix MySQL compatibility when CLIENT_MULTI_STATEMENTS option is not set
* Add option for case sensitive table names
* Add real name with suffix mode for backwards compatibility
* Remove real name in lower case without suffix mode
* Map directly from item name to table name
* Fix ambiguous table name scenario
* Add additional testcase
* Add migration path for changed table prefix
* Drop items table when using direct mapping
* Add configuration note
* Fix table alignment
* Extend description as more migration paths are now supported
* Do not stop halfway through a migration
* For clarity, do not use abbreviation for operating system
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fixes#13640
Working with multiple Paradox panels
Tested with:
- rename things files;
- thing disable / enable on same instance of OpenHab;
- disable on one OpenHab instance > enable on other;
Everything works as espected.
All test passed even if no Login/Logout commands were sent to IP module
Signed-off-by: Silviu Chingaru <silviuchingaru@yahoo.com>
* Extract nested DTO's to separate classes
* Rename api to dto
* Move test classes into internal
* Finish moving of files and fix namespaces
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [linuxinput] handle keys not known by libevdev
Previously if libevdev could not resolve a numeric event code to a
symbolic name the name "null" was used.
This is useless for the user and may lead to duplicate-channel errors if
multiple unknown keys are encountered.
Instead use the numeric code itself as channel name if no symbolic code
could be determined.
Reported-in: https://community.openhab.org/t/linuxinput-binding-and-mouse-capture/122612/8
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
* [linuxinput] add channel description
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
* add thing definition with ID "smart-plug-compact"
* add constant for thing type UID
* extract abstract implementation for devices with power switch and
energy monitoring
* let in-wall switch handler and smart plug handler extend the abstract
implementation
* register new handler
* add method with boolean parameter to fetch initial state actively
* make BoschSHCDeviceHandler abstract
* add documentation
* add unit tests
closes#13528
Signed-off-by: David Pace <dev@davidpace.de>
* Fix scheduling of thing and token update, tries to avoid service rate limiting. Added more logging. Added some missing null checks. Ensure recent data is fetched, not data from yesterday
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Updated to latest versio of API lib
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Added new channel waterconsumption_since_midnight that sums todays water consumption (same as in the Grohe app)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Add more debug logging
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* More null checks, also set channels to Undef if a value is missing
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fixed missing embedding of commons-text as it is a dependency of the api lib
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Refresh token 1 hour before expiry
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Re-login in case token refresh fails
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Factor in timezone when calculating consum since midnight
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Use QuantityType<Volume> for water consumption
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Minor
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* i18n of dynamic error messages
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* More i18n. Plus retry of failed refresh token - with a delay to possibly avoid rate limiting
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Adjust refresh token timeout to 5 minutes before expire. Also retry with username/pwd login if token login fails (could be an expired token)
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Clear old discovery results
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fetch data further back to ensure battery device has been online
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Updated README with old data warning
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Typo
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Do not allow polling interval less than 900 as rate limiting most likely will block the calls
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fix failed token refresh giving up
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Removed refresh token login webpage. Another attempt at handling token refresh
Signed-off-by: Arne Seime <arne.seime@gmail.com>
* Fix status detail
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Restore formatting
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix newly introduced warnings
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Remove redundant logging
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Signed-off-by: Arne Seime <arne.seime@gmail.com>
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
So that other pieces of openhab can know what unit it's going to be,
without it having a value yet. Importantly, any necessary conversion
that need to be applied to the other portion of the state description -
min, max, and step.
See also https://github.com/openhab/openhab-core/pull/3132
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [jsscripting] Share the lock mechanism that was used only for rules
This change moves the lock object that was originally created for ThreadsafeSimpleRuleDelegate to OpenhabGraalJSScriptEngine to make share it across the whole engine.
* [jsscripting] Inject the lock object into the JS runtime
* [jsscripting] Update `setTimeout` & `setInterval` polyfills to enable threadsafety
* [jsscripting] Upgrade GraalJS from 21.3.0 to 22.3.0
* [jsscripting] Reduce compiler warnings
* [jsscripting] Update node version of frontend-maven-plugin
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Changed discovery to MDNS; added HTTPS handling; refactor HTTPClient to use jetty shared client
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
* [homekit] increase flexibility of ColorTemperature
allow Number or Dimmer items, and mired or Kelvin units.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [homekit] Improve output of console's `homekit show` command
* include the full JSON from all the characteristics, so you can confirm
everything is configured correctly.
* only use simple class names; the fully qualified package is just a
distraction.
* show linked services if they exist
* include the class name of services, not just the GUID
Signed-off-by: Cody Cutrer <cody@cutrer.us>
If you have many instances, it can take a while. So stop all the
instances in parallel. Also, fix a race condition where the update
debouncer might get called again after being stopped, because the
change listener was deregistered _after_ the debouncer was stopped.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Options to control polling frequency and sleep mode
* Update documentation
* Fix request token expiration calculation and additional logging for tokens
Signed-off-by: Bill Forsyth <git@billforsyth.net>