github goruck/home-generative-agent v3.45.0-beta.5

pre-release2 hours ago

Pre-release of v3.45.0, for field validation of #866: Sentinel's calls stalling voice on a shared local model. HACS offers it only to users who opted into betas. It contains everything on main as of 3fd752a.

#866 step 1: Sentinel no longer stalls a voice turn on a shared local model (#875)

On an edge model shared with chat, Sentinel now avoids starting calls rather than cancelling them, since a cancel is what can wedge an Ollama runner:

  • Triage calls per run, a new option in Sentinel's Advanced setup (default 5). The rest of a run's findings pass through untriaged; the same limit caps explanations.
  • A 1 s gap between Sentinel's calls (triage, explanations, discovery).
  • Sentinel waits while a chat turn is active and for 30 s after it ends, so a multi-turn voice exchange is not interrupted; after 5 minutes of back-to-back deferrals it yields once, so Sentinel is never starved.
  • The stalled-provider probe is skipped while chat or video holds the GPU, and a probe once sent is never cancelled.
  • sensor.sentinel_health gains triage_calls_last_run and triage_passed_through_last_run; triage_suppress_rate no longer counts findings that were never sent to the model.
  • None of this applies to cloud models, or when model_provider_uncontended is set.

#866 step 2: a model of its own for Sentinel (#876)

A new optional Sentinel Model feature under + Setup (Advanced setup, or the gear icon later) gives triage, discovery and explanations their own provider, model and fallback chain: a small model (qwen3:4b on Ollama by default), a cloud model, or a second Ollama server. It is off by default and Basic setup leaves it off: Sentinel then runs on the Conversation model, as before.

  • A cloud Sentinel model is not held back or cancelled by a local chat model.
  • On a second Ollama server the local GPU gates above still follow chat on the first server for now (#877).
  • If the Sentinel provider is unreachable at startup, Sentinel runs on the Conversation model with a warning until it answers.
  • A second account or server of the same type as Conversation's provider (two OpenAI keys, two OpenAI-compatible servers) is refused, since only one of a type can be used at a time.

New since beta.4:

  • Simplified Chinese (zh-Hans) translation (#846, thanks @TwelveTwenty1220).
  • Embedding fixes: a fallback no longer mixes models in the memory store (#751), a wrong vector size or a missing store table is reported instead of failing silently (#760), a change of embedding model no longer breaks memory search (#855), and a second OpenAI-compatible, OpenAI or Gemini embedding provider works as a fallback (#853).
  • Remote Home Assistant (MCP): a command for this house no longer goes to a remote one with a tool of the same name (#843), tool search knows which house a tool belongs to (#848), and a remote house's devices require the Critical Action PIN (#840).
  • A busy camera no longer crowds another camera's notifications out of the deduplication check (#706).
  • Reloading the integration while a camera is being analyzed no longer logs an AttributeError (#777, thanks @TwelveTwenty1220).

The full notes are in the [Unreleased] section of CHANGELOG.md.

Don't miss a new home-generative-agent release

NewReleases is sending notifications on new releases.