Sunsynk + Home Assistant

Obviously my entity names will probably differ and there are some custom entities here (like for energy usage) which you'd have to create. I also haven't touched this in ages, so not sure if everything is still as it should be but seems to be working.

YAML:
type: custom:sunsynk-power-flow-card
cardstyle: lite
show_solar: true
battery:
  energy: 15960
  shutdown_soc: 20
  show_daily: true
  invert_power: true
  max_power: 7500
  auto_scale: false
  show_remaining_energy: true
  hide_soc: true
solar:
  show_daily: true
  mppts: 2
  max_power: 6500
  auto_scale: false
load:
  show_daily: true
  auto_scale: false
  dynamic_icon: false
  dynamic_colour: true
grid:
  show_daily_buy: true
  show_daily_sell: false
  show_nonessential: false
  auto_scale: false
entities:
  use_timer_248: switch.use_timer
  priority_load_243: none
  inverter_voltage_154: sensor.ac_output_voltage
  load_frequency_192: sensor.ac_output_frequency
  inverter_current_164: none
  inverter_power_175: sensor.load_power
  grid_connected_status_194: binary_sensor.inverter_grid_available
  inverter_status_59: none
  day_battery_charge_70: sensor.battery_energy_in
  day_battery_discharge_71: sensor.battery_energy_out
  battery_voltage_183: sensor.battery_voltage
  battery_soc_184: sensor.battery_state_of_charge
  battery_power_190: sensor.battery_power
  battery_current_191: sensor.battery_current
  battery_temp_182: sensor.battery_temperature
  grid_power_169: sensor.grid_power
  day_grid_import_76: sensor.grid_consumption_total_kwh_daily
  day_grid_export_77: sensor.grid_energy_out
  grid_ct_power_172: sensor.grid_power_ct
  day_load_energy_84: sensor.inverter_load_total_kwh_daily
  essential_power: sensor.load_power_essential
  nonessential_power: sensor.load_power_non_essential
  aux_power_166: none
  day_pv_energy_108: sensor.pv_total_kwh_daily
  pv1_power_186: sensor.pv_power_1
  pv2_power_187: sensor.pv_power_2
  pv1_voltage_109: sensor.pv_voltage_1
  pv1_current_110: sensor.pv_current_1
  pv2_voltage_111: sensor.pv_voltage_2
  pv2_current_112: sensor.pv_current_2
  pv_total: sensor.pv_power
  total_pv_generation: sensor.pv_total_kwh_daily
  remaining_solar: sensor.forecast_remaining_today
panel_mode: false
show_battery: true
show_grid: true
inverter:
  modern: true
  model: sunsynk
  autarky: "no"
large_font: false

Thanks so much ;) Similar to what I found yesterday but looks to have a lot more options so I'll give it a try and see what I can get working.
 
Thanks so much ;) Similar to what I found yesterday but looks to have a lot more options so I'll give it a try and see what I can get working.

Getting there but I'll have to make a bunch of custom sensors as things like daily battery charge/discharge and daily grid buy are incorrect as I think the Solar Assistant supplied ones are for a week. I could change the reset for the totals to daily though, might look at that...

1748505562551.png
 
Getting there but I'll have to make a bunch of custom sensors as things like daily battery charge/discharge and daily grid buy are incorrect as I think the Solar Assistant supplied ones are for a week. I could change the reset for the totals to daily though, might look at that...

View attachment 1823865

Getting better...

1748514091971.png
 
Hehe, wonder how many folks have been expanding theirs with all the updates.

Mine.

View attachment 1823916
not me. - If it ain't broke don't fix it. Have to say have not done anything in HA itself for months - small Tuya Auth issue for a few days but that was it. Don't bother to tinker anymore even with all the cool stuff @Slip and the HA team themselves have come out with.

1748521552496.png


YAML:
type: custom:sunsynk-power-flow-card
cardstyle: full
decimal_places: 2
panel_mode: false
large_font: false
show_solar: true
card_height: "400"
inverter:
  modern: false
  colour: grey
  autarky: power
  model: sunsynk
battery:
  auto_scale: true
  energy: 11000
  invert_power: true
  colour:
    - 255
    - 128
    - 128
  show_daily: true
  animation_speed: 6
  max_power: 9000
  full_capacity: 100
  empty_capacity: 20
  charge_colour:
    - 52
    - 178
    - 77
  linear_gradient: true
  dynamic_colour: true
  show_remaining_energy: true
  hide_soc: false
  animate: true
  shutdown_soc: 10
