Best-practices for KNX2.x binding things configuration

Hey,

I just migrated (unintentionally :slight_smile:) from the KNX 1.x to 2.x binding due to the openHAB 2.3 upgrade.
As the structure is slightly different (‘things->channel->items’ instead of ‘items’), is there any “best practice” to use for organization of the things/channels?

Documentation (and some of the tutorials here) seem to suggest to group things by hardware, e.g.,:

<thing>
  <actuator_1 address="a.b.c">
    <channel_1> xxx </channel_1>
    <channel_2> xxx </channel_2>
    ...
    <channel_n> xxx </channel_n>
  </actuator_1>
  ...
  <actuator_k address="x.y.z">
    <channel_1> xxx </channel_1>
    <channel_2> xxx </channel_2>
    ...
    <channel_n> xxx </channel_n>
  </actuator_k>
</thing>

While this seems reasonable from the KNX hardware perspective, in the KNX 1.x binding I used a structure w.r.t. logical groupings, which would translate in KNX 2.x to, e.g.,:

<thing>
  <lights address="">
    <living_ambiente> xxx </living_ambiente>
    <kitchen_main> xxx </kitchen_main>
    ...
    <studio_main> xxx </studio_main>
  </lights>
  ...
  <heatings address="">
    <living_current> xxx </living_current>
    <living_target> xxx </living_target>
    ...
    <studio_target> xxx </studio_target>
  </heatings>
</thing>

From my perspective, benefit of the first approach is forward-orientation due to future use of hardware addresses and status/control of particular hardware.
However, when it comes to changes in the assignment of channel in the actuators or some addresses are logical only, e.g., sending a Day/Night object to the KNX bus with no specific hardware involved except OpenHAB , it breaks the structure.

Anyone an idea or a pointer to some best-practices? Are there reasons not to use logical groupings?
(sorry in case there is already something available, I was not able to locate it at a first glance).

Best,
Robin

I want to be independent of how my lamps and rollershutters are wired ohysically (could change due to optimization) and I do not want to rebuild the way of how knx works internally (as a fan of flexibility, I am using the free address grouping in knx)

I will use the logical grouping and the “things” will consist either of “rooms” with the function as the channel or the function as a thing (“light”, “power outlet” etc.) and with room+function as channels.

I am leaning towards the room = thing schema, because in my house I naturally think in terms of “what do I want to do inside e.g. my kitchen, oh, switch the light on”).