I have several max radiator thermostates which show the valve state.
The channel, which is importet via homematic binding is defined as number:dimensionless
The item, linked to the channel is also defined as number:dimensionless and showing the correct value.
Unfortunately you did not show your item definition in detail.
Maybe setting the items format in metadata “state” to “0.1f %%” would help. Have you tried?
That should be interpreted to mean that you must set the unit to what ever is being saved to your DB already in 3.4. If you just leave it unset you end up with the default which may or may not match the units of the values stored in the DB already. Similarly if you change the unit to something different the same will occur.
Only the raw number carried by the Item’s state is saved to the DB, nothing about units.
Theoretically, for managed Items (i.e. those not defined in .items files), if there was a State Description Pattern that included units, a unit metadata entry should have been created automatically by the upgrade tool during the upgrade to OH 4. However, I’ve seen a number of indications reported on the forum that it doesn’t always work for %. I don’t have enough evidence to file an issue though. Just a suspicion.