Energy Dashboard
For the Solar panels I use: Solar Panel Production Daily (sensor.solar_panel_production_daily)
For Battery export I use: Solaredge I1 M1 AC Energy Exported (sensor.solaredge_i1_m1_ac_energy_exported)
For Battery import I use: Solaredge I1 M1 AC Energy Imported (sensor.solaredge_i1_m1_ac_energy_imported)
In one of the post in Remko’s post (Solaredge Modbus Configuration for Single Inverter and Battery - #45 by Remko) it said to use “sensor.solaredge_i1_ac_energy_kwh” for your solar panels, but somewhere else I found that current sensor I’m using. Try for yourself what gives you the best result.
Sample Dashboard
In Remko’s first post he gives a sample of his “Energy Dashboard”. I edited it with the right entity names:
With this code:
type: sections
max_columns: 3
title: Solar
path: solar
sections:
- type: grid
cards:
- type: energy-date-selection
- type: energy-usage-graph
title: Energy Usage
- type: custom:apexcharts-card
series:
- entity: sensor.solar_panel_to_house_daily
name: Direct Consumption
color: var(--energy-solar-color)
- entity: sensor.solar_battery_out_daily
name: Battery Usage
color: var(--energy-battery-out-color)
- entity: sensor.solar_imported_power_daily
name: Imported Power
color: var(--energy-grid-consumption-color)
update_interval: 1min
chart_type: donut
apex_config:
plotOptions:
pie:
expandOnClick: false
donut:
size: 50%
labels:
show: true
value:
fontSize: 32px
fontWeight: 900
total:
show: true
showAlways: true
label: Autarkierate
formatter: |
EVAL:function(w) {
let values = w.globals.seriesTotals;
let total = values[0] + values[1] + values[2];
let self = values[0] + values[1];
return ((self / total) * 100).toFixed(0) + "%";
}
dataLabels:
formatter: |
EVAL:function(value) {
return value.toFixed(0) + "%";
}
chart:
selection:
enabled: false
tooltip:
enabled: false
states:
normal:
filter:
type: none
value: 0
hover:
filter:
type: none
value: 0
active:
filter:
type: none
value: 0
legend:
onItemClick:
toggleDataSeries: false
onItemHover:
highlightDataSeries: false
- type: custom:apexcharts-card
series:
- entity: sensor.solar_panel_to_house_daily
name: Direct Usage
color: var(--energy-solar-color)
- entity: sensor.solar_battery_in_daily
name: Battery Charging
color: var(--energy-battery-in-color)
- entity: sensor.solar_exported_power_daily
name: Exported Power
color: var(--energy-grid-return-color)
update_interval: 1min
chart_type: donut
apex_config:
plotOptions:
pie:
expandOnClick: false
donut:
size: 50%
labels:
show: true
value:
fontSize: 32px
fontWeight: 900
total:
show: true
showAlways: true
label: Self Consumption
formatter: |
EVAL:function(w) {
let values = w.globals.seriesTotals;
let total = values[0] + values[1] + values[2];
let self = values[0] + values[1];
return ((self / total) * 100).toFixed(0) + "%";
}
dataLabels:
formatter: |
EVAL:function(value) {
return value.toFixed(0) + "%";
}
chart:
selection:
enabled: false
tooltip:
enabled: false
states:
normal:
filter:
type: none
value: 0
hover:
filter:
type: none
value: 0
active:
filter:
type: none
value: 0
legend:
onItemClick:
toggleDataSeries: false
onItemHover:
highlightDataSeries: false
- type: grid
cards:
- type: energy-solar-graph
title: Solar Production
- type: custom:tesla-style-solar-power-card
name: Home Energy Flow
change_house_bubble_color_with_flow: 1
threshold_in_k: 1
show_gap: true
grid_to_house_entity: sensor.solar_grid_to_house_w
grid_to_battery_entity: sensor.solar_grid_to_battery_w
generation_to_grid_entity: sensor.solar_panel_to_grid_w
generation_to_battery_entity: sensor.solar_panel_to_battery_w
generation_to_house_entity: sensor.solar_panel_to_house_w
battery_to_house_entity: sensor.solar_battery_to_house_w
battery_to_grid_entity: sensor.solar_battery_to_grid_w
battery_extra_entity: sensor.solaredge_i1_b1_state_of_energy
- type: gauge
entity: sensor.solaredge_i1_b1_state_of_energy
needle: true
name: Batterij lading
min: 0
severity:
green: 50
yellow: 10
red: 0
max: 100
- type: grid
cards:
- type: custom:power-distribution-card
title: ""
entities:
- name: Grid
preset: grid
icon: mdi:transmission-tower
entity: sensor.solaredge_i1_m1_ac_power
unit_of_display: W
decimals: 0
invert_value: true
- name: Solar
preset: solar
icon: mdi:solar-power
entity: sensor.solar_panel_production_w
unit_of_display: W
decimals: 0
- name: Home
preset: home
icon: mdi:home
entity: sensor.solar_house_consumption_w
unit_of_display: W
decimals: 0
invert_value: true
- name: Battery
preset: battery
icon: mdi:battery-high
entity: sensor.solaredge_i1_b1_dc_power
unit_of_display: W
decimals: 0
invert_value: true
center:
type: bars
content:
- preset: custom
name: INV
bar_color: var(--paper-item-icon-color)
entity: sensor.solar_inverter_effectiveness_int
- preset: custom
name: BAT
bar_color: var(--paper-item-icon-color)
entity: sensor.solar_battery_effectiveness_int
animation: flash
- type: entities
entities:
- entity: sensor.solar_panel_production_daily
name: Produced
icon: mdi:solar-power
- entity: sensor.solar_house_consumption_daily
name: Consumed
icon: mdi:home-lightning-bolt-outline
- entity: sensor.solar_imported_power_daily
name: Imported
icon: mdi:transmission-tower-export
- entity: sensor.solar_exported_power_daily
name: Exported
icon: mdi:transmission-tower-import
- entity: sensor.solar_battery_in_daily
name: Charged
icon: mdi:battery-positive
- entity: sensor.solar_battery_out_daily
name: Discharged
icon: mdi:battery-negative
- entity: sensor.solar_lifetime_production
show_header_toggle: false
cards: []
You need the following HACS integrations for this dashboard:
- apexcharts-cards
- Power Flow Card Plus
- template-entity-row
- Tesla style solar power card
- power-distribution-card
Apexcharts Cards:
In order to see what my solar panels and battery is doing, I created 3 Apexcharts cards. These reflect the SolarEdge Monitoring app. To get it exactly the same I believe you have to stack one or two entities, but I don’t how to do that. I also used the same colours as in the SolarEdge app in a previous version, but the visibility wasn’t great. So therefor the original HA colours
Edit: I discovered how to stack. When I did this I noticed that I didn’t use all the right sensors. I corrected this. Also went back to the colour scheme used in the SolarEdge Monitoring app. Also played some with ‘func: avg’, this one seems to give the best result.
SolarEdge Production:
type: custom:apexcharts-card
graph_span: 24h
update_interval: 5min
cache: false
apex_config:
chart:
stacked: true
stackOnlyBar: false
legend:
show: false
grid:
show: true
borderColor: "#666666"
all_series_config:
stroke_width: 1
type: area
group_by:
func: avg
duration: 15m
header:
show: true
title: SolarEdge Productie
show_states: true
colorize_states: true
series:
- entity: sensor.solar_panel_to_house_w
color: "#009a40"
name: Solar > Huis
- entity: sensor.solar_panel_to_battery_w
color: "#80ffb5"
name: Solar > Batterij
- entity: sensor.solar_panel_to_grid_w
color: "#00a3b3"
name: Solar > Net
SolarEdge Usage:
type: custom:apexcharts-card
graph_span: 24h
update_interval: 5min
cache: false
apex_config:
chart:
stacked: true
stackOnlyBar: false
legend:
show: false
grid:
show: true
borderColor: "#666666"
all_series_config:
stroke_width: 1
type: area
group_by:
func: avg
duration: 15m
header:
show: true
title: SolarEdge Verbruik
show_states: true
colorize_states: true
series:
- entity: sensor.solar_panel_to_house_w
color: "#4774cc"
name: Solar > Huis
- entity: sensor.solar_battery_to_house_w
color: "#a6c3ff"
name: Batterij > Huis
- entity: sensor.solar_grid_to_house_w
color: "#ff8800"
name: Net > Huis
Battery state:
type: custom:apexcharts-card
graph_span: 24h
apex_config:
legend:
show: false
grid:
show: true
borderColor: "#666666"
all_series_config:
stroke_width: 2
header:
show: true
title: Battery
show_states: true
colorize_states: true
series:
- entity: sensor.solaredge_i1_b1_state_of_energy
show:
name_in_header: false
These 3 will give you the following cards:
This seems to correspond to the SolarEdge Monitoring app:






