Inverter Power Flow Card

Yes I will add that
image

1 Like

Hi @slipx06 ,

I just love your power flow card. It´s the best I ever had thank you…

One question about the moving dot on battery…
image

I wonder why it is moving even when Battery power is not being used is it possible to stop this dot and only run when I use battery or charge ?

Hi. The dot will only move if there is battery power. (battery_power_190 this sensor). In your screenshot your battery is producing 204W of power but no current so it looks like there is something strange going on with your battery sensors.

@slipx06:
Thank you so MUCH you was right I had a wrong sensor added to battery_power_190 , so I changed it and now it works :slight_smile:

I am using Solis-sensor from hultenvp

He did some very nice work to integrate with SolisCloud without Modbus :).

I only have one issue with his sensor : sensor.solis_total_consumption_power
Problem is that it is not including the sensor.solis_backup_load_power which mean I get a wrong output in my total consumption power.

Is it possible that I can use multiple sensor to give me the correct output for : your essential_power:
I need to tell it to take my sensor.solis_total_consumption_power and plus it with my sensor.solis_backup_load_power , so I get the correct consumption , would that be possible ?

I tried this : " essential_power: sensor.solis_total_consumption_power + sensor.solis_backup_load_power" , but of course that will not work :frowning:

Hi. You can create a template sensor for this:

- sensor:
    - name: total_consumption
      unique_id: total_consumption
      unit_of_measurement: "W"
      state: "{{states('sensor.solis_total_consumption_power') | int + states('sensor.solis_backup_load_power') | int }}"

@slipx06 awesome and I would really like to get that created. I tried to add the lines to my sensor.yaml for HA, but tells me it fails if I restart HA with that code ?

Added this to the top in sensor.yaml

- sensor:
    - name: total_consumption
      unique_id: total_consumption
      unit_of_measurement: "W"
      state: "{{states('sensor.solis_total_consumption_power') | int + states('sensor.solis_backup_load_power') | int }}"

and get this…

EDIT…
So I found out to use: Template - Home Assistant
to help make it and now I got it…

THANKS

1 Like

Hello slipx06, when I compile it gives me an error, see below, can you please advise?
Thanks!

./src/index.ts → dist/sunsynk-power-flow-card.js...
[!] (plugin rpt2) RollupError: src/index.ts:4638:50 - error TS2345: Argument of type 'typeof SunSynkCardEditor' is not assignable to parameter of type 'CustomElementConstructor'.
  Type 'SunSynkCardEditor' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, dir, and 290 more.

4638     customElements.define("content-card-editor", SunSynkCardEditor);

Have you run yarn install or npm install. There were some new dependencies for the card editor?

v4.11.0

:rocket: Exciting New Features

Full Changelog: Comparing v4.10.5...v4.11.0 · slipx06/sunsynk-power-flow-card · GitHub

2 Likes

v4.12.0

:rocket: Exciting New Features

  • feat: This release implements more linear scaling for dynamic_line_width. It also introduces a new attribute max_line_width for customisation of this visual affect. If you like thick lines and cannot lie, bump this number up. If you prefer a more subtle affect drop this below the default value of 4. Don’t forget to set your max_power values. Some examples below:

max_line_width = 10

image

Max_line_width = 3

image

@Roving-Ronin made their first contribution in Update huawei.rst - Examples - Draft v0.1 by Roving-Ronin · Pull Request #228 · slipx06/sunsynk-power-flow-card · GitHub

Full Changelog: Comparing v4.11.2...v4.12.0 · slipx06/sunsynk-power-flow-card · GitHub

hi, i noticed an error in the total power use by the house (se the screenshot).

if you see the power use by the house it lacks 300 watt, that difference is displayed correctly in the other card. Both cards is using the same sensor.
Any ideas?

That’s really strange. Are you using three phase? How have you configured the card?

v4.15.0

