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>