I have an automation triggered by an NFC tag. Looking at the trace, I saw the numeric user id. I'd like to get the username instead.
So far I have this:
variables:
user_id: "{{ trigger.event.context.user_id }}"
triggered_by: >-
{{ ((states.person | selectattr('attributes.user_id','==', user_id)) | list)
| first }}
name: "{{ triggered_by.id }}"
which gives me
user_id: 6505d8036ad4fd21abadb63fdde7f25d
triggered_by: >-
<template TemplateState(<state person.tim=unknown; editable=True, id=tim,
device_trackers=['device_tracker.sm_g970u1'],
user_id=6505d8036ad4fd21abadb63fdde7f25d,
entity_picture=/api/image/serve/235934d9f76d905aa67804cfe33388de/512x512,
friendly_name=Tim @ 2024-10-18T14:09:11.337636-04:00>)>
name: null
I'm trying to select the id so that I have the value tim. I thought I should be able to do something like triggered_by.id, or triggered_by.state.id, or state_attr(triggered_by, 'id'), or ... something along those lines. But everything I've tried results in a null value or an error on that step.