# system.device.addDevice for BACnet driver

**URL:** <https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584>\
**Category:** Ignition\
**Created:** [May 11, 2021, 3:43pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584 "2021-05-11T15:43:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [May 11, 2021, 3:43pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584/1 "2021-05-11T15:43:50Z")

</div>

We have finally sorted out our bacnet network issues and are able to initialize devices. What we are seeing however is this:

Expected: connect to 6 top level devices and then be able to browse all sub-devices  
Actual: we have to connect to each individual sub device in order to browser its tags

First question is are we doing something wrong, should we be able to browse all child devices by connecting to a server type parent device?

2nd question is, in case we cannot do as expected, it would be very helpful to have the `system.device.addDevice` function to bacnet for the OPC connection since we have to build hundreds of connections.

Local device count would still be just 6 so I think that can be done manually.

Thanks,

Nick

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 11, 2021, 3:54pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584/2 "2021-05-11T15:54:55Z")

</div>

> [@nicholas.robinson](#):
>
> First question is are we doing something wrong, should we be able to browse all child devices by connecting to a server type parent device?

No, that's not really how BACnet works. The "top level" device acts as a router, not as an aggregator that exposes devices on the other network as objects in its model.

> [@nicholas.robinson](#):
>
> 2nd question is, in case we cannot do as expected, it would be very helpful to have the `system.device.addDevice` function to bacnet for the OPC connection since we have to build hundreds of connections.

We have a ticket for this but I don't know if it's going to happen any time soon. Since you already have the Local Devices configured (or are willing to) it might be possible to get this function to work if you dig in the internal DB for the ID of each the local devices and then include it as one of the settings in the dictionary passed to `addDevice` (key=`LocalBacnetDeviceSettingsId`). Have not tried this, don't know if it will actually work.

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [May 12, 2021, 4:06am UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584/3 "2021-05-12T04:06:29Z")

</div>

@Kevin.Herron

I took a known working BACnet device and deleted it then re-added it with known parameters using this script. It worked other than it did not take the description. Is there a specific key I need to use to get the description to populate?

```auto
props = {
	"LOCALBACNETDEVICESETTINGSID": 6,
	"REMOTEADDRESS": "192.168.xxx.xxx",
	"REMOTEPORT": 47811,
	"REMOTEDEVICENUMBER": 50011,
	"DESCRIPTION": "DELTA_VFD_E_11" 
}

system.device.addDevice(
	deviceType = "com.inductiveautomation.BacnetIpDeviceType",
	deviceName = "HVLS_A1",
	deviceProps = props
)

```

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

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 12, 2021, 1:15pm UTC](https://forum.inductiveautomation.com/t/system-device-adddevice-for-bacnet-driver/46584/4 "2021-05-12T13:15:04Z")

</div>

Sorry, it doesn’t look like that’s possible right now, regardless of the device type being added.

I’ll open up an issue though to get this implemented. Description is technically part of the “parent” record, so when it does get added it would be an additional method param, not part of the prop dictionary.
