Skip to content

Dynamic Power Limiter

Manos1966 edited this page Mar 26, 2024 · 43 revisions

Introduction

The dynamic power limiter is responsible for automatic inverter power limit adjustment. It will take the power meter (i.e. currently consumed power), the solar power, and the battery charge state into account. The inverter is steered such that the currently consumed power (as provided by the power meter) is compensated for as good as possible.

Definitions

  • Battery charge cycle: A battery charge cycle is started when the battery SoC or voltage falls below the respective stop threshold. The charge cycle completes when the battery SoC or voltage reaches the respective start threshold.
  • Battery discharge cycle: The battery is or was charged to or beyond the start threshold. The discharge cycle ends when the battery SoC or voltage reaches the respective stop threshold.

Note: After a reboot the battery is assumed to be in a charge cycle unless the SoC or voltage is found to be above the respective start threshold.

Settings

  • Target grid consumption specifies the power to be either consumed from the grid (when set to a positive value) or to be fed back into the grid (when set to a negative value). The DPL steers the inverter such that this value is achieved at the power meter.
  • The hysteresis value helps optimize communication with the inverter by skipping unnecessary power limit updates. An update is only sent if the absolute difference between the newly computed power limit and the limit reported by the inverter matches or exceeds the hysteresis value. This approach can conserve both airtime and CPU resources.
  • The target inverter is the one that will be controlled by the power limiter. The power limiter can only control a single inverter at this point in time.
  • The lower power limit value is setup prior to shutting down the inverter for any reason. If the calculated target limit value is less than the lower power limit, the inverter will also be shut down, unless the inverter is setup by the respective switch to be connected to solar panels (rather than a battery).
  • The upper power limit constrains the limit value which may be setup at the inverter. However, a higher limit may be setup if your inverter
  • Inverter is behind power meter: Select this if your inverter power is measured by the power meter. This is typically the case.
  • Battery start and stop thresholds can be configured using voltage and / or State of Charge (SoC) values. SoC values are reported by a compatible battery interface, (Pylontech battery, JK BMS, Victron SmartShunt, MQTT). SoC values are always preferred, if available, and voltage thresholds are used as a fallback.

(you can see a schreenshot of the settings (in German) at the bottom of this page)

(Full) Solar Passthrough

See separate Wiki page.

Zero feed throttle (Nulleinspeisung)

Enable the DPL and set the "Target Grid Consumption" to a value close to zero.

Without a battery in your system, enable the switch "Inverter is powered by solar modules" in the DPL settings:

image

Other DPL settings (those that are still presented when this switch is enabled), apply to all systems.

Voltage Measurements

The DPL will measure the battery voltage at different locations in the system, if possible. It will use the following measurement sources in the order presented:

  1. BMS
  2. Victron charge controller battery output
  3. Inverter input

HomeAssistant Toggle Switch

You can activate/deactivate the Dynamic Power Limiter by writing a value ("0", "1" or "2") from your Home Automation System using MQTT. Read the complete information and details at MQTT power-limiter-topics.

This toggle is auto-discoverable using Releases more recent than 2024-03-17.

How does the Hoymiles Inverter handle the calculated Power Limit

Used to be part of the Q&A but we feel it deserves a more prominent position. We often see discussions in the forum where people are ready to experiment with a variaty of hardware combinations.

Is it possible to have 2 solar panels directly on the HOYMILES and connect the other 2 inputs to the 48v battery system?

No, combinations are not supported. For example, a 4 Input, two MPPT version like the HM-1500, the HOYMILES in this setup will only "coincidentally" cover your household consumption exactly when the solar panels can provide enough power.

At night however, this will not work **because only about 50% of the power limit can be reached (two inputs out of four are used). **

The set limit to the HOYMILES applies to the sum of all MPPTs (i.e. all inputs).

This means is, on a four input system with two MPPTs, any given limit will be split equally among two MPPTs.

e.g. a limit of 400W set, HOYMILES HM-1200/1500 will expect 200W from each of the two MPPTs.

Subsequently, at night when only one MPPT (two inputs) is connected to the battery, 400W/2=200W is delivered although the set limit is 400W.

The limit is then probably adjust itself and gradually/possibly(?) might still somehow get there, but honestly, we would strongly advise against it.

Keep in mind, above applies when you connect the two panels to one MPPT, and the battery to the other MPTT (HM-1500 has two MPTTs each handling two inputs).

Actually, OpenDTUonBattery is a bit more advanced:

It has an embeded algorithm trying to estimate the number of active inputs and "scale" the commands given to the inverter.

"Scaling" works only for inverters which have one MPTT pro Input (e.g. HM-800 and HMS-1600 models).

Inverters whose MPPTs control more than one Input (e.g. HM-1500 with two MPPTs for four Inputs) cannot be scaled for the time being.

  • Prerequisite #1: The total power of the inverter is higher than the number of Inputs times 10. e.g. HM-800 (two MPPTs/two Inputs) 2x10=20W, HMS-1600 (four MPPTs/four Inputs) 4x10=40W
  • Prerequisite #2: Only the Inputs that deliver more than 2W will be taken into account. Based on the above conditions, OpenDTUonBattery will scale the limit appropriately.

Dynamic Power Limiter Screenshot

OpenDTU-onBattery Dynamic Power Limiter DE - Bat- NewVersion

Clone this wiki locally