Interface ManagedEvcs
- All Superinterfaces:
Evcs
,OpenemsComponent
- All Known Subinterfaces:
EvcsGoeChargerHome
,EvcsKebaKeContact
,EvcsOcppAbl
,EvcsOcppIesKeywattSingle
,SimulatorEvcs
- All Known Implementing Classes:
AbstractManagedEvcsComponent
,AbstractManagedOcppEvcsComponent
,DummyManagedEvcs
,EvcsAlpitronicHyperchargerImpl
,EvcsDezonyImpl
,EvcsGoeChargerHomeImpl
,EvcsHardyBarthImpl
,EvcsKebaKeContactImpl
,EvcsOcppAblImpl
,EvcsOcppIesKeywattSingleImpl
,EvcsWebastoNextImpl
,EvcsWebastoUniteImpl
,SimulatorEvcsImpl
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface io.openems.edge.evcs.api.Evcs
DEFAULT_MAXIMUM_HARDWARE_CURRENT, DEFAULT_MAXIMUM_HARDWARE_POWER, DEFAULT_MINIMUM_HARDWARE_CURRENT, DEFAULT_MINIMUM_HARDWARE_POWER, DEFAULT_POWER_RECISION, DEFAULT_VOLTAGE
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
_setChargeMode
(ChargeMode value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.CHARGE_MODE
Channel.default void
_setIsClustered
(boolean value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.IS_CLUSTERED
Channel.default void
_setPowerPrecision
(double value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.POWER_PRECISION
Channel.default void
_setPowerPrecision
(Double value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.POWER_PRECISION
Channel.default void
_setSetChargePowerLimit
(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
Channel.default void
_setSetChargePowerLimit
(Integer value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
Channel.default void
_setSetChargePowerLimitWithFilter
(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
Channel.default void
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
Channel.default void
_setSetChargePowerRequest
(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
Channel.default void
_setSetChargePowerRequest
(Integer value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
Channel.default void
_setSetDisplayText
(String value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_DISPLAY_TEXT
Channel.default void
_setSetEnergyLimit
(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_ENERGY_LIMIT
Channel.default void
_setSetEnergyLimit
(Integer value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_ENERGY_LIMIT
Channel.boolean
applyChargePowerLimit
(int power) Command to send the given power, to the EVCS.boolean
applyDisplayText
(String text) Command to send the specified text to the EVCS display, if supporteddefault ChargeMode
Gets the ChargeMode of the Managed EVCS charging station.default Channel<ChargeMode>
Gets the Channel forManagedEvcs.ChannelId.CHARGE_MODE
.Gets the current charge state.default EnumReadChannel
Gets the Channel forManagedEvcs.ChannelId.CHARGE_STATE
.Get charge state handler.boolean
Configuration if the debug mode is active or not.int
Maximum hardware limit in W given by the configuration.int
Minimum hardware limit in W given by the configuration.Get theEvcsPower
.Gets the Is true if the EVCS is in a EVCS-Cluster.default BooleanReadChannel
Gets the Channel forManagedEvcs.ChannelId.IS_CLUSTERED
.int
Minimum time till a charging limit is taken by the EVCS in seconds.static ModbusSlaveNatureTable
getModbusSlaveNatureTable
(AccessMode accessMode) Used for Modbus/TCP Api Controller.Gets the power precision value of the EVCS in [W].default DoubleReadChannel
Gets the Channel forManagedEvcs.ChannelId.POWER_PRECISION
.Gets the set charge power limit of the EVCS in [W].default IntegerWriteChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
.Gets the set charge power limit of the EVCS in [W] with applied filter.default IntegerWriteChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
.Gets the request for a charge power in [W].default IntegerWriteChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
.Gets the Text that is shown on the display of the EVCS.default StringWriteChannel
Gets the Channel forManagedEvcs.ChannelId.SET_DISPLAY_TEXT
.Gets the energy limit for the current or next session in [Wh].default IntegerWriteChannel
Gets the Channel forManagedEvcs.ChannelId.SET_ENERGY_LIMIT
.default int
Minimal pause between two consecutive writes if the limit has not changed in seconds.void
Log debug usingManagedEvcs
Logger.boolean
Command to pause a charge process of the EVCS.default void
setChargePowerLimit
(Integer value) Sets the charge power limit of the EVCS in [W].default void
Sets the charge power limit of the EVCS in [W] with applied filter.default void
setChargePowerRequest
(Integer value) Sets the request for a charge power in [W].default void
setDisplayText
(String value) Sets a Text that is shown on the display of the EVCS.default void
setEnergyLimit
(Integer value) Sets the energy limit for the current or next session in [Wh].Methods inherited from interface io.openems.edge.evcs.api.Evcs
_setActiveConsumptionEnergy, _setActiveConsumptionEnergy, _setChargePower, _setChargePower, _setChargingstationCommunicationFailed, _setChargingType, _setEnergySession, _setEnergySession, _setFixedMaximumHardwarePower, _setFixedMaximumHardwarePower, _setFixedMinimumHardwarePower, _setFixedMinimumHardwarePower, _setMaximumPower, _setMaximumPower, _setMinimumPower, _setMinimumPower, _setPhases, _setPhases, _setStatus, getActiveConsumptionEnergy, getActiveConsumptionEnergyChannel, getChargePower, getChargePowerChannel, getChargingstationCommunicationFailed, getChargingstationCommunicationFailedChannel, getChargingType, getChargingTypeChannel, getEnergySession, getEnergySessionChannel, getFixedMaximumHardwarePower, getFixedMaximumHardwarePowerChannel, getFixedMinimumHardwarePower, getFixedMinimumHardwarePowerChannel, getMaximumHardwarePower, getMaximumHardwarePowerChannel, getMaximumPower, getMaximumPowerChannel, getMinimumHardwarePower, getMinimumHardwarePowerChannel, getMinimumPower, getMinimumPowerChannel, getPhases, getPhasesAsInt, getPhasesChannel, getStatus, getStatusChannel
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
-
Method Details
-
getEvcsPower
EvcsPower getEvcsPower()Get theEvcsPower
.- Returns:
- the
EvcsPower
-
getWriteInterval
default int getWriteInterval()Minimal pause between two consecutive writes if the limit has not changed in seconds.- Returns:
- write interval in seconds
-
getConfiguredMinimumHardwarePower
int getConfiguredMinimumHardwarePower()Minimum hardware limit in W given by the configuration.This value is taken as a fallback for the
ChannelId#FIXED_MINIMUM_HARDWARE_POWER
channel. As the configuration property should be in mA for AC chargers, make sure that the value is converted to W. Example: Math.round(current / 1000f) * DEFAULT_VOLTAGE * Phases.THREE_PHASE.getValue();- Returns:
- minimum hardware limit in W
-
getConfiguredMaximumHardwarePower
int getConfiguredMaximumHardwarePower()Maximum hardware limit in W given by the configuration.This value is taken as a fallback for the
ChannelId#FIXED_MAXIMUM_HARDWARE_POWER
channel. As the configuration property should be in mA for AC chargers, make sure that the value is converted to W. Example: Math.round(current / 1000f) * DEFAULT_VOLTAGE * Phases.THREE_PHASE.getValue();- Returns:
- maximum hardware limit in W
-
getConfiguredDebugMode
boolean getConfiguredDebugMode()Configuration if the debug mode is active or not.- Returns:
- boolean
-
applyChargePowerLimit
Command to send the given power, to the EVCS.Example:
// Format the power to the required format and unit String raw = "currtime " + current + " 1"; byte[] raw = s.getBytes(); DatagramPacket packet = new DatagramPacket(raw, raw.length, ip, KebaKeContact.UDP_PORT); DatagramSocket datagrammSocket = null; try { datagrammSocket = new DatagramSocket(); datagrammSocket.send(packet); return true; } catch (SocketException e) { this.logError(this.log, "Unable to open UDP socket for sending [" + s + "] to [" + ip.getHostAddress() + "]: " + e.getMessage()); } catch (IOException e) { this.logError(this.log, "Unable to send [" + s + "] UDP message to [" + ip.getHostAddress() + "]: " + e.getMessage()); } finally { if (datagrammSocket != null) { datagrammSocket.close(); } } return false;
- Parameters:
power
- Power that should be send in watt- Returns:
- boolean if the power was applied to the EVCS
- Throws:
OpenemsException
- on errorException
-
pauseChargeProcess
Command to pause a charge process of the EVCS.In most of the cases, it is sufficient to call the method
#applyChargePowerLimit(Integer)
with 0 as power but sometimes it needs extra commands to initiate a pause of charging.- Returns:
- boolean if the command was applied to the EVCS
- Throws:
OpenemsException
- on errorException
-
applyDisplayText
Command to send the specified text to the EVCS display, if supportedWrites to the display of the charging station, if the EVCS supports that feature - if not, return false.
- Parameters:
text
- Text to display- Returns:
- boolean if it was sent or not
- Throws:
OpenemsException
- on error
-
getMinimumTimeTillChargingLimitTaken
int getMinimumTimeTillChargingLimitTaken()Minimum time till a charging limit is taken by the EVCS in seconds.- Returns:
- time in seconds
-
getChargeStateHandler
ChargeStateHandler getChargeStateHandler()Get charge state handler.- Returns:
- charge state handler
-
logDebug
Log debug usingManagedEvcs
Logger.- Parameters:
message
- message
-
getPowerPrecisionChannel
Gets the Channel forManagedEvcs.ChannelId.POWER_PRECISION
.- Returns:
- the Channel
-
getPowerPrecision
Gets the power precision value of the EVCS in [W]. SeeManagedEvcs.ChannelId.POWER_PRECISION
.- Returns:
- the Channel
Value
-
_setPowerPrecision
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.POWER_PRECISION
Channel.- Parameters:
value
- the next value
-
_setPowerPrecision
default void _setPowerPrecision(double value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.POWER_PRECISION
Channel.- Parameters:
value
- the next value
-
getSetChargePowerLimitChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
.- Returns:
- the Channel
-
getSetChargePowerLimit
Gets the set charge power limit of the EVCS in [W]. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
.- Returns:
- the Channel
Value
-
_setSetChargePowerLimit
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
Channel.- Parameters:
value
- the next value
-
_setSetChargePowerLimit
default void _setSetChargePowerLimit(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
Channel.- Parameters:
value
- the next value
-
setChargePowerLimit
Sets the charge power limit of the EVCS in [W]. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT
.- Parameters:
value
- the next write value- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getSetChargePowerLimitWithFilterChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
.- Returns:
- the Channel
-
getSetChargePowerLimitWithFilter
Gets the set charge power limit of the EVCS in [W] with applied filter. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
.- Returns:
- the Channel
Value
-
_setSetChargePowerLimitWithFilter
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
Channel.- Parameters:
value
- the next value
-
_setSetChargePowerLimitWithFilter
default void _setSetChargePowerLimitWithFilter(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
Channel.- Parameters:
value
- the next value
-
setChargePowerLimitWithFilter
Sets the charge power limit of the EVCS in [W] with applied filter. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_LIMIT_WITH_FILTER
.- Parameters:
value
- the next write value- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getIsClusteredChannel
Gets the Channel forManagedEvcs.ChannelId.IS_CLUSTERED
.- Returns:
- the Channel
-
getIsClustered
Gets the Is true if the EVCS is in a EVCS-Cluster. SeeManagedEvcs.ChannelId.IS_CLUSTERED
.- Returns:
- the Channel
Value
-
_setIsClustered
default void _setIsClustered(boolean value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.IS_CLUSTERED
Channel.- Parameters:
value
- the next value
-
getChargeModeChannel
Gets the Channel forManagedEvcs.ChannelId.CHARGE_MODE
.- Returns:
- the Channel
-
getChargeMode
Gets the ChargeMode of the Managed EVCS charging station. SeeManagedEvcs.ChannelId.CHARGE_MODE
.- Returns:
- the Channel
Value
-
_setChargeMode
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.CHARGE_MODE
Channel.- Parameters:
value
- the next value
-
getSetDisplayTextChannel
Gets the Channel forManagedEvcs.ChannelId.SET_DISPLAY_TEXT
.- Returns:
- the Channel
-
getSetDisplayText
Gets the Text that is shown on the display of the EVCS. SeeManagedEvcs.ChannelId.SET_DISPLAY_TEXT
.- Returns:
- the Channel
Value
-
_setSetDisplayText
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_DISPLAY_TEXT
Channel.- Parameters:
value
- the next value
-
setDisplayText
Sets a Text that is shown on the display of the EVCS. SeeManagedEvcs.ChannelId.SET_DISPLAY_TEXT
.- Parameters:
value
- the next write value- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getSetChargePowerRequestChannel
Gets the Channel forManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
.- Returns:
- the Channel
-
getSetChargePowerRequest
Gets the request for a charge power in [W]. The limit is not directly activated by this call.. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
.- Returns:
- the Channel
Value
-
_setSetChargePowerRequest
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
Channel.- Parameters:
value
- the next value
-
_setSetChargePowerRequest
default void _setSetChargePowerRequest(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
Channel.- Parameters:
value
- the next value
-
setChargePowerRequest
Sets the request for a charge power in [W]. The limit is not directly activated by this call. SeeManagedEvcs.ChannelId.SET_CHARGE_POWER_REQUEST
.- Parameters:
value
- the next write value- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getSetEnergyLimitChannel
Gets the Channel forManagedEvcs.ChannelId.SET_ENERGY_LIMIT
.- Returns:
- the Channel
-
getSetEnergyLimit
Gets the energy limit for the current or next session in [Wh]. SeeManagedEvcs.ChannelId.SET_ENERGY_LIMIT
.- Returns:
- the Channel
Value
-
_setSetEnergyLimit
Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_ENERGY_LIMIT
Channel.- Parameters:
value
- the next value
-
_setSetEnergyLimit
default void _setSetEnergyLimit(int value) Internal method to set the 'nextValue' onManagedEvcs.ChannelId.SET_ENERGY_LIMIT
Channel.- Parameters:
value
- the next value
-
setEnergyLimit
Sets the energy limit for the current or next session in [Wh]. SeeManagedEvcs.ChannelId.SET_ENERGY_LIMIT
.- Parameters:
value
- the next write value- Throws:
OpenemsError.OpenemsNamedException
- on error
-
getChargeStateChannel
Gets the Channel forManagedEvcs.ChannelId.CHARGE_STATE
.- Returns:
- the Channel
-
getChargeState
Gets the current charge state. SeeManagedEvcs.ChannelId.CHARGE_STATE
.- Returns:
- the Channel
Value
-
getModbusSlaveNatureTable
Used for Modbus/TCP Api Controller. Provides a Modbus table for the Channels of this Component.- Parameters:
accessMode
- filters the Modbus-Records that should be shown- Returns:
- the
ModbusSlaveNatureTable
-