Das ist total einfach. Ein Text Widget mit anschließendem {} erzeugt eine "Unterseite" mit dem Inhalt der {}. ein Frame Widget mit anschließenden {} erzeugt einen Frame mit dem Inhalt der {}. z.B.:
Code: Alles auswählen
sitemap demo label="root" {
Frame label="root, 1. Frame" {
Text label="root, 1.Frame, 1. Widget, no link"
Text label="root, 1.Frame, 2. Widget, link" {
Frame label="1. sub page, 1.Frame" {
Text label="1. sub page, 1. Frame, 1. Widget, no link"
Text label="1. sub page, 1. Frame, 2. Widget, link" {
Switch item=myNumber mappings=[1="1",2="two",3="3",4="four"]
}
}
}
}
Frame label="root, 2. Frame" {
Text label="root, 2.Frame, 1. Widget, no link"
Text label="root, 2.Frame, 2. Widget, link" {
Frame label="2. sub page, 1.Frame" {
Text label="2. sub page, 1. Frame, 1. Widget, no link"
Text label="2. sub page, 1. Frame, 2. Widget, link" {
Selection item=myNumber mappings=[1="1",2="two",3="3",4="four"]
}
}
}
}
}
Ergibt eine Hauptseite mit zwei Frames. In jedem Frame ist jeweils ein Text Widget ohne und ein Text Widget mit Link auf eine Unterseite. Die beiden Unterseiten enthalten jeweils einen Frame mit jeweils einem Text Widget ohne Link und einem Text Widget mit Link auf eine Unterseite. Diese beiden Unterseiten enthalten jeweils ein einzelnes Widget ohne Frame, im einen Fall ein Switch Widget mit mappings, im anderen Fall ein Selection Widget. Diese beiden Widgets steuern dasselbe Item(!)
Du kannst die Demo Sitemap parallel zu schon vorhandenen Sitemaps anlegen (wichtig: exakt unter dem Namen demo.sitemap). Unter der Voraussetzung, dass Du ein Number Item mit dem Namen myNumber definiert hast, kannst Du Dir die Sitemap anschließend mit
http://ip.des.openhab.rechners:8080/bas ... temap=demo anschauen. Wenn Du eine Seite oder eine Unterseite definierst, dürfen innerhalb einer Ebene dieser Seite nur entweder kein Frame oder ausschließlich Frames definiert sein. Also das hier:
Code: Alles auswählen
sitemap demo label="root" {
Text label="root, no Frame, 1. Widget, no link"
Frame label="root, 1. Frame" {
Text label="root, 1.Frame, 1. Widget, no link"
Text label="root, 1.Frame, 2. Widget, link" {
Frame label="1. sub page, 1.Frame" {
Text label="1. sub page, 1. Frame, 1. Widget, no link"
Text label="1. sub page, 1. Frame, 2. Widget, link" {
Switch item=myNumber mappings=[1="1",2="two",3="3",4="four"]
}
}
}
}
}
ist nicht erlaubt, da das 1. Text Widget und der 1. Frame auf der gleichen Ebene sind.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet