Groups: Combine group element types like Switch with "Enter Group" into one entry

I’m looking for a way to combine group elements (like a simple switch or a brightness slider) with the ability to navigate into a group from one single entry/widget.

Currently, I’m controlling four power plugs in a set of two pairs from the basic UI like this: grafik
While it works, this approach wastes a lot of screen space. It would be better to have a single entry with the switch on the right, but clicking on the area left to the switch brings you into the group (which is what the second entry from the screenshot is for).
This approach could be taken a bit further for controlling lights by having a brigthness slider at the bottom of the entry. Additionally, a colour field representing the brightness/colours of the grouped lights (without actual control over the colours) would be a nice way to have an overview over the group.

Is any of these things currently possible with openhab2? If not, where should feature suggestions like these be posted to get the devs attention?

Make a template switch Item with rules to activate the “real” one and display the other setting. Yes, OH2 is that flexible.

Would you show us your existing sitemap entry?

Generally the use of Group widget is so limiting that is generally best to abandon that and instead build line by line.

So this is the section from the sitemap of the screenshot:

    Frame label="Studio" {
        Switch item=C88
        Text item=C88 label="C88 [%d]" icon="soundvolume" {
            Switch item=C88_Front
            Switch item=C88_Surround
            Switch item=C88_L
            Switch item=C88_R
            Switch item=C88_SL
            Switch item=C88_SR

And here is the item file:

Group:Switch:SUM C88 "C88 [(%d)]"
Group:Switch:SUM C88_Front "C88 Front [(%d)]" (C88)
Group:Switch:SUM C88_Surround "C88 Surround [(%d)]" (C88)

Switch C88_L  "C88 L"          <soundvolume> (C88_Front)    { channel="address" }
Switch C88_R  "C88 R"          <soundvolume> (C88_Front)    { channel="address" }
Switch C88_SL "C88 Surround L" <soundvolume> (C88_Surround) { channel="address" }
Switch C88_SR "C88 Surround R" <soundvolume> (C88_Surround) { channel="address" }

When not using groups and having all of that in the app line by line, these four plugs alone take up a lot of screen space. Are there other ways to create useful hierarchies?

Not sure if I can follow. I thought rules are for things like “if that sensors reads value x do action y”. How would that help in this scenario?

The sitemap visibility= option is quite powerful, allowing you to show/hide lines depending on the state of some other Item.
Ive not seen an obvious application here, though.

I’m still not very clear what you are asking for.
A display line that you click to see more is straightforward, you have that done.

You don’t have to use a Group Item in the clickable line, you can create any kind of averaging or whatever Item that you want to use there.

If you are trying to pack multiple widgets into one line, that’s rather beyond the scope of sitemaps and BasicUI. It’s the kind of thing HABpanel is for.

I want to get rid of the red crossed entry. Instead, I want to use the red circled switch for controlling the group, but be able to click on the green circled area to enter the group (like clicking on the red crossed entry).

I’m basically looking for a group switch that I can use at the same time to enter the group and make fine adjustments there.

Right, got it. You’d like to able to do

Switch item=someGroup {
   Switch item=someItem
   Switch item=otherItem

which isn’t allowed in current sitemap syntax.

I suspect any implementation of that would require reworking of the several sitemap based UI, to distinguish clicks expected to open the sub-page from clicks expected to activate the widget.
You could always lodge an enhancement request in github, but I think it might be late in the day for the sitemap model with OH3 in view.

Closest effect you can get might be this, which offers the sub-page and “master control” one click away

Text item=someGroup {
   Frame {
      Switch item=someGroup
   Frame {
      Switch item=someItem
      Switch item=otherItem