solar:
  colour: orange
  show_daily: true
  mppts: 1
  animation_speed: 9
  max_power: 4360
  pv1_name: Garage
  pv2_name: North
  pv3_name: East
  pv4_name: West
  display_mode: 2
  dynamic_colour: true
  efficiency: 1
  auto_scale: true
load:
  auto_scale: true
  colour: "#5fb6ad"
  show_daily: true
  show_aux: false
  invert_aux: false
  aux_name: Generator
  aux_type: gen
  animation_speed: 8
  max_power: 8000
  additional_loads: 2
  load1_name: Geysers
  load2_name: Pool
  load1_icon: boiler
  load2_icon: mdi:pool
  load3_icon: mdi:dishwasher
  load3_name: Dishwasher
  load4_name: Washing Machine
  load4_icon: mdi:washing-machine
  dynamic_colour: true
  dynamic_icon: true
grid:
  auto_scale: true
  colour:
    - 255
    - 128
    - 64
  show_daily_buy: true
  show_daily_sell: false
  no_grid_colour:
    - 0
    - 128
    - 255
  show_nonessential: true
  invert_grid: false
  nonessential_name: Non Essential
  nonessential_icon: oven
  additional_loads: 1
  load1_name: null
  load2_name: Load 2
  load1_icon: mdi:stove
  load2_icon: mdi:ev-station
  animation_speed: 8
  max_power: 8000
  grid_off_colour:
    - 255
    - 0
    - 0
  grid_name: Eskom
entities:
  auto_scale: true
  use_timer_248: switch.use_timer
  priority_load_243: switch.prioritize_load
  day_battery_charge_70: sensor.stats_daily_battery_energy_in
  day_battery_discharge_71: sensor.stats_daily_battery_energy_out
  day_load_energy_84: sensor.stats_daily_electricity_total_usage
  day_grid_import_76: sensor.stats_daily_grid_utilisation
  day_grid_export_77: sensor.sunsynk_day_grid_export
  day_pv_energy_108: sensor.stats_daily_pv_energy_generated
  inverter_voltage_154: sensor.grid_voltage
  load_frequency_192: sensor.grid_frequency
  inverter_current_164: sensor.current
  inverter_power_175: sensor.load_power
  grid_power_169: sensor.grid_power
  pv1_power_186: sensor.pv_power_1
  pv2_power_187: none
  pv3_power_188: none
  pv4_power_189: none
  pv_total: sensor.pv_power
  pv1_voltage_109: sensor.pv_voltage_1
  pv1_current_110: sensor.pv_current_1
  pv2_voltage_111: sensor.pv_voltage_2
  pv2_current_112: sensor.pv_current_2
  pv3_voltage_113: none
  pv3_current_114: none
  pv4_voltage_115: none
  pv4_current_116: none
  battery_voltage_183: sensor.battery_voltage
  battery_soc_184: sensor.battery_state_of_charge
  battery_power_190: sensor.battery_power
  battery_current_191: sensor.battery_current
  essential_power: sensor.load_power_essential
  essential_load1: sensor.combined_geyser_power
  essential_load2: sensor.pool_pump_energy_power
  essential_load3: sensor.dishwasher_power
  essential_load4: sensor.washing_machine_power
  essential_load1_extra: sensor.stats_daily_bathroom_geyser
  essential_load2_extra: sensor.stats_daily_pool_pump_usage
  essential_load3_extra: sensor.stats_daily_dishwasher_usage
  essential_load4_extra: sensor.stats_daily_washing_machine_usage
  nonessential_power: sensor.load_power_non_essential
  non_essential_load1: none
  non_essential_load2: none
  grid_ct_power_172: sensor.grid_power_ct
  grid_connected_status_194: binary_sensor.grid_power_available
  inverter_status_59: sensor.device_mode
  remaining_solar: sensor.solcast_pv_forecast_forecast_remaining_today
  battery_temp_182: sensor.temperature_2
  radiator_temp_91: sensor.temperature
  dc_transformer_temp_90: sensor.sunsynk_dc_transformer_temperature
  prog1_time: sensor.sunsynk_time_slot_1
  prog1_capacity: number.sunsynk_system_mode_soc_time1
  prog1_charge: switch.sunsynk_system_mode_grid_charge_time1
  prog2_time: sensor.sunsynk_time_slot_2
  prog2_capacity: number.sunsynk_system_mode_soc_time2
  prog2_charge: switch.sunsynk_system_mode_grid_charge_time2
  prog3_time: sensor.sunsynk_time_slot_3
  prog3_capacity: number.sunsynk_system_mode_soc_time3
  prog3_charge: switch.sunsynk_system_mode_grid_charge_time3
  prog4_time: sensor.sunsynk_time_slot_4
  prog4_capacity: number.sunsynk_system_mode_soc_time4
  prog4_charge: switch.sunsynk_system_mode_grid_charge_time4
  prog5_time: sensor.sunsynk_time_slot_5
  prog5_capacity: number.sunsynk_system_mode_soc_time5
  prog5_charge: switch.sunsynk_system_mode_grid_charge_time5
  prog6_time: sensor.sunsynk_time_slot_6
  prog6_capacity: number.sunsynk_system_mode_soc_time6
  prog6_charge: switch.sunsynk_system_mode_grid_charge_time6
  energy_cost: sensor.tibber_energy_cost
  environment_temp: sensor.temperature_env
