Home Assistant Unofficial Reference 2024.12.1
logbook.py
Go to the documentation of this file.
1 """Describe logbook events."""
2 
3 from homeassistant.components.logbook import LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME
4 from homeassistant.core import callback
5 
6 from .const import DOMAIN, EVENT_COMMAND_RECEIVED, SOURCE_CLOUD
7 
8 COMMON_COMMAND_PREFIX = "action.devices.commands."
9 
10 
11 @callback
12 def async_describe_events(hass, async_describe_event):
13  """Describe logbook events."""
14 
15  @callback
16  def async_describe_logbook_event(event):
17  """Describe a logbook event."""
18  commands = []
19 
20  for command_payload in event.data["execution"]:
21  command = command_payload["command"].removeprefix(COMMON_COMMAND_PREFIX)
22  commands.append(command)
23 
24  message = f"sent command {', '.join(commands)}"
25  if event.data["source"] != SOURCE_CLOUD:
26  message += f" (via {event.data['source']})"
27 
28  return {LOGBOOK_ENTRY_NAME: "Google Assistant", LOGBOOK_ENTRY_MESSAGE: message}
29 
30  async_describe_event(DOMAIN, EVENT_COMMAND_RECEIVED, async_describe_logbook_event)
def async_describe_events(hass, async_describe_event)
Definition: logbook.py:12