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>
* New translations airquality.properties (Italian)
* New translations airq.properties (Italian)
* New translations airvisualnode.properties (Italian)
* New translations androiddebugbridge.properties (Italian)
* [unifi] Fix PoE port mode for 24V
The value UniFi expects is actually pasv24. Tested with different UniFi controller versions.
* [unifi] Added Hilbrand as codeowner to UniFi binding
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [knx] Improve localization
- introduce localization of error messages
- add new strings for common exceptions
- provide helper functions for translation
- add test cases
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [homekit] fix BooleanItemReader to work with DimmerItems
DimmerItems have a PercentType state, which is easily convertible
to OnOffType, but is not inherited from it. So take that into account.
i.e. a variable speed fan can use a single DimmerItem for both
ActiveStatus and RotationSpeed.
* [homekit] Document that Dimmer is a possible item type for several booleans
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [homekit] allow configuring maxValue on VOCDensity
the default of 1000 is quite low in reality. tested and confirmed
working with iOS 16
* [homekit] allow step value to be configured for VOCDensity
Signed-off-by: Cody Cutrer <cody@cutrer.us>
According to the add-on documentation the Derby driver is included which was no longer the case.
The derby version was also changed because 10.16.1.1 is for Java 17+.
Signed-off-by: Wouter Born <github@maindrain.net>
this helps to auto-configure if the binding is providing the necessary info
metadata config still overrides
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* New translations ambientweather.properties (Italian)
* New translations amazonechocontrol.properties (Italian)
* New translations jpa.properties (Italian)
* New translations openwebnet.properties (Italian)
* [linky] Avoid internal server error (getting power peak early in the morning)
Fix#13377
The binding now requests power peak data for 2 days (yesterday and the day before).
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
HASS registers availability topics before calling start(), so
the AbstractMQTTThingHandler was never subscribing/starting the
availability channel(s). So do so in start() of the base class.
I checked other implementations, and either they already handle
re-registering availabilityTopics in their start()
(GenericMQTTThingHandler), or they don't use availabilityTopics
at all from the base class and manage it themselves (Homie).
Note that this shows up as newly-added HASS things not having
a problem (because the components aren't discovered until after
the ThingHandler is started), but if you restart OpenHAB or
disable/enable the thing, the channels (and components) are
cached, thus how availabilityTopics are known before starting.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Buffer last event requests per child modules
This is targetted to decrease the number of requests transmitted to Netatmo API.
Solves #13358
Signed-off-by: clinique <gael@lhopital.org>
* [openwebnet] added first support for WHO=0 scenarios
* [openwebnet] channels indent
* [openwebnet] formatting
* [openwebnet] set WHO=0 thing online automatically. Update to openwebnet4j 0.9.0
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [SunSpec] Added missing InverterStatus
See e.g., https://github.com/sunspec/models/blob/master/json/model_101.json#L307
* [SunSpec] Added Channel for Vendor Specific Status
* [SunSpec] Fixing two old TODOs
VA and VAR are defined as alternate unit for WATT so no breaking change.
Signed-off-by: Andreas Lanz <alanz@gmx.de>
* Plus/Pro support and some refactoring, bugfixes
Signed-off-by: Markus Michels <markus7017@gmail.com>
* Review changes applied
Signed-off-by: Markus Michels <markus7017@gmail.com>
* review changes
Signed-off-by: Markus Michels <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* New translations influxdb.properties (French)
* New translations tado.properties (Italian)
* New translations ecowatt.properties (Italian)
* New translations solarmax.properties (Italian)
* [unifi] Set PoE thing offline if no data could be found
This would better reflect the PoE thing status if there is a problem with either the data from the api or a configuration problem (like invalid port number).
* [unifi] Fix bug to detect PoE ports when first port is not PoE port
The binding assumed either all ports or no ports were PoE, and asssumed if port 0 was not PoE none was PoE.
However, some switches have ports starting at port 5 to be PoE. Therefor changed code to just test each port if it is PoE.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* Removed warning shown when thing is created with hexadecimal warning for read-only things
* Added missing configuration parameters into documentation
Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
* New translations openweathermap.properties (French)
* New translations openuv.properties (French)
* New translations openhabcloud.properties (French)
* New translations ecowatt.properties (French)
Changes:
Fix: Now using KTOR instead of building the url by simple string concad. This fixes the https and port 443 bug that existed prier to this change. (https://example.com would look like: https://example.com:443)
Added: Support for jellyfins Base URL option. This allows the addon to be used on installations were jellyfin uses a base path.
Signed-off-by: tliese <mail@tobiasliese.me>
* Correcting issue by late loading of the capability.
* Handle MAXIMUM_USAGE_REACHED at ApiBridgeHandler level.
Signed-off-by: clinique <gael@lhopital.org>
pass the actual class objects through, and post-process in Ruby, to
avoid the rescue nil -- and by extension, any issues with visibility
into private objects from JRuby.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
The tapocontrol plugin uses a static UUID which is now causing a an API rate limit exceeded error from the TP-Link API. This commit generates a separate UUID for every login attempt.
Signed-off-by: Peter Hicks <peter.hicks@opentraintimes.com>
* New translations openwebnet.properties (German)
* New translations sonos.properties (German)
* New translations openhabcloud.properties (German)
* New translations hueemulation.properties (German)
* New translations epsonprojector.properties (German)
* New translations hpprinter.properties (German)
* New translations http.properties (German)
* New translations knx.properties (German)
* New translations lcn.properties (German)
* New translations magentatv.properties (German)
* New translations onkyo.properties (German)
* New translations fineoffsetweatherstation.properties (German)
* New translations openweathermap.properties (German)
Range is 0..255, not 0..250.
rgb -> hsv -> rgb still isn't perfect, but it's better. In
particular, I found this when using HSBType.BLUE in a test,
and it was coming out as 0,0,250 in RGB. It now comes out as
a proper 0,0,255.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
this is a theme, and I've extracted a helper method and applied it to several
other locations as well
example, I have a double-sliding door, with two contact sensors
in the alarm system, defined as:
```
Group:Contact:AND(CLOSED,OPEN) DeckDoor_Contact "Deck Door [%s]" <door> (gExteriorDoors, gWarningVisibility_Contact, gDoor, lMainFloor, gInflux) { homekit="ContactSensor" [instance=2] }
Contact DeckNDoor_Contact "Deck Door North" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone11:zone_status" }
Switch DeckNDoor_Tamper "Deck Door North Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone11:zone_tamper" }
Contact DeckSDoor_Contact "Deck Door South" <door> (gInflux, DeckDoor_Contact, gGreatContacts) { channel="dscalarm:zone:46c52f35:zone12:zone_status" }
Switch DeckSDoor_Tamper "Deck Door South Tamper [%s]" <warning> (gTamper, gWarningVisibility_Switch) { channel="dscalarm:zone:46c52f35:zone12:zone_tamper" }
```
This allows the Group:Contact to be used for the ContactSensor.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [KVV] Replace underlying API
The underlying API does no longer work so it is replace. An API key is no longer necessary.
Users need to replace the `stopId` in there station thing configuration. See README.md for details.
Signed-off-by: Maximilian Hess <mail@ne0h.de>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
* [pulseaudio] Removing isIdle test
The isIdle boolean was not properly handled.
When disconnection is called, isIdle is not relevant : we should always honnor the disconnection request.
In fact, isIdle prevented disconnection when it is necessary (example : when a IOException occurs when sending audio to sink)
+Little bug fix on volume parsing: some volume request doesn't respond with a space after the comma separating left/right channel.
* [pulseaudio] Enhancement to the idle detection for disconnection
Using a counter to count client instead of a isIdle variable, which was not thread safe.
The PulseaudioSimpleProtocolStream parent class is now the sole responsible for closing source or sink stream.
* [pulseaudio] Small performance enhancement
Avoid a costly synchronized operation for a method called very often.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* Migrate start/finish channels to full DateTime channels
* Unmark start and duration as advanced channels
* Add end channel
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix target temperature command
1) Fix target temperature command
2) fixed typo in log
* Allow update status even if the unit is not alive
Seems 'acwand' status is always "DOWN" so ignore this and just log debug
Signed-off-by: Roie Geron <roie.geron@gmail.com>
* Update Shelly and Tradfri bindings for upgrade to Californium 2.7.3
* Fixes deprecated API usages
* Resolves itest runbundles
Signed-off-by: Wouter Born <github@maindrain.net>
* Add NuvoNet source communication
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* fix readme
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* remove commented code
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Add startup/shutdown keypad messages
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Minor cleanup before code review
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Add configurable favorites labels
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* add new config item to i18n properties
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Fix restart detection and improve version matching
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* review changes
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Increment version number
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* remove repeated word in channels.xml
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Review changes
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* [mqtt.openassistant] Better labels for discoverd things
This PR introduces more simple label for things, instead of
"My Sensor (Sensor, Sensor, Sensor, Sensor, Sensor, Switch)" we have
simply "Me Sensor (5x Sensor, Switch)".
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
see reference in code comment, but a measurement sensor is assumed to
be numeric, even if it doesn't have a unit
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [mqtt.homeassistant] Stable jsondb serialization for discovery results
Similar to openhab/openhab-core#2436, we want
to have consistent ordering of data in JSONDB. This is fixing the jsondb
order for mqtt.homeassistant discovery results, specifically, the
"topics" property.
* [mqtt.homeassistant] order using full topic string, not by subcomponent
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [ecowatt] Initial contribution
This binding uses the Ecowatt API to expose clear signals to adopt the right gestures and to ensure a good supply of electricity for all in France.
Close#13351
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Update bundles/org.openhab.binding.ecowatt/src/main/resources/OH-INF/thing/thing-types.xml
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [miio] Qingping Air Monitor (cgllc.airmonitor.s1) support is broken #13258
1. Custom refresh command for "battery" was defined . The device with "4.1.8_9999" firmware version does not allowed to obtain this information by this way which prevents to obtain other values. The solution should work for both old firmware (the battery information would be requested as before) and it does not prevent the device with new firmware from sending other values (I checked it).
Signed-off-by: Dmitry Malenok <_mak_@bk.ru>
* [miio] Qingping Air Monitor (cgllc.airmonitor.s1) support is broken #13258
1. The comment clarifying the "battery" parameter behavior was added.
Signed-off-by: Dmitry Malenok <_mak_@bk.ru>
Signed-off-by: Dmitry Malenok <_mak_@bk.ru>
* [jellyfin] add play by id channels and update sdk
* [jellyfin] add missed Playing Item Id channel
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
After upgrading mysql-connector to 8.0.30 this exception was thrown: class java.time.LocalDateTime cannot be cast to class java.sql.Timestamp
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [velux] make vanePosition channel dynamic
* [velux] change category of window position from 'blinds' to 'window'
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* Add CPU load channel, update dependencies
* use PercentType, correct process CPU load
* Add and fix test
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
When a user has configured additional settings on a PoE port, like name.
These settings where lost when changing the PoEPort status in openHAB.
This was because in the binding only some information of the override was stored and when writing the new state this information would have been sent too.
In this change the object to store the override has been replaced by a plain json object. Therefore we don't have to know what is in it and all information is kept.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* Taking configured onvalue into account when sending status to actuator
* Added documentation for onValue configuration
Signed-off-by: Haavar Valeur <haavar@haavar.com>
Re-use the same pattern as defined in class DateTimeTyoe.
Allows the support of 0 to 9 digits after the seconds.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Using default onvalue if configured is null
* Using DTO for channel configuration. Changing channel config parameter names to camel case
Signed-off-by: Haavar Valeur <haavar@haavar.com>
* Added INCREASE/DECREASE commands for brightness/color Channels
* Fixed NPE in HeatingModel
* Use set unmapped color command for color control of bulbs
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
* [mimictts] Use http method POST instead of GET
Using POST method allows longer request size.
Also, using InputStreamResponseListener avoid keeping the response in-memory
* [mimictts] quick fix for regression : providing length
Some audiosink needs it
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* [fineoffsetweatherstation] add support for the new GW2001 weather station with its WH90 sensor
* [fineoffsetweatherstation] add missing channel labels
* [fineoffsetweatherstation] remove redundant translations
* [fineoffsetweatherstation] add test data + fix for WH90
* [fineoffsetweatherstation] fix wrong size for `CMD_READ_RAIN`
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
Using the pool prevents exceptions like:
```
java.nio.channels.ClosedByInterruptException: null
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:199) ~[?:?]
at sun.nio.ch.FileChannelImpl.endBlocking(FileChannelImpl.java:162) ~[?:?]
at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:388) ~[?:?]
at org.rrd4j.core.RrdNioBackend.<init>(RrdNioBackend.java:94) ~[?:?]
at org.rrd4j.core.RrdNioBackendFactory.open(RrdNioBackendFactory.java:163) ~[?:?]
at org.rrd4j.core.RrdBackendFactory.getBackend(RrdBackendFactory.java:521) ~[?:?]
at org.rrd4j.core.RrdDb.<init>(RrdDb.java:627) ~[?:?]
at org.rrd4j.core.RrdDb.of(RrdDb.java:500) ~[?:?]
at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.getDB(RRD4jPersistenceService.java:323) ~[?:?]
at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.store(RRD4jPersistenceService.java:141) ~[?:?]
at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.lambda$0(RRD4jPersistenceService.java:211) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
```
Fixes#13297
Also includes a few code improvements.
Signed-off-by: Wouter Born <github@maindrain.net>
* Fixed null pointer exception on state update with missing state
* Added variable for state. Changed onvalue configuration type to integer.
Signed-off-by: Haavar Valeur <haavar@haavar.com>
Minor change which gives more properties to detected things, which
should make a little easyer for users with these devices to identify them.
Signed-off-by: Jørgen Austvik <jaustvik@acm.org>
* [jrubyscripting] Update to jruby 9.3.7.0
* [jrubyscripting] Exception fixed in jruby 9.3.7.0
The BootstrapMethodError should no longer be thrown by jruby since 9.3.7. Fixed in https://github.com/jruby/jruby/pull/7271
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
* Fixes a concurrent modification exception, cleans up handler on dispose, fixes totally broken last contact channel
Fixes#13094
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* [tado] fix npe when target temperature json element is missing
* [tado] apply temperature command/value restrictions
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* The Automower Connect API Authentication does not work anymore as they moved to a new authentication method. (AppKey and AppSecret) - adopted. Fixes issue #12980.
Signed-off-by: Boris Krivonog <boris.krivonog@inova.si>
* Adding base URL to config to allow for manually adding thing
* Simplified reading of the base URL configuration. Renamed field to baseUrl to be consistent.
* Changed config parameters to camel case
Signed-off-by: Haavar Valeur <haavar@haavar.com>
* Removed provider header, no longer necessary
* Fixed connection tracker not starting after some websocket restarts
Signed-off-by: Gerhard Riegler <gerhard.riegler@gmail.com>
For all models providing these information and relying on ASCII protocol.
The binding now supports reading of status message containing variable length content.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* [velux] use new API, and log StatusReply codes
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [sonos] Added support of RadioApp music service
* Extract artist and song title from TITLE
* Extract code in methods to reduce the size of the method updateMediaInformation
* Create new class and add tests
Fix#13208
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* - bug fix in konnnected handler to update change of smarthome units to Units
- multiple changes to code to enable support for the konnected pro-module
* Added optional configuration for callback URI
* Added support for more than one buzzer sound. Made zone/pin variables consistent. Removed preconfigured channels to be consistent (either all should be added or none).
Signed-off-by: Haavar Valeur <haavar@haavar.com>
* [knx] Add support for KNX IP Secure
* add support for KNX IP Secure, new options SECURETUNNEL and
SECUREROUTER, refers to #8872
* add config options for credentials for secure connections
* update user documentation
* add test cases
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
given:
```
Group eThermostat { homekit="Thermostat" }
Number:Temperature Thermostat_AmbTemp (eThermostat) { homekit="CurrentTemperature" }
Number:Temperature Thermostat_SetTemp (eThermostat) { homekit="TargetTemperature" }
Group gThermostatZoneContacts
// in reality there are multiple thermostats and multiple of these groups,
// so that a rule on members of gThermostatZoneContacts can find the related
// thermostat to turn it off when a window is open
Group:Contact:OR(OPEN,CLOSED) gWindows (eThermostat, gThermostatZoneContacts)
Contact Window_Contact (gWindows) { homekit="ContactSensor" }
```
When constructing the Thermostat accessory for eThermostat, detects the
Window_Contact as a mandatory characteristic, because it's a base accessory
in a nested group. This leads to lots of warnings about the temperature
value of a contact item being out of range.
The fix is two-fold - first of all, there's no reason to search nested
groups for characteristics of a complex accessory. Second of all,
even if for some reason you were to nest an accessory in an accessory,
the nested accessory does not actually belong to the outer accessory,
so don't add it as a mandatory characteristic of the outer.
I suspect there's still one more bug, because AbstractHomekitAccessoryImpl.
getCharacteristic(HomekitCharacteristicType.CURRENT_TEMPERATURE) was
returning Window_Contact, which is only tagged as a ContactSensor. But
after fixing the above two bugs, it was no longer reproducible, and I
didn't continue digging.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [jrubyscripting] check if gems are installed before installing them
this avoids unecessary downloads and overwrites, or even more importantly
errors if the GEM_HOME is not writable by the openhab user.
this also adds a configuration option for if you want to check for
updates every time configuration is applied (or openhab restarts). this
is useful if your OpenHAB system can't access the internet regularly.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [nibeheatpump] Added PRODINo ESP32 Ethernet v1 board support
Also added:
- telnet debug support (UDP debug removed)
- new configuration model
- OTA update support for PRODINo ESP32 Ethernet v1 board
Signed-off-by: Pauli Anttila <pauli.anttila@gmail.com>
* Fix thing offline on invalid command
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Rename exception
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Go back to last thing status after temporary disruptions
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Increase call frequency after device being unreachable
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Minor bugfixes from hardening
Signed-off-by: Markus Michels <markus7017@gmail.com>
* review changes applied
Signed-off-by: Markus Michels <markus7017@gmail.com>
* controlProfile is type String
Signed-off-by: Markus Michels <markus7017@gmail.com>
Concerns the models RSP-1570, RSP-1572 and RSX-1562
BYPASS as DSP mode is also removed for these models.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* [rotel] Add missed command to switch between ProLogic modes
All models using the HEX protocol are concerned.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Optimize API calls for reduced load
* Add position tracking (on map)
* Provide faster updates when active
* Optimize state update after triggering commands
* Clean up duration variables
* Add initial test coverage for DeviceStatus
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Move test providers to dedicated folder
* Simplify resource loading
* Clarify what is being tested
* Extract online communication test to separate class
* Fix SAT findings
* Rename variable to comply with naming convention
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
support. In general Gen1 and Gen2 devices have a total different API so
I spliced the API code in version/gen 1 and 2. This means restructuring
the classes (e.h. api+coap became api+api1+api2) and therefor dummy
changes in the code, e.g. import statements. This creates a lot of
overhead and separating those "dummy changes" simplifies merging the
actual PR.
Signed-off-by: Markus Michels <markus7017@gmail.com>
* Refresh cutting times right after next planned cutting
* Cancel cutting time future unconditionally
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [fineoffsetweatherstation] add support for ELV protocol
* [fineoffsetweatherstation] remove german translations
* [fineoffsetweatherstation] add representationProperty for gateway, fix unit of irradiation-uv
* [fineoffsetweatherstation] add representationProperties in descriptor xml file
* [fineoffsetweatherstation] set channels values to undef in case of communication errors
* [fineoffsetweatherstation] use lock for request synchronisation
* [fineoffsetweatherstation] marke sensors as gone, if they got unpaired
resolves#12763
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
* Fix communication error when no planned next cutting
* Provide targeted handling of missing cutting times
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [rotel] Add support of multiple zones (ASCII protocol)
Models C8 and C8+ (distribution amplifiers)
Code factorization.
Simulator updated.
* Set model/firmware thing properties (ASCII V2 protocol)
* Review comment: NumberOf rather than Nb
* Review comment: getZoneCommand: IllegalArgumentException if numZone is
outside 1-4
* Review comment: constant for volumeUpDown
* Simplification: method isPowerOn with numZone parameter (range 0-4)
* Review comment: fix for getPowerOffCommand
* Review comment: new method isZoneAvailable to factorize code
* Review comment: use MAX_NUMBER_OF_ZONES to check range validity
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Separate Venstar thermostat API calls to change the away mode or
schedule-enabled mode so that the POST to the thermostat's REST
API settings endpoint contains only one of these two params.
Newer ColorTouch thermostat firmwares will reject any POSTs to the
settings endpoint that include the 'schedule' parameter when the
thermostat is currently in AWAY mode, regardless of the value
passed for 'schedule'. This had the effect of preventing the
OpenHab binding from un-setting away mode.
Signed-off-by: David Eberhart <git@daveeberhart.com>
* New translations astro.properties (Hungarian)
* New translations chromecast.properties (Hungarian)
* New translations darksky.properties (Hungarian)
* New translations coronastats.properties (Hungarian)
* New translations evohome.properties (Hungarian)
* New translations mcd.properties (Italian)
* New translations amazondashbutton.properties (Italian)
* New translations openwebnet.properties (Italian)
* New translations openhabcloud.properties (Italian)
* New translations voicerss.properties (Italian)
* New translations tado.properties (Italian)
* New translations wled.properties (Italian)
* New translations livisismarthome.properties (Italian)
* Allow hostname as gateway network address
* Document configuration parameters for things
* Add message for bridge communication error
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* - new device types added
- min firmware set to 1.8.2
- unit for gas concentration fixed (ppm)
- Auto numbering on channel labels for groups with multiple instances
(add sequence suffix)
- API and Thing interfaces defined to restrict access to those classes
- fix on TRV boost update via CoAP
- fix for status.temperature and status.uptime, internalTemp channels
- don’t use meter timestamp if not present (RGBW2)
- low battery indicator for sensor devices fixed
- device detection based on model/type improved
- various messages/translations fixed/improved
- README updated (missing thing types added)
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* missing properties added
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* minor changes
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* markdown fixed
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* review changes applied
Signed-off-by: Markus Michels <markus7017@gmail.com>
* shelly_de.properties restored from main branch
Signed-off-by: Markus Michels <markus7017@gmail.com>
* Switch to fork of gatt parser library in order to fix incompatibility with xstream
* Add SAT suppressions
* Add gson dependency
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* [mimictts] Initial contribution
Add a voice service for Mimic (version 3) TTS from Mycroft AI.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* [lcn] Add shutter positioning/angle, operating hours counters, tunable white, regulator mode, beeping
Also, fix possible race condition during connecting, when the PC coupler is not connected to the LCN data wire.
Replace discontinued LCN-PKE by LCN-VISU.
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* [goecharger] fix data type for energy (nrg)
* nrg need to be double for V2
* [goecharger] update example
Signed-off-by: Reinhard Plaim <reinhardplaim@gmail.com>
* Fix multiple authentications during initialization
* Fix cutting times being fetched twice during initialization
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add missing specialized text for unreachable device
* Document IndegoUnreachableException on relevant paths
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix auto-update policy for stateless channel
* Reflect appliance state in switch channel state
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [openhabcloud] Makes the baseURL and item updates options advanced, cleans up documentation, disabled sending updates to the community myopenHAB.org service.
Fixes#12582
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Subchannels were created by appending the key. However this was done inside a loop and if multiple updates were needed they would be appended to the channel name, instead of taking the channel name each time.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* New translations enigma2.properties (Norwegian)
* New translations enigma2.properties (Hungarian)
* New translations enigma2.properties (Norwegian)
* New translations iCloud.properties (Finnish)
* New translations tradfri.properties (Finnish)
* New translations map.properties (Finnish)
* New translations googletts.properties (German)
* New translations voicerss.properties (Finnish)
* New translations xmltv.properties (Finnish)
* New translations exec.properties (Finnish)
* New translations jinja.properties (Finnish)
* New translations js.properties (Finnish)
* New translations regex.properties (Finnish)
* New translations jsonpath.properties (Finnish)
* New translations scale.properties (Finnish)
* New translations xslt.properties (Finnish)
* New translations xpath.properties (Finnish)
* New translations opensprinkler.properties (Finnish)
* New translations porcupineks.properties (Finnish)
* New translations netatmo.properties (Finnish)
* New translations imperihome.properties (Finnish)
* [pidcontroller] Implement previous state recovery on startup
This feature allows the PID controller parameters to be updated and
OpenHAB to be restarted without losing the current controller state.
This is especially important for systems with a long response time.
For example it might take up to a day for an underfloor heating
controller to stabilise after losing state and having to build up
the integrator value from zero.
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Change logger.info -> logger.debug
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Change debug Item -> inspector Item in README
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Add documentation regarding state persistence
Signed-off-by: Lenno Nagel <lenno@nagel.ee>
* Update bundles/org.openhab.automation.pidcontroller/README.md
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* Update bundles/org.openhab.automation.pidcontroller/README.md
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* Adaptation of the login for API version 1.1
* Fixed logging statement
* Fixed logging message
* Reverted changes in the german translation
Signed-off-by: Gerhard Riegler <gerhard.riegler@gmail.com>
* New translations googletts.properties (French)
* New translations googletts.properties (German)
* New translations googlestt.properties (German)
* New translations googlestt.properties (French)
* DALI: Implement DT8 (single-channel RGB & color temperature) device type, fix device and group addressing
* dali: Store BridgeHandler in a local variable instead of retrieving it over and over again.
* dali: Follow logging guidelines.
Signed-off-by: Sebastian Philipp <github-ebqurd@s3lph.me>
* New translations boschindego.properties (Danish)
* New translations remoteopenhab.properties (German)
* New translations remoteopenhab.properties (Hungarian)
Starting with openHAB 3.3, the framework enforces using serial
ports which are detected by the system by default. This feature
is now disabled for the KNX addon to allow using symlinks to
ports as well.
Refers-to: openhab/openhab-core#3014
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Clarify handling of initial read and readInterval in documentation.
Updated labels to distinguish readInterval and pollInterval.
Fixes#12921.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [ipcamera] Fix multiple part handling for Dahua events
* [ipcamera] Call processSettings only when data contains no boundary
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
* Fix compiler warning
* Add basic test coverage for DataItem deserialization
* Add full prefixes to attributes variables
* Add missing newlines at end of test payload files
* Add full prefix to attributes variable
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* New translations unifi.properties (Dutch)
* New translations upnpcontrol.properties (Dutch)
* New translations elroconnects.properties (Dutch)
* New translations danfossairunit.properties (Danish)
* New translations elroconnects.properties (French)
* New translations nikohomecontrol.properties (Dutch)
* [wundergroundupdatereceiver] Add "Outdoor" to humidity
* [wundergroundupdatereceiver] Missing units in description and patterns
* [wundergroundupdatereceiver] Replace "weather station" with device
The request sender is not necessarily a weather station
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
These tests use the real website which causes unwanted load, network connections and test failures.
See: https://github.com/openhab/openhab-addons/actions/runs/2529936944
```
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 4.109 s <<< FAILURE! - in org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest
[ERROR] org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForRegion Time elapsed: 3.294 s <<< ERROR!
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/*+xml
at org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForRegion(AhaCollectionScheduleTest.java:42)
[ERROR] org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForHannoverCity Time elapsed: 0.726 s <<< ERROR!
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/*+xml
at org.openhab.binding.ahawastecollection.internal.AhaCollectionScheduleTest.testGetValuesForHannoverCity(AhaCollectionScheduleTest.java:33)
```
Signed-off-by: Wouter Born <github@maindrain.net>
* [wundergroundupdatereceiver] Initial implementation
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Code review
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Fix some description formatting
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add some more channel types per request
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add more headers to response
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Based on the observed headers from actual traffic to wunderground.com.
* [wundergroundupdatereceiver] Discovery service
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Upgrade to 3.2, fix group name constants
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add a list of channel types
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add dateutc as synthetic DateTime channel
Also add som emore constants
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Do more programmatic configuration
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] More readme
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Update copyright year
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Handle multiple instance request parameters
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Ie. those that can have an index number in the name, fx. temp1f, temp2f
* [wundergroundupdatereceiver] Add unmapped but mappable channels
To support multiple devices any new parameters that are submitted cause a new channel to be created
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Don't pass superfluous config to channels
Also documentation additions
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add generated i18n file
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Re-case test method names
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Re-word thing file section of README
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Co-authored-by: Daniel Demus <dde@nine.dk>
* Enhance server side error handling
* Enhancing exception tree
* a small factorization of error status
* Shorten statusMessage
* Correcting log syntax
Signed-off-by: clinique <gael@lhopital.org>
* Treat HDPowerViewWebTargets as non-null since initialized by initialize()
* Simplify maintenance period logic slightly
* Improve response logging
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for localization of textualstate texts
* Refactor state texts to eliminate redundancy
Fixes#12941
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add example for configuring ser2net version 4 and above
The format for ser2net configuration has changed to a YAML file.
This PR simply adds an example yaml block showing a working ser2net connection with the Oppo Bluray player.
* Bump openhab-js version to 2.0.0
* Update README for current openhab-js version
* README: Fix paths to images
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* [insteon] set device offline if it doesn't exist in the plm/hub database
* [insteon] use a flag to indicate if a device is linked or not
* [insteon] set config to @NonNullByDefault({}) instead of @Nullable
* [insteon] cleanup
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
- Initial version added (copied and renamed from the innogysmarthome binding)
- The local API is now used, authorization, bridge initialization and discovery is already working
- Potential NullPointerExceptions fixed
- Adding battery-low-Channel support for ISC2
- More optimizations and local API changes in the ReadMe
- The key button counter channels are now updated correctly. The according trigger channels should now also work fine.
- Bug fixes regarding button pressed event. The pressed event is now executed along with short and long press events, so if someone want to react on a button press (short or long), the PRESSED trigger event can get checked. And the pressed event isn't senseless executed on a binding restart anymore.
- Error messages improved
- Deprecation-Notice
- New deprecation warning integrated in the innogysmarthome binding
- Livisi renamed to LIVISI
- SHC channels are now initialized correctly
- New "status" channel for the SHC with the values ACTIVE, INITIALIZING and SHUTTINGDOWN
- Code and documentation optimizations
- Fix for PT-PSS action
- Support for SHC classic - The websocket is hosted on another port.
- Update for Temperature-Channel-Definitions and Translations (de)
- Update for Power-Channel-Definitions
- Further translations (de) for devices and channels
- Refactoring branch integrated (some tests added and a lot of code optimizations for example smaller methods, better method names, more simple flows without continue and return in void methods, improved NULL handling, etc.)
- Code optimization (special handling for VariableActuator removed which seems to be not required anymore)
- The thing status is now set to offline when the device is not reachable (even on binding start up)
- The thing status is now set to online again when the device is reachable again
- Clearer description of the invert switch of the RollerShutter (ISR2)
- Copyright notices corrected
- Imports optimized
- Changed handling of pointTemperature (QuantityType instead of DecimalType)
- Code optimization (device status listeners are now registered with device id, so it isn't necessary anymore to call all listeners to find the right matching listener for the device event).
- Code optimization (not working mDNS bridge discovery removed).
- Explicit idle timeout removed (seems not to be required anymore for the local API and may cause problems with SHC 1, there occur EOFExceptions)
- Code optimizations (Debug code removed which isn't required anymore)
- Warn message added which is logged when the temperature to set is not between min and max temperature (this can happen when the user uses the REST-API instead of MainUI or probably also when set via a rule).
- Code optimizations (stronger/consequent use of QuantityType instead of DecimalType)
- Temperature values outside the possible range of 6 - 30 °C are now set to 6 / 30 °C. Therefore a temperature channel can get set to 0 °C for example by a rule and this is automatically changed to 6 °C (and causes a debug message).
- Code optimizations
- Bug fixes regarding UnitsOfMeasurements (Number:Power)
- Tests repaired
- The local API returns "[]" for empty objects which should only get used for arrays... This is now handled by the binding with replacing "[]" by "null". This error occurred with SHC 1, it isn't known if SHC 2 is also affected.
- Number:Dimensionless (percent) introduced for humidity and luminance
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- The configVersion is now also available for SHC 1 bridges.
- More changes to Descriptions, Translations, Icons, Channel-Order, Channel-Config
- Trace logging of responses added to increase the traceability
- The SHC channels should now also get filled for SHC classic
- cpu, memory and disc channels are now defined as percentage (Number:Dimensionless)
- Jetty-HttpClient replaced by simple UrlConnection, because Jetty-HttpClient has problems with high frequency execution of requests. There were EOFExceptions with SHC classic when 2 or more requests were executed within the same second...
- Readme updated
- Copyright notices corrected
- Additions in ReadMe for RST2 / WRT
- The bridge channels (cpu, memory, disc and operation state) are now updated every minute for SHC 1 / classic (because there are no such events for SHC 1 / classic)
- Bug-fix for SHC 1 / classic: Device attributes are now updated correctly for SHC 1 / classic (there is another response structure, which caused that some attributes were not found / update). This should have affected battery low and reachable (thing status) information.
- There are also raw events which report changes regarding the bridge channels (cpu, memory, disc and operation status). There are now processed.
- Token request JSON changed to lower-case (to be compatible with the new SHC firmware update and this should enable to use the standard logics)
- SHC 2 can now get authenticated with the OAuth 2.0 standard logics of OpenHAB (with x-www-form-urlencoded instead of json). The old special json logic is still there to support SHC 1 (but SHC 1 will also get updated soon).
- SHC 1 supports now short and long button pressed events
- Outdated custom login logics removed. SHC 2 and SHC 1 / classic supports now OAuth 2.0 login requests, therefore the default login logics of OpenHAB can now get used.
- README updated for the required software version of SHC 1 / classic
- Code review findings fixed
- Code review findings fixed (Channel Ids renamed to lowerCamelCase)
- Unused code removed
- Code review findings fixed (Device status messages localized)
- Code review findings fixed (label of BooleanStateActuator renamed)
- Code review findings fixed (hard-coded units resolved)
- Code review findings fixed (unit of measurements changed form Power to Energy when it is unit Wh instead of W)
- Code review findings fixed (thing status BRIDGE_OFFLINE changed to COMMUNICATION_ERROR, because BRIDGE_OFFLINE is intended for sub/child devices, not for the bridge thing)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Compiler warnings fixed
- Code review findings fixed
- Code review findings fixed (channel ids renamed)
- Code review findings fixed (tags for temperature and humidity added)
- Code review findings fixed (properties renamed to lowerCamelCase like the default properties)
- Code review findings fixed (non-null warnings fixed, performance increased by reducing requests)
- Code review findings fixed (non-null warnings fixed)
- Code review findings fixed (non-null warnings fixed in tests)
- Copyright notices updated
- Unnecessary log line removed
- Code review findings fixed (non-null warnings fixed in tests)
- Test fixed (WebSocketClient can't get mocked completely which caused an Exception)
- Code review findings fixed (various code optimizations)
- Code review findings fixed (channel-type-ids renamed to lowerCamelCase)
- Code review findings fixed (translation simplified)
- Code review findings fixed (temperature point handling converted in UoM)
- Code review findings fixed (Exception handling improved)
- Code review findings fixed (offline state precised when the bridge isn't found/configured)
- Code review findings fixed (exception logs deactivated within tests to reduce to console output when running the tests)
- Code review findings fixed (thing status is now checked instead of bridge status)
- Code review findings fixed (DeviceStructureManager can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (LivisiClient can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (OAuthService can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (unnecessary type check removed)
- Code review findings fixed (warning messages within tests reduced)
- Code review findings fixed (more when the bridge connection state changes)
- Code review findings fixed (reconnect job changed from scheduleAtFixedRate to scheduleWithFixedDelay - recommended by the SAT warnings).
- Code review findings fixed (unused method removed).
- Representation property introduced to auto-ignore textual defined things at discovery/scan
- Code review findings fixed (more detailed error message for SHC not reachable added).
- Fix ChannelTypeID in Readme.md sample
- Code review findings fixed ("/event/ControllerConnectivityChanged" doesn't change the bridge thing to offline anymore, because it isn't important for the local API anymore).
- Code review findings fixed (point temperature commands with DecimalType instead of QuantityType can now also get handled).
- Tests added regarding handleCommand
- Code optimization (constant for the "invert" channel parameter added)
- Code optimization (log messages within tests avoided)
Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Co-authored-by: RalphSester <ralph.sester@sester-edv.de>
* [gardena] Fix handling of websocket connection losses that causes memory leaks
* The binding no longer restarts websockets more than once if the connection is lost
Signed-off-by: Nico Brüttner <n@bruettner.de>
* New translations amazondashbutton.properties (French)
* New translations icalendar.properties (French)
* New translations luxom.properties (French)
* New translations amazondashbutton.properties (French)
* [groupepsa] Fix syntax of documentation and minor spelling improvements
- Fix syntax of documentation and minor spelling improvements
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
* New translations miele.properties (German)
* New translations remoteopenhab.properties (German)
* New translations mqtt.properties (German)
* New translations metrics.properties (German)
* New translations boschindego.properties (German)
* New translations gpstracker.properties (German)
* New translations onkyo.properties (German)
* New translations tado.properties (German)
* New translations telegram.properties (German)
* New translations jruby.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations bluetooth.properties (German)
* New translations imperihome.properties (German)
* [fronius] Add additional Inverter DC channels
* [fronius] Update channel description and translations
* [fronius] Add calculated DC Power channels
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
* Set thingStatus earlier in initialize
* Check device configuration
* Make sure to always set thing status
* Make thing status message localizable
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* New translations vigicrues.properties (French)
* New translations weatherunderground.properties (French)
* New translations xmltv.properties (French)
* New translations renault.properties (French)
* New translations ntp.properties (French)
* New translations ntp.properties (German)
* New translations sagercaster.properties (French)
* New translations ntp.properties (Hungarian)
* New translations ntp.properties (Turkish)
* Do not set thing status before end of initialization
* Change ThingStatusDetail when no communication object
* Change bridge config error messages
* Bridge status changed handling
* Check bridge status in handler init
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* [tado] reconnect offline things if possible & allowed
* [tado] bridge should ping the server every polling cycle
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* Make trigger type items act on off
* Fix gson serializing empty values
* Fix some null pointer warnings
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* New translations boschshc.properties (German)
* New translations jinja.properties (German)
* New translations regex.properties (German)
* New translations jsonpath.properties (German)
* New translations xpath.properties (German)
* New translations dynamodb.properties (German)
* New translations jdbc.properties (German)
* New translations neeo.properties (German)
* New translations fsinternetradio.properties (German)
* New translations sonyaudio.properties (German)
* New translations systeminfo.properties (German)
* New translations wemo.properties (German)
* New translations googlestt.properties (German)
* New translations voicerss.properties (German)
* New translations porcupineks.properties (German)
* New translations watsonstt.properties (German)
* New translations voskstt.properties (German)
* New translations deutschebahn.properties (German)
* New translations dwdunwetter.properties (German)
* New translations shelly.properties (German)
* New translations googletts.properties (German)
* New translations http.properties (Italian)
* New translations evcc.properties (German)
* New translations imperihome.properties (Italian)
* New translations voicerss.properties (German)
* New translations dwdunwetter.properties (German)
* [influxdbv1] https://github.com/openhab/openhab-addons/issues/9790 and https://github.com/openhab/openhab-addons/issues/10398 Fix for retention and table names containing InfluxQL keywords or special characters
Signed-off-by: fremel@gmail.com <fremel@gmail.com>
* Revert escaped qoutes on null items
Signed-off-by: fremel@gmail.com <fremel@gmail.com>
* Apply suggestions from code review
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Joan Pujol <joanpujol@gmail.com>
* Apply spotless
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Joan Pujol <joanpujol@gmail.com>
Co-authored-by: Jacob Laursen <jacob-github@vindvejr.dk>
Wait for the thing being initialized properly by the thing manager
before considering it as an active children
Fix#12809
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Update to using bridge/thing
* remove white channels.
* Improve Discovery
* Add more sleep/ timed light / NL features
* Change advanced channels
* fix bug for sleep duration
* Update readme with new channels
* Move channels into separate readme heading.
* fix white jumps to 0 after moving control.
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Changes API URL and authentication Headers for DB API Marketplace.
* Fixed some typos and code style findings.
Signed-off-by: Sönke Küper <soenkekueper@gmx.de>
* [boschshc] Support for Bosch Intrusion Detection System (#12700)
* Add thing and channel definitions for intrusion detection system
* Extract handler abstraction for devices with non-configurable device
IDs
* Extract service abstractions for write-only services (i.e. services
that can not receive states from the bridge)
* Add handler, services and DTO implementations for the intrusion
detection system
* Add detailed Javadocs
* Generalize mechanism to actively fetch initial states for certain
services
* Add unit tests
* Add documentation
closes#12700
* [boschshc] Documentation and formatting enhancements
Signed-off-by: David Pace <dev@davidpace.de>
* New translations astro.properties (Italian)
* New translations netatmo.properties (Italian)
* New translations fineoffsetweatherstation.properties (Italian)
* [fineoffsetweatherstation] initial commit
* [fineoffsetweatherstation] add missing measure type for air quality
* [fineoffsetweatherstation] add names to sensors
* [fineoffsetweatherstation] add missing channel types for lightning and water leak
* [fineoffsetweatherstation] adjust label names and replaced images + pdf so there are no copyright issues
* [fineoffsetweatherstation] remove wrong semantic tags
* [fineoffsetweatherstation] add missing measurands for WH45 (CO2) and WH35 (Leaf wetness)
* [fineoffsetweatherstation] fix typos
* [fineoffsetweatherstation] improve error handling for unstable connections
* [fineoffsetweatherstation] set online status after successful discovery
* [fineoffsetweatherstation] adjustments after review
* [fineoffsetweatherstation] adjustments after review
* Fix typo
* use `system.wind-speed` where applicable
* fix naming of channel type constants
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
Bump all org.bouncycastle bundles to version 1.70 and added new bcutil-jdk15on jar which was added with v1.69
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* [unifi] New wiredClient and poePort, Discovery support
This change adds the following changes:
- 2 new things: a wired client and POE port.
- Adds discovery of clients and poePort.
- Adds guest channel to client thing.
Also included some refactoring and bug fixes.
This change includes changes made by Matthew Bowman that he created on his own branch but were never completed.
Closes#9609: Implemented async http call, which should fix the buffer overflow.
Closes#10375: At least should avoid the stack overflow.
Closes#11964: cid will be handled in lower case.
* Removed type from UniFiCache constructor
It's redundant and only used for logging.
* Added UniFi Site and wLAN things
* Improved default state handling
Updated refresh/state update, to also update when no data available.
Simplified usage of cache: call cache directly instead of implicit via controller class.
Made getDefaultState generic to all things, and simplified passing channelId instead of channelUID to sub methods.
* Moved dto objects to dto package.
* Added support for client experience
* Made fields private
No need to have them protected.
* Added PoE power-cycle command
Also added wireless client as command as this better fits with the openHAB model to handle commands that are only one way and not have a state.
* Updated readme
* [unifi] Added client/guest count to wlan
* Fix QRcode construction and added hidden ssid support in qrcode string
Also-by: Matthew Bowman <mgb@otr.mx>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Co-authored-by: Matthew Bowman <mgb@otr.mx>
* [renault] Add German translations and small english text fixes. Add missing config parameter to README.
* [renault] Remove German translations.
* [renault] Make config with default and english text sources of truth consistent.
Signed-off-by: Doug Culnane <doug@culnane.net>
* New translations googletts.properties (French)
* New translations googlestt.properties (French)
* New translations voskstt.properties (French)
* New translations watsonstt.properties (French)
* New translations pollytts.properties (French)
* New translations mqtt.properties (French)
* New translations mqtt.properties (French)
* New translations porcupineks.properties (French)
Also avoid the thing to remain in state UNKNOWN if the decoding of the
JSON response is failing.
Fix#12719
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* New translations exec.properties (French)
* New translations jinja.properties (French)
* New translations js.properties (French)
* New translations jsonpath.properties (French)
* New translations regex.properties (French)
* New translations scale.properties (French)
* New translations xslt.properties (French)
* New translations xpath.properties (French)
* New translations renault.properties (French)
* New translations sonnen.properties (French)
* New translations luxom.properties (French)
* New translations luxom.properties (Italian)
* New translations prowl.properties (French)
* New translations prowl.properties (Italian)
* New translations awattar.properties (German)
* New translations vesync.properties (Italian)
* New translations netatmo.properties (Italian)
* [webthing] Fix item type for dynamic channel
* Review comments: use constants from CoreItemFactory
Related to #12712
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Items with dimensions (QuantityType) are now translated and can be sent to the
KNX bus. This requires the correct DPT to be specified in the channel
definition. Fixes#10706.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* [http] Add tests
* [http] Treat all success codes as such
* All 2xx http codes mean success, so treat them the same way 200 is.
Fixes#11369
Signed-off-by: Corubba Smith <corubba@gmx.de>
* DOCS: Remove old bug warning
The bug that alexa remindes twice was fixed
* {OTHER} Remove trailing spaces
* {DOCS} Adjusted spacing to unify the docs
Signed-off-by: Felix Schneider <fs@felix-schneider.org>
* [boschshc] Support Bosch Smart Home Cameras (#12666)
- add thing definitions for indoor security camera 360 and outdoor
security camera Eyes
- implement services for privacy mode and camera notifications
- implement camera handler
- add unit tests
- update documentation
* [boschshc] Enhance logging and comments (#12666)
* only log on debug level when initial state can not be retrieved
* do not log stack traces
* minor Javadoc fixes
closes#12666
Signed-off-by: David Pace <dev@davidpace.de>
Removed first section from README. These are not rendered in the inline documentation and make the documention (More...) of the binding inside OH show the raw text.
* First alpha version of the awattar binding
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected typos
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* More typos
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Improved time handling to consider time zone.
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected logical time problem, start adding nextprice thing
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Added support for Austria
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Use List instead of Set
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Minor corrections
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Removed unneeded handler, corrected fetching of prices
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Added i18n, updated documentation
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected pom.xml after rebase
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated version to 3.3.0-SNAPSHOT
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected findings of Code analysis tool
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated copyright notice
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updates to get rid of compiler warnings
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Worked on review comments from @fwolter
Obeyed most of the review comments. Exceptions:
* binding is already added to bom/openhab-addons/pom.xml (at least I found it there and there was a commit notice in git log)
* mvn license:format brought back 2021, so I manually set everything to 2022. Should I try to rebase my whole branch?
* In two places the binding needs to adjust to minute boundaries, hence scheduleWithFixedDelay will not work.
* I removed empty trailing lines, but mvn spotless:apply brought them back
* The OhInfXmlUsageCheck seems to be wrong.
* The ConstantNameCheck in AwattarUtil seems to be mislead by the fact that all members of the class are static, including the logger. From my point of view it is not a real "constant".
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated Readme to match code changes
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Further work on review comments from @fwolter
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected config definition
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Changed Copyright to 2022
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Review comments from @fwolter. Improved timezone handling
Signed-off-by: Wolfgang Klimt <github@klimt.de>
Co-authored-by: wolfii <wolfgang.klimt@consol.de>
* [pulseaudio] Allow flexible parameters to find a given pulseaudio device
To identify the device on the pulseaudio server, you can now use the description instead of the technical id (a.k.a. "name").
To filter furthermore, you can also use the parameter additionalFilters (optional regular expressions that need to match a property value of a device on the pulseaudio server)
Closes#12555
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* Add tests to ensure that parsing works correctly
* Fetch /actions on server sent event
* Refactor onServerSentEvent
* Remove ActionStateFetcher
* Manually construct BigDecimal
Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
* Fix daylight savings when setting date/time
* Use an action to set date/time
* Add default time zone detection and i18n
Signed-off-by: Ethan Dye <mrtops03@gmail.com>
* Added guidance for internet isolation of P110
* Update bundles/org.openhab.binding.tapocontrol/README.md
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* TRV support, various fixes & enhancements
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* #12236 fixed
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* TRV support competed
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* Complete TRV support
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* - TRV polling optimized
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* # WARNING: head commit changed in the meantime
- Shelly Motion 2 support
- TRV polling optimized
- channel creatiom of ledStatusLed fixed if no ledPowerLed was created
- Handling of sensor.status_error fixed when = no error (0/"0")
- channel timerActive was missing for Dimmer 1/2
- Motion timestamp channels were 1h off
- exception with data format while initializing a bulb fixed
- README updated
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: markus7017 <markus7017@gmail.com>
Signed-off-by: Markus Michels <markus7017@gmail.com>
* - added new TRV value boost minute, polling remnoved on valve position
changes (req. latest firmware)
- fix: don't create accu channels for roller
- fix: fix Id for some status messages
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* log types revised
Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017)
Signed-off-by: Markus Michels <markus7017@gmail.com>
* [rotel] Refactor to separate comm handling from protocol handling
Each protocol is now handled in a separate class.
Allow to reduce the size of class RotelConnector
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* buildCommandMessage now throwing RotelException
Comment added when RotelException is catched without any specific
handling
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* [sonos] Discovery of unsupported models without exception
* Unit tests added for method extractModelName
* Replace extractModelName by buildThingTypeIdFromModelName
Transform the found model name into a valid thing type ID when trying
to match a thing type
This could avoid an IllegalArgumentException thrown by the discovery
service when new models will be introduced on the market.
Should be compatible with Bubble UPnP Server which modifies the model
name
A message is now logged for unsupported Sonos models.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This is the reference implementation for using the new `TransformationConfigurationRegistry`. The localization tests can be omitted as this is covered by tests in the core component.
Signed-off-by: Jan N. Klug <github@klug.nrw>
* [pulseaudio] small fixes and rewrite
- All classes are now @NonNullByDefault
- all build warnings cleared
- no more need for a watchdog scheduled thread for every pulseaudio device : the bridge now handles sending information to child
- fix bug : exception at startup when child handler try to get information from the bridge too soon is now handled by waiting 2 seconds if necessary
- fix bug : playing MP3 with high bitrate is now OK with the replacement of the ResetableInputStream by a standard BufferedInputStream that handle mark/reset method better
- fix bug : ghost device listener no longer receive event after dispose
- fix bug : discovery doesn't show already added thing anymore
- Updating the status bridge to ONLINE only AFTER the update method is done.
- Use the bridgeStatusChanged method in the childhandler to get opportunity to test if the child could go ONLINE, (and by the way initialize the audiosink and audiosource, has they also need information from the bridge)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Laurent Garnier <lg.hc@free.fr>
CEMI frame format is used by newer serial devices like kBerry.
Calimero library can be configured to use CEMI instead of default EMI.
Followup on #10407. Relates to #4026.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* New translations digitalstrom.properties (German)
* New translations pixometer.properties (German)
* New translations amazondashbutton.properties (German)
* New translations amazondashbutton.properties (Hungarian)
* New translations amazondashbutton.properties (Italian)
* New translations amazondashbutton.properties (Ukrainian)
* Don't limit serial port options
Related to openhab/openhab-core#2798
* [herzborg] Remove default value for serial port parameter
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Looks like the new generation of SenecIES power storage systems, which are using LiPo technology, provide additional data in the JSON array.
This data is not available in the old generation, which lead to missing data, when asking for a key and in further null pointer exceptions when going deeper in the data structure.
Therefore making a trivial check to detect the new generation of devices and skip the troubling section entirely.
CON: The section of items would not be updated. A to-do is of course to split the old and new generation into separate models of devices.
Fixes#11606
Also-By: Erwin Guib <eguib@web.de>
Also-By: Korbinian Probst <kp.droid.dev@gmail.com>
Signed-off-by: Thomas Karl Pietrowski <thopiekar@gmail.com>
* [linky] Addressing issue #11642
Apparently all the mess came from default write buffer size of Jetty client. Maybe during an update of jetty lib in the core.
I also corrected daily data that does not seem to accept J+1 anymore and three SAT findings
While I was here, enhanced LinkyException
Signed-off-by: clinique <gael@lhopital.org>
With this simple fix, MaryTTS creates the correct wav header for the audio inputstream (audioformat is now assigned before we use it)
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* Some stations does not report octa dimension, thus leading the binding to incorrect values.
Enhanced discovery process
Code enhancements
SAT corrections
Enhanced Exception catching.
Signed-off-by: clinique <gael@lhopital.org>
* [pidcontroller] Add ability to limit the I-part
* Apply iMinValue & iMaxValue to the integral result accumulator
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
* Set iMinResult, iMaxResult default value to NaN
Co-authored-by: Lenno Nagel <lenno@nagel.ee>
* [homematic] Validate datapoint values before writing to config
HM config datapoint values on some devices can be out of their valid
range in some cases, particularly if they are unused by the device
currently [1]. Since openhab-core now validates attempts to update
configuration by the thing handlers, make sure we always send a valid
configuration even for those affected datapoints.
[1] One example for such behaviour is HmIPW-DRBL4, which has multiple
datapoints which depend on each other
- POWERUP_JUMPTARGET can have values OFF, ON, OFF_DELAY, ON_DELAY
- POWERUP_ONDELAY_VALUE, POWERUP_ONDELAY_UNIT are only used if
POWERUP_JUMPTARGET has value ON_DELAY
- likewise, POWERUP_OFFDELAY_VALUE and POWERUP_OFFDELAY_UNIT are
only used if POWERUP_JUMPTARGET has value OFF_DELAY
- if e.g. the POWERUP_JUMPTARGET is OFF, e.g. POWERUP_ONDELAY_VALUE
might stay uninitialized by CCU and/or device itself, in which
case it may be reported with an invalid value
Signed-off-by: Danny Baumann <dannybaumann@web.de>
On Windows the PrintWriter used in the NutConnector adds different line endings causing some tests to fail.
Signed-off-by: Wouter Born <github@maindrain.net>
On Windows the view has different line endings causing some tests to fail.
For readability the big strings have also been moved into files.
Signed-off-by: Wouter Born <github@maindrain.net>
* Introduce algorithm for preventing excessive currentPower updates
* Increase calculation accuracy
* Rename currentPowerAccurate to currentPowerRaw
* Remove duplicated line
* Use interface when declaring double ended queue
* Reformat README to one sentence per line
* Rename constants for consistency and readability
Fixes#12460
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [tado] fix issue #12160 (first attempt)
* [tado] code style
* [tado] option descriptors
* [tado] add level5
* [tado] fan level and swing not allowed on heating or hot water
* [tado] warn about possible un-supported state values
* [tado] minor formatting
* [tado] harmonise getter methods for fan and swing state
* [tado] include all options in xml
* [tado] remove 's' from capabilities list names (go figure..)
* [tado] add OFF option
* [tado] add support for light channel, and dynamic channel decriptions
* [tado] tweak ReadMe for more clarity
* [tado] adopt reviewer suggestions
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* Set the token creation time as it is no longer provided in the response
Address CME
Reauthenticate in case of 401 responses
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Refactor to use framework's Jetty HTTP client
* Do not try to parse HTML as JSON on failed HTTP calls
* Improve handler initialization log messages
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Added volume in decibel channel.
* Fixed default value for syncVolume to match the docs.
* Use QuantityType with unit DECIBEL for volumeDB.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* Update bridge status to UNKNOWN before scheduling polling job
* Reduced error log levels to warning
* Validate configuration and leave initialize() with status UNKNOWN
* Extract JSON-RPC handling to separate class
* Use already stored applianceId
* Keep listeners in Set to eliminate duplicates and improve performance
* Reduce access levels for variables exposed to subclasses unneededly
* Initialize translation provider with default language in constructor to avoid nullness
* Divide listener interface into two: discovery and appliance status
* Optimize communication between bridge and handlers
* Fix thing status transitions and support gone appliances
* Do not check/schedule jobs for each listener registration
* Optimize listener registration by using cached appliances
* Optimize state/property updates and reduce logging level for properties
* Fix concurrency issue during handler initialization
* Simplify online/offline transitions
* Use cached appliances for discovery listener callback
* Avoid unneeded call every 15 seconds receiving response with ~5.5 KB payload
* Fix devices being removed after failed RPC calls
* Fix method parameter descriptions
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [velbus] Add new functionality PRESSED and LONG PRESSED and fix bug
New functionnality :
Add the the possibility to simulate the PRESSED and LONG PRESSED message of an input.
Module supported with button simulation :
VMB1RYS (button : CH6)
VMB6IN (buttons : CH1 ... CH6)
VMB2PBN, VMB6PBN, VMB7IN, VMB8IR, VMB8PB, VMB8PBU, VMBEL1, VMBEL2, VMBEL4, VMBGP1, VMBGP1-2, VMBGP2, VMBGP2-2, VMBGP4, VMBGP4-2, VMBGP4PIR, VMBGP4PIR-2 (buttons : CH1 ... CH8)
VMBELO, VMBGPOD, VMBGPOD-2 (buttons : CH1 ... CH32)
Fix bug :
The channels names were not correctly assigned to the thing properties. The last channel had the default name, not the one retrieved from the module.
* Add trigger on channel when using button simulation
Remove uneeded Thread.sleep in code.
Trigger the events PRESSED, LONG_PRESSED, RELEASED on the linked trigger channel when using the button simulation.
* Fix redundant superinterface DiscoveryService
Redundant superinterface DiscoveryService for the type VelbusThingDiscoveryService, already defined by AbstractDiscoveryService.
* Fix bug #11521
Typo in the Counter Channel name for VMB7IN.
* [velbus] Add VMBELPIR module
* [velbus] Updates clock alarms management
Changes the clocks alarm management :
- Global alarms are now set from the bridge thing.
- Local alarms are still set from the module thing, but the alarm type channels on modules are now readonly.
Reduces the flooding of the bus by adding a delay of 10 seconds before sending the update on the bus :
- Removes the send on the bus after each update of a clock alarm value.
- Sends only the values of the last update after 10 seconds.
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* New translations digitalstrom.properties (German)
* New translations dwdpollenflug.properties (German)
* New translations openweathermap.properties (French)
* New translations rotel.properties (French)
* New translations elroconnects.properties (French)
* New translations prowl.properties (French)
* Add Autonomy and Self Consumption channels
* Change Inverter channels from DecimalType to QuantityType
* Convert ValueUnit to QuantityType, honour the unit from ValueUnit
* Replace custom unit converter with QuantityType's unit conversion
* Return QuantityType of zero for missing ValueUnit data, to be consistent with P_AC.
* Return UnDefType.NULL for other missing data
* De-duplicate URL parsing routine
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
added NonNullByDefault annotations
rename functions and local variables not matching the naming scheme
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
There is no difference between original and MKII models regarding
available inputs and way to control the device.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* - read Temperature set in central unit at startup
* - ignoring what 4002 which may lead to unpredicted behaviours
- usage of own 0.8.0 from mvalla (new getWhatParameter method)
* attempt to integrate own 0.8.0
* - read setTemp (MANUAL mode) at startup
- read mode (OFF/PROTECTION/WEEKLY/SCENARIO/MANUAL) at startup
- persist selected mode (see issue 12401)
* remove unnecessary logs
* - fix typo
- own4j 0.8.1
* fix placeholder count
Signed-off-by: Conte Andrea <andrea@conte.com>
* A14: new channels: tcbypass, balance, speakera and speakerb
* Specific balance set command for models A1x
* Channels added on other models
* In state TCBYPASS ON: 1) Ignore user adjustments on BASS/TREBLE. 2) Reset BASS/TREBLE to 0.
Signed-off-by: Wilhelm Tonsern <wto.wit01@gmx.net>
Also-by: Laurent Garnier <lg.hc@free.fr>
* Adjustments after review.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Fix pom.xml formatting.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Some fixes and removed redundant null checks.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Proper thread naming.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Adjust brand name capitalization. Some README adjustments.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Fix format issue.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Fix threadname.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Update development cycle
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Review fixes
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Avoid communication restart when disposing
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Update CODEOWNERS
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Code review.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Background discovery
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Fix formatting
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Create i18n properties file
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Add IP Adress parameter
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* Moved hostname resolving out of initialize
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
* [velux] add isDisposing flag to accelerate shutdown
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [velux] refactor Poller into a separate class
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [velux] use new Poller class; fix startup, shutdown, and exception code
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [velux] demote confusing log message
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [velux] slightly more elegant interrupt flag set / check
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* - handled what=30 (failure discovered ), what=22 (at least 1 probe in off), what=23 (at least 1 probe in protection), what=24 (at least 1 probe in manual)
- related channels added
* - update README
- ignore messages from probes and central unit and keep track only of messages from a real thermostat
* add example of failureDiscovered channel
* Update bundles/org.openhab.binding.openwebnet/src/main/resources/OH-INF/thing/channels.xml
* changed capital letters (atLeastOneProbeOFF -> atLeatOneProbeOff) as suggested
Signed-off-by: Conte Andrea <andrea@conte.com>
* [pulseaudio] use thread safe collection
* [pulseaudio] source: connect pipe before store ref
* [pulseaudio] source: improve warning messages
* [pulseaudio] fix IOException when closing all sources
* [pulseaudio] prevent warning when InterruptedIOException on source close
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
* New translations bluetooth.properties (Italian)
* New translations mycroft.properties (Italian)
* New translations bluetooth.properties (Italian)
* New translations bluetooth.properties (Italian)
* New translations prowl.properties (Italian)
The MqttService was used to keep track of the system MQTT brokers.
Since there are none the dependency can be removed.
Related to: openhab/openhab-core#2842
See also: #12157
Signed-off-by: Wouter Born <github@maindrain.net>
When a URL attachment is used a check is done if an InputStream to the URL can be opened to see if it is valid.
Because the openHAB website was used the test would fail when the website has issues:
```
[ERROR] org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail Time elapsed: 10.391 s <<< ERROR!
org.apache.commons.mail.EmailException: Invalid URL set:http://www.openhab.org
at org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail(MailBuilderTest.java:77)
Caused by: java.io.IOException: Server returned HTTP response code: 520 for URL: http://www.openhab.org
at org.openhab.binding.mail.MailBuilderTest.withURLAttachmentReturnsMultiPartEmail(MailBuilderTest.java:77)
```
It will now use a file URL instead so it is no longer depends on a website.
Signed-off-by: Wouter Born <github@maindrain.net>
* [googlestt|voskstt] change default maxSilenceSeconds to 3
* [watsonstt] add singleUtterance mode, rename inativityTimeout to maxSilenceSeconds and minor improvements
* [watsonstt] trim transcription
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
this is especially important if you use the same item for both
TargetTemperature and HeatingThresholdTemperature characteristics,
since the former was already doing unit conversion for min/max.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Prevent the use of exponential notation
The CCU does not accept exponential notation in TCL scripts.
Fix#12301
Signed-off-by: Martin Herbst <develop@mherbst.de>
Sometimes invalid default values ended up in the default value for a channel of a thing type. Initializing the thing would fail completely complaining that it is not an allowed option. This patch makes sure those values are actually valid and attempts to correct them if they are invalid.
Signed-off-by: Flole <flole@flole.de>
* New translations bluetooth.properties (Finnish)
* New translations danfossairunit.properties (Danish)
* New translations hdpowerview.properties (Danish)
* New translations jruby.properties (Italian)
* New translations miele.properties (Danish)
* New translations mqtt.properties (Italian)
* New translations openwebnet.properties (Italian)
* [rfxcom] Support speed for luca DC version
* [rfxcom] Handle null value for speed
* [rfxcom] Update readme and add migration channel
Signed-off-by: Martin van Wingerden <martin@martinvw.nl>
* Fix status transitions
Fixes#12415
* Fix integration tests
* Fix missing status update for some devices after HTTP call
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Extract thing descriptions into separate files
* Add missing channel categories
* Add semantic tags for temperature and humidity
* Fix typo
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fixed bug where thing configuration was not reloaded after reinitialization
* Added better logging when processing bridge callback
Signed-off-by: Jan Vybíral <jan.vybiral1@gmail.com>
* - read 'standAlone' flag from thing
- send standAlone flag to own4j for setting the temperature on central unit
- own4j 0.7.1 required
* added localmode and central unit thing
* added localOffSet channel to readme.md
* added remoteControl, batteryStatus and modeCentralUnit for bus_thermo_cu
* added weekly and scenarios to modeCentralUnit
* - manual setting of a zone to T temperature (with persistence in central unit)
- manual setting of central unit to T temperature (all zones)
- set the central unit in OFF mode (all zones)
- set central unit in thermal protection (all zones)
- set central unit in antifreeze mode (all zones)
- weekly program activation command (all zones)
- scenario activation command (all zones)
* renamed cu's channels name
* removed unused channel 'modeCentralUnit" from readme
* fix#12298
* - add configuration section (where) for BusThermoCentralUnit
- strings ("OK", "KO", "ENABLED", "DISABLED" converted to constants
- fix typo
Signed-off-by: Conte Andrea <andrea@conte.com>
Co-authored-by: M Valla <12682715+mvalla@users.noreply.github.com>
* [openwebnet] Fixes#11972: shutters are not refreshed at boot
* [openwebnet] added refreshDelay property
* [openwebnet] updated openwebnet4j to 0.7.1
* [openwebnet] improved where parameter description
* [openwebnet] updated to own4j 0.7.1 release
* [openwebnet] improved synch at boot
* [openwebnet] cleaned up refreshChannelState() and refreshDevice(), moved code to base class.
Added supportsRefreshAllDevices()
* [openwebnet] moved lastAllDevicesRefreshTS to sub-classes.
Set CEN/CEN+ things to ONLINE automatically.
* [openwebnet] improved comments/javadocs. Added connectSchedule to dispose()
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [tradfri] fix null pointer exception when sending command to thing that is offline
* [tradfri] changed coapClient from @NinNullByDefault({}) to @Nullable
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
* [voskstt] add linux arm and linux aarch64 binaries
* [voskstt] change preload model configuration default to false
* [voskstt] add supported platforms to readme
Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
* Adds --add-opens to the surefire-maven-plugin config required for deserialization using Gson/XStream
* Upgrades plugin dependencies to JDK 17 compatible versions
* Replaces some reflection that no longer works on JDK 17
* Fixes issues when mocking Random
* Run Nashorn dependant tests only on JDK < 15
Signed-off-by: Wouter Born <github@maindrain.net>
fixes#10711
technically this code is in mqtt.generic, but it's only used by Homie.
in particular, if an incoming string doesn't match an enum, this will now
just ignore the value instead of raising an exception to be caught somewhere inside
of Hive MQTT, and eventually timing out and logging that mandatory topics weren't
received, instead of logging a pointer to the actual problem. this makes it so that
if there's a homie $datatype openhab doesn't understand (like duration), it will be
able to get to the point of just choosing a string channel
also did some minor debug logging cleanup for mqtt:
* fixed a typo
* when logging homie device name from the thing handler, use the config deviceid,
since we likely don't have the attributes from MQTT yet
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* New translations deconz.properties (Italian)
* New translations dynamodb.properties (Finnish)
* New translations guntamatic.properties (Italian)
* New translations ipp.properties (German)
* New translations luxtronikheatpump.properties (German)
* New translations mqtt.properties (Italian)
* New translations openwebnet.properties (German)
* New translations voskstt.properties (Italian)
* New translations watsonstt.properties (Italian)
* [flicbutton] Initial contribution FlicButton Binding
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Add config parameter address for FlicButton thing
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Run spotless
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Code cleanup & docs improvement
Signed-off-by: Patrick Fink <mail@pfink.de>
* Apply suggestions from code review
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [flicbutton] Update LICENSE
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Apply suggestions from code review (2) & update to 3.1-SNAPSHOT
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Apply suggestions from code review (3) & fix offline status
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix 3rd party source for proper IDE integration
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Simplify config parsing
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Move everything to internal package
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Remove hyphens from port parameter docs example
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Change maintainer to openHAB project
Signed-off-by: Patrick Fink <mail@pfink.de>
* Apply docs suggestions + update to 3.2.0-SNAPSHOT
Signed-off-by: Patrick Fink <mail@pfink.de>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
* [flicbutton] Fix bridge offline & reconnect handling
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Close open socket on dispose
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Improve exception error message in ThingStatus
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix README title
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Improve exception error message in ThingStatus
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Style fixes
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Use trace log level for button clicks & status changes
Signed-off-by: Patrick Fink <mail@pfink.de>
* Apply doc improvements from code review
Signed-off-by: Patrick Fink <mail@pfink.de>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
* [flicbutton] Add binding to bom/openhab-addons
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Cleanup / remove guava leftover
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Remove online status description
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Improve flicd hostname label
Signed-off-by: Patrick Fink <mail@pfink.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [flicbutton] Do not catch IllegalArgumentException anymore as its not neeed
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Use debug log level instead of info
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Update version and license
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix SAT warnings, e.g. add null handling annotations
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix SAT warnings (2)
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Concurrency refactoring & fixes
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Cancel initialization task also when already running
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Add javadoc and move FLIC_OPENHAB_EVENT_TRIGGER_MAP constant to constants class
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Use ThingStatusDetail.OFFLINE.GONE when Flic button was removed from bridge
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix FlicSimpleclientDiscoveryServiceImpl javadoc
Signed-off-by: Patrick Fink <mail@pfink.de>
* [flicbutton] Fix required definition of thing types
Signed-off-by: Patrick Fink <mail@pfink.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
* Fixes#9862
Catch all exceptions in scheduled task to prevent future executions from being suppressed.
Signed-off-by: Pawel Switalski <switalski.pw@gmail.com>
Signed-off-by: Pawel <s-pw@example.com>
* [renault] Add more channels to Renault Binding.
* [renault] Improve example rule to reduce API use.
Signed-off-by: Culnane Douglas <douglas.culnane@extern.a1.at>
* Add support for Wifi version of ipObserver.
* make config private again.
* Add logging.
* Remove tags
Signed-off-by: Matthew Skinner <matt@pcmus.com>
Closes#8709
Additional:
- Added action to send and receive json commands to a tplink device. This can be used for test purposes or to run commands not available through channels.
Fixes:
- Power channel of a bulb is defined as QuantityType in xml, therefor it should create the state using QuantityType
- Retry getting values 5 times before setting the device offline. Reduced socket time out to 2 seconds as it normally should react quickly and if it times out it tries again.
Also-by: Dustin Masters <ceo@dustinsoftware.com>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
This prevents the null analysis from inferring null values when printing to a Console.
Related to openhab/openhab-core#2742
Signed-off-by: Wouter Born <github@maindrain.net>
The RPC protocol doesn't provide this value, so it always was made up
more or less arbitrarily. Since the UI now uses this value for
validation purposes, there are cases where valid values can not be
entered due to this step size (particularly for datapoints with more
than 1 decimal digit).
Fixes#12183
Signed-off-by: Danny Baumann <dannybaumann@web.de>
Supports Herzborg curtain motors over RS-485 network
Signed-off-by: Pavel Fedin <pavel_fedin@mail.ru>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Matthew Skinner <matt@pcmus.com>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* Consolidate service subscriptions in base class.
* Remove unsynchronized and unneeded cache of subscriptions.
* Do not unregister participant when removing subscription.
* Fix status wrongly set to ONLINE when exception is thrown.
* Refactor error handling for WemoHttpCall.
* Adjust log level for communication errors.
* Add automatic subscription renewal.
* Fix more ONLINE/OFFLINE status transition issues.
* Adjust log level when getWemoURL fails because device is offline.
* Remove redundant logging.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* New translations http.properties (Italian)
* New translations ambientweather.properties (French)
* New translations automower.properties (French)
* New translations electroluxair.properties (French)
* New translations mqttbroker.properties (Hungarian)
* New translations mqttbroker.properties (Italian)
* [voicerss] Fix and enhance the external tool to prefill the cache
* Make the tool independent of core openHAB
* Fix the parsing of the command arguments.
* Allow to provide optional audio codec and format.
* Null annotations added on most of the classes
* Simplified doc about classpath
* Suppress obsolete mention of open issue in doc
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Appends the ruleID or file name to the logger when console logging.
* Adds configurable logging, updates scriptId logic
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* New translations tradfri.properties (Italian)
* New translations mycroft.properties (French)
* New translations deutschebahn.properties (German)
* New translations gardena.properties (German)
* New translations luftdateninfo.properties (German)
* New translations network.properties (Finnish)
* New translations publictransportswitzerland.properties (Finnish)
* New translations mycroft.properties (Finnish)
* New translations pushover.properties (German)
* New translations yamahamusiccast.properties (Italian)
* New translations ecotouch.properties (German)
* New translations voicerss.properties (French)
* Optimize initialization of shades.
Fixes#12071
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Avoid hashmap reallocation during initialization.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [tapocontrol] added energy monitoring for P110
* [tapocontrol] corrected textual thing configuration in readme
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [hdpowerview] refactor enum constant names
* [hdpowerview] add support for blackout shades
* [hdpowerview] unit tests for capabilities 8 & 9
* [hdpowerview] delete no longer valid comment
* [hdpowerview] blackout shade position is never UNDEF
* [hdpowerview] updated read me
* [hdpowerview] refactor unit tests into two classes
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* Add support for repeaters.
Fixes#12060
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Simplify thing type filtering.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Improve robustness of configuration ID validation/initialization.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Convert repeater-identify to command channel.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix logged warning.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Skip unneeded bridge status logic.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Skip redundant logging.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix chanenl type label for blinking enabled.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Extract getHost() and getUDN() to common handler base class.
* Delete AbstractWemoHandler as it serves no purpose.
* Extract isUpnpDeviceRegistered() to base class.
* Fix typo.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
if an Item associated with a temperature characteristic has a QuantityType
(of dimension Temperature) as its state, regardless of current unit,
use that to convert to celsius instead of any other configuration.
Note that this is only for supply values to HomeKit; commands coming from
HomeKit will still send a DecimalType with units according to the HomeKit-wide
useFahrenheit configuration.
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* Fixed NullPointerException due to missing SecureApplicationLayer in creation of ProcessCommunicationResponder
Signed-off-by: Frank Seidinger <frank.seidinger@gmail.com>
* binding: [onkyo]: add TX-NR609
* Basically a 616 but with some THX Listening Modes not on other models
* [onkyo]: add "PLIIx Music + THX Music" Listening Mode
Signed-off-by: Matt Filetto <matt.filetto@gmail.com>
* Extract dynamic channel creation to separate classes.
* Avoid double list allocations.
* Add test coverage for scenarios with no channels built.
* Extract common builder stuff to super class.
* Fix grammar.
* Reduce constructor access modifiers.
* Removed unneeded this keyword for protected method.
* Fix null annotation issues.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* New translations openweathermap.properties (Italian)
* New translations openweathermap.properties (German)
* New translations icalendar.properties (Italian)
* New translations network.properties (German)
* New translations atlona.properties (Italian)
* New translations yeelight.properties (Italian)
* New translations yioremote.properties (Italian)
* New translations astro.properties (German)
* New translations deconz.properties (German)
* New translations deconz.properties (Italian)
* New translations pollytts.properties (German)
* New translations mqtt.properties (Italian)
* New translations publictransportswitzerland.properties (Italian)
* New translations mqtt.properties (Italian)
* New translations mqtt.properties (Italian)
* New translations ipp.properties (German)
* Add support for calibrating a shade.
Fixes#11767
* Fix startup problems by decoupling capabilities cache from updateSoftProperties.
* Minor refactoring of capabilities and shade id handling.
* Dispose faster/safer by killing any remaining tasks.
* Set shade thing status to UNKNOWN until we receive any data for shade.
* Fix position update glitch after setting position.
* Remove unneeded catch after shade id refactoring.
* Document return values in Javadoc.
* Avoid logging InterruptedException during dispose.
* Add calibration example item.
* Reduce nesting.
* Add myself as reviewer for binding.
* Add Andrew Fiddian-Green as reviewer for binding.
* Handle JsonParseException.
* Fix alphabetic order.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix SAT warnings about missing @NonNullByDefault.
* Move part of firmware JSON response validation to HDPowerViewWebTargets.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* added support for DSUID in DSS response data while being compatible to removed DSID which might still be in use due to older firmware versions.
* fixed a NPE and also fixed json parameter naming.
* applied improvements from DSUID class
* fixed variable name, made dsid member final, added author
Signed-off-by: Alexander Friese <af944580@googlemail.com>
* [homematic] Fix long button press handling for HM-IP devices
HM devices have the following long press cycle:
PRESS_CONT
PRESS_LONG
PRESS_CONT (N times for repetion)
PRESS_LONG_RELEASE
while (at least some) HM-IP devices use this one:
PRESS_LONG
PRESS_LONG_START
PRESS_LONG (N times for repetition)
PRESS_LONG_RELEASE
Add support for the latter case while keeping support for the former
case.
Signed-off-by: Danny Baumann <dannybaumann@web.de>
* [homematic] Track 'uses LONG_START datapoint' flag per-device
* Change center_display_state from switch to number
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Update property file
Signed-off-by: Kai Kreuzer <kai@openhab.org>
Changed Example of Dimmer channel. Makes no sense to provide both Switch and Position Status in configuration, as an update of Switch Status will delete Position and vice versa. Position Status makes sense.
This binding will connect to Mycroft A.I. in order to control it or react to event by listening on the message bus.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* Add UOM for MQTT Channels
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Fix dependencies
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Simplify units parsing, remove channelUID from NumberValue constructor
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Simplify pattern
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Fix tests
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Correct Units reference
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Correct homeassistant binding changes
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Wrap precision in temperature unit definition
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Use BigDecimal for precision
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Use BigDecimal throughout
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Fix SAT
Signed-off-by: James Melville <jamesmelville@gmail.com>
* Inverty equals check
Signed-off-by: James Melville <jamesmelville@gmail.com>
* [electroluxair] Initial contribution of the electroluxair openHAB binding
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Updated after code review.
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Updated after code review and also copyright to 2022.
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* [electroluxair] Initial contribution of the electroluxair openHAB binding
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Updated after code review.
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Updated after code review
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* [googletts] Use real sound returned to get play informations (#10015)
When google tts returns a wav file, it is now parsed to get correct informations about it.(mandatory for playing it with at least the System speaker audio sink)
Close#10015
* Fix a regression, as the WAV fix was incorrectly applied to the MP3 file
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
fix for bug #11969
After a restart of openHAB the function 'getScanTimeout()' is called before the member 'installModeDuration' has been initialized with the correct value from the configuration. With a large number of Homematic devices, the default value of 'installModeDuration' is too small to read in all Homematic devices from the CCU.
Therefore, when calling the function 'getScanTimeout()', the value is read directly from the configuration. The member 'installModeDuration' has been removed.
Signed-off-by: raykleibelt <54982000+raykleibelt@users.noreply.github.com>
* [tapocontrol] P110 and L920 Things added
* [tapocontrol] Fixed L510/L530 Series Bug with HW-Rev2.0
Signed-off-by: Christian Wild <christian@wild-bw.de>
* Update unit formating
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Updates per last review
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Updated units to decimal
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Removed erroneous chlorinator code from filterhandler
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Adding pump support, added body of water to xml paths to prevent detection of terminal or other items
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Added getApiDef call to initialize when debug=trace
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fixed typo on README
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Cleanup pump xml spotless checks
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fix typos in README
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fixed a couple typos in pump discovery
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fixed README typo
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fix untested pump typos
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fix pump typo
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add thing properties and max filter/pump speed command
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add support for relays to exist in the backyard
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Update README
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add support for colorLogicLights to exist in the backyard
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Remove sensor thing and associated handler. Hayward does not expose data for stand alone sensors. Packaged in other things (backyard air temp, body of water temp, etc.)
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Added heater states
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Updated heater state in readme
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Added dynamic state description updates to set pump & filter minimum and maximum speeds.
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Moved dynamicStateDescription updates to thing initialize routine
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Code checks
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add min/max limits to filter, pump and heater setpoints
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add virtual heater dynamic state descriptions. Change filter & pump speeds back to number:dimensionless
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Add pump & filter speed RPM channels
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Fixed typo in pump handler
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Elaborate on filter/pump handler initialize exception
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Update bow.xml property intit's to empty values (fix typos)
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Added debug flag to inject XML until appropriate integration tests are setup
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Pump and Filter enable to last speed
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Removed tatus file
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Update readme
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* format readMe
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Update ReadMe
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* Remove xml debug code
Signed-off-by: Matt Myers <mmyers75@icloud.com>
* New translations adorne.properties (German)
* New translations ahawastecollection.properties (German)
* New translations airquality.properties (German)
* New translations airvisualnode.properties (German)
* New translations amazonechocontrol.properties (German)
* New translations astro.properties (Finnish)
* New translations astro.properties (French)
* New translations bosesoundtouch.properties (German)
* New translations chromecast.properties (German)
* New translations denonmarantz.properties (German)
* New translations exec.properties (German)
* New translations hue.properties (French)
* New translations icalendar.properties (German)
* New translations jruby.properties (German)
* New translations jruby.properties (Italian)
* New translations luxtronikheatpump.properties (German)
* New translations mielecloud.properties (German)
* New translations openuv.properties (French)
* New translations openweathermap.properties (German)
* New translations phc.properties (German)
* New translations powermax.properties (French)
* New translations pushsafer.properties (German)
* New translations rotel.properties (French)
* New translations tradfri.properties (French)
* [dynamodb] Update guide for updating the SDK
Some steps were obsolete and required corrections.
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [dynamodb] Update AWS SDK to 2.17.102
- Added NOTICE with all compiled dependencies. Dependencies listed in
feature.xml are omitted.
- jackson dependency is now provided by AWS SDK as a 'shaded' copy
- log4j version used in tests updated
- Specifying DefaultsMode=STANDARD to make the SDK utilize latest
recommended parameters. RetryMode is also controlled by DefaultsMode,
so we avoid setting it explicitly unless overridden by the user.
- Fixed test regressions due to SDK changes
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* update to use executorservice to fix crash caused by change in underlying threadpool implementation
* Remove explicit cast
Signed-off-by: John Harvey <john.p.harvey@btinternet.com>
Season timeleft calculated the wrong time at the end of the year, because the seasons it measures the time with are the seasons within the same year.
So for times at the end of the year it computed against the season at the beginning of the year, resulting in negative number of days.
Also changed the time of timeLeft to actual days instead of quantity unit days.
Because with the milliseconds internal resolution it will generate events each and every time this channel is updated as milliseconds change often.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* Adds channels available on newer heatpumps
Signed-off-by: Stefan Giehl <stefangiehl@gmail.com>
Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
This fixes the comment showing up in the translations.
The code seems to use the 'message.discovery.failed' instead of 'discovery.failed'.
Signed-off-by: Wouter Born <github@maindrain.net>
* New translations astro.properties (Finnish)
* New translations astro.properties (German)
* New translations bluetooth.properties (German)
* New translations boschshc.properties (Italian)
* New translations comfoair.properties (German)
* New translations dwdunwetter.properties (German)
* New translations epsonprojector.properties (German)
* New translations gpio.properties (German)
* New translations heliosventilation.properties (German)
* New translations homeconnect.properties (German)
* New translations homematic.properties (German)
* New translations ipp.properties (German)
* New translations jruby.properties (Hungarian)
* New translations jsscripting.properties (German)
* New translations jsscripting.properties (Hungarian)
* New translations map.properties (German)
* New translations map.properties (Hungarian)
* New translations mqttbroker.properties (Italian)
* New translations nanoleaf.properties (German)
* New translations ocean.properties (German)
* New translations openhabcloud.properties (Finnish)
* New translations samsungtv.properties (Hungarian)
* New translations shelly.properties (German)
* New translations snmp.properties (German)
* New translations sonos.properties (German)
* New translations spotify.properties (German)
* New translations tr064.properties (German)
* New translations tradfri.properties (German)
* New translations unifi.properties (German)
* New translations unifi.properties (Hungarian)
* New translations valloxmv.properties (Finnish)
* New translations volvooncall.properties (German)
* New translations xslt.properties (German)
- do not go from INITIALIZING to OFFLINE and then ONLINE, but skip OFFLINE for panels, if the controller is ONLINE
- reduce logging to debug when receiving trigger events
- only update Thing configuration if necessary to avoid Thing updated events
- fix description of model types, which was outdated due to new models being available by now
Signed-off-by: Kai Kreuzer <kai.kreuzer@telekom.de>