Package io.openems.edge.ess.test
Class AbstractDummyManagedSymmetricEss<SELF extends AbstractDummySymmetricEss<?>>
java.lang.Object
io.openems.edge.common.component.AbstractOpenemsComponent
io.openems.edge.common.test.AbstractDummyOpenemsComponent<SELF>
io.openems.edge.ess.test.AbstractDummySymmetricEss<SELF>
io.openems.edge.ess.test.AbstractDummyManagedSymmetricEss<SELF>
- All Implemented Interfaces:
OpenemsComponent
,StartStoppable
,ManagedSymmetricEss
,SymmetricEss
- Direct Known Subclasses:
DummyHybridEss
,DummyManagedAsymmetricEss
,DummyManagedSymmetricEss
,DummyMetaEss
public abstract class AbstractDummyManagedSymmetricEss<SELF extends AbstractDummySymmetricEss<?>>
extends AbstractDummySymmetricEss<SELF>
implements ManagedSymmetricEss, SymmetricEss, StartStoppable, OpenemsComponent
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final record
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.ManagedSymmetricEss
ManagedSymmetricEss.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.common.startstop.StartStoppable
StartStoppable.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.SymmetricEss
SymmetricEss.ChannelId
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractDummyManagedSymmetricEss
(String id, ChannelId[] firstInitialChannelIds, ChannelId[]... furtherInitialChannelIds) -
Method Summary
Modifier and TypeMethodDescriptionfinal void
applyPower
(int activePower, int reactivePower) Apply the calculated Power.final Power
getPower()
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.final int
Gets the smallest positive power that can be set (in W, VA or var).final SELF
Sets thePower
implementation.final void
setStartStop
(StartStop value) Starts or stops the device or service represented by this OpenEMS Component.final SELF
withAllowedChargePower
(int value) final SELF
withAllowedDischargePower
(int value) final SELF
withMaxApparentPower
(int value) final SELF
withPowerPrecision
(int value) Set Power Precision.final SELF
withSymmetricApplyPowerCallback
(Consumer<AbstractDummyManagedSymmetricEss.SymmetricApplyPowerRecord> callback) Set callback for applyPower().Methods inherited from class io.openems.edge.ess.test.AbstractDummySymmetricEss
withActivePower, withCapacity, withGridMode, withSoc
Methods inherited from class io.openems.edge.common.test.AbstractDummyOpenemsComponent
self
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, activate, activate, addChannel, addChannels, addChannels, alias, channels, deactivate, getComponentContext, id, isEnabled, logDebug, logError, logInfo, logWarn, modified, removeChannel
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.openems.edge.ess.api.ManagedSymmetricEss
_setAllowedChargePower, _setAllowedChargePower, _setAllowedDischargePower, _setAllowedDischargePower, _setApplyPowerFailed, _setDebugSetActivePower, _setDebugSetActivePower, _setDebugSetReactivePower, _setDebugSetReactivePower, addPowerConstraint, addPowerConstraintAndValidate, createPowerConstraint, getAllowedChargePower, getAllowedChargePowerChannel, getAllowedDischargePower, getAllowedDischargePowerChannel, getApplyPowerFailed, getApplyPowerFailedChannel, getDebugSetActivePower, getDebugSetActivePowerChannel, getDebugSetReactivePower, getDebugSetReactivePowerChannel, getSetActivePowerEqualsChannel, getSetActivePowerEqualsWithPidChannel, getSetActivePowerGreaterOrEqualsChannel, getSetActivePowerLessOrEqualsChannel, getSetReactivePowerEqualsChannel, getSetReactivePowerGreaterOrEqualsChannel, getSetReactivePowerLessOrEqualsChannel, getStaticConstraints, isManaged, setActivePowerEquals, setActivePowerEqualsWithPid, setActivePowerGreaterOrEquals, setActivePowerLessOrEquals, setReactivePowerEquals, setReactivePowerGreaterOrEquals, setReactivePowerLessOrEquals
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, debugLog, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
Methods inherited from interface io.openems.edge.common.startstop.StartStoppable
_setStartStop, getStartStop, getStartStopChannel, isStarted, isStopped, start, stop
Methods inherited from interface io.openems.edge.ess.api.SymmetricEss
_setActiveChargeEnergy, _setActiveChargeEnergy, _setActiveDischargeEnergy, _setActiveDischargeEnergy, _setActivePower, _setActivePower, _setCapacity, _setCapacity, _setGridMode, _setMaxApparentPower, _setMaxApparentPower, _setMaxCellTemperature, _setMaxCellTemperature, _setMaxCellVoltage, _setMaxCellVoltage, _setMinCellTemperature, _setMinCellTemperature, _setMinCellVoltage, _setMinCellVoltage, _setReactivePower, _setReactivePower, _setSoc, _setSoc, getActiveChargeEnergy, getActiveChargeEnergyChannel, getActiveDischargeEnergy, getActiveDischargeEnergyChannel, getActivePower, getActivePowerChannel, getCapacity, getCapacityChannel, getGridMode, getGridModeChannel, getMaxApparentPower, getMaxApparentPowerChannel, getMaxCellTemperature, getMaxCellTemperatureChannel, getMaxCellVoltage, getMaxCellVoltageChannel, getMinCellTemperature, getMinCellTemperatureChannel, getMinCellVoltage, getMinCellVoltageChannel, getReactivePower, getReactivePowerChannel, getSoc, getSocChannel
-
Field Details
-
MAX_APPARENT_POWER
public static final int MAX_APPARENT_POWER- See Also:
-
-
Constructor Details
-
AbstractDummyManagedSymmetricEss
-
-
Method Details
-
setPower
Sets thePower
implementation.- Parameters:
power
- the power- Returns:
- myself
-
getPower
Description copied from interface:ManagedSymmetricEss
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.- Specified by:
getPower
in interfaceManagedSymmetricEss
- Returns:
- the Power instance
-
getPowerPrecision
public final int getPowerPrecision()Description copied from interface:ManagedSymmetricEss
Gets the smallest positive power that can be set (in W, VA or var). Example:- FENECON Commercial 40 allows setting of power in 100 W steps. It should return 100.
- KACO blueplanet gridsave 50 allows setting of power in 0.1 % of 52 VA. It should return 52 (= 52000 * 0.001)
- Specified by:
getPowerPrecision
in interfaceManagedSymmetricEss
- Returns:
- the power precision
-
withMaxApparentPower
- Overrides:
withMaxApparentPower
in classAbstractDummySymmetricEss<SELF extends AbstractDummySymmetricEss<?>>
- Parameters:
value
- the value- Returns:
- myself
-
withAllowedChargePower
- Parameters:
value
- the value- Returns:
- myself
-
withAllowedDischargePower
- Parameters:
value
- the value- Returns:
- myself
-
withPowerPrecision
Set Power Precision.- Parameters:
value
- the value- Returns:
- myself
-
withSymmetricApplyPowerCallback
public final SELF withSymmetricApplyPowerCallback(Consumer<AbstractDummyManagedSymmetricEss.SymmetricApplyPowerRecord> callback) Set callback for applyPower().- Parameters:
callback
- the callback- Returns:
- myself
-
applyPower
public final void applyPower(int activePower, int reactivePower) Description copied from interface:ManagedSymmetricEss
Apply the calculated Power.Careful: do not adjust activePower and reactivePower in this method, e.g. setting it to zero on error. The purpose of this method is solely to apply the calculated power to the ESS. If you need to constrain the allowed power, add Constraints using the
ManagedSymmetricEss.getStaticConstraints()
method.- Specified by:
applyPower
in interfaceManagedSymmetricEss
- Parameters:
activePower
- the active power in [W]reactivePower
- the reactive power in [var]
-
setStartStop
Description copied from interface:StartStoppable
Starts or stops the device or service represented by this OpenEMS Component.- Specified by:
setStartStop
in interfaceStartStoppable
- Parameters:
value
- targetStartStop
state- Throws:
OpenemsError.OpenemsNamedException
- on error
-