Make number of stored traces configurable (#49728)

This commit is contained in:
Erik Montnemery 2021-04-27 19:27:12 +02:00 committed by GitHub
parent b10534359b
commit ce64690817
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 104 additions and 23 deletions

View file

@ -6,6 +6,7 @@ import logging
import voluptuous as vol
from homeassistant.components.trace import TRACE_CONFIG_SCHEMA
from homeassistant.const import (
ATTR_ENTITY_ID,
ATTR_MODE,
@ -58,6 +59,7 @@ CONF_ADVANCED = "advanced"
CONF_EXAMPLE = "example"
CONF_FIELDS = "fields"
CONF_REQUIRED = "required"
CONF_TRACE = "trace"
ENTITY_ID_FORMAT = DOMAIN + ".{}"
@ -67,6 +69,7 @@ EVENT_SCRIPT_STARTED = "script_started"
SCRIPT_ENTRY_SCHEMA = make_script_schema(
{
vol.Optional(CONF_ALIAS): cv.string,
vol.Optional(CONF_TRACE, default={}): TRACE_CONFIG_SCHEMA,
vol.Optional(CONF_ICON): cv.icon,
vol.Required(CONF_SEQUENCE): cv.SCRIPT_SCHEMA,
vol.Optional(CONF_DESCRIPTION, default=""): cv.string,
@ -319,6 +322,7 @@ class ScriptEntity(ToggleEntity):
)
self._changed = asyncio.Event()
self._raw_config = raw_config
self._trace_config = cfg[CONF_TRACE]
@property
def should_poll(self):
@ -384,7 +388,7 @@ class ScriptEntity(ToggleEntity):
async def _async_run(self, variables, context):
with trace_script(
self.hass, self.object_id, self._raw_config, context
self.hass, self.object_id, self._raw_config, context, self._trace_config
) as script_trace:
# Prepare tracing the execution of the script's sequence
script_trace.set_trace(trace_get())