Class DummyManagedEvcs
- java.lang.Object
-
- io.openems.edge.common.component.AbstractOpenemsComponent
-
- io.openems.edge.evcs.api.AbstractManagedEvcsComponent
-
- io.openems.edge.evcs.test.DummyManagedEvcs
-
- All Implemented Interfaces:
OpenemsComponent
,Evcs
,ManagedEvcs
,org.osgi.service.event.EventHandler
public class DummyManagedEvcs extends AbstractManagedEvcsComponent implements Evcs, ManagedEvcs, OpenemsComponent, org.osgi.service.event.EventHandler
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.openems.edge.evcs.api.Evcs
Evcs.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.evcs.api.ManagedEvcs
ManagedEvcs.ChannelId
-
Nested classes/interfaces inherited from interface io.openems.edge.common.component.OpenemsComponent
OpenemsComponent.ChannelId
-
-
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
-
-
Constructor Summary
Constructors Constructor Description DummyManagedEvcs(java.lang.String id, EvcsPower evcsPower)
Constructor.DummyManagedEvcs(java.lang.String id, EvcsPower evcsPower, int minimumHardwarePower, int maximumHardwarePower)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
applyChargePowerLimit(int power)
Command to send the given power, to the EVCS.boolean
applyDisplayText(java.lang.String text)
Command to send the specified text to the EVCS display, if supportedboolean
getConfiguredDebugMode()
Configuration if the debug mode is active or not.int
getConfiguredMaximumHardwarePower()
Maximum hardware limit in W given by the configuration.int
getConfiguredMinimumHardwarePower()
Minimum hardware limit in W given by the configuration.EvcsPower
getEvcsPower()
Get theEvcsPower
.int
getMinimumTimeTillChargingLimitTaken()
Minimum time till a charging limit is taken by the EVCS in seconds.void
handleEvent(org.osgi.service.event.Event event)
boolean
pauseChargeProcess()
Command to pause a charge process of the EVCS.-
Methods inherited from class io.openems.edge.evcs.api.AbstractManagedEvcsComponent
activate, debugLog, getChargeStateHandler, logDebug, logDebug, logInfo, logWarn
-
Methods inherited from class io.openems.edge.common.component.AbstractOpenemsComponent
_channel, activate, addChannel, addChannels, addChannels, alias, channels, deactivate, getComponentContext, id, isEnabled, logError, 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.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.evcs.api.ManagedEvcs
_setChargeMode, _setIsClustered, _setPowerPrecision, _setPowerPrecision, _setSetChargePowerLimit, _setSetChargePowerLimit, _setSetChargePowerLimitWithFilter, _setSetChargePowerLimitWithFilter, _setSetChargePowerRequest, _setSetChargePowerRequest, _setSetDisplayText, _setSetEnergyLimit, _setSetEnergyLimit, getChargeMode, getChargeModeChannel, getChargeState, getChargeStateChannel, getChargeStateHandler, getIsClustered, getIsClusteredChannel, getPowerPrecision, getPowerPrecisionChannel, getSetChargePowerLimit, getSetChargePowerLimitChannel, getSetChargePowerLimitWithFilter, getSetChargePowerLimitWithFilterChannel, getSetChargePowerRequest, getSetChargePowerRequestChannel, getSetDisplayText, getSetDisplayTextChannel, getSetEnergyLimit, getSetEnergyLimitChannel, getWriteInterval, logDebug, setChargePowerLimit, setChargePowerLimitWithFilter, setChargePowerRequest, setDisplayText, setEnergyLimit
-
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
-
-
-
-
Constructor Detail
-
DummyManagedEvcs
public DummyManagedEvcs(java.lang.String id, EvcsPower evcsPower)
Constructor.- Parameters:
id
- idevcsPower
- evcs power
-
DummyManagedEvcs
public DummyManagedEvcs(java.lang.String id, EvcsPower evcsPower, int minimumHardwarePower, int maximumHardwarePower)
Constructor.- Parameters:
id
- idevcsPower
- evcs powerminimumHardwarePower
- minimum hardware powermaximumHardwarePower
- minimum hardware power
-
-
Method Detail
-
handleEvent
public void handleEvent(org.osgi.service.event.Event event)
- Specified by:
handleEvent
in interfaceorg.osgi.service.event.EventHandler
- Overrides:
handleEvent
in classAbstractManagedEvcsComponent
-
getEvcsPower
public EvcsPower getEvcsPower()
Description copied from interface:ManagedEvcs
Get theEvcsPower
.- Specified by:
getEvcsPower
in interfaceManagedEvcs
- Returns:
- the
EvcsPower
-
getConfiguredDebugMode
public boolean getConfiguredDebugMode()
Description copied from interface:ManagedEvcs
Configuration if the debug mode is active or not.- Specified by:
getConfiguredDebugMode
in interfaceManagedEvcs
- Returns:
- boolean
-
applyChargePowerLimit
public boolean applyChargePowerLimit(int power) throws OpenemsException
Description copied from interface:ManagedEvcs
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;
- Specified by:
applyChargePowerLimit
in interfaceManagedEvcs
- Parameters:
power
- Power that should be send in watt- Returns:
- boolean if the power was applied to the EVCS
- Throws:
OpenemsException
- on error
-
pauseChargeProcess
public boolean pauseChargeProcess() throws OpenemsException
Description copied from interface:ManagedEvcs
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.- Specified by:
pauseChargeProcess
in interfaceManagedEvcs
- Returns:
- boolean if the command was applied to the EVCS
- Throws:
OpenemsException
- on error
-
getMinimumTimeTillChargingLimitTaken
public int getMinimumTimeTillChargingLimitTaken()
Description copied from interface:ManagedEvcs
Minimum time till a charging limit is taken by the EVCS in seconds.- Specified by:
getMinimumTimeTillChargingLimitTaken
in interfaceManagedEvcs
- Returns:
- time in seconds
-
applyDisplayText
public boolean applyDisplayText(java.lang.String text) throws OpenemsException
Description copied from interface:ManagedEvcs
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.
- Specified by:
applyDisplayText
in interfaceManagedEvcs
- Parameters:
text
- Text to display- Returns:
- boolean if it was sent or not
- Throws:
OpenemsException
- on error
-
getConfiguredMinimumHardwarePower
public int getConfiguredMinimumHardwarePower()
Description copied from interface:ManagedEvcs
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();- Specified by:
getConfiguredMinimumHardwarePower
in interfaceManagedEvcs
- Returns:
- minimum hardware limit in W
-
getConfiguredMaximumHardwarePower
public int getConfiguredMaximumHardwarePower()
Description copied from interface:ManagedEvcs
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();- Specified by:
getConfiguredMaximumHardwarePower
in interfaceManagedEvcs
- Returns:
- maximum hardware limit in W
-
-