Package io.openems.edge.fenecon.pro.ess
Class FeneconProEssImpl
- java.lang.Object
-
- io.openems.edge.common.component.AbstractOpenemsComponent
-
- io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
-
- io.openems.edge.fenecon.pro.ess.FeneconProEssImpl
-
- All Implemented Interfaces:
ModbusComponent
,OpenemsComponent
,ModbusSlave
,AsymmetricEss
,ManagedAsymmetricEss
,ManagedSymmetricEss
,SymmetricEss
,FeneconProEss
,org.osgi.service.event.EventHandler
public class FeneconProEssImpl extends AbstractOpenemsModbusComponent implements FeneconProEss, SymmetricEss, AsymmetricEss, ManagedAsymmetricEss, ManagedSymmetricEss, ModbusComponent, OpenemsComponent, ModbusSlave, org.osgi.service.event.EventHandler
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
AbstractOpenemsModbusComponent.BitConverter, AbstractOpenemsModbusComponent.ChannelMapper<T extends AbstractModbusElement<?>>
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.AsymmetricEss
AsymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.fenecon.pro.ess.FeneconProEss
FeneconProEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.ManagedAsymmetricEss
ManagedAsymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.ess.api.ManagedSymmetricEss
ManagedSymmetricEss.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.bridge.modbus.api.ModbusComponent
ModbusComponent.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 Modifier and Type Field Description protected org.osgi.service.cm.ConfigurationAdmin
cm
protected static int
MAX_APPARENT_POWER
-
Constructor Summary
Constructors Constructor Description FeneconProEssImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyPower(int activePowerL1, int reactivePowerL1, int activePowerL2, int reactivePowerL2, int activePowerL3, int reactivePowerL3)
Apply the calculated Power.protected void
deactivate()
Handles @Deactivate of implementations.java.lang.String
debugLog()
Gets some output that is suitable for a continuous Debug log.protected ModbusProtocol
defineModbusProtocol()
Defines the Modbus protocol.java.lang.String
getModbusBridgeId()
ModbusSlaveTable
getModbusSlaveTable(AccessMode accessMode)
Gets the Modbus-Slave-Table for this OpenEMS-Component.Power
getPower()
Gets an instance of the 'Power' class, which allows to set limitations to Active and Reactive Power.int
getPowerPrecision()
Gets the smallest positive power that can be set (in W, VA or var).void
handleEvent(org.osgi.service.event.Event event)
protected void
logInfo(org.slf4j.Logger log, java.lang.String message)
Log an info message including the Component ID.protected void
setModbus(BridgeModbus modbus)
Set the Modbus bridge.-
Methods inherited from class io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent
activate, activate, activate, getBridgeModbus, getModbusProtocol, getUnitId, m, m, m, m, m, m, modified, modified, unsetModbus
-
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logDebug, logError, logWarn, 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.AsymmetricEss
_setActivePowerL1, _setActivePowerL1, _setActivePowerL2, _setActivePowerL2, _setActivePowerL3, _setActivePowerL3, _setReactivePowerL1, _setReactivePowerL1, _setReactivePowerL2, _setReactivePowerL2, _setReactivePowerL3, _setReactivePowerL3, getActivePowerL1, getActivePowerL1Channel, getActivePowerL2, getActivePowerL2Channel, getActivePowerL3, getActivePowerL3Channel, getReactivePowerL1, getReactivePowerL1Channel, getReactivePowerL2, getReactivePowerL2Channel, getReactivePowerL3, getReactivePowerL3Channel
-
Methods inherited from interface io.openems.edge.ess.api.ManagedAsymmetricEss
_setDebugSetActivePowerL1, _setDebugSetActivePowerL1, _setDebugSetActivePowerL2, _setDebugSetActivePowerL2, _setDebugSetActivePowerL3, _setDebugSetActivePowerL3, _setDebugSetReactivePowerL1, _setDebugSetReactivePowerL1, _setDebugSetReactivePowerL2, _setDebugSetReactivePowerL2, _setDebugSetReactivePowerL3, _setDebugSetReactivePowerL3, applyPower, getDebugSetActivePowerL1, getDebugSetActivePowerL1Channel, getDebugSetActivePowerL2, getDebugSetActivePowerL2Channel, getDebugSetActivePowerL3, getDebugSetActivePowerL3Channel, getDebugSetReactivePowerL1, getDebugSetReactivePowerL1Channel, getDebugSetReactivePowerL2, getDebugSetReactivePowerL2Channel, getDebugSetReactivePowerL3, getDebugSetReactivePowerL3Channel, getSetActivePowerL1EqualsChannel, getSetActivePowerL1GreaterOrEqualsChannel, getSetActivePowerL1LessOrEqualsChannel, getSetActivePowerL2EqualsChannel, getSetActivePowerL2GreaterOrEqualsChannel, getSetActivePowerL2LessOrEqualsChannel, getSetActivePowerL3EqualsChannel, getSetActivePowerL3GreaterOrEqualsChannel, getSetActivePowerL3LessOrEqualsChannel, getSetReactivePowerL1EqualsChannel, getSetReactivePowerL1GreaterOrEqualsChannel, getSetReactivePowerL1LessOrEqualsChannel, getSetReactivePowerL2EqualsChannel, getSetReactivePowerL2GreaterOrEqualsChannel, getSetReactivePowerL2LessOrEqualsChannel, getSetReactivePowerL3EqualsChannel, getSetReactivePowerL3GreaterOrEqualsChannel, getSetReactivePowerL3LessOrEqualsChannel, setSetActivePowerL1Equals, setSetActivePowerL1GreaterOrEquals, setSetActivePowerL1LessOrEquals, setSetActivePowerL2Equals, setSetActivePowerL2GreaterOrEquals, setSetActivePowerL2LessOrEquals, setSetActivePowerL3Equals, setSetActivePowerL3GreaterOrEquals, setSetActivePowerL3LessOrEquals, setSetReactivePowerL1Equals, setSetReactivePowerL1GreaterOrEquals, setSetReactivePowerL1LessOrEquals, setSetReactivePowerL2Equals, setSetReactivePowerL2GreaterOrEquals, setSetReactivePowerL2LessOrEquals, setSetReactivePowerL3Equals, setSetReactivePowerL3GreaterOrEquals, setSetReactivePowerL3LessOrEquals
-
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.bridge.modbus.api.ModbusComponent
_setModbusCommunicationFailed, getModbusCommunicationFailed, getModbusCommunicationFailedChannel
-
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 Detail
-
MAX_APPARENT_POWER
protected static final int MAX_APPARENT_POWER
- See Also:
- Constant Field Values
-
cm
protected org.osgi.service.cm.ConfigurationAdmin cm
-
-
Method Detail
-
applyPower
public void applyPower(int activePowerL1, int reactivePowerL1, int activePowerL2, int reactivePowerL2, int activePowerL3, int reactivePowerL3) throws OpenemsError.OpenemsNamedException
Description copied from interface:ManagedAsymmetricEss
Apply the calculated Power.- Specified by:
applyPower
in interfaceManagedAsymmetricEss
- Parameters:
activePowerL1
- the active power set-point for L1reactivePowerL1
- the reactive power set-point for L1activePowerL2
- the active power set-point for L2reactivePowerL2
- the reactive power set-point for L2activePowerL3
- the active power set-point for L3reactivePowerL3
- the reactive power set-point for L3- Throws:
OpenemsError.OpenemsNamedException
-
setModbus
protected void setModbus(BridgeModbus modbus)
Description copied from class:AbstractOpenemsModbusComponent
Set the Modbus bridge. Should be called by @Reference- Overrides:
setModbus
in classAbstractOpenemsModbusComponent
- Parameters:
modbus
- the BridgeModbus Reference
-
deactivate
protected void deactivate()
Description copied from class:AbstractOpenemsComponent
Handles @Deactivate of implementations. Prints log output.- Overrides:
deactivate
in classAbstractOpenemsModbusComponent
-
getModbusBridgeId
public java.lang.String getModbusBridgeId()
-
defineModbusProtocol
protected ModbusProtocol defineModbusProtocol() throws OpenemsException
Description copied from class:AbstractOpenemsModbusComponent
Defines the Modbus protocol.- Specified by:
defineModbusProtocol
in classAbstractOpenemsModbusComponent
- Returns:
- the ModbusProtocol
- Throws:
OpenemsException
- on error
-
debugLog
public java.lang.String 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
public Power 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 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
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event)
- Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
-
getModbusSlaveTable
public ModbusSlaveTable getModbusSlaveTable(AccessMode accessMode)
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
-
logInfo
protected void logInfo(org.slf4j.Logger log, java.lang.String message)
Description copied from class:AbstractOpenemsComponent
Log an info message including the Component ID.- Overrides:
logInfo
in classAbstractOpenemsComponent
- Parameters:
log
- the Logger instancemessage
- the message
-
-