So I’m redoing the sony binding and I’ve run into a situation that I’m unsure how to handle.
In a nutshell - the sony binding dynamically generates all it’s channels from the device (the device could be anything - tv, avr, soundbar, etc). For discussion purpose - let’s say each channel is uniquely defined by 4 attributes that help me track the source back to the device (service, scheme, source, index). Example: a TV speaker would have a service of ‘audio’, a scheme of ‘speaker’, a source of ‘tv’ and an index of ‘1’.
Prior to this rewrite - I encoded those four attributes into the channel ID and decoded when needed. For various reasons - that was a bad approach.
In the rewrite - I’d like to make those either properties or configuration parameters of the channel. Looking through our bindings for examples - some use properties (global cache as an example), others use configuration (kodi as an example)
Before I continue - I’d like to know what others think and how you’d differentiate a channel property from a channel configuration. I’m leaning towards configuration because that’s it ‘feels’ like (ie I’m configuration this channel to point to system/scheme/source/index)…