github flixlix/power-flow-card-plus v0.4.0

one hour ago

Minor Changes

  • #431 a3b6a42 Thanks @flixlix! - Default dot speed is back to how it was before 0.4.0-beta.0: the time per dot shrinks linearly with power (with the defaults, 1000 W takes 3.4 s per dot again). The faster speed-based curve from 0.4.0-beta.0, where twice the power looks about twice as fast, is available with flow_rate_model: speed, and flow_rate_model: relative selects the relative formula. The option replaces the "New Flow Model?" toggle in the editor with a select. use_new_flow_rate_model still works as the older alias (false is relative); flow_rate_model wins when both are set. Energy Flow Card Plus always uses the relative formula and ignores flow_rate_model.
  • #423 9954453 Thanks @flixlix! - New accept_negative option on individual devices. With it, a negative reading means the device feeds power to the home (e.g. an EV discharging with V2G): the value keeps its minus sign and the dots and direction arrow flip. Without it, nothing changes: the sign is dropped as before.
  • #370 ef34736 Thanks @flixlix! - Flows are now worked out the same way on both cards, in the order the Home Assistant energy dashboard uses, so the same readings always draw the same lines. Flows never go negative and never carry more than a source produces or a sink takes: for example, solar can no longer appear to export more than it generates. When the grid is hidden or during a power outage, solar and battery flows are recalculated instead of losing the part that went to the grid, and Energy Flow Card Plus now shows battery flows during an outage too. With a home entity using override_state, the card still shows its reading, while the lines and the home circle stay balanced.
    Power Flow Card Plus readings whose flows change:
    Readings Before Now
    Import 200 W, export 600 W, solar 500 W, battery discharging 150 W and charging 200 W Solar → grid 600 W, grid → battery 200 W, battery → grid 0 W, grid → home 0 W Solar → grid 450 W, solar → battery 50 W, grid → battery 150 W, battery → grid 150 W, grid → home 50 W
    Grid/battery exchange below the larger of the grid and battery zero tolerances Dropped Shown unless below the node's own tolerance
    Outage with the battery charging Grid → battery from the live grid reading Grid → battery from the generator

