Skip to content

v1.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Aug 06:41
· 1 commit to main since this release

Entity lists open quickly on large Home Assistant instances.

Performance

Opening a page with a thousand entities took several seconds, every time, and the extension's memory grew with each refresh. Two causes:

  • The details pane was built for every row up front, so each numeric sensor fetched 24 hours of history and each camera fetched a snapshot before you had selected anything. Details are now built when you select a row.
  • Every entity was handed to Command Palette on every render, which costs roughly 19 cross-process property reads per row. Entity pages now hand over 100 rows at a time and reuse the same row objects between renders, which also stops the memory growth.

Changes you will notice

  • All Entities opens on the most recently changed entities and loads more as you scroll.
  • Search runs inside the extension across every entity, and now matches the entity ID and area as well as the friendly name. Ranking is exact name, then prefix, then word start, then substring, then entity ID, then area. Every word you type has to match.
  • Sensor trend lines and camera snapshots load when you select a row, so the details pane fills in a moment later.
  • Camera rows on mixed pages (such as All Entities) show a camera icon instead of a live thumbnail until selected. The Cameras page is unchanged.

Fixes

  • History requests that failed, for example when the recorder integration is disabled, were retried on every render. They are now cached briefly.
  • A busy instance could postpone the list refresh indefinitely, rebuilding the list underneath you while typing.

Install

  • Sideload signed MSIX: download HomeAssistantCommandPalette_1.1.0.0.msixbundle below and run Add-AppxPackage .\HomeAssistantCommandPalette_1.1.0.0.msixbundle.
  • Microsoft Store: search for "Home Assistant Command Palette".

Thanks to @Chaphasilor for reporting the slowness in #32.