Set EmsPowerMode and EmsPowerSet not working

Hello all

Sorry for the multitude of topics.

For our Alfen chargers, we have implemented some logic externally (which I will move to OpenEMS if my tests are successful) to start charging when the dynamic price is low. When starting charging, we chose not to discharge the battery system because we probably need that power at a different moment.

Inverter is a GoodWe ET, which is was previously controlling with Loxone
I was normally changing EmsPowerMode to 11 or 12, with a EmsPowerSet to 0 value, to basically turn the battery off.

However, when trying to change the channels EmsPowerMode and EmsPowerSet, no changes happen (nor via the API, nor via the UI set channels)

I do see in the log

Nov 15 09:10:33 ubuntu java[8538]: 2023-11-15T09:10:33,209 [_cycle  ] INFO  [ontroller.api.common.ApiWorker] [ctrlApiRest0] Set Channel [ess0/EmsPowerMode] to Value [11]

so the system actually receives the commands.

Any idea what the conflict could be here?

Thanks

Hi.

You should not write those Channels directly, because they are written internally β†’ https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.goodwe/src/io/openems/edge/goodwe/common/ApplyPowerHandler.java#L52-L55

Just use the normal SetActivePowerEquals Channels or e.g. a Fix-Active-Power-Controller to send a set-point to the GoodWe.

For the GoodWe implementation we developed a so called β€œSMART” mode which smartly switches between the EMS-Power-Modes. If the set-point appears to be balancing the grid-meter, EMS-Power-Mode is set to β€œ0” (i.e. the very fast internal control mode), otherwise the EMS-Power-Mode is set as required. See β†’ https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.goodwe/src/io/openems/edge/goodwe/common/ApplyPowerHandler.java#L112-L130

Regards,
Stefan

1 Like