fix(doorman): HA Jinja has no split filter — method-call parsing [#345]
Live webhook test caught it: TemplateRuntimeError 'No filter named
split'. enabled_ids/holder rebuilt with row.split('|') method calls
in a namespace loop.
https://projects.knownelement.com/issues/345
This commit is contained in:
+10
-5
@@ -100,13 +100,18 @@ automation:
|
||||
known_ids: >-
|
||||
{{ all_csv.split(',') | map('trim') | select('match', '^\d+$') | list }}
|
||||
enabled_ids: >-
|
||||
{{ enabled_csv.split(',') | map('trim')
|
||||
| select('match', '^\d+\|') | map('split', '|') | map('first')
|
||||
| list }}
|
||||
{% set ns = namespace(ids=[]) %}
|
||||
{% for row in enabled_csv.split(',') %}
|
||||
{% set parts = row.split('|') %}
|
||||
{% if parts | length == 2 %}
|
||||
{% set ns.ids = ns.ids + [parts[0] | trim] %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{{ ns.ids }}
|
||||
holder: >-
|
||||
{% set hit = enabled_csv.split(',') | map('trim')
|
||||
{% set hits = enabled_csv.split(',') | map('trim')
|
||||
| select('search', '^' ~ badge_id ~ '\|') | list %}
|
||||
{{ (hit[0].split('|')[1] if hit else 'UNKNOWN') }}
|
||||
{{ hits[0].split('|')[1] | trim if hits else 'UNKNOWN' }}
|
||||
is_known: "{{ badge_id in known_ids }}"
|
||||
is_enabled: "{{ badge_id in enabled_ids }}"
|
||||
- action: input_text.set_value
|
||||
|
||||
Reference in New Issue
Block a user