Oh no! I must apologize, I wrote this and it wasn’t the point I was trying to make:
The point is simply the UI then creates the automation or script using device IDs.
And if we, one of the support communities, can do anything to influence the devs to not use them when not 100% needed when generating the automation.
(My post above was also asking if there were common cases where device IDs had to be used and if the devs were aware of the concerns in this thread.)
You all know this. Abstraction is good:
Using fake code here, this is fine:
trigger: light.turn_on
target:
area: Living Room
But this isn’t:
trigger: light.turn_on
target:
area_id: 8db213f403c1d561435b62ac5badb031
Likewise, for the reasons we all know, this seems pointless, and can lead to trouble for unwary new users:
trigger: device
type: turned_on
device_id: 8db213f403c1d561435b62ac5badb031
entity_id: a739f8198dc99f1cc6e868e1a0802861
domain: light
It is simply about not having the UI build the automation in a way we know can cause trouble later for users.
I don’t really care if there’s “Device” in the UI as long as it uses the existing abstractions to build the automation.
The new “Purpose build” UI layout is much better, too. Device? Entity? that are those? I just want to turn on the living room light, or the lights in the kitchen. (I know the look I would get if I asked my wife to please turn on that “device” over there…)
On a side note: I’d be very curious how often you all use the UI verses using YAML. Personally, I use the UI for very basic automations. I use YAML most of the time because my automations get too complex for the UI to show it in a concise way. I assume that happens to a lot of people. TBH, I wish I there was a setting to default to YAML.