Skip to content

v0.11.0

Latest

Choose a tag to compare

@lafoush lafoush released this 26 Jun 23:12
· 20 commits to main since this release

This release introduces Recipes — a one-click way to turn your hardware into a working Home Assistant setup — and brings full multi-language support across the backend, panel, and conversational AI. It also adds anonymous opt-in telemetry, local usage metrics, and a long list of chat-reliability fixes.

✨ Highlights

🍳 Recipes — turn your hardware into a working home

A new Recipes tab and install flow lets users browse a public catalog hosted on selorahomes.com and install vetted, end-to-end packages in one click. A recipe is more than a bunch of automations — it ties your hardware to a complete Home Assistant setup:

  • Device roles — a recipe declares the roles it needs (e.g. bedroom lights, door locks, a thermostat) and the install wizard maps your actual devices onto them, with min/max counts and required/optional selection.
  • Configurable inputs — recipes expose tunable parameters (bedtime, dim duration, night temperature, notification style, …) so the same package adapts to each home.
  • Full HA wiring — once devices and inputs are resolved, the recipe renders and writes the automations, scenes, and dashboards that make those devices work together as one routine.
  • Hardened, sandboxed rendering — recipe templates are treated as untrusted input. Jinja rendering runs in a SandboxedEnvironment, remote fetches require TLS for public hosts, and redirect hops are validated on fetch to prevent SSRF-style abuse.

⚠️ Limitation: Recipes are currently English-only.

🌍 Internationalization (i18n)

Selora AI now speaks your language — across the config flow, panel UI, entity filtering, and conversational replies.

  • 13 locales shipped: en, fr, de, es, it, nl, hu, pt, ru, ja, ko, zh-Hans, zh-Hant.
  • Conversational reply language is detected per message (falling back to panel locale, then HA config language), driving both the LLM directive and deterministic command confirmations — a French command on an English UI gets a French confirmation.
  • Multilingual entity resolution + lexical ranking — "which lights are on?" / "quelles lumières sont allumées?" resolve to the correct entities with Unicode-aware tokenization and ranked matching.
  • Deterministic status answers — the cloud path computes the exact matching entity set/count from live state and constrains the LLM, fixing wrong counts and EN/FR set drift.

⚠️ Limitation: Selora AI Local has not yet been trained on multi-language data — multilingual conversation currently applies to the cloud providers.

📊 Telemetry & Usage

  • Anonymous, opt-in PostHog telemetry (off by default) — counter/enum/version-only payloads, no PII, with a one-time consent banner and a Settings toggle.
  • usage_activity event — anonymous period deltas of how the install is used.
  • Local Selora Cloud usage metrics — token/call usage recorded locally (never leaves the network), separate from telemetry.

💬 Chat & Reliability

  • Per-message action toolbar in chat (copy, etc.), with hover actions no longer shifting layout.
  • Cloud + multi-provider reliability improvements, including reliable chat with weaker gateway models.
  • Commit a final answer when the tool loop is exhausted (no more silent dead-ends).
  • Resolve device triggers so button automations complete.
  • Decode percent-encoded YAML pasted into chat.
  • Click to expand truncated suggestion card title/subtitle.

🐛 Other Fixes

  • Surface device manufacturer/model in entity context for better LLM grounding.
  • Repair silent play_media announcements to tts.speak.
  • Catch provider ConnectionError in the collector.
  • Reduce recorder attribute spam and chat-stream errors.
  • Protect code fences from tile-marker substitution.

Full changelog (commits)

Features

  • chat: multilingual entity resolution + lexical ranking (3c56943)
  • chat: per-message action toolbar (5691bc6)
  • i18n: add pt/ru/ja/ko/zh locales + i18n fixes (4f5e597)
  • i18n: multi-language support — fr / de / es / it (3d9a74d)
  • recipes: recipe wizard + public catalog install flow (eef371d)
  • telemetry: add usage_activity event (89f6551)
  • telemetry: anonymous opt-in PostHog telemetry (2e85198)
  • usage: record Selora Cloud token/call usage locally (5db1919)

Bug Fixes

  • chat: cloud + multi-provider reliability (7395aba)
  • chat: resolve device triggers so button automations complete (87917e7)
  • chat: stop hover actions shifting layout (da7463f)
  • client: thread user_message + new intent + command_policy exports (4228ea8)
  • collector: catch provider ConnectionError (86078ac)
  • integration: commit a final answer when the tool loop exhausts (664e95d)
  • integration: repair silent play_media announcements to tts.speak (1506c63)
  • integration: surface device manufacturer/model in entity context for brand resolution (47caed6)
  • llm: reliable cloud chat with weak gateway models (8b5b703)
  • panel: decode percent-encoded YAML pasted into chat (971023d)
  • protect code fences from tile-marker substitution (84dd8ba)
  • recipe template sandbox + state-filter determinism (pre-release review) (2f2ed75)
  • reduce recorder attr spam and chat-stream errors (2240069)
  • suggestions: click to expand truncated card title/subtitle (5fad883)