Frames must not contain other frames

Did I miss something, but suddenly I see following message in the logs when saving my sitemap.
And yes, I use frames inside other frames. Is there a better way?

2017-08-11 00:46:15.335 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model ‘main.sitemap’, using it anyway:
Frames must not contain other frames

I use Text within Frame:

sitemap test label="test" {
	Frame {
		Switch item=some_item_1
		Text label="Master Lights Control" icon="light" {
			Switch item=some_item_2
		}
	}
}

anyway, it’s only an INFO log level :stuck_out_tongue:

Yep, Text would be a option, but then all items in this Text block are on a different page…

…but if you nest Frame (which produces that info log)… you don’t have the same? (items within the nested Frame show up in a different sub-page?)

That’s not the behavior that I see. Nested frames are shown as different blocks. When I change this into Text, I need to click an extra time.

nested frame

text in frame

1 Like

Designer had complained about this since at least OH 1.7. Frames within Frames has never really been supported. I suspect some of the phone apps have a problem rendering them.

It is just now that all the syntax warnings and errors are now being more strictly checked and enforced by OH.

In short, they have always been unsupported. You are now just seeing the warning in the log.

It is just a warning so you can continue to use them but realize at some point they may stop working.

It looks like you could just remove the outer frame. Should look the same, if I am not missing something.

EDIT: Ah wait, I see. you have something like

Frame {
  Text item=temperature {
    Frame {
      ...
}}}

Theoretically, this should be okay and render nicely, as they are the only frames on that page. (The Page from the Text Item Content)