In der Sitemap gibt es zwei grundverschiedene Mappings.
Das eine Mapping dient dazu, Wertepaare zu definieren, also z.B. um statt eines Schiebeschalters bei einem Switch Widget eine (oder mehrere) Schaltfläche(n) anzuzeigen, die dann entsprechend beschriftet ist/sind.
das andere Mapping läuft über die MAP Transformation und dient dazu, den Status des Items in anderer Form darzustellen.
Nehmen wir an, Du hast ein Switch Item, welches mit einem Channel eines Addons verlinkt ist, und dieser Channel repräsentiert einen Schaltkanal.
Im Beispiel soll das Item MySwitch heißen.
Im Channel ist das Label mit "Lampe" definiert.
Deshalb übernimmt das Item MySwitch automatisch dieses Label, zusätzlich wird noch der Status mit ausgegeben.
Man kann nun das Label des Items umdefinieren. z.B. könnte das Label auf "Lampe [MAP(de.map):%s]" gesetzt werden.
Dazu braucht es dann zum einen die MAP Transformation, die muss natürlich installiert sein, zum anderen die konkrete Datei de.map, mit dem Inhalt
In der Datei können noch weitere sinnvolle Wertepaare angegeben werden, z.B.
Die Datei muss im Ordner ./transform/ gespeichert sein.
Nun kannst Du das Item in einer Sitemap einfach einbinden:
und es wird mit Ein/Aus statt ON/OFF als Schaltzustand dargestellt. Dieselbe MAP-Datei kannst Du dann auch für ein Contact Item verwenden, wenn Du die Wertepaare in weiteren Zeilen einträgst.
Das Label kann auch in der Sitemap gesetzt werden und auch dort können die Transformation Services verwendet werden. Das Label in der Item Definition ist dann lediglich das Default Label. Dies ist z.B. sinnvoll, wenn man in einer Sitemap das selbe Item mehrfach verwendet, aber unterschiedliche Label braucht. Ich habe z.B. Unterseiten für jeden Raum, aber auch eine Übersicht mit allen Leuchten und eine mit allen Rollläden.
Während ich nun in der Übersicht eine eindeutige Zuordnung zum Raum im Label abbilden muss, ist dies in der Raumübersicht nur unnötiger Ballast.