Skip to content

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 19:35
· 4 commits to main since this release

Eleven issues since 1.8 — two new families of cards, the light card in its bulb's colour, the automations card for one lamp, history bars that count right, scales on the energy chart and the bugs you found — plus two calls of our own: a card never changes size because a device went away, and the status colours can be yours. Thank you @svb91, @xoatrash, @eduardoribeiro, @JarlMorgennebel and @sriramsv.

Appliances (#47)

Eight large appliances and five small ones, laid out as the reporter of #47 drew them

fluvy-appliance-card is one card for a washer, a dryer, a dishwasher, an oven, a hob, a fridge, a coffee machine, a kettle, an air fryer, a toaster, a blender or a sandwich maker, drawn the way the mockup in #47 draws it: a picture of the appliance, its name and what it is doing, a power button tinted by its state, the time left over a bar, and three rows under it — the programme, water, energy, a filter to clean. A fridge shows its compartments, a hob its zones, a coffee machine its drinks; the small ones on smart plugs are rows. Every big appliance is the same height, so a row of them lines up, and one that lacks a row shows its next one or a dash in its place.

An LG house read through SmartThinQ: a dishwasher, a washer, an oven with two cavities and a fridge, at rest and at work

It reads LG ThinQ and LG's older SmartThinQ, Home Connect (Bosch, Siemens, Neff, Gaggenau), Miele, SmartThings, Matter, Whirlpool, Tuya, hOn and Electrolux/AEG, or an appliance on a smart plug by the power it draws: the step of its cycle, when it is ready, a door left open, why it failed, what it asks to be looked after, and whether a load still waits to be unloaded (with a tap to say you did). Start, stop, power and setpoints act only where the integration's own code says exactly how; everything else is shown, never written.

fluvy-appliances-card lists the house's appliances as rows, tiles, or each as its whole card side by side, and the automatic dashboards lay them out that way on Home and in every room, under a section title that leads to a page of all of them. An administrator's bell beside the time left — "Tell me when it's done" — writes a normal Home Assistant automation that notifies their phone when the cycle ends.

Home's appliance bands on a desktop: the large appliances side by side, the small ones in a row

type: custom:fluvy-appliance-card
device: 1f2c…            # the appliance's device; or entity: one of its entities
rows: [program, water, energy]
type: custom:fluvy-appliances-card
variant: cards

Alerts, and lists that may be empty (#48)

The alerts card as tiles, chips and a banner, and as rows under "Needs attention"

fluvy-alerts-card gathers what needs a look — low batteries, devices gone unavailable, doors left open, locks left unlocked, leaks and smoke, a vacuum in error, updates, lights left on, Home Assistant's own alerts and repairs. Each alert is one line (preset: low_battery) or a matcher of your own, and one definition drives its count, its list and its buttons, so they never drift apart. Severity orders and colours them (critical, warning, and info in a new notice tone), an open door waits five minutes and an unlocked lock ten before they count, and an alert can escalate after a while. Tiles, chips, rows or a turning banner; the card hides itself while all is clear.

An alert's sheet with Snooze, and the overview of every alert with a snoozed one and Wake

A tap opens the alert's list with a button per row (Lock, Close, Install, Dock) and one for all of them, asked first; Snooze for an hour, eight, until tomorrow morning or until it changes, and the snooze follows you to every device. A long press shows every alert, the snoozed ones with Wake.

type: custom:fluvy-alerts-card
alerts:
  - preset: hazards
  - preset: open
  - preset: unlocked
  - preset: low_battery
  - preset: unavailable
    domain: light
    name: Lights unavailable
  - preset: updates

The generated Home dashboard now opens with "Needs attention", hidden while all is clear, and a Danger tone is in every card's tone list.

Empty list cards: their head and a short line in their own words instead of an error

An empty list is no longer a configuration error. Fifteen list cards refused an empty auto-entities filter and kept the error even after it matched again; they now show their head and a short line ("No sensors"), and their rows the moment the filter finds something. empty_text says it in your words and hide_empty: true hides the card while it is empty. The bars and stat tiles read auto-entities' own entities key.

Status colours of your own

Settings, Appearance: the Lights card and Status colours with a warning of the house's own

Fluvy's settings have a Status colours card under Appearance. Warning, danger, success and notice each keep the palette's colour (Auto, the default, so nothing changes on upgrade) or take one you pick: six suggestions, the orange of the #47 mockup among them, or any colour. Fluvy keeps the hue and only makes it as deep or as light as it has to be to read on your palette, in light and dark; the mockup's #dc630b becomes #b04c00 on a light card and stays itself in dark mode. Every card takes it at once, and so do Home Assistant's own warning, error and success colours. If two statuses end up looking alike, the panel tells you.

The same alerts and dishwasher with the palette's warning and with the house's orange

A lit light in its colour (#41)

Light cards tinted by their bulb: full, soft and by brightness

The light card can wear its light's colour on its whole surface: tint: on, or always for a quiet wash while the light is off too. tint_strength is full (a lit tile's fill), soft, or brightness, which follows the lamp. A group takes its lit members' colour by brightness; whites follow the theme, or their temperature with light_whites: temperature.

type: custom:fluvy-light-card
entity: light.sofa_lamp
tint: on
tint_strength: brightness

Tiles, a room and entity rows in the colour of each lit bulb

Tiles, rooms and entity rows can wear a lit bulb's colour too (light_colors: true), and the Appearance tab's Lights card turns both on for every card that does not say otherwise. Everything is off until you choose it.

The automations card for one lamp (#43)

The automations card about one lamp, and the schedule sheet set to it

targets makes the automations card about the entities a popup is about: their schedules and the automations Home Assistant relates to them, when the lamp next turns on, and a + that opens the sheet already set to it — +, a time, Save.

type: custom:fluvy-automations-card
title: Timers
targets:
  - entity: light.kitchen_lamp

The sheet with several targets as chips, and Until with its quick ends

"Until" has quick ends (15 min, 30 min, 1 h, 2 h), and Escape or a swipe inside the sheet no longer closes a Bubble Card popup behind it.

History bars that count right (#44, #45)

A day counter as Home Assistant sums it, and read with reset: day

A counter that starts again — a day counter, a monthly rain gauge — can be read by its own readings: reset: day, week, month or year (never for a lifetime meter). A reset that comes as two writes, or a restart that reads 0, is never counted twice or below zero, and today's bar (include_today: true) follows the sensor live.

A monthly rain gauge: the reset as a −51 mm bar, and with reset: month

type: custom:fluvy-history-bars-card
entity: sensor.rain_this_month
reset: month

stat: state draws the reading at the end of each bar, so a monthly gauge by month is each month's rain. The average, the highest and the lowest use finished days, the days before a sensor existed are empty, a sensor without a state class reads its history, and the bars below zero and the one in progress can have colours of their own (negative_color, current_color).

Today's bar in progress with a dashed edge, and net grid bars below zero in a colour of their own

Scales on the energy chart (#49)

The whole house's chart with a power scale, a charge scale and gridlines; below, every source from zero in thin lines

The whole house and by source now carry a power scale on the left (W or kW, negative values below the line) with dashed gridlines, and the whole house a 0–100 % scale for the battery's charge on the right, on the same lines. In a narrow card the charge's scale folds first. line_width: thin draws 1 px lines, stack: false draws every source from zero instead of stacked, and show_axis / show_grid turn the scales off. Reading the chart marks each source's edge with a dot, and the legend gives each source's power at that moment.

type: custom:fluvy-energy-card
variant: overview        # the whole house; sources for by source
line_width: thin
stack: false

The same day on a phone in dark mode: stacked, from zero, and thin

A room that has readings is never empty (#39)

Rooms with their readings, a room with only a thermostat, and an empty room that says why

The temperature and humidity sensors chosen in the area's settings are read even when they are hidden or diagnostic, and the card's own temperature_entity and humidity_entity always are. A sensor that comes up late after a restart shows without a reload, a room with only a thermostat shows its temperature (and its humidity, where the thermostat measures one), and an empty room keeps its photo and its tap. An administrator sees why a room is empty: "2 hidden or diagnostic entities · choose its sensors in the area's settings".

Colours from the first frame, and greys that are grey (#40)

Black, the greys and white as a ladder on Linen, on and off

On a dashboard Fluvy's look does not reach, and in the card editor, cards worked out their colours on the default palette until they were attached again. Every card now wears your palette from its first frame. Black, dark grey, blue grey, grey, light grey and white are now six steps in your palette's own greys, so black no longer turns beige or white near-black; a grey you type (#000, #333, #fff) lands on the same ladder.

The same ladder on Volt in dark mode

The whole head is the button (#42)

Lights in half a section: the whole head is the button

A card's tap no longer lives on its icon: the icon, the name and the line under it are one button, so a light in half a section whose icon gives way to a long name still opens or toggles, and a long press anywhere on the head is the hold. The switch keeps its own tap and a slider is never a tap. show_icon: always keeps the icon while the name still shows a few letters beside it; beside a switch in half a phone's section there is no room for both, so the name keeps the row there.

The compact thermostat in half a section (#46)

Two compact thermostats side by side in half a section, the ruler and the dial

In half a section the − and + sit under the temperature, two cards side by side draw the same size whatever they read (9,5 next to 19,5), and nothing moves when you step past 10. The modes keep the order of your modes list, which the editor now shows as chips you drag, and on a compact card show_stepper: false hides − and + so a tap on the temperature opens the details.

A card keeps its size when a device goes away

Four large tiles, the 3D printer out of reach at the same size

Unavailable, unknown or missing, every card now draws the anatomy it has live — its circle, its name, its state, its readings as "—", its controls greyed out — instead of a short row or one quiet line, so a grid never jumps when a device goes offline. Out of reach, a thermostat keeps its modes, a sensor its curve, a player its seek line, a calendar its grid, a printer the size of a job.

A thermostat live and out of reach, side by side

A player and the now-playing strip live and out of reach

The automatic dashboards also reserve each card the height it really draws, so their columns end level.

Also

The calendar and the clocks at 211 px in German

  • Nothing is cut, broken inside a word or laid over another word at 152, 172, 211 and 266 px, in any of the eight languages: a word that would not fit takes its short form ("Now", "Today", "Not found", "KW 38"), and a value or a button goes under its words. CI now checks every language at those widths.
  • In a YAML dashboard an unquoted on or off is read as the word it was: tint: on, motion: off, snooze: off, modes: [off, heat] and an alert's state: on do what they say.
  • The alarm's keypad works again in the narrowest column; the schedule sheet's switches show their thumb in dark mode; the History page's date picker says From and To; a camera stream that fails says so.
  • Counts of one are said as one in every language, and the translations had a review in all seven.
  • Fifty-five cards. Every page loads about 235 KB gzip (its budget is 236 KB; 224 in 1.8); the appliances, the alerts and their sheets come in chunks of their own. Full details in the changelog.

Visible on upgrade

What may look different on a dashboard you already have:

  • Compact thermostat, light, fan, lock, gauge and room cards take at least half a section (min_columns 4 → 6): one saved at four columns draws at six.
  • A tap on a card's name runs its tap action, as a tap on its icon did; the Actions, Helpers and Automations cards lose their "…" button. Card-mod aimed at .fv-tile[role=button] or a head's button.fv-ico stops matching.
  • In half a section a thermostat, a full light, a fan and a timer put − and + under the reading (56 px taller there); − and + stay, greyed, while the device is off or unavailable.
  • Black, the greys and white are a ladder; an item coloured primary is your palette's accent; Home Assistant's --blue-grey-color is one cool grey.
  • Out of reach, every card keeps its size: a missing printer is the size of a job, an idle player shows its seek line, a thermostat, lock or alarm wears the dashed card.
  • An empty room's photo card is taller, and the Rooms view and the wall include a room whose only reading is a sensor named in the area's settings or a thermostat.
  • Empty list cards show their head and an empty panel instead of the error.
  • Generated dashboards open with "Needs attention" (hidden while all is clear), and an appliance moves from the plug tiles into the appliance bands; the energy views are unchanged.
  • History bars: the days before the first statistic are empty, the average uses finished days, today is live, and the scale reads in the secondary ink.
  • Energy charts: scales and gridlines on by default (the plot is about 40 px narrower a side), "Right now" always there.
  • A light card with a tone draws in that tone; a light group takes its lit members' colour.
  • The automations sheet's "Until" shows quick ends.
  • Rows of three chips go two and one in a narrow column; lists give their circles to their names; long words take their short forms rather than be cut.
  • In a YAML dashboard an unquoted motion: off now stops the energy flow, and modes: [off, heat] keeps Off.

Thanks

To @svb91 for five issues found on a real house (#39–#43), @xoatrash for the history bars and the energy chart (#44, #45, #49), @JarlMorgennebel for the compact thermostat (#46), @eduardoribeiro for the appliance mockup and the LG dumps (#47), and @sriramsv for the alerts design (#48).