Skip to content

Get the user that changed an entity

With a static entity id (to be used in a template sensor)

{% set changed_by_id = states.switch.w01.context.user_id %}
{% set changed_by = (states.person | selectattr('attributes.user_id','==', changed_by_id))| list | first or "system" %}
Changed by: {{ "System" if changed_by == "system" else state_attr(changed_by.entity_id, "friendly_name") }}

With using the entity that triggered an automation

{% set changed_by_id = trigger.to_state.context.user_id %}
{% set changed_by = (states.person | selectattr('attributes.user_id','==', changed_by_id))| list | first or "system" %}
Changed by: {{ "System" if changed_by == "system" else state_attr(changed_by.entity_id, "friendly_name") }}