diff --git a/lib/extension/homeassistant.ts b/lib/extension/homeassistant.ts index 3d8febd5..8937d871 100644 --- a/lib/extension/homeassistant.ts +++ b/lib/extension/homeassistant.ts @@ -2270,9 +2270,10 @@ export default class HomeAssistant extends Extension { const value_template = `{% set patterns = [\n${patterns}\n] %}\n` + - `{% set ns = namespace(r=[('event_type', value_json.action)]) %}\n` + + `{% set action_value = value_json.action|default(None) %}\n` + + `{% set ns = namespace(r=[('action', action_value)]) %}\n` + `{% for p in patterns %}\n` + - ` {% set m = value_json.action|regex_findall(p.pattern) %}\n` + + ` {% set m = action_value|regex_findall(p.pattern) %}\n` + ` {% if m[0] is undefined %}{% continue %}{% endif %}\n` + ` {% for key, value in zip(p.groups, m[0]) %}\n` + ` {% set ns.r = ns.r + [(key, value)] %}\n` + diff --git a/test/homeassistant.test.js b/test/homeassistant.test.js index 8fb2f95a..ce72125d 100644 --- a/test/homeassistant.test.js +++ b/test/homeassistant.test.js @@ -428,7 +428,7 @@ describe('HomeAssistant extension', () => { unique_id: '0x0017880104e45520_action_zigbee2mqtt', // Needs to be updated whenever one of the ACTION_*_PATTERN constants changes. value_template: - '{% set patterns = [\n{"pattern": \'^(?P