:rocket: Exciting New Features

  • feat: This release introduces dynamic_colour and linear_gradient options for the battery. These are two optional visual enhancements.

    • dynamic_colour changes the colour of the battery icon based on the % contribution of the power source (grid, solar). priority_load_243 will determine whether the battery or the load is prioritized when generating solar power. By default the battery is prioritized.
    • If linear_gradient: true the blocks inside the battery icon that represent SOC will be coloured using a linear gradient that ranges from red to green

    You can use these settings independently or in combination to achieve various affects. Some examples below
    image

  • locale: add Brazilian Portuguese translation. closes #250 Thanks @R0DRIG0MEL0

  • chore: update copyright year. closes #251

Full Changelog: Comparing v4.14.0...v4.15.0 · slipx06/sunsynk-power-flow-card · GitHub

1 Like

The system has 3 phases, i tried to configure the card in both ways. When i use the single phase config i use the sum of the 3 phases.
this is the code:

type: custom:sunsynk-power-flow-card
cardstyle: lite
show_solar: true
battery:
  energy: 20000
  shutdown_soc: 20
  show_daily: true
  invert_power: true
  show_absolute: false
  hide_soc: false
  show_remaining_energy: true
  auto_scale: true
solar:
  show_daily: true
  mppts: 2
  auto_scale: true
  dynamic_colour: true
  max_power: 10000
  display_mode: 2
load:
  show_daily: true
  auto_scale: true
  dynamic_colour: true
  dynamic_icon: true
  max_power: 25000
  show_aux: false
  additional_loads: 1
  load1_name: bmw i4
  load1_icon: mdi:ev-station
grid:
  show_daily_buy: true
  show_daily_sell: true
  show_nonessential: false
  auto_scale: true
  invert_grid: false
  max_power: 25000
  energy_cost_decimals: 0
entities:
  use_timer_248: switch.sunsynk_toggle_system_timer
  inverter_voltage_154: sensor.solarman_voltage_phase_r
  inverter_current_164: sensor.solarman_current_output_r
  inverter_power_175: sensor.solarman_activepower_output_total
  grid_connected_status_194: binary_sensor.sunsynk_grid_connected_status
  inverter_status_59: sensor.solarman_inverter_status
  day_battery_charge_70: sensor.solarman_daily_battery_charge
  day_battery_discharge_71: sensor.solarman_daily_battery_discharge
  battery_voltage_183: sensor.solarman_battery_1_voltage
  battery_soc_184: sensor.solarman_battery_1_soc
  battery_power_190: sensor.solarman_battery_1_power
  battery_current_191: sensor.solarman_battery_1_current
  grid_power_169: sensor.power_total_istant
  day_grid_import_76: sensor.solarman_daily_energy_bought
  day_grid_export_77: sensor.solarman_daily_energy_sold
  grid_ct_power_172: sensor.power_total_istant
  day_load_energy_84: sensor.solarman_daily_load_consumption
  essential_power: none
  nonessential_power: none
  day_pv_energy_108: sensor.solarman_daily_pv_generation
  pv1_power_186: sensor.solarman_pv1_power
  pv2_power_187: sensor.solarman_pv2_power
  pv1_voltage_109: sensor.solarman_pv1_voltage
  pv1_current_110: sensor.solarman_pv1_current
  pv2_voltage_111: sensor.solarman_pv2_voltage
  pv2_current_112: sensor.solarman_pv2_current
  total_pv_generation: sensor.energy_production_today
  remaining_solar: sensor.energy_production_today_remaining
  environment_temp: sensor.casa_temperatura_esterna
  battery_temp_182: sensor.solarman_battery_1_temperature
  load_power_L1: sensor.power_total_istant
  inverter_voltage_L2: sensor.solarman_voltage_phase_s
  inverter_voltage_L3: sensor.solarman_voltage_phase_t
  inverter_current_L2: sensor.solarman_current_output_s
  inverter_current_L3: sensor.solarman_current_output_t
  radiator_temp_91: sensor.solarman_radiator_temperature_1
  essential_load1: sensor.macchina_total_istant
inverter:
  three_phase: false
  model: goodwe_gridmode
  modern: true
  autarky: energy
  auto_scale: true
panel_mode: true
show_battery: true
show_grid: true
dynamic_line_width: true
large_font: true
decimal_places: 1

You should use this sensor essential_power: for your house load i.e. the sum of the phases

it does not works.
code:

type: custom:sunsynk-power-flow-card
cardstyle: lite
show_solar: true
battery:
  energy: 20000
  shutdown_soc: 20
  show_daily: true
  invert_power: true
  show_absolute: false
  hide_soc: false
  show_remaining_energy: true
  auto_scale: true
  dynamic_colour: true
  linear_gradient: true
  max_power: 10000
solar:
  show_daily: true
  mppts: 2
  auto_scale: true
  dynamic_colour: true
  max_power: 10000
  display_mode: 2
load:
  show_daily: true
  auto_scale: true
  dynamic_colour: true
  dynamic_icon: true
  max_power: 25000
  show_aux: false
  additional_loads: 1
  load1_name: bmw i4
  load1_icon: mdi:ev-station
grid:
  show_daily_buy: true
  show_daily_sell: true
  show_nonessential: false
  auto_scale: true
  invert_grid: false
  max_power: 25000
  energy_cost_decimals: 0
entities:
  use_timer_248: switch.sunsynk_toggle_system_timer
  inverter_voltage_154: sensor.solarman_voltage_phase_r
  inverter_current_164: sensor.solarman_current_output_r
  inverter_power_175: sensor.solarman_activepower_output_total
  grid_connected_status_194: binary_sensor.sunsynk_grid_connected_status
  inverter_status_59: sensor.solarman_inverter_status
  day_battery_charge_70: sensor.solarman_daily_battery_charge
  day_battery_discharge_71: sensor.solarman_daily_battery_discharge
  battery_voltage_183: sensor.solarman_battery_1_voltage
  battery_soc_184: sensor.solarman_battery_1_soc
  battery_power_190: sensor.solarman_battery_1_power
  battery_current_191: sensor.solarman_battery_1_current
  grid_power_169: sensor.power_total_istant
  day_grid_import_76: sensor.solarman_daily_energy_bought
  day_grid_export_77: sensor.solarman_daily_energy_sold
  grid_ct_power_172: sensor.power_total_istant
  day_load_energy_84: sensor.solarman_daily_load_consumption
  essential_power: sensor.power_total_istant
  nonessential_power: none
  day_pv_energy_108: sensor.solarman_daily_pv_generation
  pv1_power_186: sensor.solarman_pv1_power
  pv2_power_187: sensor.solarman_pv2_power
  pv1_voltage_109: sensor.solarman_pv1_voltage
  pv1_current_110: sensor.solarman_pv1_current
  pv2_voltage_111: sensor.solarman_pv2_voltage
  pv2_current_112: sensor.solarman_pv2_current
  total_pv_generation: sensor.energy_production_today
  remaining_solar: sensor.energy_production_today_remaining
  environment_temp: sensor.casa_temperatura_esterna
  battery_temp_182: sensor.solarman_battery_1_temperature
  inverter_voltage_L2: sensor.solarman_voltage_phase_s
  inverter_voltage_L3: sensor.solarman_voltage_phase_t
  inverter_current_L2: sensor.solarman_current_output_s
  inverter_current_L3: sensor.solarman_current_output_t
  radiator_temp_91: sensor.solarman_radiator_temperature_1
  essential_load1: sensor.macchina_total_istant
inverter:
  three_phase: false
  model: goodwe_gridmode
  modern: true
  autarky: 'no'
  auto_scale: true
panel_mode: true
show_battery: true
show_grid: true
dynamic_line_width: true
large_font: true
decimal_places: 1

According to your config you are using the same sensor sensor.power_total_istant for grid and for your essential load. That is not correct. I recommend you head over to the discussion on github as there are a couple people who have integrated their GoodWe inverters and can help you with the correct sensors based on your integration. There is also some example configurations that may or may not help.

For three phase you need to create your own template sensor that sums the power from each phase on the load (output) side and use that sensor as your essential_power: sensor or set the card to three_phase: true and provide sensors for load_power_L1:, load_power_L2: and load_power_L3 and remove the essential_power: sensor. The card will use internal logic and sum L1+L2+L3 and display the resulting load power

