Markus Michels [Mon, 18 Apr 2022 17:32:16 +0000 (19:32 +0200)]
[shelly] TRV+Motion2 support, various fixes & enhancements (#12325)
* 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>
[sonos] Discovery of unsupported models without exception (#12609)
* [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.
[transform.map] Refactor service to use TransformationConfigurationRegistry (#12433)
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.
Wouter Born [Tue, 12 Apr 2022 20:39:10 +0000 (22:39 +0200)]
Replace deprecated Google OAuth OOB flow (#12602)
This replaces the deprecated OOB OAuth flow used in the Nest Binding and Google STT/TTS add-ons.
Instead they will now use https://www.google.com as redirect_uri.
The instructions in the README and config descriptions have been updated for this change.
- 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)
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
* Some stations does not report octa dimension, thus leading the binding to incorrect values.
Enhanced discovery process
Code enhancements
SAT corrections
Enhanced Exception catching.
[homematic] Validate datapoint values before writing to config (#12557)
* [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>
* 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] Add support for fanLevel, verticalSwing, horizontalSwing, light API (#12470)
* [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>
Jacob Laursen [Mon, 28 Mar 2022 05:14:55 +0000 (07:14 +0200)]
[miele] Fix configuration validation and optimize performance (#12510)
* 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>
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>
jimtng [Sun, 27 Mar 2022 17:10:24 +0000 (03:10 +1000)]
[fronius] Add Autonomy and Self Consumption channels (#12420)
* 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>
Conte Andrea [Fri, 25 Mar 2022 16:32:10 +0000 (17:32 +0100)]
[openwebnet] fixing support for central unit (#12514)
* - 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
tonwi [Tue, 22 Mar 2022 19:48:18 +0000 (20:48 +0100)]
[rotel] Extension of amplifier A14's channel list (#12447)
* 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>