Skip to content

Limit the inverter's AC output when import prices are negative. #3848

@AndrewColes

Description

@AndrewColes

Is your feature request related to a problem? Please describe.
When import prices are negative and export prices are low, having solar generation can cost money.

One workaround is to consider soft-limiting the inverter's rating to 0% (or some other small %), when import revenue would exceed any potential export revenue.

Describe alternatives you've considered

In GivTCP, active_power_rate (from 0 to 100%) sets the AC rating of the inverter.

I've considered using some HomeAssistant automations to change active_power_rate, if the import price is negative and it works out cheaper that way.

But, this would very much be a fudge. The best plan may have been different, had predbat known the cost implications of the different options, given what would then be done to active_power_rate.

Describe the solution you'd like

predbat to consider changing active_power_rate when costs are negative both at planning time (working out costs), and when sending commands to the inverter (also setting active_power_rate).

For string inverters + AC coupled batteries, this is quite easy. For a given time slot:

  • Import rate >= 0? Change nothing -- calculate costs at planning time in the same way, send the same commands to the inverter (i.e. keep active_power_rate at 100%).
  • Else:
    • Estimate the cost assuming the string inverter's active_power_rate is 100% (i.e. what is done now)
    • Estimate import revenue assuming the string inverter's active_power_rate is 0%.
    • At planning time, use the cheaper of these two costs. Then, if the latter is cheaper, when sending commands to the inverter(s), also set the string inverter's active_power_rate to 0% instead of 100%.

For hybrid inverters, it's more interesting. active_power_rate limits both DC->AC, and AC->DC. So for charge slots, limiting active_power_rate limits the AC charge rate.

Something like this would super-cautiously avoid that issue:

  • Import rate >= 0? Change nothing -- calculate costs at planning time in the same way, send the same commands to the inverter (i.e. keep active_power_rate at 100%).
  • Else:
    • Estimate the cost assuming the inverter's active_power_rate is 100% (i.e. what is done now)
    • Estimate the cost assuming active_power_rate is equal to the battery charge rate, allowing for conversion efficiency.
    • At planning time, use the cheaper of these two costs. Then, if the latter is cheaper, when sending commands to the inverter, also restrict active_power_rate.

The snag is if there's e.g. 4.5kW of sun, and the battery is taking 3kW, the remaining 1.5kW can still be inverted into AC -- as active_power_rate is limited to 3kW ish. This is the price paid for guaranteeing sufficient AC to charge the battery, whatever happens.

Being more aggressive, active_power_rate could be restricted to the battery charge rate minus the 10% forecast PV generation. Better in terms of import revenue, but with a risk of under-charging the battery if the PV forecast was way off.

Additional context
I appreciate time is finite, and negative import prices are only of interest to folk on Agile. I don't mind having a crack at this, with a few pointers

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions