Various functions across multiple devices can have the same characteristics, however, they have different attribute IDs. This causes issue with discovery, when a wrong attribute ID could be assigned a device, which would cause any get/set methods to fail. For example, brightness on a light switch has attribute ID of 4 and on a smart light bulb it is 2.
This prevents support of various devices that share a function characteristic but differ in the attribute ID. The feature discovery must be more dynamic to detect the IDs upon device creation.
Various functions across multiple devices can have the same characteristics, however, they have different attribute IDs. This causes issue with discovery, when a wrong attribute ID could be assigned a device, which would cause any get/set methods to fail. For example, brightness on a light switch has attribute ID of 4 and on a smart light bulb it is 2. This prevents support of various devices that share a function characteristic but differ in the attribute ID. The feature discovery must be more dynamic to detect the IDs upon device creation.