public abstract class AbstractModbusTcpApi extends AbstractOpenemsComponent implements ModbusTcpApi, Controller, OpenemsComponent, JsonApi
ModbusTcpApi.ChannelId
Controller.ChannelId
Modifier and Type | Field and Description |
---|---|
protected ApiWorker |
apiWorker |
static int |
DEFAULT_MAX_CONCURRENT_CONNECTIONS |
static int |
DEFAULT_PORT |
protected java.util.TreeMap<java.lang.Integer,ModbusRecord> |
records
Holds the link between Modbus address and ModbusRecord.
|
static int |
UNIT_ID |
Constructor and Description |
---|
AbstractModbusTcpApi(java.lang.String implementationName,
ChannelId[] firstInitialChannelIds,
ChannelId[]... furtherInitialChannelIds) |
Modifier and Type | Method and Description |
---|---|
protected void |
activate(org.osgi.service.component.ComponentContext context,
java.lang.String id,
java.lang.String alias,
boolean enabled,
org.osgi.service.cm.ConfigurationAdmin cm,
Meta metaComponent,
java.lang.String[] componentIds,
int apiTimeout,
int port,
int maxConcurrentConnections) |
protected void |
addComponent(ModbusSlave component) |
protected void |
deactivate()
Handles @Deactivate of implementations.
|
protected abstract AccessMode |
getAccessMode()
Gets the AccessMode.
|
protected ModbusSlave |
getComponent(java.lang.String componentId)
Gets the Component.
|
java.util.concurrent.CompletableFuture<JsonrpcResponseSuccess> |
handleJsonrpcRequest(User user,
JsonrpcRequest message)
Handles a JSON-RPC Request.
|
protected void |
logDebug(org.slf4j.Logger log,
java.lang.String message)
Log a debug message including the Component ID.
|
protected void |
logInfo(org.slf4j.Logger log,
java.lang.String message)
Log an info message including the Component ID.
|
protected void |
logWarn(org.slf4j.Logger log,
java.lang.String message)
Log a warn message including the Component ID.
|
void |
run()
Executes the Controller logic.
|
_channel, activate, addChannel, addChannels, addChannels, alias, channels, getComponentContext, id, isEnabled, logError, modified, removeChannel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
_setUnableToStart, getUnableToStart, getUnableToStartChannel
_setRunFailed, getModbusSlaveNatureTable, getRunFailed, getRunFailedChannel
_channel, _getChannelAs, alias, channel, channel, channels, debugLog, getComponentContext, getState, getStateChannel, hasFaults, id, isEnabled, logDebug, logError, logInfo, logWarn, serviceFactoryPid, servicePid, updateConfigurationProperty, updateReferenceFilter
public static final int UNIT_ID
public static final int DEFAULT_PORT
public static final int DEFAULT_MAX_CONCURRENT_CONNECTIONS
protected final ApiWorker apiWorker
protected final java.util.TreeMap<java.lang.Integer,ModbusRecord> records
protected void addComponent(ModbusSlave component)
protected void activate(org.osgi.service.component.ComponentContext context, java.lang.String id, java.lang.String alias, boolean enabled, org.osgi.service.cm.ConfigurationAdmin cm, Meta metaComponent, java.lang.String[] componentIds, int apiTimeout, int port, int maxConcurrentConnections) throws OpenemsException
OpenemsException
protected void deactivate()
AbstractOpenemsComponent
deactivate
in class AbstractOpenemsComponent
public void run() throws OpenemsError.OpenemsNamedException
Controller
run
in interface Controller
OpenemsError.OpenemsNamedException
- on errorprotected void logDebug(org.slf4j.Logger log, java.lang.String message)
AbstractOpenemsComponent
logDebug
in class AbstractOpenemsComponent
log
- the Logger instancemessage
- the messageprotected void logInfo(org.slf4j.Logger log, java.lang.String message)
AbstractOpenemsComponent
logInfo
in class AbstractOpenemsComponent
log
- the Logger instancemessage
- the messageprotected void logWarn(org.slf4j.Logger log, java.lang.String message)
AbstractOpenemsComponent
logWarn
in class AbstractOpenemsComponent
log
- the Logger instancemessage
- the messagepublic java.util.concurrent.CompletableFuture<JsonrpcResponseSuccess> handleJsonrpcRequest(User user, JsonrpcRequest message) throws OpenemsError.OpenemsNamedException
JsonApi
handleJsonrpcRequest
in interface JsonApi
user
- the authenticated Usermessage
- the JSON-RPC RequestOpenemsError.OpenemsNamedException
- on errorprotected abstract AccessMode getAccessMode()
AccessMode
protected ModbusSlave getComponent(java.lang.String componentId)
componentId
- the Component-IDModbusSlave
Component