Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Documentation] Semantic Tag Spec - Clarification In Case of Aggregators #31199

Open
jvmahon opened this issue Dec 28, 2023 · 0 comments
Open
Labels
documentation Improvements or additions to documentation needs triage

Comments

@jvmahon
Copy link

jvmahon commented Dec 28, 2023

Documentation issues

I think the Semantic Tag spec needs to clarify how tags are used in the case of composite devices and those including aggregators (if its in there, I missed it!). Here's what I'm referring to

Say, for example, you have a device with the following endpoints (excluding root note) :
EP1 - On/Off Switch
EP2 - Aggregator, PartsList 4, 5
EP3 - On/Off Switch
EP4 - On/Off Switch
EP5 - Mode Select
EP6 - Mode Select

This forms a tree like:
EP1
EP2
|--- EP4
|--- EP5
EP3
EP6

Where EP1, EP2, EP3, EP6 are at the same level of the hierarchy. EP4 and EP5 are child nodes of EP2.
Let's say I wanted to assign these Common Number Semantic Tags

I think the logical thing to do would be to look at EP1, EP2, EP3, and EP6 as being on the same level and assigning them tags for 1, 2, 3, 4 so that, in a user interface, they would appear in that order (with EP2 being a grouping of its components)

Then, to create order within the EP2 aggregator grouping, it should be possible to assign EP4 and EP 5 tags for 1, 2 so that within the EP2 sub-group, EP4 and EP6 occupy the 1, 2 positions.

But the Semantic Tag document doesn't state that this is the convention (or what the convention is) when there is a hierarchy formed by an aggregator. If the goal is to provide tags that can be used to express developer intent as to organization and hierarchy of endpoints, then more is needed to establish that convention in a consistent way. I think the most useful setup is to say that the aggregator starts a new sub-grouping within the components making up its PartsList and that the semantic tags are interpreted within the context of their level of hierarchy and aggregator grouping.

So, if it is appropriate to re-use tags at different levels of the hierarchy of devices, that should be stated as I've suggested. On the other hand, if it shouldn't be done (contrary to what I laid out before), then that should be stated instead. Without a rule, the entire concept gets lost in the land of "whatever a developer thinks it means" which is less helpful than this can be.

Platform

core (please add to version below)

Anything else?

No response

@jvmahon jvmahon added documentation Improvements or additions to documentation needs triage labels Dec 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation needs triage
Projects
None yet
Development

No branches or pull requests

1 participant