Skip to content

BRUH Insights changelog (archived)

This add-on has been replaced

BRUH Insights was merged into brAIn along with BRUH Terminal, and is no longer developed. This page is kept as the historical record; version numbers below belong to BRUH Insights, not to brAIn, whose own history starts here.

v1.7.0

Added
  • All the knobs, in the app. The ⚙ Settings dialog grows a Generation defaults section covering nearly every add-on Configuration option — default refresh interval, days of history analyzed, Claude model override, generation timeout, and run-history retention. Changes apply immediately with no restart; an empty field falls back to the add-on’s Configuration-tab value (shown grayed in the field). Only log_level stays add-on-config-only.
Changed
  • “Default” now says what it is. The ✎ prompt editor’s refresh-interval field shows the actual effective default as its placeholder (e.g. “default: 24h”) and points to ⚙ Settings, where that default now lives — no more hunting through the add-on Configuration tab.

v1.6.0

The token-diet release: you decide how much of your Claude subscription Insights may spend and when — and cards were retooled from long-winded reports into glanceable data points.

Added
  • ⚙ Settings dialog. A new Settings button puts the spend controls one tap away: a master Automatic insights switch (pause all background generation without uninstalling — manual Generate/Ask still work), your Claude plan (Pro, Max 5×, Max 20×), and a session usage budget slider — let Insights use up to N% of each 5-hour subscription session. Once the session hits the budget, auto-refresh pauses until the window rolls over; a topbar chip shows why, and manual clicks are never blocked.
  • Real account usage when available. With BRUH Terminal installed, the budget runs against your actual Anthropic 5-hour utilization (via its usage-limits tracker) — so Insights backs off when you are using Claude. Without it, Insights counts its own tokens per run against a per-plan estimate. A live usage meter with the budget mark shows either way.
  • Usage in the header. A topbar chip keeps the current session’s usage and reset time in view — “34% used · resets 3:15 PM” — green until the budget is reached, warning-colored after; tap it to open Settings.
  • Per-card run schedules. Every card’s ✎ dialog (and the New-insight form) can set fixed daily run times — e.g. 07:00, 19:00 — instead of an every-N-hours interval. Scheduled cards regenerate right after each set time and spend nothing in between.
Changed
  • Concise cards, retooled prompts. The analyst’s contract was rewritten around glanceable data points: 3–6 sharp highlights (real value + entity + time) as the main content, a 1–2 sentence summary hard-capped server-side, ONE compact focused visual instead of sprawling multi-chart reports, and an explicit “every sentence carries a number, a name, or a time” rule. All built-in category prompts were trimmed to match.
  • Fewer background runs by default. The default auto-refresh interval is now 24 h (was 6 h) — the ⚙ budget, per-card schedules, and per-card intervals are the intended controls for anything more frequent.

v1.5.0

Changed
  • Port 8100 removed entirely. Dashboard cards are now served exclusively by Home Assistant itself via the /local mirror, which works on HTTP, HTTPS, and Nabu Casa dashboards alike — so the plain-HTTP card server (and the last exposed port) is gone. Cards created with the old http://<host>:8100/card/… YAML should be re-added from the ▦ dialog to pick up the /local/… URL.
  • Deleting a learned fact scrubs the memory file too. Removing a fact from the 🧠 dialog now also removes it from the home memory document — Claude rewrites the file without it (catching reworded copies); when Claude isn’t reachable, the matching bullet line is stripped directly. One delete, gone everywhere.
  • Clearer memory explanations. The 🧠 dialog now spells out the two kinds of memory — the analyst’s own learned facts (auto-discovered, left column) vs the curated home memory file (editable source of truth, right column) — and what each is used for.
  • Questions only when they matter. The analyst is now instructed to ask a clarifying question only on a genuine blocker whose answer would materially change future analyses — most runs should ask none, and filler/conversational questions are explicitly banned.
  • Run-history polish. The › “Newer run” stepper no longer shows when you’re already on the latest run (and ‹ hides at the oldest), and card-footer tooltips now open upward so they aren’t cut off by the bottom of the card.

v1.4.0