Patch Changes

  • #448 3832579 Thanks @flixlix! - The card no longer draws over overlays on the page, such as a floating navigation bar. Its circles are layered inside the card only.
  • #370 2634c20 Thanks @flixlix! - Fix: the home circle no longer breaks (NaN segments) when nothing is being consumed. Energy Flow Card Plus now honours invert_state on single grid and battery entities, reads non-fossil and grid values from the selected energy period instead of live sensor states, and individual devices with a numeric calculate_flow_rate animate consistently in every position.
  • #435 f2000f8 Thanks @flixlix! - Flow dots use far less CPU and battery: the browser now moves them on the GPU instead of redrawing the card every frame. Dots also keep their place on the line when their speed changes, including the dots of individual devices and the low-carbon circle, instead of jumping.
  • #432 9ac9962 Thanks @flixlix! - The version line each card writes to the browser console has a new look.
  • #424 aa5071c Thanks @flixlix! - The UI editor no longer shows "Display Zero" switched on for individual devices and the non-fossil node when the option is not set. The card hides those nodes at zero unless display_zero: true is set, and the editor now shows the toggle off to match. The non-fossil documentation now gives the default as false.
  • #437 2adc500 Thanks @flixlix! - Visual editor: filling in a "Separated" consumption/production field while entity held a single sensor no longer saves that sensor split into characters ('0': s, '1': e, …). Configs already saved that way are cleaned the next time the entity's page is edited.
  • #446 e7f784e Thanks @flixlix! - A node whose entity was cleared in the visual editor is no longer drawn. Clearing the field leaves an empty entity (entity: "") in the config, and solar and the grid still showed it with a value of 0; now a node is drawn only with a real entity, as the battery already was.
  • #348 0eb74c9 Thanks @bramkragten! - Resolve field names through hass.formatEntityName so they follow Home Assistant's registry-based naming instead of friendly_name. A field's name now also accepts a structured name, letting you compose it from the entity, device, area or floor. Requires Home Assistant 2026.4; older versions keep the previous behaviour.
  • #296 f8bed9e Thanks @flixlix! - Fix: individual devices with negative readings are no longer hidden when display_zero is off
  • #433 a4c4856 Thanks @flixlix! - Flow lines meet the circles exactly at every card width: on narrow cards they no longer run into the solar and battery circles or stop short of the grid and home, and they are centred on each circle. Wide cards keep the same curves.
  • #419 90f01f4 Thanks @flixlix! - Docs now state the real flow-rate defaults (no behaviour change): Power Flow Card Plus uses the new flow formula unless use_new_flow_rate_model: false, Energy Flow Card Plus always uses the relative formula (so use_new_flow_rate_model, min_expected_power and max_expected_power don't apply to it), and an unset calculate_flow_rate uses the calculated rate.
  • #368 7cc309d Thanks @flixlix! - Built against the same Lit and Home Assistant websocket versions as the current Home Assistant frontend.
  • #423 ed57230 Thanks @flixlix! - The direction arrow of an individual device in the right-bottom slot now points the way its dots move. It used to point up while the dots moved from the home down to the device.
  • #427 8a0df59 Thanks @flixlix! - Fix: an individual device's secondary info now shows text states such as "heating", as grid and home already did. Unavailable or unknown states stay hidden.
  • #370 35fae9f Thanks @flixlix! - Fix: with clickable_entities on, nodes can be reached with Tab and opened with Enter, which never worked before. Holding a node's value no longer runs its hold action twice (a toggle hold action used to cancel itself out).
  • #426 7dba4d6 Thanks @flixlix! - Cards load again on Google Cast displays (Chromecast, Nest Hub) and other older browsers and wall-panel webviews that Home Assistant itself still supports (Chromium 67 and newer). Before, the cards shipped optional chaining (?.) and nullish coalescing (??), which those browsers cannot read, so the card stayed empty or showed "Configuration Error". The cards are about 5% larger as a result.
  • #430 24ecd05 Thanks @flixlix! - Individual device dots and the grid → battery dot no longer run backwards on older Chromium-based browsers, such as Amazon Fire tablets. The cards also no longer stay blank on browsers older than Chrome 92. Nothing changes on current browsers.
  • #384 71c1005 Thanks @flixlix! - With the new flow rate model, dot speed now grows in step with power: twice the power looks about twice as fast. Before, the time per dot shrank in step with power, so most of the range crawled and only values close to max_expected_power looked fast. min_expected_power still gives the slowest dots (max_flow_rate) and max_expected_power the fastest (min_flow_rate). In between, dots now move faster than before: with the defaults, a flow at half of max_expected_power takes 1.3 s per dot instead of 3.4 s. Values below min_expected_power no longer move slower than max_flow_rate. The old flow rate model (use_new_flow_rate_model: false) is unchanged.
    calculate_flow_rate set to a number now does what the documentation says: a line moves one dot every that many seconds. Before, the number was only used when no flow rate could be calculated.
  • #382 002654f Thanks @flixlix! - Fix: unit_of_measurement, unit_white_space and decimals set on grid, solar or battery are now applied to their values. A custom unit shows the reading as is, without converting it to k/M, so the card can show non-electrical flows such as water in L/min.
    The grid, solar and battery pages of the visual editor now offer these three fields.
  • #368 7cc309d Thanks @flixlix! - The non-fossil node now appears based on the grid's actual non-fossil share instead of a miscalculated value.
  • #381 f8dbfb4 Thanks @flixlix! - Fix: the non-fossil node is now hidden while grid import is within the grid's display_zero_tolerance, the same as when the grid reads exactly 0 (unless fossil_fuel_percentage.display_zero is on).
  • #436 a2bf4c9 Thanks @flixlix! - The non-fossil node is labelled "Low-carbon" in your language, like Home Assistant's energy distribution card. Without a name its label used to be empty.
  • #428 8ad6715 Thanks @flixlix! - On right-to-left Home Assistant languages (Arabic, Hebrew, Persian, …) the flow lines connect the circles again. Before, the circles swapped sides while the lines did not, so grid and home ended up at the wrong ends of their lines. The card layout now stays the same as in left-to-right languages; text inside the circles still reads right to left.
  • #379 ef910cc Thanks @flixlix! - Cards no longer recalculate and redraw when an entity they don't show changes in Home Assistant, which lowers CPU and battery use on dashboards, especially on phones and tablets. Numbers are formatted with reused formatters, and the flow cards no longer measure their width on every update.
  • #383 a9f14aa Thanks @flixlix! - Individual devices are now sorted by their value, largest first, when sort_individual_devices is not set, as the documentation has always said. Until now an unset option left them in config order. Devices are compared in watts (or watt-hours), so a 3.8 kW charger now ranks above a 20 W light.
    If you have not set this option, your devices may move to a different slot, and on a card that shows only some of them, a different set may be visible. To keep your configured order, add sort_individual_devices: false to the card.
  • #368 7cc309d Thanks @flixlix! - Secondary-info templates for individual devices and the non-fossil node are now unsubscribed when the card is removed, and cards with more than four individual devices show the correct template for each one.
  • #425 7f71466 Thanks @flixlix! - Fix: only W and Wh units with an SI prefix are scaled. A water meter in m³ now shows 348.9 m³ instead of 348,900,000 m³, and a sensor in mW is read as milliwatts instead of megawatts. A unit_of_measurement of kW, MW, kWh or MWh on a node or individual device now shows the reading in that unit (1.5 kW instead of 1,500 kW); any other unit still shows the value as read from the entity.
  • #441 08b3465 Thanks @flixlix! - The card follows its width again after Home Assistant takes it out and puts it back while a dashboard loads; until a sensor changed, it kept the width it had while it was out.

Don't miss a new power-flow-card-plus release

NewReleases is sending notifications on new releases.