Mal abgesehen von der Tatsache, dass die device_id sehr kryptisch ist? 
Die Device ID wurden eingeführt mit der Möglichkeit Automatisierung direkt in der GUI zu erstellen. Diese finden Verwendung in dem Du direkt aus der Geräte Sicht eine Automatisierung erstellen möchtest. Und stehen konsequenter Weise auch zur verfügung, wenn Du eine neue Automatisierung erstellen tust.
Ich persönlich nutze die device_id überhaupt nicht. Da wie schon erwähnt diese absolut kryptisch sind. Dass zu jeder device_id auch die jeweilige Entität aufgeführt wird, kam erst später dazu.
Wohl aus dem Grund, da die device_id absolut nichts sagend ist.
Die Verwendung von services/platform und Entitäten, haben aus meiner Sicht nur Vorteile:
- Automatisierungen lassen sich einfacher Teilen, nur die jeweiligen Entitäten müssen ausgetauscht werden.
- Ich kann defekte Geräte einfach austauschen, muss nur dafür sorgen das ich die Entitäten genau so umbenene wie die alten.
- Die Verwendung von Templates ist nur mit Entitäten möglich, nicht mit devise_id
- Automatisierungen lassen sich einfacher direkt in yaml erstellen, bearbeiten, anpassen.
- Der yaml code lässt sich einfacher lesen, zumindest für mein empfinden.
Dagegen lassen sich vielleicht für Anfänger über die Verwendung der device_id schneller Automatisierungen erstellen, da man sich nur durchklicken muss.
Am Bsp. Auslöser
Code: Alles auswählen
trigger:
- type: motion
platform: device
device_id: 468aeaf992c1259c6b30ca3849ba7d30
entity_id: binary_sensor.motion_keller
domain: binary_sensor
Code: Alles auswählen
trigger:
- platform: state
entity_id:
- binary_sensor.motion_keller
from: "off"
to: "on"
Oder Bsp. Aktion
Code: Alles auswählen
action:
- type: turn_on
device_id: 9d76a5e73e6711c034aa8764ba166b9d
entity_id: light.esszimmertisch
domain: light
Code: Alles auswählen
action:
- service: light.turn_on
data: {}
target:
entity_id: light.esszimmertisch
Gruß
Osorkon