Add the black globe (BGT, 0xA1) and wet bulb globe (WBGT, 0xA2)
temperatures of the WN38 sensor as dedicated channels.
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
#20903 changed onServicesResolved() to call discoverServices() instead of
firing SERVICES_DISCOVERED unconditionally. discoverServices() only notified
when the openHAB-side service list *grew* (getGattServices().size() >
getServices().size()). That list (supportedServices) is only cleared on BlueZ
object removal, so on a normal reconnect BlueZ re-fires ServicesResolved=true
while the list is already fully populated, the "grew" check is false, and
SERVICES_DISCOVERED is never re-fired.
Consumers built on ConnectedBluetoothHandler re-arm their notifications and
polling off onServicesDiscovered() (e.g. grundfosalpha enables notifications
and schedules its read loop there; the generic binding rebuilds channels).
Swallowing the event leaves the Thing ONLINE but silent after every reconnect
- no events are received, matching #20947.
Fire SERVICES_DISCOVERED whenever the GATT is resolved with services present,
not only when the list just grew. Population still happens only when the list
grows, but the notification now always reaches listeners on a resolve. The
event is idempotent for all consumers (generic only adds missing channels;
ConnectedBluetoothHandler/grundfosalpha re-enabling notifications is a no-op
when already notifying).
Fixes#20947
Signed-off-by: Vlad Kolotoff <vkolotoff@pm.me>
* [fineoffsetweatherstation] Add 10-min avg wind direction and 24h rainfall
Add three readings now identified in the Ecowitt HTTP API:
- direction-wind-avg-10min: 10-minute average wind direction
(common_list item 0x6D)
- rain-24-hours / piezo-rain-24-hours: rainfall over the last 24 hours
(HTTP-only, keyed by id 0x7C in the rain and piezoRain groups)
Also drop the redundant standalone rain-state dynamic channel.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
* [fineoffsetweatherstation] Apply review feedback on PR 20928
- Use hyphenated compound adjective "10-Minute Average" in labels
- Clarify that the HTTP raining indicator is piezo-only after the
standalone rain-state channel was dropped
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
Pick up the upstream bluez-dbus fix that returns a snapshot from
DeviceManager.getDevices() (hypfvieh/bluez-dbus#75), avoiding a
ConcurrentModificationException when BlueZ mutates the device list
during iteration, which could take the bridge offline and stall
updates.
Updates the bundle dependency, the BlueZ Karaf feature, and the
aggregated Bluetooth feature to 0.3.5.
Signed-off-by: Vlad Kolotoff <vkolotoff@pm.me>
The Shelly Pro Dimmer 2PM is a two-channel dimmer that was previously
detected as shellyunknown and reported "device type not supported".
Signed-off-by: Simon Jutz <simon.jutz@quatico.com>
* [tuya] Remove explicit handling of (presumed) dimmer channels
They will be "value" types anyway and can be handled as such.
Signed-off-by: Mike Jagdis <mjagdis@eris-associates.co.uk>
* [matter] Matter.js 0.17 Bridge Fixes
Updates our bridge to support 0.17 changes to the bridge.
Fixes#20910
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* PR feedback
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
---------
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* [matter] Fix very slow thing initialization
Use subscription cache for node init.
- Serialize attribute values from the local cache instead of one
remote read per attribute (huge speedup on Thread). This caused
a lot of unnecessary single Thread requests and slowed everything
down drastically.
- Default requestFromRemote to false in serializePairedNode/
sendSerializedNode.
Signed-off-by: Bernhard Kaszt <github-Bernhard@kaszt.at>