Rrd4j error randomly coming up

I get this every minute:

2022-04-17 21:48:01.547 [WARN ] [d4j.internal.RRD4jPersistenceService] - Failed to convert state '18 °C' to unit '%'. Please check your item definition for correctness.

how do I find out, which item this is referencing? there’s no item with “18 °C”, which would be in “%” in the logs anywhere near…? even with log:set DEBUG org.openhab.persistence.rrd4j

Anyone any tipps how to track it down?

I think this WARN originates from the store function in rrd4jPersistenceService. Somehow the “°C” was not parsed as the unit (as far as I understood).
You should be able to correlate this mesage with an item (unless you have more then one with that temperature). Since rrd4j does persist in timesteps you will not see messages for state changes around most of them. Look for a message with a different value, before that one a state change (with the item name) should be there.

1 Like

You have an item where either the metadata pattern or the pattern in the .items line does not match the data type.
I had the same but it was very hard to track down. Basically I turned up every debug log and spent hours reading them until I spotted some line that finally gave a hint about which item it was.

2 Likes

Strange things happen! :wink:

  1. I use MariaDB as standard persistence (rrd4j just came ootb with openHAB I guess)
  2. I didn’t use persistence strategies

buuuut

  1. today I was fed up with my graphs, because they only show dots, if there are changes, and standard JDBC strategy is apparently “onChange”-only. So, if some state stays on the same value for longer than a time period in the graph it’s not shown…
    So I added a jdbc.strategies to my /etc/openhab/persistence with onEveryHour and after that, the rrd4j-error was gone?

PS: I only have to items, which have ‘18 °C’ als a value, one in use (and one forgotten one), but both have Number:Temperature as type - and already have 18 °C as value.

but hey, the error is gone! :partying_face:
i’ll close here now…