Log entity_id payload and template on MQTT value template error (#98353)
* Log entity_id payload and template on error * Also handle cases with default values. * Do not log payload twice Co-authored-by: Erik Montnemery <erik@montnemery.com> * Tweak test to assert without payload * black --------- Co-authored-by: Erik Montnemery <erik@montnemery.com>
This commit is contained in:
parent
80a5e341b5
commit
5ef6c03610
2 changed files with 64 additions and 7 deletions
|
@ -231,11 +231,21 @@ class MqttValueTemplate:
|
|||
values,
|
||||
self._value_template,
|
||||
)
|
||||
rendered_payload = (
|
||||
self._value_template.async_render_with_possible_json_value(
|
||||
payload, variables=values
|
||||
try:
|
||||
rendered_payload = (
|
||||
self._value_template.async_render_with_possible_json_value(
|
||||
payload, variables=values
|
||||
)
|
||||
)
|
||||
)
|
||||
except Exception as ex: # pylint: disable=broad-except
|
||||
_LOGGER.error(
|
||||
"%s: %s rendering template for entity '%s', template: '%s'",
|
||||
type(ex).__name__,
|
||||
ex,
|
||||
self._entity.entity_id if self._entity else "n/a",
|
||||
self._value_template.template,
|
||||
)
|
||||
raise ex
|
||||
return rendered_payload
|
||||
|
||||
_LOGGER.debug(
|
||||
|
@ -248,9 +258,24 @@ class MqttValueTemplate:
|
|||
default,
|
||||
self._value_template,
|
||||
)
|
||||
rendered_payload = self._value_template.async_render_with_possible_json_value(
|
||||
payload, default, variables=values
|
||||
)
|
||||
try:
|
||||
rendered_payload = (
|
||||
self._value_template.async_render_with_possible_json_value(
|
||||
payload, default, variables=values
|
||||
)
|
||||
)
|
||||
except Exception as ex: # pylint: disable=broad-except
|
||||
_LOGGER.error(
|
||||
"%s: %s rendering template for entity '%s', template: "
|
||||
"'%s', default value: %s and payload: %s",
|
||||
type(ex).__name__,
|
||||
ex,
|
||||
self._entity.entity_id if self._entity else "n/a",
|
||||
self._value_template.template,
|
||||
default,
|
||||
payload,
|
||||
)
|
||||
raise ex
|
||||
return rendered_payload
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue