Skip to content
Snippets Groups Projects
Unverified Commit c81d5a1a authored by J. Nick Koston's avatar J. Nick Koston Committed by GitHub
Browse files

Handle empty entity_id in the recorder filter (#121681)

fixes #111745
parent 8b729e3c
No related branches found
No related tags found
No related merge requests found
...@@ -319,9 +319,8 @@ class Recorder(threading.Thread): ...@@ -319,9 +319,8 @@ class Recorder(threading.Thread):
if event.event_type in exclude_event_types: if event.event_type in exclude_event_types:
return return
if ( if entity_filter is None or not (
entity_filter is None entity_id := event.data.get(ATTR_ENTITY_ID)
or (entity_id := event.data.get(ATTR_ENTITY_ID)) is None
): ):
queue_put(event) queue_put(event)
return return
......
...@@ -2700,3 +2700,20 @@ async def test_all_tables_use_default_table_args(hass: HomeAssistant) -> None: ...@@ -2700,3 +2700,20 @@ async def test_all_tables_use_default_table_args(hass: HomeAssistant) -> None:
"""Test that all tables use the default table args.""" """Test that all tables use the default table args."""
for table in db_schema.Base.metadata.tables.values(): for table in db_schema.Base.metadata.tables.values():
assert table.kwargs.items() >= db_schema._DEFAULT_TABLE_ARGS.items() assert table.kwargs.items() >= db_schema._DEFAULT_TABLE_ARGS.items()
async def test_empty_entity_id(
hass: HomeAssistant,
async_setup_recorder_instance: RecorderInstanceGenerator,
caplog: pytest.LogCaptureFixture,
) -> None:
"""Test the recorder can handle an empty entity_id."""
await async_setup_recorder_instance(
hass,
{
"exclude": {"domains": "hidden_domain"},
},
)
hass.bus.async_fire("hello", {"entity_id": ""})
await async_wait_recording_done(hass)
assert "Invalid entity ID" not in caplog.text
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment