I'm currently looking at what's at least the second time I'm having to clone a protocol to prevent configuration from clashing, where I'd rather just alias the actual implementation.
I'm thinking a field in the yml - like alias of, which when a matching device is found, points at the named implementation rather than inferring it from the protocol config name.
e.g. for kiiroo-v3, we could have skipped the initialiser that falls through to KiirooV21 by just having am implementation override field like this:
implementation: kiiroo-v2
defaults:
name: Kiiroo V3 Device
features: []
id: b3b6151e-79b8-4aac-a777-0de6b9f2d893
....
It's for things like conflicting service/characteristic uuids or wildcard matchers without specific identifier handling, but would also help for protocols like the galaku that just has hundreds of devices but really only 4 sets of configuration - having 4 galaku configs, each with 1 default config then just name mappings would be so much nicer to manage.
I'm currently looking at what's at least the second time I'm having to clone a protocol to prevent configuration from clashing, where I'd rather just alias the actual implementation.
I'm thinking a field in the yml - like alias of, which when a matching device is found, points at the named implementation rather than inferring it from the protocol config name.
e.g. for kiiroo-v3, we could have skipped the initialiser that falls through to KiirooV21 by just having am implementation override field like this:
It's for things like conflicting service/characteristic uuids or wildcard matchers without specific identifier handling, but would also help for protocols like the galaku that just has hundreds of devices but really only 4 sets of configuration - having 4 galaku configs, each with 1 default config then just name mappings would be so much nicer to manage.