Added
  • Dashboard cards over HTTPS and Nabu Casa. Insight HTML is mirrored into /config/www/bruh_insights/ (created only the first time you open the ▦ dialog), where Home Assistant itself serves it at a same-origin /local/… URL — no port, no mixed content, works on HTTP, HTTPS, and remote dashboards alike. File names embed the per-install card token, so links stay unguessable.
Changed
  • Card port open by default. Port 8100 is mapped out of the box, so the classic plain-HTTP card URLs work without a trip to the add-on’s Network settings; the dialog’s “map the port” setup step only appears when the port is actually closed. (Superseded in 1.5.0 — the port is gone.)
  • Memory dialog uses your screen. On desktop the 🧠 Memory dialog is wide and two-column — questions and learned facts on the left, the home memory document on the right at full height. Phones keep the stacked layout.
  • Teaching a fact no longer leaves a duplicate row. A taught fact’s only home is the memory document — Claude merges it straight in (with a live indicator) instead of also parking a permanent copy in the “Learned facts” list; if the merge fails, the fact is appended under “Recently added” so nothing is lost.

v1.3.1

Added
  • Instant tooltips. Every icon-only button now shows a fast styled tooltip on hover and keyboard focus explaining what it does — no more mystery icons.
  • Memory file, readable and editable. The home memory document in the 🧠 panel renders as formatted markdown with an ✎ Edit markdown mode (Save/Cancel, unsaved-edits badge). Works standalone — the /config mount is writable for this one file (/config/.bruh_claude/memory/memory.md); nothing else under /config is ever written.
  • “Not relevant” on card questions. Every clarifying question on a card has an ✕ button that dismisses it permanently and tells the analyst it was on the wrong track — dismissed topics become dead ends in future prompts.
Fixed
  • Dashboard-card YAML uses your real address. The ▦ dialog builds the card URL from the hostname your browser is actually using (hassio.local, a raw IP — whatever you typed), never Nabu Casa hosts, with a mixed-content warning when you’re on HTTPS.

v1.3.0

A depth release: the analyst now remembers, builds on what it knows, and reasons across sensors instead of reading them one at a time.

Added
  • Viewable memory. The new 🧠 Memory button opens everything Insights has learned about your home — discovered facts, your answers, standing feedback — plus the shared memory file BRUH Terminal maintains. Remove anything that’s wrong, or teach it a fact directly; the whole store is injected into every future analysis.
  • Deep presence. A device-context pass walks the device registry and pulls in the sibling sensors on each presence tracker’s physical device — phone WiFi SSID, geocoded address, detected activity, battery/charging state — with recent history. The analyst reasons like a detective (“phone on ‘OfficeNet’ near 5th & Main, stationary → at work”) and cites the evidence chain. Overview, Presence, and Ask questions all use it.
Changed
  • No more repeated questions. Every clarifying question is tracked with a lifecycle (open → answered/dismissed), shown to the model with a hard “never re-ask” rule, and a server-side backstop drops any repeat that slips through. Open questions are answerable (or dismissable) from the Memory panel.
  • Learning that actually loops. Findings now land in Insights’ own local knowledge base (deduplicated by content) and are handed to the home’s shared memory — previously they only went to a memory inbox that required BRUH Terminal to be running. Known facts feed back into every run so they’re built upon, never rediscovered.
  • Runs build on each other. Each category’s previous analysis (title, summary, highlights, findings) is included in the next run’s prompt with instructions to lead with what changed — instead of regenerating the same surface story every refresh.

v1.2.0

Added
  • Create your own insights. A ”+ New insight” button defines custom recurring insights — name, icon, analysis prompt, and an optional per-insight refresh interval. They live alongside the built-in categories: auto-refreshed on their own schedule, included in “Refresh all”, with full run history, editable or deletable any time via ✎.
  • Turn a question into a recurring insight. Every Ask card has a ”+ Make recurring” button that promotes the question into a scheduled insight, prefilled and ready to tweak.
  • Insights as dashboard cards. The ▦ button on each card produces ready-to-paste YAML for a Home Assistant Webpage dashboard card embedding the live visualization (always the latest run, auto-reloading). Served by a token-protected card server on port 8100 — unmapped by default; map it once under the add-on’s Network settings.
  • Feedback that sticks. The 💬 button lets you tell Claude what to change (“ignore the guest room sensor”, “show costs in dollars”). Feedback is stored as a standing instruction injected into every future generation of that card, forwarded to the home’s memory, and manageable from the same dialog. “Send & regenerate” applies it immediately.