show_battery: true
dynamic_line_width: true
max_line_width: 5
show_grid: true
visibility:
  - condition: user
    users:
      - f7813270d6f84abaa4ff5
      - 2643571ca9704e0a87940
      - 44631d7c091e492e90d70
 
not me. - If it ain't broke don't fix it. Have to say have not done anything in HA itself for months - small Tuya Auth issue for a few days but that was it. Don't bother to tinker anymore even with all the cool stuff @Slip and the HA team themselves have come out with.

View attachment 1823940

Gud lawd :oops: Look at all that yaml code!
 
1748534353425.png

Mine hasn't been updated in a while, but I do enjoy the lite view.

YAML:
type: custom:sunsynk-power-flow-card
cardstyle: compact
large_font: true
show_solar: true
panel_mode: false
card_height: 415px
dynamic_line_width: true
max_line_width: 10
inverter:
  modern: true
  colour: "#959595"
  autarky: power
  auto_scale: false
  max_power: 8000
  model: sunsynk
solar:
  mppts: 2
  show_daily: true
  colour: "#F4C430"
  animation_speed: 5
  max_power: 6660
  auto_scale: false
battery:
  energy: 20000
  shutdown_soc: 15
  show_daily: true
  colour: pink
  animation_speed: 5
  max_power: 8000
  show_absolute: false
  invert_power: false
  auto_scale: false
load:
  show_aux: false
  show_daily: true
  animation_speed: 5
  max_power: 8000
  additional_loads: 2
  load1_icon: boiler
  load2_icon: mdi:printer-3d
  dynamic_colour: true
  auto_scale: false
grid:
  show_daily_buy: true
  no_grid_colour: "#BE87E2"
  animation_speed: 5
  max_power: 8000
  energy_cost_decimals: 2
  show_daily_sell: false
  invert_grid: false
  auto_scale: false
  show_nonessential: false
