← Back
acosta290

acosta290/fluvy

A premium theme and card library for Home Assistant: a generated light and dark theme, forty-one cards, five automatic dashboards, a wall-panel kiosk mode and a settings panel. Installs through HACS.

View on GitHub ↗https://acosta290.github.io/fluvy/ ↗
dashboardhacshacs-integrationhome-assistanthome-assistant-themekiosklitlovelacelovelace-custom-cardsmart-homethemetypescriptwall-panel
Stars
25
Forks
1
Watchers
25
Open issues
1
Contributors
2
Language
TypeScript
License
GNU General Public License v3.0
Default branch
main
Created Sep 27, 2026Updated Oct 1, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Fluvy

Fluvy

A premium theme and card library for Home Assistant.

HACS custom repository Latest release Home Assistant 2026.9 or newer Licence: GPL-3.0 CI hassfest HACS validation

Try it: acosta290.github.io/fluvy — the real cards, pages and settings panel on a simulated home, in your browser.

Four Fluvy cards: tiles, a thermostat, energy and a media player

Fluvy brings one design to the whole of Home Assistant: a theme, forty-nine 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 eight 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.

Home Assistant with Fluvy: the sidebar, the tabs and a dashboard in one design

The same dashboard on a wall tablet

Forty-nine cards

Every card has an editor form and a live preview in the card picker; every option is documented in the cards. Sliders and dials are precision controls: relative drag, slide away to slow down, hold for the 1 % scale.

The precision dimmer: a relative drag, finer away from the ruler, and the 1 % scale on hold The energy flow on a three-phase house: importing on two phases while the third exports, then all sun, then the battery at night — every lane in its origin's colour
dimmer.mp4 · energy-flow.mp4

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, tiles and lists.

Control cards: lights, thermostats, covers, fans, vacuums, media players, tiles and lists

Room lights: a room on one line with a round a light, six lights on their own line, chips with one brightness for the room, and tiles

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, solar by array, consumption by device and gauges for anything. How they read a house.

The energy cards: the flow of a three-phase house and the flow as a cross, the balance, the grid by phase, two batteries, a car charger, where the day's energy went and the energy score

Security and sensors — locks, alarms, cameras, openings and motion, humidity, plants, gauges and sensor tiles.

Security and sensor cards: a lock, an alarm, a camera, openings and motion, humidity, plants, a solar gauge and sensor tiles

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, schedules and to-do lists.

Home, time and helper cards

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 Activity page The History page

History: one cursor scrubbed across a chart reads every chart at the same moment
history-scrub.mp4

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; 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.

The Appearance tab: two presets tried, a custom accent picked, the look applied to the house
palette.mp4

The Appearance tab The Scope tab

The Dashboards tab The Preferences tab

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: lights grouped by room, a card a room that opens the room's own page, appliances with their readings, 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.

What you get

  • One theme, light and dark, generated from the same tokens the cards are drawn with.
  • Forty-nine cards with editor forms, picker previews, and unavailable, unknown and missing states drawn on purpose.
  • 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.
  • 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.
  • Eight languages — English, Spanish, German, Dutch, French, Italian, Brazilian Portuguese and Turkish — 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

Open your Home Assistant instance and open a repository inside HACS.

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:

frontend:
  themes: !include_dir_merge_named themes
  1. Until Fluvy is listed in HACS's default store, add it once: in HACS, open the menu (⋮) → Custom repositories, add https://github.com/acosta290/fluvy with the type Integration — or click the button above, which fills the dialog in.
  2. Search for Fluvy in HACS and download it.
  3. Restart Home Assistant.
  4. 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.
  5. 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, unzip it into <config>/custom_components/fluvy/, restart, and continue at step 4.

If something is missing — the theme line above, a resource that has to be added by hand because your dashboards are configured in YAML, an old manual install — Home Assistant tells you in Settings → System → Repairs, with exactly what to add or remove.

First steps

Open Fluvy in the sidebar.

  • Appearance — the palette, the shape and the buttons, for the house; each person can keep their own.
  • Scope — where the look applies: your dashboards only, or everywhere in Home Assistant; whether the frame, the icons and the pages are Fluvy's.
  • Dashboards — create any of the five automatic dashboards with one tap and set its options, or add a dashboard of your own with strategy: { type: custom:fluvy-home } (or fluvy-rooms, fluvy-energy, fluvy-security, fluvy-wall) in its raw configuration.
  • Wall — what this tablet is, which dashboards are walls, the screensaver, day and night, the background.
  • Preferences — language, motion and haptics, per person.

The cards are in the card picker under Fluvy · …, each with a preview; docs/cards.md lists them with their options.

Documentation

Installation HACS or the release zip, updating, uninstalling, what the integration registers, the Repairs it can raise
Getting started the first ten minutes
The settings panel the six tabs, house and personal settings, where they are stored
The theme palettes, custom accents, shapes, the tokens
The cards every card, with its configuration
The automatic dashboards what the five templates build from your home, and how to steer them
Wall mode a tablet on the wall: the kiosk, the screensaver, day and night
Activity and History the two pages
Everywhere what the shell restyles, and what to expect after a Home Assistant release
Troubleshooting when something looks wrong
Development the repository, the build, the tools
Design language the specification every card is built and reviewed against

Compatibility

Home Assistant 2026.9 or newer. The theme, the shell and the pages are checked against each Home Assistant release; a release can change a page the shell restyles, and docs/shell.md says what happens then. Fluvy runs in every current browser and in the Companion apps. Lit is bundled, pinned to the version Home Assistant ships; there is no other runtime dependency, and Fluvy makes no network requests of its own.

Contributing

Issues and pull requests are welcome. CONTRIBUTING.md has the development setup, the conventions, and the licensing terms a contribution accepts; CODE_OF_CONDUCT.md applies to every space of the project.

Licence

Fluvy is free software under the GNU General Public License v3.0: use it, change it and share it; whatever you distribute that is built on it stays under the same licence, with its source. Third-party work it ships is listed in THIRD_PARTY_NOTICES.md.

Acknowledgements

Lit (Google, BSD-3-Clause); Material Design Icons (Pictogrammers, Apache-2.0), used to map Home Assistant's icons to Fluvy's glyphs; Inter (The Inter Project Authors, SIL OFL 1.1); and Home Assistant and its frontend (Apache-2.0), which Fluvy is built for and is not affiliated with.