Insights
The Insights tab is brAIn acting as your home’s analyst. It reads your Home Assistant data and renders it as self-contained interactive cards: a headline, a handful of sharp numbers, and one chart built for your data rather than filled in from a template.

It learns before it reports
A fresh install has no cards, deliberately. A generic card about a house it has never looked at is noise on every run, and costs tokens producing it.
So the first thing that happens is a study, not a report:
- brAIn studies the home one topic at a time — naming and areas, occupancy rhythms, energy, climate, device reliability — and files what it finds in memory.
- It proposes cards grounded in what it actually found, each with a one-line reason citing the evidence. A proposal that could have been written for a different house isn’t a proposal.
- You pick. Nothing generates, and the scheduler stays idle, until you do.
The flow is resumable — close the panel mid-study and come back — and re-running it never re-studies a topic it already covered, because a study session is expensive.
If your home is too sparse
brAIn says what’s missing and stops. There is deliberately no canned fallback: generic cards about a house it can’t read would teach you to ignore the dashboard. Add more entities, let history accumulate, and run it again.
The ask bar has two verbs
Ask a question and it becomes a card. There’s no separate “new insight” dialog — asking is the way in.
Which rooms are coldest at night?Why did the hallway light come on at 3 am?What's actually driving my standby power?Which automations haven't triggered in 30 days?Is anything drawing more power than it did last month?+ Make recurring on the resulting card promotes it onto its own schedule, where it behaves exactly like any other card.
Start a line with “learn about…” or “study…” and brAIn goes reading instead. A study session digs through the registry, history and long-term statistics for that corner of the house and files what it finds in Memory and Findings — no card comes back. It runs for minutes, in the background.
learn about my boilerstudy my energy usefigure out how the upstairs heating actually behavesbrain ask "why is the garage cold" in the terminal is the same engine
against the same memory, printed as text instead of a card.
What a card is made of
For each card — and every asked question — brAIn:
- Collects a slimmed snapshot of your home through the Supervisor API: entity states with areas and friendly names, recent history for the relevant sensors, long-term statistics for energy, and the home memory document. GPS coordinates never leave the house; only zone, state and areas are included.
- Sends it to Claude with a strict design system — a fixed categorical palette, one y-axis per chart, reserved status colours, light and dark mode, hover interactivity. The analysis pass has no tools at all; it is pure reading of that snapshot.
- Stores and renders the result — title, summary, highlight stats and a self-contained HTML visualisation, in a sandboxed iframe that cannot touch your HA session.
Cards persist across restarts, refresh on their own schedules, and generation runs one at a time through a queue to stay friendly to subscription rate limits.
The card’s buttons
Two on the card, and the rest behind ⋯. Six glyphs in a row was most of the width of a card on a phone, and the title was what got squeezed out to make room for them.
| Control | What it does |
|---|---|
| ⤢ Expand | The only one on the card itself, because it’s the only one that acts on what’s on screen rather than on the card’s definition. |
| ⋯ → Regenerate | Run this card again now. |
| ⋯ → Edit | Name, icon, analysis focus and schedule. |
| ⋯ → Give feedback | Standing instructions for every future run. |
| ⋯ → Add to dashboard | YAML for a Webpage card on your own dashboard. |
| ⋯ → Delete | The card and its history. |
There is no “refresh everything” button. It used to sit in the top bar as a circular arrow that read like a page reload and in fact queued a Claude run for every card you had — minutes of work, and a real bite out of the usage the pill beside it was reporting.
Feedback sticks
⋯ → Give feedback is how you correct a card without editing its prompt:
- “Show costs in dollars, not kWh.”
- “Ignore the guest room sensor — it’s in a drawer.”
- “Stop telling me about the garage fridge, it’s meant to run all night.”
Each one is injected into every future run of that card until you remove it, and filed into memory at the same time. Send & regenerate applies it immediately.
Schedules, history and tags
- Per-card schedules — an interval, or fixed daily times (
07:00, 19:00, up to six) which take precedence over the interval and spend nothing in between.0means manual only. Fixed times cost far less than a short interval. - Run history — every run is kept per
history_keep_runs/history_keep_days, with a run selector, ‹ / › step buttons, andprev: …comparisons under each highlight. - Tags — the analyst tags each card by what it found, not by its category, so
#batteriessurfaces every card that hit a battery problem wherever it came from. The chip row scrolls sideways with ✦ All pinned at the left. Press ✎ on a card’s tag row to drop a bad tag or add your own; your edits survive regeneration, and new tags a later run discovers still appear.
Guesses
When a run believes something it can’t confirm, it says so as a claim you answer with one tap — “The garage fridge is meant to run 24/7 — right?” — right on the card, or in the Memory tab. ✓ files it as a plain memory line; ✗ records a dead end that is never revisited. Three open at a time, 14-day expiry, never re-proposed in any wording. The full model: Memory & Learning.
Deep presence
Presence analysis goes beyond home / not_home. brAIn walks the device registry and pulls
the sibling entities from each presence tracker’s physical device — the companion app’s
Wi-Fi SSID, geocoded address, detected activity, battery and charging state — and must
cite its evidence rather than parrot a state string:
Ben is at work — his phone has been on
OfficeNetnear 5th & Main, stationary since 09:12, and charging.
Dashboard cards
Any insight can be embedded on a dashboard with ready-to-paste YAML from ⋯ → Add to dashboard:
type: iframeurl: /local/brain/energy-<your-card-token>.htmltitle: Energyaspect_ratio: 90%Cards are served by Home Assistant itself at /local/… — same origin as every
dashboard, so they work on LAN, local SSL and Nabu Casa with no port mapping. The card
always shows the latest run and reloads every 15 minutes. Security model:
Reference.
Deleted cards don’t come back
There’s no restore list, and that’s the point: brAIn proposes the cards a given home should have, so the answer to “I want that card again” is to ask for it and let brAIn build it for the house it now knows.
Insight jobs are the other half
Cards are interactive deep dives in a panel. Insight jobs are the dashboard-native sibling: scheduled reports rendered to sensors, with markdown and ready-to-paste card YAML in their attributes, and an event that fires on completion — good for glanceable tiles and TTS briefings. Both read the same memory.
What it costs
The panel’s ⚙ Settings dialog caps how much of each 5-hour session window brAIn may spend on scheduled work. Automatic runs pause at the budget; manual presses never do. The meter uses your real Anthropic account utilisation, so brAIn backs off when you are using Claude elsewhere. Press the usage pill in the top bar for both windows, their reset times and what the budget gates. Every control: Reference.