Input Streams

Note

The Stream Connector is deprecated and we recommend using the MQTT connector for inter-task and inter-instance communications.

Add Input Stream

Input streams receive data from output streams located elsewhere. Add input streams by selecting “Input Streams” in the navigation panel and by pressing the “Add” button.

../_images/stream-add-inputstream.png

Add Input Stream Client

Enter details of the input stream in the dialog.

../_images/stream-add-inputstream-dlg.png

( 1 ) Choose a name for the input stream.

( 2 ) Decide whether the input stream should act as a client, initiating connections to a remote output stream server, or whether the input stream should act as a server, awaiting connections from remote output stream clients. In this first example, “Client” is selected.

( 3 ) Select a remote service as previously configured.

( 4 ) Enter a remote output stream name. The name must be provided to you by the administrator of the remote output stream server.

( 5 ) Enter a remote output stream task name. The name of the task must be provided to you by the administrator of the remote output stream server. An input stream is always bound to a specific output stream and output stream task.

( 6 ) Test the connection. The connection test verifies that the remote service, the provided output stream and the output stream task are available.

( 7 ) Press the “Add” button to add the output stream. This will automatically attempt to retrieve topics and tags from the output stream task and create a mirror copy on the local computer. If the remote service, output stream or output stream task is unavailable then the input stream is added without topics and a separate “Refresh from Source” is required (see below).

You can change settings of the input stream later.

Add Input Stream Server

Adding an input stream as a Server is similar to the steps above, with the following differences:

  • The connection test is unavailable.
  • The input stream is added without attempting to synchronize topics and tags with the output stream; this needs to be done separately as described in the next section.
../_images/stream-add-inputstream-dlg-2.png

( 1 ) Choose a name for the input stream.

( 2 ) Select “Server” mode.

( 3 ) Enter a remote output stream name. The name must be provided to you by the administrator of the remote output stream server.

( 4 ) Enter a remote output stream task name. The name of the task must be provided to you by the administrator of the remote output stream server. An input stream is always bound to a specific output stream and output stream task.

( 5 ) Press the “Add” button to add the output stream.

You can change settings of the input stream later.

Refresh from Source

An input stream is bound to a specific output stream and a specific output stream task. When an input stream is added in “Client” mode then the Stream Connector attempts to retrieve topics and tags from the output stream. In “Server” mode no topics and tags are initially added to the input stream and a “Refresh from Source” needs to be performed separately. You can also use “Refresh from Source” when the output stream task has changed to synchronize the input stream topics and tags with updated topics and tags. Without synchronization, the output stream may send topics and tags that are not expected by the input stream which will result in errors.

To refresh from source, ensure that the corresponding output stream task is running first (coordinate with the remote administrator), then select the input stream in the navigation panel on the left and press the “Refresh from Source” button.

../_images/stream-refresh-from-source.png

If the output stream task is running and communications is successful then available topics will be listed in the dialog.

../_images/stream-refresh-from-source-dlg.png

Press the “Update” button to synchronize the topics of the output stream with the topics that will be expected by the input stream. If the input stream contains topics that are no longer provided by the output stream then these topics will be removed; topics that have been added to the output stream will be added to the input stream, and output stream topics that have changed will be updated.

If you see an error as shown in the image below then ensure that the output stream task is running on the remote computer. Press the “Refresh Topics” button to try again.

../_images/stream-refresh-from-source-error.png

Topics

Topics are retrieved from source (the originating output stream and output stream task) and carry the name of the source topic by default. If different sources send topics with the same name then you may want to assign a different local name to distinguish these topics. Select an input stream in the navigation panel and a topic in the content panel to change the topic name.

In the example below a fictional company with sites in various commercial centers around the world is collecting pump and boiler information, in this case from London, New York and Invercargill. All sites send the same topics “Boilers” and “Pumps”. To distinguish these topics locally, topics are renamed to include the site name, i.e. “Pumps” for the London site becomes “Pumps_London”, and so forth.

../_images/stream-rename-topics.png

You cannot remove topics or tags from input streams directly. Use “Refresh from source” to update input stream topics.

Remove input stream

Select “Input Streams” in the navigation panel and an input stream in the content panel, then press the “Remove” button to remove the input stream.

../_images/stream-remove-inputstream.png

Warning

All topics configured for the input stream will be also be removed. This affects all tasks using these topics.