Configuration
Every option, what it does, and how to use it. Required fields are marked with *. The colored section headers group options by which entity they apply to.
Card options
Top-level options that affect the whole card — title, dashboard links, decimals, flow speed, and behavior toggles.
type: custom:energy-flow-card-plus
title: My energy
kilo_threshold: 1000
kilo_decimals: 2
clickable_entities: true
entities:
# ...Actions
Per-circle click handlers. Use these to open more-info, navigate, call services, or fire scripts.
Requires clickable_entities: true.
Each clickable circle supports the standard Home Assistant action objects. If you don't configure these and have clickable_entities: true, the card falls back to opening more-info.
entities:
grid:
entity: sensor.grid_energy
tap_action:
action: navigate
navigation_path: /lovelace/energy
hold_action:
action: more-infoEntities
The heart of the configuration. At least one of grid, battery or solar is required. All values use Wh/kWh as unit_of_measurement (except state_of_charge, which is a percentage).
Each child below has its own dedicated section with all options. Pick the ones you need and skip the rest.
Grid
The connection to the public power grid. Supports either a single bidirectional sensor or split production/consumption sensors.
entities:
grid:
entity:
consumption: sensor.grid_consumption
production: sensor.grid_production
name: Provider
display_state: one_way
color_circle: color_dynamically
power_outage:
entity: binary_sensor.grid_statusSolar
Solar production. A single sensor giving the current solar output is enough.
entities:
solar:
entity: sensor.solar_energy
name: PV
icon: mdi:solar-panel-large
color_icon: true
display_zero: trueBattery
entities:
battery:
entity:
consumption: sensor.battery_consumption
production: sensor.battery_production
state_of_charge: sensor.battery_soc
state_of_charge_decimals: 0
display_state: one_way
color_circle: color_dynamicallyIndividual devices
As many as you want, up to four individual devices are shown.
EVs, heat pumps, ovens, anything you'd like to call out.
individual is an array of device objects. Each appears as an extra circle on the card. The structure below documents the fields each item accepts.
entities:
individual:
- entity: sensor.car_energy
name: EV
icon: mdi:car-electric
color: "#80b8ff"
color_icon: true
- entity: sensor.heatpump_energy
name: Heat pump
icon: mdi:heat-pump
display_zero: trueHome
The receiving circle. Its value is computed from the other sources by default — you only need an entity for the more-info dialog.
entities:
home:
entity: sensor.home_consumption
name: Casa
color_icon: solar
subtract_individual: trueFossil fuel / low-carbon
Show the percentage of low-carbon energy on the grid (e.g. from the CO2 Signal integration).
entities:
fossil_fuel_percentage:
entity: sensor.fossil_fuel_percentage
state_type: power
display_zero: true
color_icon: true
name: Non-fossilShared objects
Color object
Used by Grid and Battery to specify a separate color for production and consumption.
entities:
grid:
entity: sensor.grid_energy
color:
consumption: "#488fc2"
production: "#8353d1"Split entities
Use this on Grid or Battery when production and consumption come from separate sensors. Both must share a compatible unit_of_measurement.
entities:
grid:
entity:
consumption: sensor.grid_consumption
production: sensor.grid_productionSecondary info
Adds a small extra value next to a circle. Great for an EV's SoC, a daily total, or a templated string.
entities:
individual:
- entity: sensor.car_energy
secondary_info:
entity: sensor.car_soc
unit_of_measurement: "%"
decimals: 0
icon: mdi:batteryPower outage
Detect a grid outage and react: switch the icon, show a label, override the flow rate, optionally include a generator entity.
entities:
grid:
entity: sensor.grid_energy
power_outage:
entity: binary_sensor.grid_status
state_alert: "off"
icon_alert: mdi:flash-off
label_alert: OutageDisplay zero lines
What to do with lines whose value is 0 — keep them visible, hide them, or fade them out.
display_zero_lines:
mode: transparency
transparency: 60Energy collection key
Bind the card to a specific Home Assistant energy dashboard's collection.
Home Assistant exposes one energy collection per dashboard plus a default. Each collection has its own selected period (today, week, custom range). By default, the card binds to the active dashboard's collection.
Set collection_key to follow a specific dashboard. Keys follow the pattern energy_<dashboard_url>.
type: custom:energy-flow-card-plus
collection_key: energy_living_room
entities:
grid:
entity: sensor.grid_energy
solar:
entity: sensor.solar_energyFlow formulas
The card animates dots along the lines. There are two formulas controlling how fast they travel.
Legacy (relative)
Each line's flow rate is calculated relative to all the others. When one line dominates, dots accelerate to keep a roughly constant dot count.
max - (value / totalLines) * (max - min);
// max = max_flow_rate
// min = min_flow_rate
// value = line value (e.g. solar to grid)
// totalLines = sum of all line valuesNew (absolute)
Speed maps directly to the value. A constant value always animates at the same speed regardless of other lines. Set use_new_flow_rate_model: true and tune the min/max_expected_power + min/max_flow_rate pairs.
if (value > maxIn) return maxOut;
return ((value - minIn) * (maxOut - minOut)) / (maxIn - minIn) + minOut;