ZWave 实体 IDs
ZWave entity_ids have long been a source of frustration in Home Assistant. The first problem we faced was that depending on the order of node discovery, entity_ids could be discovered with different names on each run. To solve this we added the node id as a suffix to the entity_id. This ensured that entity_ids were generated deterministically on each run, but additional suffixes had to be added to handle edge cases where there would otherwise be a conflict. The resulting entity_ids worked, but have been difficult to work with and makes ZWave a strange exception among other Home Assistant components.
Thanks to the awesome work of @turbokongen, a growing number of ZWave 配置 options are now available from the new ZWave 面板 in the Home Assistant 前端. Among these new features is support for renaming of ZWave nodes and their underlying values. (These renames are persisted in zwcfg_*.xml) This is important, because these items are combined to form the Home Assistant 实体 name, which is used to generate the entity_id. Now that these options are available, ZWave 用户 can rename nodes and values, influencing the entity_ids that are generated by Home Assistant.
Now that 用户 are able to control these names, we will be making changes to how the entity_ids are generated for ZWave 实体. The ZWave entity_ids are going to 开关 back to using the standard entity_id generation from Home Assistant 核心, based on the 实体 names. Moving forward, if there is a conflict when generating entity_ids, a suffix will be added, and it will be the responsibility of the 用户 to rename their nodes and values to avoid the conflict. This is the same as any other platform in Home Assistant where two 设备 are discovered with the same name.
With the 发布 of 0.47, this feature will be opt-in. Setting new_entity_ids: true under zwave: in your 配置.yaml will enable the new generation. After 0.48 this feature will become opt-out. From 0.48 onward, unless you’ve declared new_entity_ids: false you will 开关 to the new entity_id generation. At an undecided point in the future, the old entity_id generation will be removed completely.
I’m sure all ZWave 用户 understand that the current entity_ids aren’t easy to use. They’re annoying to type in 配置.yaml, and break if a node needs to be re-included to the network. We know that backward-incompatible changes are painful, and so we’re doing what we can to roll this change out as smoothly as possible. The end result should be a dramatic simplification of most ZWave 配置. We hope that this change will ultimately make ZWave much easier to work with, and bring ZWave 配置 just a little closer to the rest of the Home Assistant platforms.

