When I first installed my eWeLink temperature sensor for my water tank it came up as WATER (as I had named it in the eWeLink app), but a day later it’s now just saying undefined-Temperature - it clearly picked up the name data W-a-t-e-r (and I’ve only got one eWeLink device so something work at install of the eWeLink HACS plugin.
Are you actually getting the “This entity does not have a unique ID” message?
You normally get that when you try to manage an entity in the GUI - it’s not an error, it just means that the entity is not accessible that way. Your problem may be something else.
Some integrations do not add a unique ID either.
It is up to the developer of the integration to make that decision, al though the device or cloud API can also prevent it.