Frage 1: Welches OS? (sollte keine Rolle spielen, aber trotzdem)
Frage 2: Wie sieht die Sitemap aus? Wie heißt die Datei?
Mein erster Tipp: Fang klein an. Die minimale Sitemap (also abgesehen von einer leeren Sitemap):
Dateiname: test.sitemap
Code: Alles auswählen
sitemap test label="Test" {
Text label="Text Widget"
}
Das Schlüsselwort sitemap steht als erstes in der Datei. Es folgt der Dateiname ohne Endung. Du kannst es Dir als "Eselsbrücke" so merken, dass die ersten beiden Worte in der Sitemap den Dateinamen ergeben, nur in umgekehrter Reihenfolge und ohne Punkt dazwischen

Danach folgt das Label, welches die Überschrift auf der Ursprungsseite bildet. Die geschwungenen Klammern fassen alles nachfolgende als Block zusammen und sind nicht optional.
Im Unterschied zu anderen Teilen der Konfiguration taucht die per Textdatei erstellte Sitemap nicht in der Main UI (unter den Pages) auf. Dennoch kann ich die Sitemap über die UI exakt so erstellen und erhalte auch exakt diese Ausgabe als Code.
Wenn Du in einer Sitemap eine Fehler hast, gibt es mehrere Möglichkeiten.
Die Sitemap kann "ganz normal" angezeigt werden, bis zu dem Punkt, an dem der Fehler seine Wirkung entfaltet. (z.B. wenn er sich auf einer Unterseite befindet).
Die Sitemap wird dargestellt, ist aber "kaputt". Dabei kann der Fehler an einer ganz anderen Stelle liegen, als die Anzeige das vermuten lässt (das macht es etwas schwierig, den Fehler einzugrenzen, weshalb man Sitemaps immer Stück für Stück aufbauen sollte.
Letzte Möglichkeit: Die Sitemap wird erst gar nicht geladen. Dann gibt es in
openhab.log einen Eintrag, dass die Datei Fehler enthält und deshalb ignoriert wird. Die Datei neu abzuspeichern wird openHAB bewegen, die neu einzulesen und die Fehlermeldung erneut auszugeben, so dass Du nicht lange danach suchen musst
Tipp am Rande: Ich kann Dir VS Code mit dem openHAB Plugin ans Herz legen, korrekt eingerichtet bietet es Code Completion und zeigt Fehler in den erstellten Textdateien an. Aber auch hier gilt: Es kann (insbesondere bei Sitemaps) vorkommen, dass der eigentliche Fehler an ganz anderer Stelle liegt und erst viel später Auswirkungen hat. Oftmals liegt das Plugin aber richtig
Das Plugin nutzt für seine Funktionen LSP (LanguageServerProtocol), das heißt, es prüft den Code nicht selbst, sondern schickt ihn an den (irgendwo im Netzwerk laufenden) openHAB Server, der die Prüfung "live" vornimmt. Das heißt, das Plugin unterstützt immer die installierte Version von openHAB mit allen Funktionen. Und die Fehlererkennung ist damit genauso gut oder schlecht wie der Processor in openHAB selbst

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet