# system.device.addDevice() - Advanced Modbus

**URL:** <https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663>\
**Category:** 3rd Party Modules\
**Tags:** ignition83\
**Created:** [May 22, 2026, 12:57pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663 "2026-05-22T12:57:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [May 22, 2026, 12:57pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663/1 "2026-05-22T12:57:29Z")

</div>

We are trying to create a device using the module [Advanced Modbus](https://inductiveautomation.com/moduleshowcase/module/automation-professionals-llc-advanced-modbus) with [system.device.addDevice](https://www.docs.inductiveautomation.com/docs/8.3/appendix/scripting-functions/system-device/system-device-addDevice). On every try I get

> **Traceback**
>
> Java Traceback:  
> Traceback (most recent call last):  
> File "", line 1, in   
> java.util.NoSuchElementException: No value present  
> at java.util.Optional.orElseThrow(:0)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)  
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)  
> at java.lang.reflect.Method.invoke(:0)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)  
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)  
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)  
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)  
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)  
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)  
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)  
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)  
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Server.handle(Server.java:182)  
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)  
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)  
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)  
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)  
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)  
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)  
> at java.lang.Thread.run(:0)  
> java.util.NoSuchElementException: java.util.NoSuchElementException: No value present
> 
> ```
> at org.python.core.Py.JavaError(Py.java:545)
> at org.python.core.Py.JavaError(Py.java:536)
> at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:192)
> at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:561)
> at org.python.core.PyObject. __call__ (PyObject.java:400)
> at org.python.pycode._pyx4.f$0(<input>:1)
> at org.python.pycode._pyx4.call_function(<input>)
> at org.python.core.PyTableCode.call(PyTableCode.java:173)
> at org.python.core.PyCode.call(PyCode.java:18)
> at org.python.core.Py.runCode(Py.java:1703)
> at org.python.core.Py.exec(Py.java:1747)
> at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:277)
> at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:130)
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:639)
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:627)
> at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
> at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
> at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.base/java.lang.Thread.run(Unknown Source)
> 
> ```
> 
> Caused by: java.util.NoSuchElementException: No value present  
> at java.util.Optional.orElseThrow(:0)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)  
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)  
> at java.lang.reflect.Method.invoke(:0)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)  
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)  
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)  
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)  
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)  
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)  
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)  
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)  
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Server.handle(Server.java:182)  
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)  
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)  
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)  
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)  
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)  
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)  
> at java.lang.Thread.run(:0)  
> Traceback (most recent call last):  
> File "", line 1, in   
> java.util.NoSuchElementException: No value present  
> at java.util.Optional.orElseThrow(:0)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)  
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)  
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)  
> at java.lang.reflect.Method.invoke(:0)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)  
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)  
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)  
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)  
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)  
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)  
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)  
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)  
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)  
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)  
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)  
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)  
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)  
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)  
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)  
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)  
> at org.eclipse.jetty.server.Server.handle(Server.java:182)  
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)  
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)  
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)  
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)  
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)  
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)  
> at java.lang.Thread.run(:0)  
> java.util.NoSuchElementException: java.util.NoSuchElementException: No value present

The script I'm running is:

`system.device.addDevice(deviceType = "ModbusClient", deviceName = "A-11", deviceProps = {"framing": "MODBUS_TCP", "hostName": "192.168.75.83:502", "maxOutstanding": 1, "execTimeout": 4000, "tFramePlus": 0, "shortBrowse": True, "txIdLimit": 0, "elamSupport": False})`

| `Advanced Modbus Driver -- 1.2.1 (b260092138)` |
| --- |
| `8.3.4 (b2026030309)` |

@pturmel might be interested.  
The module is compatible with the function?

Currently, I have a SDK script that does it pushing are creating the config.json, resource.json and unit.csv on the current mode.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 22, 2026, 1:10pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663/2 "2026-05-22T13:10:18Z")

</div>

See page 14 in the user manual for the v8.3 driver. (Delivered with the module, accessed from the gateway.)

I suppose I should replace the v8.1 manual with the v8.3 manual on my site....

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [May 22, 2026, 5:06pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663/3 "2026-05-22T17:06:52Z")

</div>

I see what you are saying but still. Running

```python
system.device.addDevice(
   deviceType = "ModbusClient",
   deviceName = "A-12",
   deviceProps = {
       "comms.framing": "MODBUS_TCP",
       "comms.hostName": "192.168.75.83:502",
       "behavior.maxOutstanding": 1,
       "behavior.execTimeout": 4000,
       "behavior.tFramePlus": 0,
       "behavior.shortBrowse": True,
       "behavior.txIdLimit": 0,
       "behavior.elamSupport": False
   }
)

```

or

```python
system.device.addDevice(
    deviceType="ModbusClient",
    deviceName="A-12",
    deviceProps={
        "comms": {
            "framing": "MODBUS_TCP",
            "hostName": "192.168.75.83:502"
        },
        "behavior": {
            "maxOutstanding": 1,
            "execTimeout": 4000,
            "tFramePlus": 0,
            "shortBrowse": True,
            "txIdLimit": 0,
            "elamSupport": False
        }
    }
)

```

I see

