Ja, das ist die Kehrseite der UI Konfiguration...
In einer Textdatei änderst Du einfach den Namen ab, das ist zwar streng genommen keine Änderung, sondern das Löschen des alten Items und das Neuanlegen als neues Item, aber Du musst eben nur die ID ändern, die gesamte Konfiguration bleibt einfach bestehen.
Das geht aber auch mit UI-Items, nur eben nicht über die UI.
Einzelne Schritte:
- openHAB stoppen. Das ist eine Operation am offenen Herzen!
- ins Verzeichnis $OPENHAB_USERDATA/jsondb/ wechseln (z.B. auf dem Pi mit openHABian /var/lib/openhab/jsondb/)
- Es gibt hier drei relevante Dateien, org.openhab.core.items.Item.json, org.openhab.core.items.Metadata.json und org.openhab.core.thing.link.ItemChannelLink.json.
- Jede dieser Dateien solltest Du am besten sichern (z.B. per cp org.openhab.core.items.Item.json org.openhab.core.items.Item.json.bak)
- Du öffnest hintereinander die drei Dateien und änderst jedes Vorkommen der ID passend ab. Du achtest peinlich genau darauf, keine weiteren Änderungen an der Datei (insbesondere der Struktur) vorzunehmen, insbesondere entfernst Du keine Anführungszeichen oder fügst welche hinzu

- Du wechselst ins Verzeichnis $OPENHAB_USERDATA/persistence/rrd4j/ und änderst dort die Dateinamen nach dem gleichen Schema ab. Default gibt es für jedes Item eine Datei mit der Endung .rrd.
- Du startest openhAB und prüfst, ob die Itemnamen geändert wurden.
Natürlich musst Du noch weitere Stellen anpassen, das sind sämtliche Sitemaps und Pages, Charts, *.persist Dateien, halt alles, wo Du die Items verwendet hast, deren Namen Du ändern möchtest. Da sind ide beidne Konfigurationsvarianten aber identisch

schon die Änderung der *.rrd Dateinamen ist ein Schritt, der auch über die Textdateien händisch zu vollziehen ist.
Die Fülle der Möglichkeiten, wo die IDs auftauchen ist natürlich der Grund, warum openHAB hier nichts vorsieht - Das Risiko, an eine Stelle nicht zu denken ist einfach zu hoch, und das Geschrei der Anwender wäre unabwendbar...
So kann das Entwicklerteam sagen: "Pech, leg es neu an!" oder halt: "Mach es zu Fuß, auf eigene Verantwortung!"
Der eigentliche Aufwand hält sich aber in Grenzen, man muss nur an alle Stellen denken, wo das Item verwendet wird

Und man muss aufpassen, innerhalb der json Datei keinen Unsinn anzustellen, das sollte klar sein...
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte