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>
Conte Andrea [Fri, 18 Mar 2022 18:00:48 +0000 (19:00 +0100)]
[openwebnet] handle Thermo Central Unit monitoring messages (#12485)
* - 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
GiviMAD [Thu, 17 Mar 2022 23:41:00 +0000 (00:41 +0100)]
[pulseaudio] source: use thread safe collection and force reconnection (#12441)
* [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>
openhab-bot [Wed, 16 Mar 2022 20:23:57 +0000 (21:23 +0100)]
New Crowdin updates (#12484)
* 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)
Wouter Born [Sun, 13 Mar 2022 19:26:32 +0000 (20:26 +0100)]
[mail] Fix unstable MailBuilderTest (#12471)
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.
GiviMAD [Sat, 12 Mar 2022 22:06:51 +0000 (23:06 +0100)]
STT service improvements (#12453)
* [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>
RadOle [Thu, 10 Mar 2022 20:24:32 +0000 (21:24 +0100)]
[mihome] Update README.md (#11926)
Following https://www.openhab.org/docs/configuration/rules-dsl.html#rule-examples
one can find receivedEvent is now implicitly available in every rule that has a channel-based trigger
Cody Cutrer [Wed, 9 Mar 2022 07:53:01 +0000 (00:53 -0700)]
[homekit] do unit conversion for min/max heating/cooling temps (#12450)
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.
Flole998 [Mon, 7 Mar 2022 20:51:17 +0000 (21:51 +0100)]
[homematic] Fix invalid default values ending up in the thing type (#12437)
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.
openhab-bot [Mon, 7 Mar 2022 20:25:05 +0000 (21:25 +0100)]
New Crowdin updates (#12392)
* 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)
Wouter Born [Sun, 6 Mar 2022 18:42:48 +0000 (19:42 +0100)]
GHA CI build workflow improvements (#12425)
* Add error annotations only in Java 11 matrix build to prevent duplicates
* Make sure Java 11 build is not cancelled when Java 17 build fails so it can add annotations by using `fail-fast: false`
* Use changed files only for incremental PR builds so a full build is done for changes merged into 'main' branch
* Add GHA build status badge