Frame within a group on a sitemap or linking from sitemap to sitemap

I am trying to make my sitemap a bit better and would like a top level of my “rooms” to then have some grouping under them. I can do the rooms bit quite simply with this in my sitemap:

Frame {
		Group item=Lounge label="Lounge" icon="sofa"
		Group item=Kitchen label="Kitchen" icon="kitchen"
		Group item=Hall label="Hall" icon="corridor"
		Group item=Landing label="Landing" icon="corridor"
	} 

And that works well, i get the four rooms and when i click them i get any items i have tagged as that group.

However i cant order the items in that group on the page it loads. Is there a way to link to order or group the items within the group sub-page or link from one to another sitemap for each group (so i can then use frames etc) or do i simply have to put everything on the homepage sitemap for example:

	Frame label="Kitchen" icon="kitchen" {
		Frame label="Sonos" {
				Default item=Sonos_Kitchen_Controller
				Slider  item=Sonos_Kitchen_Volume
				Switch  item=Sonos_Kitchen_Mute
				Text    item=Sonos_Kitchen_CurrentTrack		
				Text    item=Sonos_Kitchen_State
				Switch  item=Sonos_Kitchen_LED
			}
		Frame label="Lights" {
				Switch  item=Kitchen_UnderLight
				Switch  item=Kitchen_MainLight
			}
	}

Resulting in what i want but without the sub page. I know i can put the group into the frame and pick up the key things, but ideally i would like to define how the group “page” is displayed.

I did try searching but cant find any examples or anyone doing the same, so a) i am not going mad and b) that is clear…

When you Group on the sitemap you have no control over the order nor can you override the appearance of any of the Items in the Group. You also cannot use things like charts, color, or visibility. In short, except for some quick and easy views of your Items, the Group tag is of pretty limited use.

But you are in luck. You can get the same look/behavior of Group with all the control you want, but you will have to put everything on your sitemap manually.

If you put { } after a Text element it will create a subpage for all the stuff inbetween the {}.

So you could do something like:

    Text label="Kitchen" icon="kitchen" {
        Frame label="Sonos" {
          Default item=Sonos_Kitchen_Controller
          Slider  item=Sonos_Kitchen_Volume
          Switch  item=Sonos_Kitchen_Mute
          Text    item=Sonos_Kitchen_CurrentTrack		
          Text    item=Sonos_Kitchen_State
          Switch  item=Sonos_Kitchen_LED
        }
        Frame label="Lights" {
          Switch  item=Kitchen_UnderLight
          Switch  item=Kitchen_MainLight
      }
    }

Note: you can add an item to the Text and have it display the state of that Item as part of the label (e.g. the lights)

4 Likes

@rlkoshak your a legend thank you so much! This works exactly how i wanted it. Even better i just needed to change my top “frame” to a “text” time and it looked like your example and worked!

Thanks so much for that,

@rlkoshak,
Is there a way to show a bunch of frames on the main screen? (right after the sitemap declaration)
Thanks

I don’t think so. You will get validation warnings if you do not put the webviews into a frame.

What about a “dropdown” control element for every frame?
So you can expand what you want to see, and collapse what is not of intererst for the moment

Not possible and I suspect challenging to implement given it would need to be implemented in ESH Core, BasicUI, ClassicUI, Android App, iPhone App and potentially cause impacts to HABmin and HABPanel.

You might be able to fake something up using an unbound Item and the visibility element.