Seite 1 von 1
device_id vs. entity_id
Verfasst: Mi 1. Mär 2023, 17:11
von Figuhr
Gibt es einen Unterschied zwischen der Nutzung von
device_id und entity_id?
In mit der UI erstellt Automatisierungen werden oft beide gleichzeitig benutzt, um ein Gerät zu bezeichnen. Aber Wofür?
Code: Alles auswählen
- condition: device
type: is_off
device_id: 81b820dce4df1c66bfb75df8f97ea43f
entity_id: light.licht_schlafzimmer
domain: light
Die device_id ist ein Graus!
Und wofür brauche ich domain?
Re: device_id vs. entity_id
Verfasst: Mi 1. Mär 2023, 22:49
von Osorkon
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
Re: device_id vs. entity_id
Verfasst: Do 2. Mär 2023, 08:29
von Figuhr
Also könnte ich die device_id in sämtlichen über die GUI erstellten Automatisierungen konsequent wieder entfernen?
Re: device_id vs. entity_id
Verfasst: Do 2. Mär 2023, 19:20
von Osorkon
Nein, kannst Du nicht!!
Du musst die Automatisierungen ohne Verwendung von device_id erstellen.
Also als Auslöser, Bedingung und Aktion nicht Geräte verwenden.
Gruß
Osorkon