Separation of logical and physical devices

I tend to move some physical devices around - for example, every Xmas the lights get plugged into different smart plugs. Also for example, sometimes the front string lights are wifi ones, and other times they’re dumb ones on a smart switch (ie logical light but physical switch). It would be very helpful if I could separate logical devices from physical ones. Then I could say logical device ‘logical.xmas_tree’ is mapped to ‘switch.tuya_123’. Changes to one would automatically impact the other. (It’s not just a Xmas issue, but it’s an easy example).

I also imagine a simple UI for managing logical devices without a restart. And while I’m at it, ideally I would like to tell Google Home that “xmas tree switch” is now connected to “tuya 123” through scripting/ifttt.

At the moment I have a half-arsed solution involving mqtt switches/lights for some plus logical names in node red for others, but it’s cumbersome.

While, it is not done in the UI, you can already use template devices for lights, switches, fans, locks, etc.

That is a better option than my current solutions, but still overly verbose. Paired with an input_text to do the mapping, it does not require a restart at least. But I think separation of logical and physical devices is still a good idea.