* 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>
* [MQTT] Add additional logging information
Add additional logging information when command is not supported by type.
Signed-off-by: Lukas Agethen <lukas83@gmx.de>
* Fix description of nviSollKuehlen being writable
* Fix description of coolEnableTemp being writable
* [ecotouch] make channels writable
* [ecotouch] silence compiler warnings
* change example to English
Signed-off-by: Sebastian Held <sebastian.held@gmx.de>
Co-authored-by: Jan Mattner <JanMattner@users.noreply.github.com>
This adds a minor refactoring of loading local resource paths that i didn't have time to get into 3.2 and moves the docs directory to doc.
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* New translations avmfritz.properties (German)
* New translations js.properties (German)
* New translations scale.properties (German)
* New translations openweathermap.properties (French)
* New translations astro.properties (French)
* New translations hue.properties (French)
* New translations powermax.properties (French)
* New translations js.properties (German)
* New translations scale.properties (German)
* New translations exec.properties (German)
* New translations mpd.properties (German)
* New translations qbus.properties (Dutch)
* New translations tankerkoenig.properties (German)
* New translations js.properties (German)
* New translations tankerkoenig.properties (German)
* [jsscripting] Library and Doc updates
This updates the documentation, bumps the NPM version library, and implements conversion of JS date types (js-joda) to Java types
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
While uploading the German translations I noticed the file had a different name.
Renaming it prevents us ending up with 2 German translations files once all the texts are translated in German.
Signed-off-by: Wouter Born <github@maindrain.net>
* New translations mqttbroker.properties (Hungarian)
* New translations exec.properties (Hungarian)
* New translations jinja.properties (Hungarian)
* New translations js.properties (Hungarian)
* New translations regex.properties (Hungarian)
* New translations jsonpath.properties (Hungarian)
* New translations scale.properties (Hungarian)
* New translations xslt.properties (Hungarian)
* New translations xpath.properties (Hungarian)
* Add default translations for binding add-ons
This makes the texts used by these add-ons translatable with Crowdin.
To keep the PR simple, it only adds default translations for add-ons which do not yet have any default translations properties file.
We can do follow up PRs for adding missing key/values to add-ons that already have these files or to remove duplications.
There are several add-ons in this PR that do have non-English translation files, so I'll upload those to Crowdin when the PR is merged.
Signed-off-by: Wouter Born <github@maindrain.net>
* [miio] add BT Devices channel to chuangmi plug
* Shows the bluetooth devices connected to the plug (plug as BT
gateway)
* Add refresh interval functionality to reduce load on device
* Change public to private for the private functions in conversions.
* Add test for new conversion
* Update miio.properties
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Add default translations for io add-ons
This makes the texts used by these add-ons translatable with Crowdin.
Signed-off-by: Wouter Born <github@maindrain.net>
* New translations openweathermap.properties (German)
* New translations openweathermap.properties (German)
* New translations urtsi.properties (German)
- Upstream update of base library for KNX access from v2.4 to v2.5.
- Adapt AbstractKNXClient to new interface and replace calls of deprecated
methods.
Fixes#6849.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
* Fixed leading spaces in translations
* Add @text in binding.xml
* Added @text in urtsi.properties
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
* Add new channel
* Last Event Data channel finished.
* Remove info logging.
* Fix bugs
* Fix ONVIF wont use different ports in xaddr paths.
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Use globally unique id for registration of callback to allow ...
the connection of multiple OH installations with one CCU.
The bridge id is not sufficient for this purpose because it is same in
all OH installations.
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Retry callback re-registration after connection is resumed
Some services on the CCU need longer to start and are not available
immediately after the connection to the CCU has been resumed.
Improves the solution for #8808Fixes#10439
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Description was missing.
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Changed setting name and description to avoid confusion
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Added a troubleshooting tip to solve a communication problem
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Shortened the label name to follow the guide lines
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Print more information about the reason for the failure
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Using scheduler thread pool and simplified configuration
Instead of configuring separate values for retry delays and number of
retries only the maximum time for retries can be configured.
The init method uses fixed delays.
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Don't retry to send if gateway does not answer at all
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Improved reconnect handling
- unregister callback not necessary if connection is lost
- wait 30s until clients and servers are restarted to give the gateway
some time to recover
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Spotless
Signed-off-by: Martin Herbst <develop@mherbst.de>
* Cancel an active future if the binding is stopped
Signed-off-by: Martin Herbst <develop@mherbst.de>
* New translations ambientweather.properties (Italian)
* New translations amazondashbutton.properties (Italian)
* New translations openwebnet.properties (Italian)
* New translations lghombot.properties (Swedish)
* New translations playstation.properties (Swedish)
* New translations urtsi.properties (German)
* New translations chromecast.properties (German)
* New translations openhabcloud.properties (French)
* New translations openhabcloud.properties (Hungarian)
* New translations openhabcloud.properties (German)
* New translations logreader.properties (German)
* New translations googletts.properties (German)
* New translations avmfritz.properties (German)
* New translations thingstate.properties (French)
* New translations sncf.properties (French)
* New translations openweathermap.properties (German)
* New translations twitter.properties (French)
* New translations nikohomecontrol.properties (French)
* New translations gce.properties (French)
* New translations synopanalyzer.properties (French)
* New translations vigicrues.properties (French)
* New translations airquality.properties (French)
* New translations meteoblue.properties (French)
* New translations xmltv.properties (French)
* New translations sncf.properties (French)
* Add support for enabling/disabling automations.
Fixes#11516
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix class description.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Document automation channel and channel groups.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene example in documentation.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Consolidate method for getting channel map.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Extract channel updating from data fetching methods.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Draft implementation of better automation description.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Simplify and optimize building weekday string.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Further simplify building weekday string.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scheduled event channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update scene group channels when modified.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix cache synchronization during initialization.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Reduced code duplication.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Shorten time formatting.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Danish translations for dynamic channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Simplify, optimize and fix dynamic channel creation.
Channel order is now preserved when updating an existing channel.
Scenes and scene collection are sorted correctly.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Provide backwards compatibility for deprecated channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Document purpose of createDeprecatedSceneChannels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Cleaned up poll method for improved readability.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix potential race condition when initialize() is called while updating channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
Add a pass to reencode PCM sound in 16 bit, 44100 hz, 2 channels, before sending it to the pulseaudio audio sink.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
Co-authored-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
This fixes the issue that the 'power' channel would not update with the correct state because the number of pulses in the PowerInformationResponseMessage is signed instead of unsigned.
When the binding detected these strange readings it would normally log: "Circle (...) is in a kind of error state ...".
Signed-off-by: Wouter Born <github@maindrain.net>
* Adding several functions to binding to mimic local API
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Adding functionality according to API
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Updating Read me with new capability
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Additional commit with requested changes to pull request
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Updates to address all comments on previous commit.
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Updates as requested in review.
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Corrections for check style warnings
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Updates to address feedback from lolodomo.
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* Changes to address feedback from lolodomo's review
Signed-off-by: raveydavies <matthew.davies@skynet.be>
* FanState changed to Switch, Exception handling added as per review.
Signed-off-by: raveydavies <matthew.davies@skynet.be>
This commit fixes a crash that happens when the smart meter does not provide gas values. The crash was caused by the empty timestamp.
Signed-off-by: Daniël van Os <daniel@supercell.nl>
These are color bulbs and should have the color channel instead of the brightness channel.
Closes#11660
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* Initial contribution of the Anel NET-PwrCtrl binding for OH3.
Signed-off-by: Patrick Koenemann <git@paphko.de>
* Adjustments based on code review.
Signed-off-by: Patrick Koenemann <git@paphko.de>
* Further adjustments according to second review.
Signed-off-by: Patrick Koenemann <git@paphko.de>
* Checkstyle warnings revmoed.
Signed-off-by: Patrick Koenemann <git@paphko.de>
Updated the documentation with:
* Core Actions
* Cloud Notification Actions
* Persistence Extensions
* Ephemeris Actions
* Types and Units
Instead of the single "imports", the default scope
(openhab-core/DefaultScriptScopeProvider.java) is used.
It's imported as `openhab`, services are under `openhab.service`.
As the helper library is on the way (openhab/openhab-js):
* Added note about console.log and logging in general.
* Added note that the lib is on the way.
Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
* New translations deconz.properties (German)
* New translations sonos.properties (French)
* New translations openuv.properties (French)
* New translations synopanalyzer.properties (French)
When the binding is stopped sleeping threads are interrupted by design.
By throwing the InterruptedException, it should be caught in LifxSelectorUtil.sendPacket (which is waiting for the packet interval to elapse), which will then abort sending a packet.
This prevents:
```
[ERROR] [lifx.internal.util.LifxThrottlingUtil] - An exception occurred while putting the thread to sleep : 'sleep interrupted'
```
Signed-off-by: Wouter Born <github@maindrain.net>
* [tapocontrol] New Source Upload
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] Delete bundles/org.openhab.binding.tapocontrol directory
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] Snapshot 3.2
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] Update CODEOWNERS
Fixed bindingname
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] Update README.md
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] new "Bridge-Version"
Credentials (TapoCloud) where now set in a bridge device.
Things now had to be attached to a bridge.
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] fixed device discovery bug
fixed device discovery bug
added bridge to thing-types.xml
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] Update bundles/org.openhab.binding.tapocontrol/README.md
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] code cleanup and optimization
- general code cleanup and optimization
- limited max connections and queued requests to 10 per destination
- device error handling revised
- review remarks of pull request processed
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] solved review requests
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] LightStrip L900 basicly supported
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] fixed review requests
Signed-off-by: Christian Wild <christian@wild-bw.de>
* [tapocontrol] fixed compiler warnings
Signed-off-by: Christian Wild <christian@wild-bw.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* New translations openhabcloud.properties (French)
* New translations transform.properties (French)
* New translations voicerss.properties (French)
* New translations actions.properties (German)
* New translations errors.properties (German)
* New translations stateflags.properties (German)
* New translations nanoleaf.properties (German)
* New translations surepetcare.properties (German)
* New translations deconz.properties (German)
* New translations tr064.properties (German)
* New translations deconz.properties (German)
* New translations openhabcloud.properties (German)
* New translations astro.properties (French)
* New translations hue.properties (French)
* New translations ntp.properties (French)
* New translations feed.properties (German)
* New translations lgwebos.properties (French)
* New translations gce.properties (French)
* New translations airquality.properties (French)
* New translations airquality.properties (French)
* New translations rotel.properties (French)
* New translations feed.properties (German)
* New translations hue.properties (French)
* New translations mail.properties (German)
* New translations sonyprojector.properties (French)
* New translations tradfri.properties (French)
* New translations powermax.properties (French)
When the docs are generated any {{ }} constructs are substituted with variables.
As a result the docs are less easy to understand.
Signed-off-by: Wouter Born <github@maindrain.net>
When the docs are generated any {{ }} constructs are substituted with variables causing the place holders to get lost.
As a result the docs are less easy to understand.
Signed-off-by: Wouter Born <github@maindrain.net>
* Change to json for states
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Add 3rd colours.
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Segments now mostly work
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* changes to json api fully made
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Mirror and Reverse channels added.
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Remove old channels when needed.
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Simplify return
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Add support for named presets
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Dont add empty preset 0 to list
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Add preset saving with custom names
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Tidy up
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Rename function for clarity
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Add more channels
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Clean up
Signed-off-by: Matthew Skinner <matt@pcmus.com>
* Fix bugs and update readme for new channels
Signed-off-by: Matthew Skinner <matt@pcmus.com>
Move remaining channel details to the respective channels to simplify
and avoid mistakes/errors.
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Clarify supported models and documentation
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Clarify supported models and documentation
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Add notes for amps with built-in serial over IP
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* Add notes for amps with built-in serial over IP
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* fix spotless error
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* substitute controller/amplifier
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
* New translations intesis.properties (German)
* New translations avmfritz.properties (German)
* New translations hue.properties (German)
* New translations pixometer.properties (German)
* New translations volvooncall.properties (French)
* New translations tr064.properties (French)
* New translations transform.properties (German)
* New translations googletts.properties (German)
* New translations avmfritz.properties (German)
* New translations googletts.properties (German)
* New translations sonyprojector.properties (French)
* New translations meteoblue.properties (French)
* New translations avmfritz.properties (German)
* New translations mail.properties (German)
* New translations hue.properties (German)
* New translations astro.properties (French)
* Fix reconnect after first connection to TV is lost.
Fixes#7055
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Reduced log level to TRACE for logging of entered methods several times per second.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add support for scene collections.
Fixes#11533
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add unit test for parsing of scene collections response.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add default i18n properties file.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Update documentation with scene collections.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix formatting.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix CAT: File does not end with a newline.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Split offline tests into separate distinct tests.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Increase test coverage for scene/scene collection parsing.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Internationalization of dynamic scene/scene collection channels.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Rename scene collections to scene groups.
Renamed for all user-oriented texts/references to be consistent with now abandoned feature of the PowerView app.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Change custom text keys to not collide with framework.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Avoid multiple thing updates.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Add missing label/description texts for secondary channel.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Remove unneeded @Nullable annotations.
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* [openhabcloud] reconnect on connection errors
According to documentation (albeit for 2.x Socket IO version) [1],
reconnection is responsibility of the user on connect_error events.
[1] Lifecycle diagram in
https://socketio.github.io/socket.io-client-java/socket_instance.html
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] Update Socket IO dependency to 1.0.1
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] feature.xml updated also with socket io 1.0.1
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] Re-connect manually on error events when not connected
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] less loud logging on retries
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] removing unnecessary conditional in logging
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [openhabcloud] javadoc corrections and clarifications
Signed-off-by: Sami Salonen <ssalonen@gmail.com>
* [hdpowerview] get secondary shade position value was inverted
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [hdpowerview] remove testing Jar from PR
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
* [velbus] Add new functionality PRESSED and LONG PRESSED and fix bug
New functionnality :
Add the the possibility to simulate the PRESSED and LONG PRESSED message of an input.
Module supported with button simulation :
VMB1RYS (button : CH6)
VMB6IN (buttons : CH1 ... CH6)
VMB2PBN, VMB6PBN, VMB7IN, VMB8IR, VMB8PB, VMB8PBU, VMBEL1, VMBEL2, VMBEL4, VMBGP1, VMBGP1-2, VMBGP2, VMBGP2-2, VMBGP4, VMBGP4-2, VMBGP4PIR, VMBGP4PIR-2 (buttons : CH1 ... CH8)
VMBELO, VMBGPOD, VMBGPOD-2 (buttons : CH1 ... CH32)
Fix bug :
The channels names were not correctly assigned to the thing properties. The last channel had the default name, not the one retrieved from the module.
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Update bundles/org.openhab.binding.velbus/README.md
Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Update bundles/org.openhab.binding.velbus/README.md
Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Update bundles/org.openhab.binding.velbus/README.md
Co-authored-by: cedricboon <cedric.boon@hotmail.com>
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Add trigger on channel when using button simulation
Remove uneeded Thread.sleep in code.
Trigger the events PRESSED, LONG_PRESSED, RELEASED on the linked trigger channel when using the button simulation.
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Fix redundant superinterface DiscoveryService
Redundant superinterface DiscoveryService for the type VelbusThingDiscoveryService, already defined by AbstractDiscoveryService.
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
* Fix bug #11521
Typo in the Counter Channel name for VMB7IN.
Signed-off-by: Daniel Rosengarten <github@praetorians.be>
Co-authored-by: cedricboon <cedric.boon@hotmail.com>
* Remove advanced option in group-type
Signed-off-by: Jonas Hohaus <jh@gnlpf.net>
* Add support for multiple commands in one message
Signed-off-by: Jonas Hohaus <jh@gnlpf.net>
* New translations powermax.properties (French)
* New translations openhabcloud.properties (German)
* New translations avmfritz.properties (German)
* New translations mail.properties (German)
* New translations hue.properties (German)
* New translations airquality.properties (French)
* New translations ntp.properties (German)
* New translations velux.properties (German)
* New translations mail.properties (German)
* New translations hue.properties (German)
* New translations avmfritz.properties (German)
* New translations pixometer.properties (German)
* New translations openuv.properties (French)
While integrating the review comments, I did not remember that some
variable names are written as they are because they result from some
deserialization.
This small PR fixes this.
Signed-off-by: Stefan Triller <github@stefantriller.de>
* Implement Vacuum discovery for Homeassistant MQTT
Closes#8988
Signed-off-by: Stefan Triller <github@stefantriller.de>
* Addressed review comments
Signed-off-by: Stefan Triller <github@stefantriller.de>
* Spotless run again
Signed-off-by: Stefan Triller <github@stefantriller.de>
* New translations lametrictime.properties (French)
* New translations thingstate.properties (French)
* New translations twitter.properties (French)
* New translations tradfri.properties (French)
* New translations vigicrues.properties (French)
* Use appliance cache for getting full UID with protocol prefix instead of relying on property.
* Set bare protocol name as property.
* Fix potential null pointer access warnings.
* Remove unused import.
* Renamed property protocol to protocolAdapter for correctness.
* Add connectionType property.
* Add appliance model property.
* Remove useless properties brandId and companyId always having value MI.
* Rename property dc to deviceClass and set it consistently (not only from auto-discovered things).
* Added constants for remaining handlers with hardcoded device classes.
* Fix SCA: AuthorContributionDescriptionCheck
* Fix SCA: ModifierOrderCheck
* Rename ExtendedDeviceStateUtil to be a bit more generic.
* Extract device class string parsing to utility method.
* Fix SCA: ForbiddenPackageUsageCheck
* Fix redundant null check.
* Fix potential null pointer access warnings.
* Fix unsafe null type conversion (type annotations)
* Share same configuration (UID) for all appliance types.
* Refer to gateway instead of ZigBee network in configuration.
* Remove dependency to seriaNumber property for multicast channel updates.
* Simplified filtering of irrelevant device class.
* Remove devices from remoteUid cache also when disappearing from gateway, although this is a quite rare scenario.
* Add default i18n properties file.
* Add partial Danish translation.
Fixes#11422
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
* Fix that binding stops refreshing after RuntimException (#11396)
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Updated after review comments
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
* Only update state options if they've changed
Signed-off-by: Mark Hilbush <mark@hilbush.com>
* Fix update of state options
Signed-off-by: Mark Hilbush <mark@hilbush.com>
* New translations lgwebos.properties (French)
* New translations intesis.properties (German)
* New translations zway.properties (German)
* New translations velux.properties (German)
* New translations pushsafer.properties (German)
* New translations pushover.properties (German)
* New translations hue.properties (German)
* New translations rotel.properties (French)
* New translations openuv.properties (French)
* New translations synopanalyzer.properties (French)
* New translations nikohomecontrol.properties (Dutch)
* Added possiblity to send WOL Requests to configured Hostname, also removed unnecessary unit from Timeout Annotation in WakeOnLanPacketSenderTest
* Introduced parameter to decide whether to send WOL via IP or MAC
* Added two Methods for user clarity, marked old method as deprecated, adjusted README
* Updated internal methods to use explicit calls as well, added deprecated method call to README
Signed-off-by: Jonathan Saxen <jonathan@saxen.info>
* [openwebnet] first support for CEN
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] added CEN actions. OpenWebNetThingHandler.send() is now public
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] added CEN+ support
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] use WhereCEN, removed nullpointer warnings from EnergyHandler. Improved README
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] completed support for CEN/CEN+
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] improved log
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* [openwebnet] corrected "pressure" and renamed some labels
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
* Fix fix for channel id detection, Added missing channels to emucs electra
- M-bus channels are dynamic and present in the obis id.
The binding had most channel types fixed because most of the time these channels are the same.
However the device identifier is the same for multiple devices.
But the binding only registered only one and while the channel id was derived from this obis data.
For detected meters this resulted in the channel id to be the same if there are multiple devices.
This change looks at the channel id to assign it to the found device.
This is a bit tricky because the general device has no channel and has channels that have different id's.
So the binding needs to cover that case.
This change also adds some optional channels to the emucs electra meter.
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [dsmr] Add support for Austrian meters
Improved the work done in pr #11193
Also-by: Thomas <thomas@knaller.info>
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [dsmr] Added Null handling annotations.
* Reduce debug output
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added meta information for Bosch binding
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Set binding online only if fetching rooms and devices worked
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Replaced hard-coded IP address with configuration from things file
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixes after rebasing on 2.5.x branch
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Put keystore where openhab user can access it
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Attempt to get a new subscription ID when the old one is invalidated
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Better install script
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Asynchronously get subscription ID
Otherwise, code would get stuck on requesting second subscription ID
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Initial steps towards pairing
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Doesn't compile because of bouncycastle - compiles if commented out
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Bumped version
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added basic support for multiple devices to support Twinguard
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Support for power meter in power switches + all values from Twinguard
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add window contact to the list of supported things
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Updated README to indicate new supported devices
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added missing file
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added motion detector thing
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* All devices support RefreshType now
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Cleanup - removed pairing related stuff that doesn't work
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixed a weird bug where InWallSwitchHandler was not an instance of SHCHandler
Signed-off-by: Stefan Kaestle <stefan@mad-kow.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Update BoschSHCBridgeHandler.java
fixed HTTP request URL to get rooms from SHC
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add handler for Bosch Shutter Control to get and set its open level
Signed-off-by: Christian Oeing <christian.oeing@scalamat.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Auto update of .classpath by IDE
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Handle PercentType command to set a specific shutter level
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Put service name in constant instead of using it hard coded twice
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Refactor putState method of BoschSHCBridgeHandler
Remove unnecessary parts of the request like Gateway ID and put some general logic into separate methods to reuse them in other functions later
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Send operation state STOPPED to stop shutter from moving
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add shutter control to supported devices in README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add null reference check to avoid a NullReferenceException in ShutterControlHandler if device state couldn't be fetched
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add TemperatureLevelService
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add ThermostatHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add valve tappet position channel to thermostat via ValveTappet service
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add service registration for BoschSHCHandler, so the state updates are automatically calling the registered state update callback of the handler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add affectedChannels to service registration and handle RefreshType directly in BoschSHCHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Cleaned up DeviceStatusUpdate class
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added Bosch SHC certs
added public certificates from https://github.com/BoschSmartHome/bosch-shc-api-docs/tree/master/best_practice
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added pairing support
added support for keystore creation and pairing
documented the process in readme
refactoring of httpClient to take care of SSL context
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add RoomClimateControlService and ClimateControlHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Handle command to set setpoint temperature and move conversion from service state data to thing states into service state classes
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Remove unnecessary imports from ThermostatHandler.java
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make new service and handler @NonNullByDefault
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added comments for climate control service, handler and base service and handler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add missing comments on new classes and their methods
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make registerService method of BoschSHCHandler private and adjust usages
Derived handlers should use createService instead.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Throw an error instead of returning null for method getBridgeHandler of BoschSHCHandler
This allows for fewer null checks after the initialization of a handler.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add @author tags in JavaDoc of new classes
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Ran mvn spotless:apply to apply correct code formatting
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixed missing imports in BoschSHCService.java
This was caused by a too quick merge of me.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixed warnings about null annotations
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add @NonNullByDefault to all handlers
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added license header by executing mvn license:format
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #16 Adjust logger usages to not be too verbose
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #10 Remove obsolete parse-things.py script
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #29 Remove dev scripts install.sh and run.sh scripts
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added author name to each class comment
Added the author(s) and small comment to each class based on the git
history and if necessary created the basis class comment body.
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added license header for new files
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* run mvn spotless check/apply
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #24 Catch error response when trying to get state of a service of a device and throw specific error instead of returning invalid state object
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #24 Run mvn spotless:apply and mvn license:format to respect coding guidelines
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #5 Update README.md with up-to-date information about the setup of the binding
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #31 Typo in README.md
Co-authored-by: Gerd Zanker <gerd.zanker@web.de>
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add detailed description of the system password to provide in README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Gerd Zanker <gerd.zanker@web.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fix non-initialized member of @NonNullByDefault class ValveTappetServiceState
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #7 Moved each device to a separate subfolder inside devices folder
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #44 Adjust version of org.openhab.addons.reactor.bundles to 2.5.9-SNAPSHOT in pom.xml
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #45 Increase year in copyright headers
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #45 Remove several obsolete loggers and fix logging of exceptions
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #45 Fixed some code analysis warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #45 Ran mvn spotless:apply
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #45 Revert adding @NonNullByDefault to BoschSHCConfiguration
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Fixed code analysis warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* updated text files based on pull request feedback
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Apply suggestions from code review
Applied only suggested string text changes and few trivial code changes
Co-authored-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Improved comments and changed visibility
code review findings improved related to code comments
and public/private visibility of variables
removed example properties file and class path entries
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added @NonNullByDefault annotation where necessary and easy possible
in addition minor improvements like
removed TODO for code refactoring
used BoschSHCException instead of Error in one place
Renamed internal Error class to ErroInfo
ran spotless:apply
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* use SIUnits
replaced all Celcius units with eclipse SIUnits
Co-authored-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* change logging and GSON related code
increased many log levels
avoid creating new GSON instances in derived handler subclasses
changed catch code to avoid stack trace dumps
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add @NonNullByDefault to BoschSHCConfiguration class and remove obsolete usages of configuration in handlers
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Throw BoschSHCExceptions instead of generic Errors and handle them during creation of services
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use Class::new supplier function instead of deprecated Class.newInstance() method
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Remove @NonNullByDefault from inner classes and unused logger member to remove compile warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use Base64.getEncoder().encodeToString instead of Base64.getEncoder().encode and a manual conversion to String
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add @NonNullByDefault annotation to BoschSHCBridgeConfiguration and check for empty password and ip address in configuration
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use try-with-resources to auto-close streams for key store creation
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move data transfer objects of bridge into dto folder
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add thing type ids and channel type ids to README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move thing configurations out of thing-types.xml and into configs.xml. Remove deprecated required element and use attribute instead.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Adjust some elements, units, descriptions and labels in configs.xml and thing-types.xml
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move url and request creation from BoschSHCBridgeHandler to BoschHttpClient to reuse it inside BoschHttpClient
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add default timeout to request to smart home controller
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make httpClient of BoschSHCBridgeHandler @Nullable and use BoschHttpClient createUrl and createRequest methods where possible
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make gson field in BoschSHCBridgeHandler final
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Simplify getDevices method of BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use getContentAsString() instead of getContent() plus manual conversion to String
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use instanceof instead of isInstance(...) in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add registerService method to BoschSHCHandler to register already created services, so they can be created in the constructor of a handler and do not have to be @Nullable
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Using simpler String.format instead of MessageFormatter in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move ShutterControlState into dto subfolder and remove @NonNullByDefault annotation
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make bridgeHandler and deviceId in BoschSHCService @Nullable
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move DTOs in dto subfolders and remove @NonNullByDefault annotations from them
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add texts for errors during initialization of bridge
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Migrate PowerSwitch to new service architecture to get rid of BoschSHCBridgeHandler.updateSwitchState
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Remove obsolete null parameter from subscription request
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Removed obsolete TODO about hard-coded data which does not exist anymore
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use lambda for response handling of long poll
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Remove obsolete @NonNull annotations in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Throw http exceptions when trying to request state from a device to set the thing to offline
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Add state options for combined-rating, temperature-rating and humidity-rating channels
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fix several minor static code analysis warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Added migration artifacts
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fix formatting and increase version number
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* fix HTTP client issue, improve connection logging, add Developers markdown
the HTTPClient requests were broken
updated exception handling and logging for connection and pairing
describing source of certificates
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use service for shutter control handling instead of having the logic inside the ShutterControlHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Fix code formatting to remove code analysis warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixed pairing
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Fixed long poll
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move common error handling for parsing responses from BoschHttpClient into sendRequest method to make subscribe request logic clearer
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use scheduler.schedule instead of Thread.sleep during long polling
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Using synchronous request for subscribe request
The initialization is not finished without a successful subscription.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use synchronous long poll request to get it to work
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make long polling asynchronous to not block scheduler threads
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Only scheduling new long polls while bridge is not disposed and aborting long polling on disposal
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Move long polling logic into separate class
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Make long polling requests synchronous again, the asynchronous way still does not receive any state updates
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* replaced while loop for pairing with scheduler calls
Pattern from LongPolling reused.
Scheduling new initial access checks including pairing every 15 seconds until it was successful and long polling can be started
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Throw BoschSHCException instead of raw error to avoid code analysis warning
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Remove TODO from code and add issue #55 instead
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Pass non-null httpClient to bridge initialization instead of having to check for null reference
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Use one supportsThingTypes mapping to list the supported things with their handler in BoschSHCHandlerFactory
Previously an array plus a big switch was required.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #47 Starting http client before scheduling initial access
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Use logger.debug instead of logger.info
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Connor Petty <mistercpp2000@gmail.com>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* Include cause exception in the PairingFailedException
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Connor Petty <mistercpp2000@gmail.com>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Move fields above constructor in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove obsolete configuration field from BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Move fields and constructor in JsonRpcRequest to top of the class
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Log the failure of a long poll as warning instead of error
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Use %s instead of {} as placeholder for String.format
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Move @Nullable annotation in front of field name
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Specify UTF_8 as charset to convert string to byte array
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove spaces from pem files
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Change ArrayList to List in Device.java
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Use QuantityType for power and energy consumption of the in-wall switch handler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Check if StopMoveType is STOP in ShutterControlHandler before setting the device state
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Make fields of DeviceService final
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Stop http client and cancel scheduled pairing on bridge disposal
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove channel check in BoschTwinguardHandler for Refresh command
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add exception message to warning when update in BoschTwinguardHandler and WindowContactHandler returns incorrect state
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add additional information about channels to thing-types.xml and README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove confusing comment from LongPolling.subscribe method
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Removed obsolete error log in LongPolling.subscribe
A warning is already logged in BoschBridgeHandler when an exception occurs
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add detailed description for purity channel
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Fix typo in DEVELOPERS.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Change scheduledPairing field in BoschSHCBridgeHandler to be @Nullable
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Change type of channel values from DecimalType to QuantityType in BoschTwinguardHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove obsolete .classpath and .project files
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Fixed typo in DEVELOPERS.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Only log error message instead of whole stack trace in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove exception which is not thrown and typo in BoschSslUtil
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Use SmartHomeUnits instead of AbstractUnit in BoschTwinguardHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Added supported-bridge-type-refs to thing-types.xml
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove invalid whitespace from thing-types.xml
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Fixed warnings and errors caused by updated Gson library
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Update info about auto reload of bundle jar in DEVELOPERS.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Update information about adding items and things via UI, added missing password configuration value and changed headline in README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Execute long polling requests asynchronous to not block a thread
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Refactored WindowContactHandler to use ShutterContactService instead of implementing service logic itself
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove obsolete .gitignore. The ignored files are already ignored by the root .gitignore
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Rename constant supportsThingTypes to SUPPORTED_THING_TYPES in BoschSHCHandlerFactory
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Use List.of instead of Arrays.asList
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Call super.dispose last in BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add exception message to status when http connection to controller fails
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Handle JsonSyntaxException in BoschHttpClient.sendRequest
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Forward InterruptedExceptions to callers, so they have to be handled correctly
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Logging long poll error message and code instead of hash
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Throwing InterruptedException during pairing instead of only logging it
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Move nested class AbortLongPolling to end of LongPolling class
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Make gson instance static final in BoschHttpClient
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Rename gson to GSON and make it static final in BoschSHCHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Remove @Nullable annotations from GSON-created objects
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add causing exception to ExecutionException in BoschHttpClient.sendRequest
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #14 Add JsonSyntaxException to definition of processUpdate in BoschTwinguardHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* fixed keyStore creation
Moved PEM files into expected folder according to package
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* moved final fields above non-final fields
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* updated copyright year in header by executing mvn license:format
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* fixed last two pending warnings
added back the removed @Nullable annotation in sendRequest()
replaced deprecated SslContextFactory constructor call
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added Bouncy Castle third-party license info into NOTICE
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* changed Bouncy Castle version to same version as currently used in org.openhab.core.io.jetty.certificate to later reduce download size
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #62 Correctly check if long poll response is valid
GSON will not return null if there is no "result" field, but will just set the "result" member to null.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Add @NonNullByDefault annotation to LongPollResultTest class and fix method name
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* added first unittests for BoschSslUtil class
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added next unittests for BoschHttpClient class
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #55 replaced the password with a fixed one
The changeable SHC system password for the keystore is replaced by a static string in the code.
The keyStore name is now based on SHC ipAddress to support multiple SmartHomeControllers.
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #72 changed use units of measure for the twinguard humidity and purity values
all other QuantityTypes in bindingcode are fine
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #77 changed title of binding to Bosch Smart Home
Replaced the SHC occurrences with Smart Home,
to avoid technical names.
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #62 Try to restart long polling when it fails before taking the thing offline
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #62 Run subscribe request on a new thread instead of using the thread of the previous long polling http request
This might be the reason why the subscribe request does never finish or finishes with a timeout
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #74 Run the whole long polling response handling in a new thread to not get timeout from HTTP client
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #74 Schedule initial access when long polling fails unexpected
We need to try to reconnect again and again (with 15 seconds between the requests) as the controller may have been restarted (update, manual restart,...). This is already done by the initial access, so I reuse that mechanism.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Use direct formatting of logger.trace instead of String.format
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Gerd Zanker <gerd.zanker@web.de>
* #76 Use i18n texts instead of raw translations for status messages about failed long polling
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #76 Use logger.debug instead of logger.warn for long poll error as it is handled now
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #78 defined api-version
each HTTP request will use now the defined "avp-version=2.1" for request to the smart home controller
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* logging bundle version
removed the old static version string
access OSGi bundle version information instead
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #75 improved initial access
- added isOnline check and isAccessPossible now failed in case HTTPStatus is an error
- same HTTPStatus check done to all blocking send() request calls
- using i18n strings for all bridge updateStatus calls
- skipped the 'controller' and use only 'Bosch Smart Home' in descriptions
- added more @Nullable annotations
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #72 changed use units of measure for the twinguard humidity and purity values
all other QuantityTypes in bindingcode are fine
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #77 changed title of binding to Bosch Smart Home
Replaced the SHC occurrences with Smart Home,
to avoid technical names.
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #62 Try to restart long polling when it fails before taking the thing offline
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #62 Run subscribe request on a new thread instead of using the thread of the previous long polling http request
This might be the reason why the subscribe request does never finish or finishes with a timeout
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #74 Run the whole long polling response handling in a new thread to not get timeout from HTTP client
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #74 Schedule initial access when long polling fails unexpected
We need to try to reconnect again and again (with 15 seconds between the requests) as the controller may have been restarted (update, manual restart,...). This is already done by the initial access, so I reuse that mechanism.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Use direct formatting of logger.trace instead of String.format
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Gerd Zanker <gerd.zanker@web.de>
* #76 Use i18n texts instead of raw translations for status messages about failed long polling
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #76 Use logger.debug instead of logger.warn for long poll error as it is handled now
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #78 defined api-version
each HTTP request will use now the defined "avp-version=2.1" for request to the smart home controller
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* logging bundle version
removed the old static version string
access OSGi bundle version information instead
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #75 improved initial access
- added isOnline check and isAccessPossible now failed in case HTTPStatus is an error
- same HTTPStatus check done to all blocking send() request calls
- using i18n strings for all bridge updateStatus calls
- skipped the 'controller' and use only 'Bosch Smart Home' in descriptions
- added more @Nullable annotations
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* added newline
Signed-off-by: Gerd Zanker <gerd.zanker@web.de>
* #46 Rename BoschInWallSwitchHandler, BoschTwinguardHandler, BoschSHCBridgeConfiguration and BoschSHCBridgeHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #46 Adjust descriptions of things
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #40 Use LatestMotionService in MotionDetectorHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #40 Use service instead of custom logic in BoschTwinguardHandler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #40 Add PowerMeterService to use in InWallSwitchHandler instead of having the logic directly in the handler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #40 Rename InWallSwitchHandler to LightControlHandler
This is the official name in the Bosch API documentation, so we should use it as well (https://apidocs.bosch-smarthome.com/local)
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #34 Get device info on thing initialization to check if device exists
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #34 Use generic sendRequest method of http client to have consistent error handling
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #34 Fix formatting error when logging device info
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #83 Add info if a channel is writable to README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #84 Adjust/Add descriptions of supported devices
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #25 Add humidity level service and wall thermostat handler
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #25 Add wall thermostat handler to handler factory
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #66 Check type of service state when received by bridge to make sure that it has the expected type
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #41 Add child lock service to Thermostat handler and link its state to a "child-lock" channel
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Add null check in BoschSHCServiceState.isValid
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #41 Use custom channel type for child-lock. Handle setting child lock state.
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #101 Store expected state type inside a member instead of a static variable
The static variable was stored in the base class, so it was only initialized once even for different state types
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #63 Use better identifier for thing that is missing a (valid) bridge
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #108 Add changelog to README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #109 Catch possible null pointer exception in long poll response handling
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Fix potential null pointer access
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* Fix static code analysis error and 2 warnings
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #111 Remove changelog from README.md
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
* #112 Remove JSON from logs
Signed-off-by: Christian Oeing <christian.oeing@slashgames.org>
Co-authored-by: Stefan Kaestle <stefan@mad-kow.de>
Co-authored-by: Gerd Zanker <gerd.zanker@web.de>
Co-authored-by: Christian Oeing <christian.oeing@scalamat.de>
Co-authored-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Connor Petty <mistercpp2000@gmail.com>
* Added support for the 50 GPS waypoints provided by the Automower API
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* Added Channel for last position
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* Fixed channel of position 40
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* Updated Doku + mvn:spotless apply
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* Inputs from static code analysis
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* Removed channel groups
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
* mvn spotless:apply
Signed-off-by: Bernhard Bauer <bern77@gmail.com>
Allows translating the binding strings with Crowdin.
Also fixes a wrong thing action description annotation.
Also fixes few SAT warnings
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Allows translating the powermax binding strings with Crowdin.
This is not a 100% internationalization of the binding, rather 95%.
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* New translations lgwebos.properties (French)
* New translations sonos.properties (French)
* New translations weatherunderground.properties (French)
* New translations gce.properties (French)