* [mqtt] Interpet incoming NaN as UNDEF for NumberValues
Since DecimalType and QuantityType don't support NaN, but
when you're linking to a topic that the device is using
floating point, NaN might happen.
---------
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Fix IOOB exception with missing DPT in number channels
Also improves test messages for DPT unit tests
Signed-off-by: Jan N. Klug <github@klug.nrw>
Co-authored-by: Holger Friedrich <mail@holger-friedrich.de>
* Use of actions.get instead of getActions
Adopt doc to newest default JS environment regarding calling mail actions via actions.get
Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>
* [mail] Adding Javascript examples in documentation
Because function name has changed to get actions defined within the mail binding, the examples have been extended by a tab for JavaScript code.
* Update bundles/org.openhab.binding.mail/README.md
Co-authored-by: J-N-K <github@klug.nrw>
Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>
---------
Signed-off-by: Siegmar Immel <36704892+SiggiFR@users.noreply.github.com>
Co-authored-by: J-N-K <github@klug.nrw>
A new thing parameter to define the API version has been added.
Its default value is 4 for backward compatibility even if this version
is now deprecated. The documentation explains what to do to switch from
a version to another.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Implements #15949: Plus Dimmer 10v added
* category DimmableLight does not exist; README updated
---------
Signed-off-by: Markus Michels <markus7017@gmail.com>
* [mqtt.homeassistant] interpret a dimmable light as OFF properly from zigbee2mqtt
zigbee2mqtt can send a brightness of say 99, with a state of OFF, when a bulb is
off. make sure if state is sent, it overrides all other inferences
* handle brightness but not color bulbs
---------
Signed-off-by: Cody Cutrer <cody@cutrer.us>
I.e. Button, Scene, and Binary Sensors.
Also ensure we set up the CommandDescription, since some value types mights use it.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [boschshc] Update active profile of intrusion detection system
Fixes an issue that caused the active configuration profile of the
intrusion detection system not to be updated.
closes#15848
* [boschshc] add channel to control state service registration
Signed-off-by: David Pace <dev@davidpace.de>
* New translations openwebnet.properties (Italian)
* New translations jsscripting.properties (Danish)
* New translations hdpowerview.properties (Danish)
* [mqtt.homeassistant] Add support for Button component
* use a StringValue instead of an OnOffValue
---------
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* feat(energy): get current day and current month totalizers
* fixed unit (Power:Energy), refreshPeriod config and scheduler
---------
Signed-off-by: Giovanni Fabiani <fabiani.giovanni@gmail.com>
Co-authored-by: Conte Andrea <andrea@conte.com>
The page was missing information in some places (e.g. some supported
modules were not listed at all,) and some outdated information in
others. Some examples were malformed, and some wording didn’t flow too
well. The section on Channels is still pretty iffy, but I left this as
an exercise for a future me or somebody else :)
Signed-off-by: Simonas Kazlauskas <openhab@kazlauskas.me>
Follow on to #15427
ring-mqtt sends `"name": ""`, not `"name": null` or simply omitting it,
so be sure to handle that way as well
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [mqtt.homeassistant] handle null component name
channels from such components will not have a group. this is
now done by zigbee2mqtt for the "default" component of a device,
such as the light. HASS encourages this as of release 2023.8
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [mqtt.homeassistant] support color temp on JSON schema lights
also adds a color_mode channel if color temp is possible, so you can
know how the bulb is behaving
* put color mode channel construction into buildChannels()
---------
Signed-off-by: Cody Cutrer <cody@cutrer.us>
Depending on device configuration and used central [1], HM devices may
indicate long press repetition either by a single PRESS_CONT event or by
a PRESS_CONT + PRESS_LONG combination. In the latter case, make sure to
not generate a LONG_REPEATED trigger channel event for both PRESS_CONT
and PRESS_LONG, but instead keep LONG_REPEATED generation to the
PRESS_CONT handling.
[1] I'm not sure what a real CCU is doing, but for Homegear, a
configured long press timeout of less than 1s generates only
PRESS_CONT, while a timeout of more than 1s generates
PRESS_CONT + PRESS_LONG ... see [2].
[2] https://github.com/Homegear/Homegear-HomeMaticBidCoS/blob/master/src/BidCoSPeer.cpp#L1711-L1716
Signed-off-by: Danny Baumann <dannybaumann@web.de>
* Fix resource leak when discovery handling failed and NPE when a IPv6
address is reported.
* remove callApi(request/innerRequest from Shelly1HttpApi, which changes
to callApi/httpRequest in ShellyHttpCLient.
Signed-off-by: Markus Michels <markus7017@gmail.com>
* New translations sonos.properties (French)
* New translations influxdb.properties (French)
* New translations netatmo.properties (French)
* New translations jpa.properties (French)
* New translations chatgpt.properties (French)
* [influxdb] Improve connection handling
Especially for InfluxDB2 the connection check was not properly implemented. It only checked if a connections was ever successfully established. Since we removed the full crash when a write error occured, this lead to a situation where a broken connection was not detected. A ping is now implemented and also a failed write results in a disconnect.
---------
Signed-off-by: Jan N. Klug <github@klug.nrw>
* [fineoffsetweatherstation] Improve tracing
* [fineoffsetweatherstation] Fix wrong handling temperature reading for of WH34
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
* Added a few new channels:
- cleaning the mop
- check if mop drying is enabled
- remaining time for mop drying
Signed-off-by: David Kumar <github@truidix.de>
Some devices report "Window covering controller" instead of "Window covering device". They are controlled in the same way.
Signed-off-by: Jan N. Klug <github@klug.nrw>
Also adapt the documentation and drop the batteryFeedIn in the documentation
which is not part of the binding.
Fix#15365
Signed-off-by: Tim Lochmüller <tim@fruit-lab.de>
If there were multiple network interfaces and the DatagramSocket.receive
timed out an exception was thrown and the remaining network interfaces
were not considered anymore.
Signed-off-by: Stefan Roellin <stefan@roellin-baumann.ch>
* [GPIO] Update the GPIO binding to fix issues and provide new functionality.
* Add the ability to recover from network disconnects to pigpiod.
* Provide actions to what the binding does on pigpiod connect/disconnect/reconnect.
* Provide the ability to pulse outputs in a one-shot/momentary fashion.
* Provide edge level configuration for gpio outputs.
* Fix automated style checks.
* Attempt to squash jenkins build warnings/errors.
* Correct Null annotations and adjust log levels in certain areas.
* Fix bracing per checkstyle review.
* Normalize gpiod/pigpiod to pigpiod. openhab/openHAB normalized to OpenHAB.
* Fix a copy/paste error. Output channels should not be referred as input. Attempt to clarify plurals.
* Convert strings to defined constants.
* Convert pulse command strings to binding constants.
* Java17 instanceof pattern matching.
* Nit, fix missed pulse command string to binding constant.
* Add missing quotes in demo.things file definition.
Workaround #11039Fixes#11038Fixes#13376
Signed-off-by: Jeremy Rumpf <rumpf.99@gmail.com>
* Add channels for last motion/temperature sensor update (API v2)
* Add channel for last light level sensor update (API v2)
* Add channel for last rotary steps update (API v2)
* Add channel for last button update (API v2)
Resolves#15546
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for Expiring Messages
* Add action variants with TTL parameter
Resolves#15288
---------
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* make VirtualDatapoint belonging ContactSensor for more devices available
---------
Signed-off-by: niclas18 <87126599+niclas18@users.noreply.github.com>
* New translations energidataservice.properties (Italian)
* New translations energidataservice.properties (Danish)
* New translations sonos.properties (Italian)
* [ipcamera] Handle empty snapshotUrls and XML encoded characters
* use unescape method from StringUtils
---------
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Rename channel powerConsumption to energyConsumption and set display unit to litres for waterConsumption
---------
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Adds power and powerState. Updates refresh to allow 1 second refresh.
* Add activeAppName channel
* Add Player channel for transport control
Signed-off-by: Ben Rosenblum <rosenblumb@gmail.com>
* [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>