Created
December 10, 2023 17:30
Energy Dashboard For Home Assistant
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
square: false | |
columns: 1 | |
type: grid | |
cards: | |
- type: horizontal-stack | |
cards: | |
- type: gauge | |
entity: sensor.growatt_sph_load_power | |
name: Load | |
severity: | |
green: 0 | |
yellow: 1 | |
red: 3 | |
needle: true | |
min: 0 | |
max: 4 | |
- type: gauge | |
entity: sensor.growatt_sph_grid_power | |
min: -3 | |
max: 3 | |
segments: | |
- from: -3 | |
color: '#ffa600' | |
- from: -0.03 | |
color: blue | |
- from: 0.03 | |
color: '#43a047' | |
- from: 1.4 | |
color: '#ffa600' | |
- from: 2 | |
color: '#db4437' | |
needle: true | |
name: Grid | |
- type: gauge | |
entity: sensor.growatt_grid_export_power | |
name: Export | |
needle: true | |
severity: | |
green: 0 | |
yellow: 0 | |
red: 1 | |
max: 3 | |
min: 0 | |
- type: gauge | |
entity: sensor.growatt_sph_pv_power_2 | |
max: 4.5 | |
needle: true | |
name: Front | |
severity: | |
green: 2 | |
yellow: 1 | |
red: 0 | |
- type: gauge | |
entity: sensor.growatt_sph_pv_power_1 | |
max: 3 | |
needle: true | |
name: Back | |
severity: | |
green: 1.5 | |
yellow: 1 | |
red: 0 | |
- type: gauge | |
entity: sensor.growatt_sph_battery_state_of_charge | |
max: 100 | |
severity: | |
green: 31 | |
yellow: 13 | |
red: 0 | |
needle: true | |
name: Battery | |
- type: conditional | |
conditions: | |
- entity: sensor.growatt_battery_charge_power | |
state_not: '0.0' | |
card: | |
type: conditional | |
conditions: | |
- entity: sensor.growatt_battery_charge_power | |
state_not: '0.0' | |
card: | |
type: gauge | |
entity: sensor.growatt_battery_charge_power | |
name: Charging | |
needle: true | |
max: 3.5 | |
severity: | |
green: 1 | |
yellow: 0 | |
red: 0 | |
- type: conditional | |
conditions: | |
- entity: sensor.growatt_battery_discharge_power | |
state_not: '0.0' | |
card: | |
type: gauge | |
entity: sensor.growatt_battery_discharge_power | |
max: 3.5 | |
needle: true | |
name: Discharging | |
severity: | |
green: 0 | |
yellow: 2.7 | |
red: 2.9 | |
- type: horizontal-stack | |
cards: | |
- type: custom:swipe-card | |
cards: | |
- type: entity | |
entity: sensor.growatt_solar_generated_energy_today | |
name: Solar Produced Today | |
- type: entity | |
entity: >- | |
input_number.total_solar_forecast_estimated_energy_production_tomorrow | |
name: Yesterday's Forecast | |
- type: entity | |
entity: sensor.total_solar_forecast_estimated_energy_production_today | |
name: Current Forecast | |
- type: entity | |
entity: sensor.smart_meter_electricity_import_today | |
name: Imported Today | |
- type: entity | |
entity: sensor.growatt_export_to_grid_today | |
name: Exported Today | |
- type: entity | |
entity: sensor.battery_charge_remaining_hours | |
name: Battery Run Time | |
attribute: duration | |
- type: entity | |
entity: sensor.time_to_charge_battery | |
attribute: duration | |
- type: entity | |
entity: sensor.growatt_load_consumption_today | |
name: Used Today | |
icon: mdi:home-lightning-bolt | |
- type: entity | |
entity: sensor.myenergi_eddi_energy_consumed_session | |
name: Eddi | |
- type: entity | |
entity: input_number.consecutive_forecast_days_below_solar_generation | |
name: Forecast Low Solar | |
- type: entity | |
entity: input_number.consecutive_days_battery_not_charged | |
name: Battery Not Fully Charged | |
- type: custom:apexcharts-card | |
hours_12: false | |
graph_span: 1d | |
header: | |
show: true | |
title: Power Source | |
show_states: true | |
colorize_states: true | |
all_series_config: | |
show: | |
extremas: true | |
series: | |
- entity: sensor.growatt_load_consumption | |
name: Load | |
curve: straight | |
stroke_width: 3 | |
color: rgb(255, 152, 82) | |
yaxis_id: watt | |
- entity: sensor.total_solar_forecast_estimated_power_production_now | |
transform: return x/1000 | |
name: Forecast | |
color: rgb(52, 152, 221) | |
stroke_width: 2 | |
opacity: 0.5 | |
yaxis_id: watt | |
- entity: sensor.growatt_input_watt | |
name: Solar | |
type: area | |
stroke_width: 2 | |
opacity: 0.1 | |
color: blue | |
yaxis_id: watt | |
- entity: sensor.growatt_grid_import | |
name: Import | |
type: area | |
curve: stepline | |
stroke_width: 2 | |
opacity: 0.1 | |
color: rgb(232, 113, 102) | |
yaxis_id: watt | |
- entity: sensor.growatt_export_to_grid | |
name: Export | |
type: area | |
curve: stepline | |
stroke_width: 2 | |
opacity: 0.1 | |
color: rgb(46, 204, 136) | |
invert: false | |
yaxis_id: watt | |
- entity: sensor.growatt_battery_1_discharged_rate | |
name: Battery | |
type: area | |
curve: stepline | |
stroke_width: 2 | |
opacity: 0.1 | |
color: rgb(155, 89, 182) | |
yaxis_id: watt | |
- entity: sensor.growatt_battery_1_state_of_charge | |
name: Charge | |
type: area | |
stroke_width: 2 | |
opacity: 0 | |
color: rgb(128, 128, 128) | |
yaxis_id: percent | |
show: | |
extremas: false | |
- entity: sun.sun | |
transform: 'return x === ''below_horizon'' ? 1 : 0;' | |
color: grey | |
type: area | |
curve: stepline | |
opacity: 0.2 | |
stroke_width: 0 | |
yaxis_id: timeofday | |
show: | |
datalabels: false | |
in_header: false | |
extremas: false | |
apex_config: | |
dataLabels: | |
enabled: true | |
dropShadow: | |
enabled: true | |
grid: | |
show: true | |
legend: | |
show: false | |
tooltip: | |
shared: true | |
xaxis: | |
axisBorder: | |
show: true | |
axisTicks: | |
show: true | |
labels: | |
show: true | |
tooltip: | |
enabled: false | |
chart: | |
height: 500 | |
yaxis: | |
- id: watt | |
apex_config: | |
labels: | |
show: true | |
axisBorder: | |
show: true | |
axisTicks: | |
show: true | |
title: | |
text: kW | |
- id: percent | |
min: 0 | |
max: 100 | |
opposite: true | |
apex_config: | |
labels: | |
show: true | |
axisBorder: | |
show: true | |
axisTicks: | |
show: true | |
title: | |
text: '%' | |
- id: timeofday | |
max: 0.1 | |
apex_config: | |
labels: | |
show: false | |
axisBorder: | |
show: false | |
axisTicks: | |
show: false | |
- type: custom:tabbed-card | |
options: {} | |
tabs: | |
- attributes: | |
icon: mdi:lightning-bolt | |
cards: | |
type: grid | |
columns: 1 | |
square: false | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.tv_plug_power_meter | |
- entity: sensor.tv_plug_energy_utility | |
show_state: true | |
show_graph: false | |
name: TV | |
icon: mdi:television-classic | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:swipe-card | |
cards: | |
- type: horizontal-stack | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.tv_plug_power | |
- entity: sensor.tv_plug_energy_utility | |
show_state: true | |
show_graph: false | |
name: TV | |
icon: mdi:television-classic | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.lounge_entertainment_plug_2_power | |
- entity: sensor.entertainment_plug_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Entertainment | |
icon: mdi:audio-video | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.oven_channel_1_power | |
- entity: sensor.oven_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Oven | |
icon: mdi:toaster-oven | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.dishwasher_power | |
- entity: sensor.dishwaser_energy_utility | |
show_state: true | |
show_graph: false | |
name: Dishwasher | |
icon: mdi:dishwasher | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.washing_machine_current_consumption | |
- entity: sensor.washing_machine_todays_consumption | |
show_state: true | |
show_graph: false | |
name: Washing Machine | |
icon: mdi:washing-machine | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: horizontal-stack | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.fridge_freezer_current_consumption | |
- entity: sensor.fridge_freezer_energy_utility | |
show_state: true | |
show_graph: false | |
name: Fridge Freezer | |
icon: mdi:fridge | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.freezer_power | |
- entity: sensor.freezer_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Freezer | |
icon: mdi:fridge-industrial | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.coffee_machine_power | |
- entity: sensor.coffee_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Coffee | |
icon: mdi:coffee-maker | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.kettle_power | |
- entity: sensor.kettle_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Kettle | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: horizontal-stack | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.bedroom_tv_plug_power | |
- entity: sensor.bedroom_tv_energy_utility | |
show_state: true | |
show_graph: false | |
name: Bedroom TV | |
icon: mdi:television-classic | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_ups_power | |
- entity: sensor.office_ups_energy_daily_utility | |
show_state: true | |
show_graph: false | |
icon: mdi:desktop-classic | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.server_ups_power | |
- entity: sensor.server_ups_energy_daily_utility | |
show_state: true | |
show_graph: false | |
icon: mdi:server | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.lounge_ups_power | |
- entity: sensor.lounge_ups_energy_daily_utility | |
show_state: true | |
show_graph: false | |
icon: mdi:lan | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: horizontal-stack | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.key_light_left_power | |
- entity: sensor.key_light_left_energy_daily | |
show_state: true | |
show_graph: false | |
name: Key Light Left | |
icon: mdi:spotlight | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.key_light_right_power | |
- entity: sensor.key_light_right_energy_daily | |
show_state: true | |
show_graph: false | |
name: Key Light Right | |
icon: mdi:spotlight | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_light_power | |
- entity: sensor.office_light_energy_daily | |
show_state: true | |
show_graph: false | |
name: Office 1 | |
icon: mdi:lightbulb | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_light_2_power | |
- entity: sensor.office_light_2_energy_daily | |
show_state: true | |
show_graph: false | |
name: Office 2 | |
icon: mdi:lightbulb | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_light_3_power | |
- entity: sensor.office_light_3_energy_daily | |
show_state: true | |
show_graph: false | |
name: Office 3 | |
icon: mdi:lightbulb | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_light_4_power | |
- entity: sensor.office_light_4_energy_daily | |
show_state: true | |
show_graph: false | |
name: Office 4 | |
icon: mdi:lightbulb | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: horizontal-stack | |
cards: | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.office_fan_power | |
- entity: sensor.office_fan_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Office Fan | |
icon: mdi:fan | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.porch_power | |
- entity: sensor.porch_energy_daily | |
show_state: true | |
show_graph: false | |
name: Porch | |
icon: mdi:lightbulb | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true | |
- type: custom:mini-graph-card | |
entities: | |
- entity: sensor.attic_lights_power | |
- entity: sensor.attic_lights_energy_daily_utility | |
show_state: true | |
show_graph: false | |
name: Attic Lights | |
icon: mdi:lightbulb-fluorescent-tube | |
show: | |
extrema: true | |
legend: false | |
average: true | |
fill: fade | |
line_width: 2 | |
lower_bound: 0 | |
min_bound_range: 100 | |
points_per_hour: 6 | |
animate: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment