slipx06 / sunsynk-power-flow-card

⚡A customizable Home Assistant card to emulate the Sunsynk System flow that's displayed on the Inverter screen.
MIT License
205 stars 55 forks source link

change the inverter status readings for Goodwe inverters #119

Closed paulv1999 closed 1 year ago

paulv1999 commented 1 year ago

Is there an existing issue for this?

Current Behavior

The inverter_status_59 for Goodwe is implemented as follows:

It tells the user whether the inverter is either exporting or importing power.

see the configuration page:

image

Expected behaviour

should be consistent with Sunsynk implementation:

0, 1, 2, 3, 4, 5 or Wait mode, Normal (On-Grid), Normal (Off-Grid), Fault Mode, Flash Mode, Check Mode

Possible Solutions

The inverter_status_59 for Goodwe should be implemented as follows:

0: "Wait Mode" 1: "Normal (On-Grid)" 2: "Normal (Off-Grid)" 3: "Fault Mode" 4: "Flash Mode" 5: "Check Mode"

For more information please refer to the link below. The author has reverse engineered the UDP for Goodwe inverters EH series (ET series use the same codes). https://gist.github.com/fizcris/a35b1ea1a4883c2145b2ae79c933b19b#udp-protocol-reverse-engineering-for-inverter-goodwe-eh-series.

For time being, I have been using a workaround - using Sunsynk as inverter model instead of Goodwe and have created an additional sensor (configuration.yaml) which converts Goodwe status codes into Sunsynk codes: - name: Inverter status code state: > {% set code = states ('sensor.work_mode') %} {% if code == 'Wait Mode' %} {{ 0 }} {% elif code == "Normal (On-Grid)" or code == "Normal (Off-Grid)" %} {{ 2 }} {% elif code == "Fault Mode" %} {{ 4 }} {% else %} {{ 1 }} {% endif %}

image

Mode

Full

Context / Reason

The current way the inverter shows its status (export/import power) is too generic and the user can easily read the same data, e.g. from grid sensors. The inverter status sensor should IMHO provide more details about the actual operating mode of the inverter itself.

Note: Great job in making this flow card happen. I have been using it for more than 2 months and it is amazing. Thank you very much !!

slipx06 commented 1 year ago
    goodwe: {
        standby: { states: ['0', 'Wait Mode'], color: 'blue', message: localize('common.standby') },
        normal: { states: ['1', '2', 'Normal (On-Grid)', 'Normal (Off-Grid)'], color: 'green', message: localize('common.normal') },
        fault: { states: ['3', 'Fault Mode'], color: 'red', message: localize('common.fault') },
        flash: { states: ['4', 'Flash Mode'], color: 'yellow', message: localize('common.flash') },
        check: { states: ['5', 'Check Mode'], color: 'orange', message: localize('common.check') },
    }    
paulv1999 commented 1 year ago

Great, thank you! It is fantastic how fast you respond even over the weekend. Respect.

5. 11. 2023 v 17:59, slipx06 @.***>:

goodwe: {
    standby: { states: ['0', 'Wait Mode'], color: 'blue', message: localize('common.standby') },
    normal: { states: ['1', '2', 'Normal (On-Grid)', 'Normal (Off-Grid)'], color: 'green', message: localize('common.normal') },
    fault: { states: ['3', 'Fault Mode'], color: 'red', message: localize('common.fault') },
    flash: { states: ['4', 'Flash Mode'], color: 'yellow', message: localize('common.flash') },
    check: { states: ['5', 'Check Mode'], color: 'orange', message: localize('common.check') },
}

— Reply to this email directly, view it on GitHubhttps://github.com/slipx06/sunsynk-power-flow-card/issues/119#issuecomment-1793791021, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7F5HNVIH6HEALA7JCQXZUTYC7AYPAVCNFSM6AAAAAA66FQ2WOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTG44TCMBSGE. You are receiving this because you authored the thread.Message ID: @.***>

mamo-nick commented 1 year ago

Hi,

I would like to explain why inverter_status_59: sensor.on_grid_mode_code is more useful.

If I use sensor.work_mode_code, I only get the useless "Normal" information. It is state in 99,999 % But I can get better information about grid connection using no_grid_color: and grid_connected_status_194: sensor.grid_mode_code.

With this change, users lost much more useful information about power flow.

I propose the possibility of choosing which entity will be displayed at the inverter, similar to

solar:
  display_mode: 2

It could by

inverer:
  display_mode: 2

1 - use work_mode_code 2 - use on_grid_mode_code

Thank you for considering this option.

paulv1999 commented 1 year ago

Hi,

I would like to explain why inverter_status_59: sensor.on_grid_mode_code is more useful.

If I use sensor.work_mode_code, I only get the useless "Normal" information. It is state in 99,999 % But I can get better information about grid connection using no_grid_color: and grid_connected_status_194: sensor.grid_mode_code.

With this change, users lost much more useful information about power flow.

I propose the possibility of choosing which entity will be displayed at the inverter, similar to

solar:
  display_mode: 2

It could by

inverer:
  display_mode: 2

1 - use work_mode_code 2 - use on_grid_mode_code

Thank you for considering this option.

Hi, just my private comment on this subject:

Legnava89 commented 1 year ago

The sensor.on_grid_mode text entity can also be used for goodwe I agree with @mamo-nick we lost the power flow.

slipx06 commented 1 year ago

Hi. The inverter_status_59 is better represented by the work_mode_code. My Sunsynk inverter status is normal 99.9% of the time. It means the system is running as expected.

The on_grid_mode_code (idle, exporting or importing) state is meant to be represented by the power flow (grid_in_out) on the card (animated dot). grid_connected_status_194 can be used to show status of the grid connection.

Am I correct to assume:

Legnava89 commented 1 year ago

Idle means that the inverter does not export or import. The energy comes, for example, from the battery (the grid is always connected) Importing means that it importts energy to the grid Exporting means that it exports energy to the grid

slipx06 commented 1 year ago

Ok. If your grid power is positive it shows that you are importing. The animated dot should reflect power flow You can also use the grid attribute export_colour: to change the colour of the grid when you are exporting to make it more visible.

Legnava89 commented 1 year ago

I think a lot of people would be happy if it went back to how it was in version 3.7.0

slipx06 commented 1 year ago

Ok I have a solution that will allow both options

slipx06 commented 1 year ago

In v3.9.0 Goodwe users can now select which inverter model to use: goodwe or goodwe_gridmode. If you are using sensor.work_mode_code to display inverter status use goodwe as the model. If you are using sensor.grid_mode_code to display inverter status use goodwe_gridmode as the model.

You guys owe me a coffee 😉 I hope this meets everyone's needs now

Legnava89 commented 1 year ago

We owe you a big coffee. It's already happened kava is yours Thank you very much

mamo-nick commented 1 year ago

As you know, I already bought you ☕ few days ago. 😉 Thanks - Good job.👍🏼