my logs show following warning, and what ever I insert in my map files OH4 ignores it.
==> /var/log/openhab/openhab.log <==
2023-12-31 19:14:01.785 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state 'CAPRICORN' on item 'Astro_Sternzeichen' with pattern 'MAP(zodiac.map):%s': Couldn't transform value because transformation service of type 'MAP' is not available.
2023-12-31 19:14:01.830 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state 'NIGHT' on item 'Astro_Sonnenphase_Name' with pattern 'MAP(astro.map):%s': Couldn't transform value because transformation service of type 'MAP' is not available.
2023-12-31 19:14:01.860 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state 'WINTER' on item 'Astro_Jahreszeit_Name' with pattern 'MAP(season.map):%s': Couldn't transform value because transformation service of type 'MAP' is not available.
2023-12-31 19:14:01.929 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state 'SPRING' on item 'Astro_Jahreszeit_Next' with pattern 'MAP(season.map):%s': Couldn't transform value because transformation service of type 'MAP' is not available.
2023-12-31 19:14:01.995 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state 'WANING_GIBBOUS' on item 'Astro_Mondphase_Name' with pattern 'MAP(astro.map):%s': Couldn't transform value because transformation service of type 'MAP' is not available.
Someone should have told me that the menu is at the bottom. There is also the search, which I don’t need anymore, because I also find add-ons apart from “bindings” here… oh man…
There are at least three (four) different options to use a transformation:
Channel. This will affect the data which is transferred towards Item or Device (depends on where the transformation takes place). Channel type has to match the incoming transformation, i.e. if transforming a number to a string, the channel has to be of type string.
Link (or profile). This will affect the data transferred towards Item or Channel (at least for scripts there is in and out). Item type has to match the incoming transformation, Channel type has to match the outgoing transformation.
Display state. This will only affect the displayed data, but not the state of an Item. Setup the state description pattern for Main UI and Basic UI, or simply manipulate the label for sitemap only.
within rules. this will only affect the target of a transformation in the rule, obviously.
Type string : myChannel "My channel" [ transformationPattern"MAP:mymapping.map" ]
^ ^ ^ ^ 1 transform inbound data ^ ^ ^ ^
String myItem "My Label [MAP(mymapping.map)]:%s" {channel="..."[profile="transform:MAP", function="mymapping.map"], stateDescription=""[pattern="MAP(mymapping.map):%s"]}
^ ^ 3b sitemap only ^ ^ ^ ^ ^ ^ 2 transform inbound data via map ^ ^ ^ ^ | ^ ^ ^ 3a display transformation for Main UI ^ ^ ^
Please do not set 3a and 3b at the same time, this may lead to unwanted effects.
Aaaand the Map transformation is case sensitive so Capricorn is not the same as CAPRICORN.
Missed that detail, sorry…
Not 100% sure about state Description pattern, will have to check this detail later…