Changed
  • Real tag filtering. Filter chips are now content tags: the analyst tags each card by what it actually found (#anomaly, #batteries, #left-on), one chip surfaces every matching card across categories, and card counts show on each chip. #asked collects your Ask cards.
Fixed
  • Background scroll bleed. Opening an expanded view (or any dialog) no longer scrolls the dashboard behind it; the page freezes in place and picks up exactly where it was on close.

v1.1.1

Changed
  • Sidebar naming. The ingress panel is now titled “BRUH Insights” (was “Insights”) to match the BRUH family branding.

v1.1.0

Added
  • Shared login with BRUH Terminal. If the BRUH Terminal add-on has shared its Claude credential (ha-share-login there), Insights picks it up automatically — no more copying tokens between add-ons. A locally connected credential always wins, and signing out of Insights never touches the shared login.
  • Insight history with a date selector. Every category run is kept as a dated copy. Each card’s footer grows a run selector plus ‹/› step buttons — view a past run in place, with a “Back to latest” pill and “prev:” comparisons on highlight stats. Retention is configurable via history_keep_runs (default 40) and history_keep_days (default 30).
  • Editable per-category prompts. The ✎ button opens an editor for each category’s analysis focus, an enable/disable toggle, and an optional per-category refresh interval. Overridden cards show a “custom prompt” badge; disabled categories are skipped by auto-refresh and “Refresh all”.
  • Questions, findings, and memory. The analyst can ask up to two clarifying questions per insight (answer them inline on the card) and record durable findings about your home, handed to the bruh_claude integration with a /share inbox fallback.

v1.0.4

Fixed
  • Insight generation failing with “max number of turns”. Tools are now disallowed outright for generation runs (insights are pure generation over the data snapshot), so the model can no longer burn its turn limit attempting tool calls.
  • Smoother guided sign-in. The status poll survives transient connection drops (mobile apps suspend the webview in the background), returning to the tab refreshes state immediately, and elapsed time is shown during the code exchange.
Changed
  • Unified BRUH Apps branding. New “Solid Blocks” icon, logo, and favicon from the BRUH Automation brand system; panel restyled with the brand palette in dark and light mode.

v1.0.3

Fixed
  • Silent guided sign-in hangs. The “Exchanging code…” watchdog now runs on every tick (a hung exchange produces no output, so it never fired before), a saved CLI credential file is treated as sign-in success, and an existing CLI login is recognized as a valid connection. The sign-in CLI output is logged (token-masked) so stuck flows are diagnosable.

v1.0.2

Fixed
  • Guided sign-in hanging forever on “Exchanging code…”. Failed code exchanges are now detected, surfaced, and answered with the fresh sign-in link the CLI mints on retry (an old page’s code is dead after a failed attempt). A 2-minute watchdog errors out instead of hanging silently, and future token prefixes (sk-ant-oatNN-…) are accepted.

v1.0.1

Fixed
  • Truncated OAuth link in guided sign-in (“Missing redirect_uri parameter”): the pty terminal hard-wrapped the very long authorize URL. The setup flow now runs the CLI in an ultra-wide pseudo-terminal and stitches wrapped URL lines back together.

v1.0.0

Initial release 🎉

Added
  • Ingress Insights panel in the Home Assistant sidebar.
  • Nine insight categories — Overview, Energy, Climate, Lighting, Security, Presence, Media, Device Health, Automations — plus free-form “ask anything” cards.
  • Claude-generated interactive visualizations: self-contained HTML with animations, hover tooltips, light/dark mode, and a colorblind-safe chart palette, rendered in sandboxed iframes.
  • Works with a Claude subscription (Pro/Max) via guided claude setup-token sign-in or a pasted token; Anthropic API keys also supported.
  • Data collection via Supervisor REST + WebSocket APIs: states with areas/friendly names, downsampled history, long-term energy statistics — size-capped for prompt budget.
  • Single-worker generation queue, scheduled auto-refresh (auto_refresh_hours), persistent insights across restarts.