Class BpEssImpl
java.lang.Object
io.openems.edge.common.component.AbstractOpenemsComponent
io.openems.edge.kaco.blueplanet.hybrid10.ess.BpEssImpl
- All Implemented Interfaces:
OpenemsComponent
,ModbusSlave
,HybridEss
,ManagedSymmetricEss
,SymmetricEss
,BpEss
,TimedataProvider
,org.osgi.service.event.EventHandler
public class BpEssImpl
extends AbstractOpenemsComponent
implements BpEss, HybridEss, ManagedSymmetricEss, SymmetricEss, OpenemsComponent, TimedataProvider, org.osgi.service.event.EventHandler, ModbusSlave
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.openems.edge.kaco.blueplanet.hybrid10.ess.BpEss
BpEss.ChannelId
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.HybridEss
HybridEss.ChannelId
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.ess.api.SymmetricEss
SymmetricEss.ChannelId
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyPower
(int activePower, int reactivePower) Apply the calculated Power.protected void
Handles @Deactivate of implementations.debugLog()
Gets some output that is suitable for a continuous Debug log.getModbusSlaveTable
(AccessMode accessMode) Gets the Modbus-Slave-Table for this OpenEMS-Component.getPower()
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.int
Gets the smallest positive power that can be set (in W, VA or var).Gets static Constraints for this Ess.Gets the Surplus Power of theEssDcCharger
s of thisHybridEss
.Gets theTimedata
service.void
handleEvent
(org.osgi.service.event.Event event) boolean
Gets a boolean if the ess is managed or not.Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, activate, activate, addChannel, addChannels, addChannels, alias, channels, 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.kaco.blueplanet.hybrid10.ess.BpEss
_setCommunicationFailed, _setExternalControlFault, _setNoGridMeterDetected, _setUserPasswordNotChangedWithExternalKacoVersion8, getCommunicationFailedChannel, getExternalControlFault, getExternalControlFaultChannel, getNoGridMeterDetectedChannel, getUserPasswordNotChangedWithExternalKacoVersion8
Methods inherited from interface io.openems.edge.ess.api.HybridEss
_setDcChargeEnergy, _setDcChargeEnergy, _setDcDischargeEnergy, _setDcDischargeEnergy, _setDcDischargePower, getDcChargeEnergy, getDcChargeEnergyChannel, getDcDischargeEnergy, getDcDischargeEnergyChannel, getDcDischargePower, getDcDischargePowerChannel
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, setActivePowerEquals, setActivePowerEqualsWithPid, setActivePowerGreaterOrEquals, setActivePowerLessOrEquals, setReactivePowerEquals, setReactivePowerGreaterOrEquals, setReactivePowerLessOrEquals
Methods inherited from interface io.openems.edge.common.component.OpenemsComponent
_channel, _getChannelAs, alias, channel, channel, channels, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, serviceFactoryPid, servicePid
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
-
core
-
cycle
-
cm
protected org.osgi.service.cm.ConfigurationAdmin cm
-
-
Constructor Details
-
BpEssImpl
public BpEssImpl()
-
-
Method Details
-
deactivate
protected void deactivate()Description copied from class:AbstractOpenemsComponent
Handles @Deactivate of implementations. Prints log output.- Overrides:
deactivate
in classAbstractOpenemsComponent
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event) - Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
-
debugLog
Description copied from interface:OpenemsComponent
Gets some output that is suitable for a continuous Debug log. Returns 'null' by default which causes no output.- Specified by:
debugLog
in interfaceOpenemsComponent
- Returns:
- the debug log output
-
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
-
applyPower
public 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]
-
getPowerPrecision
public 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
-
getStaticConstraints
Description copied from interface:ManagedSymmetricEss
Gets static Constraints for this Ess. Override this method to provide specific Constraints for this Ess on every Cycle.- Specified by:
getStaticConstraints
in interfaceManagedSymmetricEss
- Returns:
- the Constraints
- Throws:
OpenemsException
- on error
-
getTimedata
Description copied from interface:TimedataProvider
Gets theTimedata
service.- Specified by:
getTimedata
in interfaceTimedataProvider
- Returns:
- the service or null if it is not (yet) available.
-
getSurplusPower
Description copied from interface:HybridEss
Gets the Surplus Power of theEssDcCharger
s of thisHybridEss
.This value is usually calculated from the
EssDcCharger.getActualPower()
when the battery is full. It is used by the Ess.Hybrid.Surplus-Feed-To-Grid Controller to feed the surplus power to grid.- Specified by:
getSurplusPower
in interfaceHybridEss
- Returns:
- the surplus power, or 'null' if there is no surplus power
-
isManaged
public boolean isManaged()Description copied from interface:ManagedSymmetricEss
Gets a boolean if the ess is managed or not.Returns false if the ess itself is not managed or in a read only mode.
- Specified by:
isManaged
in interfaceManagedSymmetricEss
- Returns:
- is managed or not
-
getModbusSlaveTable
Description copied from interface:ModbusSlave
Gets the Modbus-Slave-Table for this OpenEMS-Component.- Specified by:
getModbusSlaveTable
in interfaceModbusSlave
- Parameters:
accessMode
- filters the Modbus-Records that should be shown- Returns:
- the Modbus-Slave-Table
-