How to find out, which item generates a warning

running OH4.1.3 on openHABian.

I get the following WARNing:

2024-07-11 10:12:02.061 [WARN ] [t.generic.ChannelStateTransformation] - Executing the MAP-transformation failed: Target value not found in map for 'created'

There’s no indication in the events.log, which item got the value, which couldn’t be found in a MAP. How can I find out, which item threw the WARNing?

You could go in parameters → items and search what item(s) have the value “created”.
Or search for “created” in file events.log.

1 Like

@Lolodomo’s approach is the best if the Item actually was updated to “created” but since this is comming from “t.generic.ChannelStateTransformation” which looks a whole lot like a Generic MQTT Thing.

Do you have a lot of MQTT Things that have a Map transformation on the state transformation? You can search for “map” using the developer sidebar and all the Things that you have that use that transformation should come up.

What I don’t know though is if the on state and off state properties would show up with this sort of warning. I kind of doubt it but it’s something to look into if you come up empty.

Something that might work to narrow it down even farther is to add a default entry to all your Map transformations to set the Item to the name of the map file when it sees a value it doesn’t know how to map. Then you can check your Items and see which one became the name of the map file and trace it back to the Channel.

1 Like

it was a generic MQTT-Thing, but I have loads of items coming from MQTT…
Then the item’s state was already “created”, the MQTT-payload just “confirmed” the current state, which made it even harder, because there’s no entry in events.log, if there is no state change.

But, what helped was to “wait” in MQTT Explorer until a “created” payload came and then I remembered I set up “monitoring” of my docker containers via portainer-API. And one container was stuck in “created” and not “running” or “stopped”… :wink:

Thanks for your help!

You can add update events to events.log by changing the log level for <Logger level="ERROR" name="openhab.event.ItemStateUpdatedEvent"/> to INFO.

You can also see the updated events in the developer sidebar event stream tab. If you have just a few candidate Items you can use a filter to narrow the events down to just those Items. For example to just see events on Item Foo you can set a filter to openhab/items/Foo. openhab/items/* will show all Item events but not show Thing events, rule events, etc.

Unfortunately I know of no way to filter based on event type, just topic in the Developer Sidebar. So you can’t just filter down to ItemStateUpdatedEvents.