Yes, I was pretty much in the same scenario as you. I also have a lot of Z-wave and Zigbee devices, automations and scripts.
I first used the below template editor codeblock to return all zigbee/z-wave devices’ friendly names, original names, and device ids. before pair all my devices with my new ZBT-2 and ZWA-2, for reference.
Then, I started pairing each device. Every time I paired a device, I changed their friendly names back to what I had before.
I originally was going to search and replace my scripts.yaml and automations.yaml text file’s old device ids with the new device ids… but then decided to just use the Home Assistant Automations/Scripts GUI to pick the device/sensor… and, let Home Assistant make the changes to automations.yaml and scripts.yaml… to avoid me making mistakes.
{## retrieve all my zigbee devices ##}
{% set zigbee = namespace(devices=[], seen=[]) %}
{% for entity in integration_entities('zha') %}
{% set dev = device_id(entity) %}
{% if dev and dev not in zigbee.seen %}
{% set zigbee.seen = zigbee.seen + [dev] %}
{% set friendly = device_attr(dev, 'name_by_user') or device_attr(dev, 'name') %}
{% set original = device_attr(dev, 'name') %}
{% set zigbee.devices = zigbee.devices + [friendly ~ '||' ~ original ~ '||' ~ dev] %}
{% endif %}
{% endfor %}
{## retrieve all my z-wave devices ##}
{% set zwave = namespace(devices=[], seen=[]) %}
{% for entity in integration_entities('zwave_js') %}
{% set dev = device_id(entity) %}
{% if dev and dev not in zwave.seen %}
{% set zwave.seen = zwave.seen + [dev] %}
{% set friendly = device_attr(dev, 'name_by_user') or device_attr(dev, 'name') %}
{% set original = device_attr(dev, 'name') %}
{% set zwave.devices = zwave.devices + [friendly ~ '||' ~ original ~ '||' ~ dev] %}
{% endif %}
{% endfor %}
=== Zigbee Devices ({{ zigbee.devices | count }}) ===
{% for entry in zigbee.devices | sort -%}
{% set friendly, original, id = entry.split('||') %}
Friendly Name: {{ friendly }}
Original Name: {{ original }}
Device ID : {{ id }}
{% endfor %}
=== Z-Wave Devices ({{ zwave.devices | count }}) ===
{% for entry in zwave.devices | sort -%}
{% set friendly, original, id = entry.split('||') %}
Friendly Name: {{ friendly }}
Original Name: {{ original }}
Device ID : {{ id }}
{% endfor %}
Example output:
=== Zigbee Devices (54) ===
Friendly Name: Closet Light
Original Name: The Home Depot Ecosmart-ZBT-A19-CCT-Bulb
Device ID : 01b1e75aca404892ba9cd218eca4cea2
Friendly Name: Master Bathroom Motion Sensor
Original Name: CentraLite Motion Sensor-A
Device ID : 1c8585c94fa34a1697779fc52c953824
Friendly Name: Master Bathroom Presence Sensor
Original Name: Aqara Presence Sensor FP1E
Device ID : 4b6c4b21bc02e400a333e112af1bdbaa
.
.
.
=== Z-Wave Devices (38) ===
Friendly Name: Back Yard Door Sensor
Original Name: Z-Wave Door/Window Sensor
Device ID : e8536c11ec886f08907b0c6c4f0139a9
Friendly Name: Home Assistant Connect ZWA-2
Original Name: Home Assistant Connect ZWA-2
Device ID : 8470752585372f8a79f8239242ca349e
Friendly Name: HTPC Power
Original Name: Smart Switch 6
Device ID : 65d5ae3a08a9f7abe2a317aa6477da32
.
.
.
Bottom line, I know its a hassle… but I think it was the best hardware improvement I could have made to Home Assistant beside upgrading my Windows 11 PC hardware.
Both devices look pretty cool 
The only issues I noticed first are:
-
ZBT-2 device doesn’t have its light turned on while it is in use (to match the ZWA-2).
-
ZBT-2 device adds the below integration, but there isn’t an equivalent one for ZWA-2 yet.