A premium theme and card library for Home Assistant.
Try it: acosta290.github.io/fluvy — the real cards, pages and settings panel on a simulated home, in your browser.
Fluvy brings one design to the whole of Home Assistant: a theme, sixty-three cards, five automatic dashboards, a settings panel, the Activity and History pages, and Home Assistant's own pages restyled to match — all from one set of design tokens, installed as one integration through HACS. Every card is drawn on a 4 px grid, checked by an alignment measurer, and holds from a phone to a wall tablet, in light and dark, in ten languages. ## The whole app, one design The sidebar, the header, the tabs, the dialogs, the settings pages: with the Fluvy theme on, Home Assistant looks like it was designed with the cards, because it was — the same tokens, the same type (Inter), the same radii and hairlines. On a wide screen the app floats in a rounded frame inside the window (or fills it: a setting). A dashboard's view tabs are yours to style: the views as words with the accent under the open one (as here), as pills, as icons, Home Assistant's own, or none at all. ## The settings panel **Fluvy** in the sidebar: fifteen palettes in a pastel and an electric line, or your own accent with every contrast checked; three shapes; how every chart and gauge is drawn, with the series' colours; where the look applies; the automatic dashboard; and each person's own preferences — language, motion, haptics, a palette of their own. Changes apply live on every device, no reload. ## Gauges that move A gauge can be a small scene that moves with what it reads: humidity as water, a temperature as the sky over the ground from snow to the desert, wind as streaks of air, a battery bubbling as it charges, power as a pulse, the sun turning faster the more it gives. Motion turns off in the Charts tab or on a card, and every gauge rests on its first frame where less motion is asked for. ## Sixty-three cards Every card has an editor form and a live preview in the card picker; every option is documented in [the cards](docs/cards.md). Sliders and dials are precision controls: relative drag, slide away to slow down, hold for the 1 % scale. **Control** — lights with brightness and colour temperature, a room's lights on one card (one tap for the whole room, a round for each light, in its bulb's colour), thermostats (dial or compact), water heaters and humidifiers, covers with position and tilt, fans, vacuums, valves, media players and TVs, 3D printers (OctoPrint, PrusaLink, Bambu Lab, Moonraker, Creality, Elegoo, Anycubic, Snapmaker and FlashForge: the job, its time left, the heaters, the filament unit's trays, the camera, pause and stop), tiles and lists — and a tile of your own whose name, line, icon and colour are Home Assistant templates (the Template card; a Mushroom template card pastes in). **Energy** — the energy flow, read the way your meters are: one sensor, import and export apart, or each phase — so a house that imports and exports at once shows both, every lane in the colour of where its energy came from, with the Energy dashboard's own sources when you give it none. Beside it: the balance of what comes in and goes out, the grid by phase, batteries, a car charger, where a day's energy went (a sankey), the score, water and gas, the house's power by source, the whole house on one chart with its batteries' charge (a power scale and gridlines on both), solar by array, consumption by device, gauges for anything, and a sensor's last days, weeks or months as bars from its long-term statistics — a counter read by its own readings when Home Assistant's sum is not the truth, today live. An Energy period strip is the Energy dashboard's date picker: the energy cards that follow it — Fluvy's and Home Assistant's — move together to a day, a week, a month or a year, with Home Assistant's own figures, and the Energy usage card draws them as its usage graph, a column an hour, a day or a month. Every figure in the unit and the decimals you ask for. [How they read a house](docs/energy.md). **Security and sensors** — locks, alarms, cameras (live, in their own shape, or several at a glance on the Cameras card, each with what it sees), openings and motion, humidity, plants, gauges, sensor tiles, and up to three sensors on one chart. **Charts** — every chart and gauge drawn by one engine, in a style the house chooses once (`classic`, the chart Fluvy always drew, or `soft`, `glow`, `minimal`, `step`, `bars`, `columns`, `band`) or a card chooses for itself; a gauge read as Fluvy's own dial, ring or ruler, or moving with what it reads — a liquid, the sky over the ground, a tank, a battery, a pulse, the air, the sun. The Chart card draws any time series from what has happened to what is to come — a sensor's history, tomorrow's electricity prices, a solar forecast — with thresholds in their colours and the cheapest hours marked. **Home, time and helpers** — weather and forecasts, who is home, scenes and actions, calendars (month, week, timeline, upcoming), clocks (analog, digital, world), readouts and trends, safety, helpers, updates, timers, to-do lists, and the house's automations: every one as a row with its switch and last run, and schedules written in a sheet as native Home Assistant automations — for the whole house, or for the one lamp a popup is about. A web page on a plate (a map, a site of your own), and the items of a sensor's list as rows — the flights overhead, a departures board — each with a sheet of its details. **Appliances and alerts** — a washer, a dryer, a dishwasher, an oven, a hob, a fridge, a coffee machine or a kettle on a plug, read from LG ThinQ, Home Connect, Miele, SmartThings, Matter, Whirlpool, Tuya, hOn and Electrolux, or from a smart plug's power: a picture of the appliance, what it is doing, the time left over a bar, three rows for its programme, water, energy or the filter to clean, the reminders, "Tell me when it's done" — the design a reader drew for us (#47) — and the house's appliances in one list or as whole cards side by side. An alerts card gathers what needs a look — low batteries, devices gone, doors left open, leaks and smoke, updates, repairs — each alert one line, as tiles, chips, rows or a banner, hidden while all is clear, with a snooze that follows you to every device. ## Activity and History Two of Home Assistant's pages, drawn in the same idiom: the logbook as a timeline with who did what, and the history as charts with a scrub cursor, grouped by room or device. They stand in for the built-in pages while the house wants them; a switch gives Home Assistant's pages back. ## The automatic dashboards One line — `strategy: { type: custom:fluvy-home }` — and Fluvy reads your areas, devices, entities and energy preferences and builds Home, Rooms, Lights, Climate, Energy, Security, Media, Agenda and Sensors: what needs attention first (hidden while all is clear), lights grouped by room, a card a room that opens the room's own page, the large appliances as whole cards side by side and the small ones as rows, the running thermostat first, the home's forecast, the whole Energy dashboard read (every grid connection, the battery's charge, water and gas), batteries and phones told apart. Four more templates build a dashboard each — **Rooms** (a tab a floor), **Energy**, **Security** and a **Wall** for a tablet — and the panel creates any of them with one tap. Every one is rebuilt every time it opens, so a new device simply shows up. [How they read a home](docs/automatic-dashboard.md). ## What you get - **One theme, light and dark**, generated from the same tokens the cards are drawn with. - **Sixty-three cards** with editor forms, picker previews, and `unavailable`, `unknown` and missing states drawn on purpose, at the size and in the anatomy the card has live — among them a Template card for tiles of your own (Home Assistant templates, a Mushroom template card pasted in), a Cameras card for every camera at a glance and a Chart card for any time series, from a sensor's history to tomorrow's prices. - **Charts in a style of the house's**: classic, soft, glow, minimal, step, bars, columns or band, chosen once in the settings panel or per card, and gauges that move with what they read. - **Energy as your meters read it**: a house that imports and exports at once shows both, per phase; with nothing configured the cards read the Energy dashboard, and a day, a week or a month add up to its own figures — or follow its date picker, beside Home Assistant's own cards. - **Five automatic dashboards** built from your registries: the home, the rooms, the energy, the security, a wall. - **Wall mode** for a tablet: no sidebar, no header, a screensaver with the clock, dark at night, the screen kept awake — `?kiosk` on the dashboard's address and the tablet remembers, a × in the corner is the way out. - **A settings panel** for the house and for each person. - **Activity and History pages** in the same idiom. - **Everywhere**: Home Assistant's own pages in the same design while it wears the Fluvy theme — and left as Home Assistant draws them while it wears another. - **Ten languages** — English, Spanish, German, Dutch, French, Italian, Brazilian and European Portuguese, Turkish and Japanese — in every card, page and dialog, each fetched only when spoken. - **No telemetry, no network calls of its own**, no dependency but Lit, pinned to Home Assistant's version. ## Installation [](https://my.home-assistant.io/redirect/hacs_repository/?owner=acosta290&repository=fluvy&category=integration) [](https://github.com/sponsors/acosta290) Fluvy needs Home Assistant 2026.9 or newer, HACS, and one line most installations already have in `configuration.yaml` — the theme is a file in your `themes` folder, and this is how Home Assistant reads it: ```yaml frontend: themes: !include_dir_merge_named themes ``` 1. Search for **Fluvy** in HACS and download it — or click the button above, which opens it in your HACS. Fluvy is in HACS's default store (and in Home Assistant's Marketplace from 2026.11, which reads the same catalogue) under **Integration**, not Theme: a HACS theme can only be a YAML file, and Fluvy is the theme plus the cards, the dashboards, the settings panel and the restyling of Home Assistant's own pages, which only an integration can install. Search for "Fluvy" or "theme" with no type filter. 2. Restart Home Assistant. 3. Go to **Settings → Devices & services → Add integration**, search for **Fluvy** and add it. There is nothing to configure: the integration puts the settings panel in the sidebar, loads Fluvy on every page and installs the theme. 4. Reload the browser, then choose the **Fluvy** theme: in your profile (**Theme → Fluvy**), or from the panel's *Scope* tab, which offers it. Without HACS: download `fluvy.zip` from the [latest release](https://github.com/acosta290/fluvy/releases/latest), unzip it into `