Fixing the Sunsynk Home Assistant Dashboard: House Load Issues After Adding an EV Charger
Latest version of my Sunsynk card
The Sunsynk Home Assistant Dashboard card is one of my most popular posts. My last update was adding the Octopus EV charger. Adding the EV meant I had to change the full card option. This led to me losing the house load. I could see the house load, but it included the heat pump. In my previous version it was split out. This was bugging me and I wanted to find a solution. The problem was, if I used the code below, it would not show any of the loads.
If you’ve been following along with our smart home journey, you know that the Sunsynk Home Assistant Dashboard card is one of my favourite, most popular cards. It gives us such a clear view of our energy usage.
The last time we updated the dashboard, we were excited because we finally got the Octopus EV charger connected. Adding the EV was a big deal, but it meant we had to overhaul the entire dashboard card setup.
And that’s where I ran into a problem, not a big problem.
When I updated the card to accommodate the EV, we lost our ability to easily see the individual house load reading. While I could still see the total house load, it was including the heat pump and not in the way it used to. In our previous version, the heat pump load was neatly split out for me. Now, it was all lumped together, and honestly, it was bugging me!
The answer was to stop using additional_loads: 2 and swap to aux_loads: 2
# Old Code
load:
essential_name: House
auto_scale: true
show_aux: false
show_daily: true
dynamic_colour: true
dynamic_icon: true
additional_loads: 2
load1_name: Heating
load1_icon: mdi:heat-pump
load2_name: Water
load2_icon: mdi:water-thermometer
# New Code
load:
essential_name: House
auto_scale: true
show_aux: true
show_daily: true
dynamic_colour: true
dynamic_icon: true
additional_loads: 0
aux_loads: 2
aux_load1_name: Heating
aux_load1_icon: mdi:heat-pump
aux_load2_name: Water
aux_load2_icon: mdi:water-thermometer
It was now working graphically, but the house load was still showing the combined total. I needed to make a Template sensor to calculate just the house load. Follow these steps to make the Template Sensor.
Settings - Devices & services - Helpers Tab. Click on Create helper in the bottom right hand corner. Below is my calculation. You will have to change the entities to match your seup.
{{ (states('sensor.lux_home_consumption_live') | float(0)) -
((states('sensor.heat_pump_power') | float(0)) +
(states('sensor.immersion_power') | float(0))) }}
It will look like this in the GUI. Set W as the Unit of measurement and Power as the Device class
Template Sensor house consumption calculation
The complete Sunsynk card YAML code is as follows
type: custom:sunsynk-power-flow-card
cardstyle: full
wide: false
large_font: false
show_solar: true
show_battery: true
show_grid: true
center_no_grid: false
card_height: 100%
card_width: 100%
decimal_places: 2
decimal_places_energy: 1
dynamic_line_width: true
max_line_width: 4
min_line_width: 1
inverter:
model: lux
modern: false
auto_scale: true
battery:
energy: 19200
shutdown_soc: 5
show_daily: true
invert_power: true
colour: "#ffa500"
auto_scale: true
max_power: 3600
show_remaining_energy: true
charge_colour: "#008000"
remaining_energy_to_shutdown: true
solar:
colour: "#008000"
show_daily: true
mppts: 2
display_mode: 2
pv1_name: Front
pv1_max_power: 3360
pv2_name: Back
pv2_max_power: 2520
auto_scale: true
dynamic_colour: true
efficiency: 3
load:
essential_name: House
auto_scale: true
show_aux: true
show_daily: true
dynamic_colour: true
dynamic_icon: true
additional_loads: 0
aux_loads: 2
aux_load1_name: Heating
aux_load1_icon: mdi:heat-pump
aux_load2_name: Water
aux_load2_icon: mdi:water-thermometer
grid:
colour: "#ff0000"
dynamic_colour: true
show_daily_buy: true
show_daily_sell: true
show_nonessential: true
nonessential_name: EV
nonessential_icon: mdi:ev-plug-type2
invert_grid: true
no_grid_colour: "#9e9e9e"
auto_scale: true
export_colour: "#008000"
grid_off_colour: "#9e9e9e"
label_daily_grid_sell: Export
label_daily_grid_buy: Import
entities:
day_pv_energy_108: sensor.lux_solar_output_daily
inverter_voltage_154: sensor.lux_grid_voltage_live
load_frequency_192: sensor.lux_grid_frequency_live
inverter_current_164: none
inverter_power_175: sensor.lux_battery_flow_live
inverter_status_59: sensor.lux_status
day_battery_charge_70: sensor.lux_battery_charge_daily
day_battery_discharge_71: sensor.lux_battery_discharge_daily
battery_voltage_183: sensor.lux_battery_voltage_live
battery_soc_184: sensor.lux_battery
battery_power_190: sensor.lux_battery_flow_live
battery_current_191: none
grid_power_169: sensor.grid_power
day_grid_import_76: sensor.lux_power_from_grid_daily
day_grid_export_77: sensor.lux_power_to_grid_daily
grid_ct_power_172: sensor.lux_grid_flow_live
day_load_energy_84: sensor.lux_home_consumption_daily
essential_power: sensor.house_usage
aux_power_166: sensor.heat_pump_and_immersion_power
pv_total: sensor.lux_solar_output_live
pv1_power_186: sensor.lux_solar_output_array_2_live
pv2_power_187: sensor.lux_solar_output_array_1_live
pv1_voltage_109: none
pv1_current_110: none
pv2_voltage_111: none
pv2_current_112: none
inverter_ac_temp: sensor.lux_radiator_1_temperature_live
inverter_dc_temp: sensor.lux_radiator_2_temperature_live
remaining_solar: sensor.solcast_pv_forecast_forecast_remaining_today
energy_cost_sell: sensor.agile_current_export_rate
energy_cost_buy: sensor.agile_current_import_rate
environment_temp: sensor.espaltherma_outdoor_air_temperature
aux_load1: sensor.heat_pump_power
aux__load2: sensor.immersion_power
nonessential_power: sensor.shelly_pro_em_50_ev_charger_energy_meter_0_power
Here are some more examples with the house in different states of load