I want to clean up the entityid mess of those Z-wave nodes that creates a bunch of entities. I have approx 20 fibaro dimmer 2s, and obviously I can not go through these manually, so I am working with the APIs to script generations of a new entity registry yaml file.
However, I have not yet discovered how I programatically can distinuish between the various entities of the Fibaro Dimmer 2.
Here is the output I have currently for a single node / Fibaro Dimmer 2 actuator:
I would not like to use the old / generated entityid to genererate the new, but instead rely on other properties to uniquely identify the correct name.
So far I have found the value_instance and value_id and value_index. But as you can see the combination of value_index and value_instance produces a few duplicates that I cannot distinguish. The value_id seems more like a random number.
Here you can see the logic I have so far to identify the type. As long as I have that I can generate the proper friendly_name and entityid easily!
The way I do it now (but I haven’t updated to the newest HA version yet) is:
go to the z wave page in the configuration area.
rename the node you want to rename
rename the old entity_registry.yaml file to something else (just in case something goes wrong, which it never has yet)
restart HA
This will rename the node and recreate the entity registry based on the node name you just changed as the “base” of the entity_id followed by the "extension (_heat, _level, _alarm, etc).
I note that I haven’t updated yet because it is reported that, for some reason, the devs want to do away with that functionality in the z wave config page. then you will be forced to edit the entity_registry file for each individual entity_id you want to change. And in the case of the fibaro it looks like that’s a lot!
I think it went away in version 0.76. I’m still on V0.75 and it is still there.
I had a discussion with another member ere on another thread complaining about the devs removing this functionality for exactly the reason that you are seeing.
It’s fairly inconvenient to have to go thru over 20 devices that each spawn many (up to 13 in your case) sub-entities and have to name each of those individually.
Especially since the functionality already existed and they took the effort to remove it. It makes no sense to me why they would do it.
It shouldn’t be up to users to have to come up with a work around for functionality that already existed but was removed.