Zunächst einmal zu den Begrifflichkeiten:
Das
Topic ist in diesem Fall (anhand Deiner Screenshots)
zigbee2mqtt/Fensterkontakt-Kinderzimmer.
Die
Payload dieses Topics enthält ein JSON Objekt, welches unter anderen auch das Feld
contact enthält.
Über die
incomming Value Transformation kannst Du per
JSONPATH Transformation Service den Wert in diesem Feld extrahieren:
JSONPATH:S.contact
Nun erhältst Du die
Status true und
false.
Damit Du in openHAB mit den korrekten Status weiter arbeiten kannst, musst Du unbedingt einen
Contact Channel verwenden, kein String.
Der Channeltyp Contact bietet dann in der Konfiguration zwei Parameter,
custom On/Open Value und
custom Off/Closed value. In diesem beiden Feldern trägst Du passend
true und
false ein.
Die
Payload kommt also über das
Topic rein, wird von der
incomming value transformation auf die
Status true/
false reduziert und diese Status werden schlussendlich über die
custom values in
OPEN bzw.
CLOSED umgesetzt.
Nun koppelst Du ein
Contact Item mit diesem Channel.
Damit Du nicht
OPEN/
CLOSED angezeigt bekommst, wechselst Du im Item in die Metadaten und fügst dort eine
state Description hinzu.
Wenn ich es richtig im Kopf habe, reicht es, im Feld
options zwei Zeilen einzufügen:
Natürlich kannst Du auch statt "offen" "geöffnet" schreiben, das ist komplett Dir überlassen.
In Rules nutzt Du hingegen
OPEN/
CLOSED als Werte, denn ein Contact Item kennt nur diese beiden Zustände. Verknüpfst Du ein
window Icon mit dem Contact Item, dann wird das Icon dynamisch entweder ein geöffnetes oder eine geschlossenes Fenster anzeigen. Schon aus diesem Grund verbietet es sich, hier mit Strings zu arbeiten (etwas anders ist es, wenn das Fenster zusätzliche Kontakte für den Zustand gekippt hat, dann
muss es ein String Item sein, welches aber als Werte
OPEN/
CLOSED/
AJAR liefern muss, das geht meist nur über Umwege.