* 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>