New script blueprint to calculate user name from user ID
This commit is contained in:
parent
d6110e77b6
commit
29226c41ab
@ -0,0 +1,45 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Convert User ID to User Name
|
||||||
|
description: >-
|
||||||
|
A script that determines the user name for a provided user ID.
|
||||||
|
domain: script
|
||||||
|
source_url: https://github.com/nwithan8/configs/blob/master/home_assistant/blueprints/scripts/convert_user_id_to_user_name.yaml
|
||||||
|
input:
|
||||||
|
store_in:
|
||||||
|
description: The text input entity to store the result in
|
||||||
|
name: Where to store result
|
||||||
|
selector:
|
||||||
|
target:
|
||||||
|
entity:
|
||||||
|
domain: input_text
|
||||||
|
fields:
|
||||||
|
user_id:
|
||||||
|
description: The ID of the user
|
||||||
|
example: abcdef123456
|
||||||
|
name: User ID
|
||||||
|
required: true
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
variables:
|
||||||
|
store_in: !input 'store_in'
|
||||||
|
user_name: >
|
||||||
|
{% set user = None %}
|
||||||
|
|
||||||
|
{% set matching_users = (states.person |
|
||||||
|
selectattr('attributes.user_id','==', user_id) | list) %}
|
||||||
|
|
||||||
|
{% if matching_users | length > 0 %}
|
||||||
|
{% set user = matching_users | first %}
|
||||||
|
{% else %}
|
||||||
|
{% set user = "system" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ "System" if user == "system" else state_attr(user.entity_id,
|
||||||
|
"friendly_name") }}
|
||||||
|
sequence:
|
||||||
|
- alias: Store calculated user name in text entity
|
||||||
|
service: input_text.set_value
|
||||||
|
data:
|
||||||
|
value: "{{ user_name }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ store_in.entity_id }}"
|
Loading…
x
Reference in New Issue
Block a user