Support templating MQTT triggers (#45614)
* Add support for limited templates (no HASS access) * Pass variables to automation triggers * Support templates in MQTT triggers * Spelling * Handle trigger referenced by variables * Raise on unsupported function in limited templates * Validate MQTT trigger schema in MQTT device trigger * Add trigger_variables to automation config schema * Don't print stacktrace when setting up trigger throws * Make pylint happy * Add trigger_variables to variables * Add debug prints, document limited template * Add tests * Validate MQTT trigger topic early when possible * Improve valid_subscribe_topic_template
This commit is contained in:
parent
b9b1caf4d7
commit
047f16772f
12 changed files with 262 additions and 15 deletions
|
@ -572,7 +572,7 @@ def dynamic_template(value: Optional[Any]) -> template_helper.Template:
|
|||
if isinstance(value, (list, dict, template_helper.Template)):
|
||||
raise vol.Invalid("template value should be a string")
|
||||
if not template_helper.is_template_string(str(value)):
|
||||
raise vol.Invalid("template value does not contain a dynmamic template")
|
||||
raise vol.Invalid("template value does not contain a dynamic template")
|
||||
|
||||
template_value = template_helper.Template(str(value)) # type: ignore
|
||||
try:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue