PhilipsHue / flutter_reactive_ble

Flutter library that handles BLE operations for multiple devices.
https://developers.meethue.com/
Other
662 stars 326 forks source link

Support multiple services or characteristics with the same id #776

Closed spkersten closed 1 year ago

spkersten commented 1 year ago

Fixes #478 Fixes #509

The change is mostly backwards compatible. The exception to that is that if you try to use the existing read/write/subscribe methods for a characteristic ids for which there is no single unique instance, an exception is thrown. Before, it would read/write/subscribe the first matching characteristic.

castehlin commented 1 year ago

Hi,

Sorry if this is the wrong place since it's closed, but I haven't found a place that covers this latest change and if it addresses characteristics with identical service and char uuids, but different properties (write/read/notify etc). The documentation for this package doesn't seem to cover this on pub.dev.

Provided I've found the unique characteristic using the isWritable/isNotifyable fields or the instance_id, how can I get something like writeCharacteristic() or subscribeCharacteristic() to take in these unique identifiers, rather than just what the QualifiedCharacteristic object allows (only charUuid, serviceUuid, deviceId?)

Is this supported in this package yet?

SO post that covers this in a bit more detail: https://stackoverflow.com/questions/77052224/how-to-write-notify-to-characteristic-with-identical-service-and-char-uuids-in-f

spkersten commented 11 months ago

@castehlin The entry point for dealing with services or characteristics that don't have a unique id is getDiscoveredServices. Or alternatively the resolve method.