Skip to content

Cache Entity List #32

Closed
Closed

Description

@Chaphasilor

Hey, love the extension, great job!
While I got it to work (more or less reliably), the performance currently isn't great, especially when searching via Entities (which I prefer since it lets me find anything, like the HA integrated search does).
Do you think some kind of caching could be added here, that lets you quickly search for entities based on the last response from home assistant somehow? And then the state for just the matching entities is loaded from the server?

Either way, really happy that this exists now!

Activity

  1. nickknissen commented on Aug 18, 2026

    @nickknissen
    Owner

    Thanks for the report, and for the kind words!

    Caching was already there, so that wasn't the problem. Since v1.0.0 the extension keeps a live WebSocket snapshot of all entity states, so searching never re-fetches from Home Assistant. On a 1278-entity instance, reading and filtering that snapshot takes about 30 ms.

    Two other things were slow.

    Details were built for every row. Each numeric sensor fetched 24 hours of history for its trend sparkline, and each camera fetched a snapshot, before you selected anything. On a 1500-entity test that was 683 HTTP requests per render, nearly all wasted: Command Palette only shows details for the selected row.

    Sending a thousand items to Command Palette is expensive. The host reads about 19 properties per item across the process boundary, so a thousand entities is roughly 18,000 calls per navigation. This also made search look broken: the host matches on titles it hasn't read yet, so entities seemed missing until they loaded.

    You guessed the fix, more or less. The extension now searches all entities itself and sends only the matches, 100 at a time, loading more as you scroll.

    What you'll notice:

    • All Entities opens fast and stays responsive while typing.
    • An empty search box shows the most recently changed entities first.
    • Search matches entity_id and area, not just the friendly name.
    • Sensor trends and camera snapshots load when you select a row, so details appear a moment later.
    • A camera row in All Entities shows an icon instead of a live thumbnail until selected. The Cameras page is unchanged.

    It's in #34 and ships in the next release. Let me know how it runs on your instance, especially if it's a big one.

  2. nickknissen commented on Aug 18, 2026

    @nickknissen
    Owner

    v1.1.0 is out. It's in the Microsoft Store (search for "Home Assistant Command Palette"), or you can sideload the signed MSIX from the release page: https://github.com/nickknissen/HomeAssistantCommandPalette/releases/tag/1.1.0

    It has the changes described above: details load when you select a row, entity pages hand Command Palette 100 rows at a time and load more as you scroll, and search runs inside the extension across every entity, matching name, entity ID, and area.

    On a 1278-entity instance, All Entities went from several seconds to opening straight away, and the memory growth from repeated renders is gone.

    Closing this. If it's still slow for you, comment here and I'll reopen. That's especially useful if your instance is much larger than the ones I tested against, since instance size is exactly what used to drive the cost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions