Cody Cutrer [Mon, 29 Jan 2024 22:05:37 +0000 (15:05 -0700)]
[mqtt] Treat incoming empty string as NULL for most types (#16307)
* [mqtt] Treat incoming empty string as NULL for most types
Empty strings are often received when deleting retained topics when a device
goes offline, or as the result of a transformation that is missing
a value (such as a "scene" event from zwave-js-ui, which sends JSON with
a timestamp and the scene value, then immediately sends a value to the topic
with only a timestamp).
For string channels, add a configuration value to allow setting a specific
string for treating as NULL, since empty string can make sense for that
type.
Holger Friedrich [Sun, 28 Jan 2024 20:44:09 +0000 (21:44 +0100)]
[knx] postUpdate for contact-control sends to bus (#16263)
contact-control items need to send to the bus like a switch item,
to trigger a state update in the external device.
* Add a new profile for contact-control items
* Add a profile factory and a profile advisor class
* Handle postUpdate like a command and send message on KNX bus
Fixes #16115.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Markus Michels [Sat, 27 Jan 2024 20:58:44 +0000 (21:58 +0100)]
[shelly] Add check and ThingStatus for local IP issue (APIPA) (#16306)
* Check for local_ip == 169.254.x.xm, which is the result when DHCP IP
assignment failed. Avoid that the binding passes this address to the
device as part of the callback url.
Signed-off-by: Markus Michels <markus7017@gmail.com> Co-authored-by: markus7017 <markus7017@gmail..com>
Matthew Skinner [Fri, 26 Jan 2024 14:07:13 +0000 (01:07 +1100)]
[ipcamera] Add white LED controls for Dahua and also Email and Push for Reolink with v20 command support (#16144)
* New reolink channels
* extra channel for Dahua.
* Reolink NPE fix
* Fix LED modes and auto.
* Handle NVR channels for new channels
* add nvr channels to Dahua.
Holger Friedrich [Mon, 22 Jan 2024 21:37:46 +0000 (22:37 +0100)]
[knx] Allow receiving DPT 235.001 (#16094)
* [knx] Allow receiving DPT 235.001
Composed type not yet supported by Calimero, thus only receiving
data is implemented.
Configure DPT 235.001 to receive ActiveEnergy.
Configure DPT 235.61001 to receive Tariff information.
Fixes #15159
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Holger Friedrich [Sun, 21 Jan 2024 20:43:21 +0000 (21:43 +0100)]
[knx] DPT 1 to support Switch and Contact (#16238)
* Allow assigning Switch or Contact to most of the DPT 1 subtypes
(exceptions 1.008 UpDownType, 1.010 StopMoveType, 1.022 DecimalType).
* Tests for all published subtypes for DPT 1.
* Fix sending of DPT 1.022.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Florian Hotze [Fri, 19 Jan 2024 18:39:12 +0000 (19:39 +0100)]
[yamahamusiccast] Add discovery information (#16231)
* [yamahamusiccast] Add discovery information
Seems like Yamaha is using uppercase `YAMAHA CORPORATION` for the manufacturer info of non-MusicCast devices and normal case `Yamaha Corporation` for MusicCast devices.
* [yamaha] Fix REGEXes for Yamaha binding suggestion and improve description
David Pace [Thu, 18 Jan 2024 21:43:44 +0000 (22:43 +0100)]
[boschshc] Support for Universal Switch I + II (#16274)
* [boschshc] Support for Universal Switch I + II
- add thing type and channel type definitions
- re-generate i18n file
- add constants
- add model classes and enums
- implement service and handlers
- register handlers in factory
- register devices in discovery
Markus Michels [Thu, 18 Jan 2024 21:05:22 +0000 (16:05 -0500)]
Fix stack overflow when an unknown CoAP Id is detected; Fix innerTemp (#16240)
channel creation for Gen2 devices not having this; Fix sensor
initialization on wakeup; Fix missingf temperature5 description; add
missing relay definition for shellywalldisplay; Some README fixes
The bridge discovery participant receives lots of mDNS events.
Previously, all events that contained IP addresses of potential bridges
were actively contacted using HTTP requests. On some systems eventually
the long polling stops due to too many requests.
With this change, we
* only consider mDNS events where the name property starts with "Bosch
SHC"
* cache already discovered bridges so we don't have to contact them over
and over again
* make sure that this happens in a thread-safe manner because the mDNS
events are handled in individual concurrently running threads
openhab-bot [Sat, 13 Jan 2024 18:32:25 +0000 (19:32 +0100)]
New Crowdin updates (#16272)
* New translations androidtv.properties (Italian)
* New translations energidataservice.properties (Danish)
* New translations energidataservice.properties (Italian)
Stefan Roellin [Mon, 8 Jan 2024 16:09:18 +0000 (17:09 +0100)]
[pilight] Various minor code improvements (#16227)
- Fix warnings from static code analysis
- Remove superfluous if
- Remove redundant member
- Introduce constant
- Use correct thing type uids in PilightDeviceDiscoveryService
- Fix log messages
Signed-off-by: Stefan Roellin <stefan@roellin-baumann.ch>
David Pace [Thu, 4 Jan 2024 07:19:33 +0000 (08:19 +0100)]
[boschshc] Handle invalid long poll responses gracefully (#16002)
If the long poll response from the Smart Home Controller does not
contain valid JSON, the subscription is gracefully terminated a new one
is initiated after 15 seconds.
[chromecast] Update protobuf from 2.6.0 to protobuf-javalite 3.25.1 (#16186)
Switch from vitalidze/chromecast-java-api-v2 to de.sfuhrm/chromecast-java-api-v2.
This fork updates protobuf-java from 2.6.0 to protobuf-javalite 3.25.1.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Cody Cutrer [Tue, 2 Jan 2024 19:02:47 +0000 (12:02 -0700)]
[mqtt.homeassistant] Improve support for Lock component (#16052)
* [mqtt.homeassistant] Improve support for Lock component
* handle state and command payloads differing (as they do by default)
* expose full state possibilities and OPEN command by adding
a TextValue channel
* Recognize intermediate lock states as unlocked on the switch channel
openhab-bot [Sun, 31 Dec 2023 13:51:04 +0000 (14:51 +0100)]
New Crowdin updates (#16162)
* New translations automower.properties (Italian)
* New translations opensprinkler.properties (Italian)
* New translations samsungtv.properties (Italian)