If your saying you have a 3 phase inverter and trying to get the 3 phases showing also, it would be a good idea to also use three_phase: true

Not:

i have the same result using or not the 3 phases option.

type: custom:sunsynk-power-flow-card
cardstyle: lite
show_solar: true
battery:
  energy: 20000
  shutdown_soc: 20
  show_daily: true
  invert_power: true
  show_absolute: false
  hide_soc: false
  show_remaining_energy: true
  auto_scale: true
  dynamic_colour: true
  linear_gradient: true
  max_power: 10000
solar:
  show_daily: true
  mppts: 2
  auto_scale: true
  dynamic_colour: true
  max_power: 10000
  display_mode: 2
load:
  show_daily: true
  auto_scale: true
  dynamic_colour: true
  dynamic_icon: true
  max_power: 25000
  show_aux: false
  additional_loads: 1
  load1_name: bmw i4
  load1_icon: mdi:ev-station
grid:
  show_daily_buy: true
  show_daily_sell: true
  show_nonessential: false
  auto_scale: true
  invert_grid: false
  max_power: 25000
  energy_cost_decimals: 0
entities:
  use_timer_248: switch.sunsynk_toggle_system_timer
  inverter_voltage_154: sensor.solarman_voltage_phase_r
  inverter_current_164: sensor.solarman_current_output_r
  inverter_power_175: sensor.solarman_activepower_output_total
  grid_connected_status_194: binary_sensor.sunsynk_grid_connected_status
  inverter_status_59: sensor.solarman_inverter_status
  day_battery_charge_70: sensor.solarman_daily_battery_charge
  day_battery_discharge_71: sensor.solarman_daily_battery_discharge
  battery_voltage_183: sensor.solarman_battery_1_voltage
  battery_soc_184: sensor.solarman_battery_1_soc
  battery_power_190: sensor.solarman_battery_1_power
  battery_current_191: sensor.solarman_battery_1_current
  grid_power_169: sensor.power_total_istant
  day_grid_import_76: sensor.solarman_daily_energy_bought
  day_grid_export_77: sensor.solarman_daily_energy_sold
  grid_ct_power_172: sensor.phase_a_power
  day_load_energy_84: sensor.solarman_daily_load_consumption
  nonessential_power: none
  day_pv_energy_108: sensor.solarman_daily_pv_generation
  pv1_power_186: sensor.solarman_pv1_power
  pv2_power_187: sensor.solarman_pv2_power
  pv1_voltage_109: sensor.solarman_pv1_voltage
  pv1_current_110: sensor.solarman_pv1_current
  pv2_voltage_111: sensor.solarman_pv2_voltage
  pv2_current_112: sensor.solarman_pv2_current
  total_pv_generation: sensor.energy_production_today
  remaining_solar: sensor.energy_production_today_remaining
  environment_temp: sensor.casa_temperatura_esterna
  battery_temp_182: sensor.solarman_battery_1_temperature
  inverter_voltage_L2: sensor.solarman_voltage_phase_s
  inverter_voltage_L3: sensor.solarman_voltage_phase_t
  inverter_current_L2: sensor.solarman_current_output_s
  inverter_current_L3: sensor.solarman_current_output_t
  radiator_temp_91: sensor.solarman_radiator_temperature_1
  essential_load1: sensor.macchina_total_istant
  load_power_L1: sensor.phase_a_power
  load_power_L2: sensor.phase_b_power
  load_power_L3: sensor.phase_c_power
  grid_ct_power_L2: sensor.phase_b_power
  grid_ct_power_L3: sensor.phase_c_power
inverter:
  three_phase: true
  model: goodwe_gridmode
  modern: true
  autarky: 'no'
  auto_scale: true
panel_mode: true
show_battery: true
show_grid: true
dynamic_line_width: true
large_font: true
decimal_places: 1

my inverter is not a goodwe, but a zcs by zucchetti

1 Like

can you please add PowMr spk5 Hybrid inverter to your flow card