Add a decorator to TcpClientDataSource that will scan all IP addresses, connecting to port(s) xxxx and sending string_cmd to see if some device will respond with string_reply as expected.
The decorator will build-up a list of IP addresses of which a single instance can be selected, populating the TcpClientDataSource's fields with the relevant values.