HA Keeps Creating Ridiculous New Entities

I added a majority of my devices when I built my HA system back in 2020-2021, and was very rigid in renaming my entities for each device using a system that made things consistent within the system, and in disabling those few that I’d never use. There was order.

Since that time, I’ve added few new devices beyond the hundred or so I have. Over time, however, and I don’t know what instigates it, perhaps zwave-js updates, but I find NEW entities that I never had before, and some of my old ones show up as “undefined” or “not provided by zwave-js” any longer (some were being used in automations or templates, so they just broke).

I’ve periodically gone through and disabled ones I found and/or deleted those rogue entities, but it seems to be getting worse. I just updated from 2024.12 to 2025.4.1 (waited for the backups to get sorted) and found a few rather ridiculous entities in the drop down list while exploring the History page. It full of unrecognizable garbage entities that I’ve not seen before and which didn’t exist when I added the devices.

For example, I found this entity for one of my Ecolink DOOR sensors:

button.ecolink_door_binary_sensor_garage_idle_water_alarm_water_temperature_alarm_status

WTAF is THAT? Can anyone please explain to me where these come from and why they are being created, and by whom (HA or zwave-js)? Why would a door sensor device EVER present itself as having an “idle water alarm water temperature alarm status” sensor? My entities lists is getting overwhelmed with crap like this and I’d love to know how to get it under control. It makes using these fancy new graph features, like History, hard to use if you have hundreds of entities, even with filters.

If anyone has experienced this and has a solution, please, PLEASE let me know what you did.

1 Like

Zwave is built on things called command classes, there’s a metric fuck ton of them in the Zwave Standard. Zwave JS is slowly rolling out and accounting for each one. On top of that, other users are adding features that they need or want to individual devices through Zwave JS. This typically results in new entities.

If you want your entity list pruned, you can make use out of the new entity lists. I typically go through zwave entities once a year and disable things I don’t need. It’s just a few clicks. Whatever you do, go from the entity lists, don’t go from the device page. The entity lists supports multi select & disable, where the device page is single entity 800 clicks per entity.

1 Like

I think, this comes from a different corner. Actually I also have this issue from time to time. And I found out, that when this happens, a re-interview of the device cleans the s…t out.
I’ve just learned to live with it and do some cleanup once in two months.
I don’t have the time to cooperate on finding the root of the issue, I have a lot more priority issues with my HA installs, this is for me a minor one :smiley:

1 Like

In the past year, all these extra entities have came from accidental bugs (that have since been fixed), new adaptions of command classes, or someone adding functionality to an existing device via zwave_js device-config.

1 Like

Thanks, my friends. Agreed, it’s not a critical issue, just a major annoyance to me after working so hard to keep things organized. I will resign myself to regular “cleaning” to keep them under control.

I was just hoping that there was an upstream solution so they weren’t created in the first place. If I understand things correctly, it is HA who actually CREATES the entities, not zwave-js, at least that’s what I got from talking to the zwave-js folks about this long ago. So that would mean somewhere in HA there’s some logic that created an “idle water alarm water temperature alarm status” sensor for a door sensor device. Seems odd to me.

Cheers.

Yes, the code needs to exist in both places typically. But that’s only when command classes are accounted for. If someone creates a new device config, it’s like a blueprint that tells HA to create entities. So the change would only be in zwave js but the integration in HA would create new entities.

1 Like

So when you have devices that do not use S2 security, there can be limited check summing in the zwave messages and if a message gets corrupted the right way (in that it passes the integrity check), you can get new entities created.

This link details it.

3 Likes