entities:
  use_timer_248: switch.ss_use_timer
  priority_load_243: switch.ss_priority_load
  inverter_voltage_154: sensor.ss_grid_voltage
  load_frequency_192: sensor.ss_grid_frequency
  inverter_current_164: sensor.ss_inverter_current
  inverter_power_175: sensor.ss_inverter_power
  grid_connected_status_194: binary_sensor.ss_grid_connected
  inverter_status_59: sensor.ss_overall_state
  day_battery_charge_70: sensor.ss_day_battery_charge
  day_battery_discharge_71: sensor.ss_day_battery_discharge
  battery_voltage_183: sensor.ss_battery_voltage
  battery_soc_184: sensor.ss_battery_soc
  battery_power_190: sensor.ss_battery_power
  battery_current_191: sensor.ss_battery_current
  grid_power_169: sensor.ss_grid_power
  day_grid_import_76: sensor.ss_day_grid_import
  day_grid_export_77: sensor.ss_day_grid_export
  grid_ct_power_172: sensor.ss_grid_ct_power
  day_load_energy_84: sensor.ss_day_load_energy
  essential_power: sensor.ss_essential_power
  nonessential_power: sensor.ss_non_essential_power
  aux_power_166: sensor.ss_aux_power
  day_pv_energy_108: sensor.ss_day_pv_energy
  pv1_power_186: sensor.ss_pv1_power
  pv2_power_187: sensor.ss_pv2_power
  pv3_power_188: none
  pv4_power_189: none
  pv1_voltage_109: sensor.ss_pv1_voltage
  pv1_current_110: sensor.ss_pv1_current
  pv2_voltage_111: sensor.ss_pv2_voltage
  pv2_current_112: sensor.ss_pv2_current
  pv3_voltage_113: none
  pv3_current_114: none
  pv4_voltage_115: none
  pv4_current_116: none
  essential_load1: sensor.geyser_power
  essential_load1_extra: sensor.geyser_temperature
  essential_load2: sensor.3d_printer_power
  prog1_time: select.ss_prog1_time
  prog1_capacity: number.ss_prog1_capacity
  prog1_charge: select.ss_prog1_mode
  prog2_time: select.ss_prog2_time
  prog2_capacity: number.ss_prog2_capacity
  prog2_charge: select.ss_prog2_mode
  prog3_time: select.ss_prog3_time
  prog3_capacity: number.ss_prog3_capacity
  prog3_charge: select.ss_prog3_mode
  prog4_time: select.ss_prog4_time
  prog4_capacity: number.ss_prog4_capacity
  prog4_charge: select.ss_prog4_mode
  prog5_time: select.ss_prog5_time
  prog5_capacity: number.ss_prog5_capacity
  prog5_charge: select.ss_prog5_mode
  prog6_time: select.ss_prog6_time
  prog6_capacity: number.ss_prog6_capacity
  prog6_charge: select.ss_prog6_mode
  remaining_solar: sensor.forecast_remaining_today
  battery_temp_182: sensor.ss_battery_temperature
  radiator_temp_91: sensor.ss_radiator_temperature
  dc_transformer_temp_90: sensor.ss_dc_transformer_temperature
  energy_cost_buy: input_number.cot_power_rate
  pv_total: sensor.total_pv_power
  grid_voltage: sensor.ss_grid_voltage
  prepaid_units: sensor.prepaid_units_left
show_grid: true
show_battery: true
view_layout:
  grid-area: flow
 
Anyone know why I always get the small negative watts from the non essential load?
 

Attachments

  • IMG_5500.png
    IMG_5500.png
    266.9 KB · Views: 23
  • IMG_5499.png
    IMG_5499.png
    81.3 KB · Views: 23
Hi, I am trying to get the AC temperature of the inverter and can't seem to get this info, what entity is this? Is it coming from Solar Assistant? Any help will be great.
 
Anyone know why I always get the small negative watts from the non essential load?
I have the same issue with a Deye 8KW. The 5KW didnt have the issue but there is something with the 8, internally that seems to whack the calculation. I mean its pretty basic , power at CT vs power at CTL1 , thats your grid power, inverter power is L1 power.

So the difference between Ext CT vs CT L1 is whatever my non-essentials are consuming. Difference between CTL1 and Load L1 is what the inverter is consuming. The 20W consumption is normally what your inverter allows to flow in from eskom to monitor the up state of the grid.

But like I said, there's some funny thing with the CT L1 that doesnt take it into account, as I often have CTL1 at 0 and External CT at 20W which makes it think that my non essentials are actually consuming the 20W but its actually being received by the inverter. And yet, I can tell because my non-essentials are also on smartsiwtches so I KNOW there is no power going to them.
 
Hi, I am trying to get the AC temperature of the inverter and can't seem to get this info, what entity is this? Is it coming from Solar Assistant? Any help will be great.
What are you using? I am using the solarman integation 1.4.2.

1748591682291.png
1748591711471.png

Not sure how folks are getting the solar panel tempratures
 
Last edited:
I see that integration uses MQTT. Maybe install MQTT explorer and browse the available topics and see if you can pick it up? You should be able to capture it then as a sensor.

I use MQTT Explorer addon to inspect. https://mqtt-explorer.com/
I have the MQTT explorer, but it looks like it is only the DC temp that is being reported on.
 
Hi, I am trying to get the AC temperature of the inverter and can't seem to get this info, what entity is this? Is it coming from Solar Assistant? Any help will be great.
Mine has just been configured as sensor.temperature (yes, not ideal) but it's there.

1748593787892.png

This is the MQTT payload:

1748593900105.png
 
I made mine very basic and my wife still doesn't understand it
1748611380505.png

Then I made her this which she says she does understand. She clearly doesn't think in pictures.

1748611442378.png

Evidence still shows that she will turn on the tumble dryer at 6PM when the sun goes down
 
Top
Sign up to the MyBroadband newsletter
X