# system.device.listDevices() - specifying server?

**URL:** <https://forum.inductiveautomation.com/t/system-device-listdevices-specifying-server/16721>\
**Category:** Ignition\
**Created:** [January 24, 2018, 11:19pm UTC](https://forum.inductiveautomation.com/t/system-device-listdevices-specifying-server/16721 "2018-01-24T23:19:11Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [January 25, 2018, 1:04pm UTC](https://forum.inductiveautomation.com/t/system-device-listdevices-specifying-server/16721/5 "2018-01-25T13:04:10Z")

</div>

This hasn’t been specified, yet (as a reminder, the more detailed the questions, the better the answers become… ;)), I will assume the following:

- Multiple Ignition servers in a hub and spoke architecture.
- The spoke servers have their SQLTags exposed.

Write your device list to an SQLTag.

If your spoke servers are recent enough to have a Dataset tag type, it’s amazingly simple:

```auto
devices=system.device.listDevices()
system.tag.write("[default]DeviceList", devices)

```

If not, it gets a bit more complex, but you can write it to a String as a list of lists. Easy enough to put back into a dataset, if needed:

```auto
devices=system.dataset.toPyDataSet(system.device.listDevices())

dataOut = []

for row in devices:
  newRow = []
  for col in row:
    newRow.append(col)
  dataOut.append(newRow)

system.tag.write("[default]DeviceList", dataOut)

```

---

_[View the full topic](https://forum.inductiveautomation.com/t/system-device-listdevices-specifying-server/16721)._