> **Traceback**
>
> Java Traceback:  
> Traceback (most recent call last):  
> File "", line 1, in   
> java.util.NoSuchElementException: No value present
> 
> ```
> at java.util.Optional.orElseThrow(:0)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)
> 
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)
> 
> at java.lang.reflect.Method.invoke(:0)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)
> 
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
> 
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)
> 
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
> 
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
> 
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
> 
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
> 
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Server.handle(Server.java:182)
> 
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)
> 
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
> 
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
> 
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
> 
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
> 
> at java.lang.Thread.run(:0)
> 
> ```
> 
> java.util.NoSuchElementException: java.util.NoSuchElementException: No value present
> 
> ```
> at org.python.core.Py.JavaError(Py.java:545)
> 
> at org.python.core.Py.JavaError(Py.java:536)
> 
> at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:192)
> 
> at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:561)
> 
> at org.python.core.PyObject. __call__ (PyObject.java:400)
> 
> at org.python.pycode._pyx6.f$0(<input>:1)
> 
> at org.python.pycode._pyx6.call_function(<input>)
> 
> at org.python.core.PyTableCode.call(PyTableCode.java:173)
> 
> at org.python.core.PyCode.call(PyCode.java:18)
> 
> at org.python.core.Py.runCode(Py.java:1703)
> 
> at org.python.core.Py.exec(Py.java:1747)
> 
> at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:277)
> 
> at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:130)
> 
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:639)
> 
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:627)
> 
> at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
> 
> at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
> 
> at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
> 
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> 
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 
> at java.base/java.lang.Thread.run(Unknown Source)
> 
> ```
> 
> Caused by: java.util.NoSuchElementException: No value present
> 
> ```
> at java.util.Optional.orElseThrow(:0)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)
> 
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)
> 
> at java.lang.reflect.Method.invoke(:0)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)
> 
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
> 
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)
> 
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
> 
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
> 
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
> 
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
> 
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Server.handle(Server.java:182)
> 
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)
> 
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
> 
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
> 
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
> 
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
> 
> at java.lang.Thread.run(:0)
> 
> ```
> 
> Traceback (most recent call last):  
> File "", line 1, in   
> java.util.NoSuchElementException: No value present
> 
> ```
> at java.util.Optional.orElseThrow(:0)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)
> 
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)
> 
> at java.lang.reflect.Method.invoke(:0)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)
> 
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
> 
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)
> 
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
> 
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
> 
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
> 
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
> 
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Server.handle(Server.java:182)
> 
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)
> 
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
> 
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
> 
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
> 
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
> 
> at java.lang.Thread.run(:0)
> 
> ```
> 
> java.util.NoSuchElementException: java.util.NoSuchElementException: No value present
> 
> > > >
> 
> Java Traceback:  
> Traceback (most recent call last):  
> File "", line 1, in   
> java.util.NoSuchElementException: No value present
> 
> ```
> at java.util.Optional.orElseThrow(:0)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)
> 
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)
> 
> at java.lang.reflect.Method.invoke(:0)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)
> 
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
> 
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)
> 
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
> 
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
> 
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
> 
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
> 
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Server.handle(Server.java:182)
> 
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)
> 
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
> 
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
> 
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
> 
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
> 
> at java.lang.Thread.run(:0)
> 
> ```
> 
> java.util.NoSuchElementException: java.util.NoSuchElementException: No value present
> 
> ```
> at org.python.core.Py.JavaError(Py.java:545)
> 
> at org.python.core.Py.JavaError(Py.java:536)
> 
> at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:192)
> 
> at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:561)
> 
> at org.python.core.PyObject. __call__ (PyObject.java:400)
> 
> at org.python.pycode._pyx9.f$0(<input>:1)
> 
> at org.python.pycode._pyx9.call_function(<input>)
> 
> at org.python.core.PyTableCode.call(PyTableCode.java:173)
> 
> at org.python.core.PyCode.call(PyCode.java:18)
> 
> at org.python.core.Py.runCode(Py.java:1703)
> 
> at org.python.core.Py.exec(Py.java:1747)
> 
> at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:277)
> 
> at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:130)
> 
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:639)
> 
> at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:627)
> 
> at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
> 
> at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
> 
> at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
> 
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> 
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 
> at java.base/java.lang.Thread.run(Unknown Source)
> 
> ```
> 
> Caused by: java.util.NoSuchElementException: No value present
> 
> ```
> at java.util.Optional.orElseThrow(:0)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.encodeDefaultSettings(IALabsGatewayScriptingFunctions.java:577)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:528)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions.addDevice(IALabsGatewayScriptingFunctions.java:239)
> 
> at com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsDeviceRpcImpl.addDevice(IALabsDeviceRpcImpl.java:44)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(:0)
> 
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(:0)
> 
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(:0)
> 
> at java.lang.reflect.Method.invoke(:0)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcDelegate$DelegateRpcHandler.handle(RpcDelegate.java:275)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.lambda$handle$1(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.safelyHandle(RpcRoutes.java:225)
> 
> at com.inductiveautomation.ignition.gateway.rpc.RpcRoutes.handle(RpcRoutes.java:209)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:355)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:117)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:151)
> 
> at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:40)
> 
> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1385)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:751)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1622)
> 
> at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:119)
> 
> at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
> 
> at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1555)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:823)
> 
> at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:440)
> 
> at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:470)
> 
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575)
> 
> at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717)
> 
> at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)
> 
> at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)
> 
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
> 
> at org.eclipse.jetty.server.Server.handle(Server.java:182)
> 
> at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)
> 
> at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
> 
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
> 
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
> 
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
> 
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
> 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:121..............
> 
> ```
> 
> > > >

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/5/c534b86b4a25318baea4a25a2d45c386240aba24.png)

Also, I need to add the unit.csv and I ready don't know how to the "delivered via API", which API?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 22, 2026, 5:21pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-advanced-modbus/115663/4 "2026-05-22T17:21:48Z")

</div>

Take away the keywords for the function arguments. Supply a description argument.

The API is the configuration manager of the gateway context. I'll have to write up how to use it.
