Difference between revisions of "HSYCO Remote"

From HSYCO
Jump to navigation Jump to search
(Created page with "The HSYCO Remote I/O Server is a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI...")
 
 
(7 intermediate revisions by 4 users not shown)
Line 2: Line 2:
  
 
Using the HSYCO Remote I/O Server you can build a multi-level architecture with one or more HSYCO servers acting as concentrators for data points managed by other HSYCO servers.
 
Using the HSYCO Remote I/O Server you can build a multi-level architecture with one or more HSYCO servers acting as concentrators for data points managed by other HSYCO servers.
 +
 +
The HSYCO Remote I/O Server uses a secure HTTPS API based on the REST (Representational state transfer) model and the JSON data format. A subset of this API can be used by third-party HTTP client applications. Read the [[HSYCO Remote API]] specification for additional details.
 +
 +
 
[[Category:I/O Server]]
 
[[Category:I/O Server]]
  
Line 9: Line 13:
 
The bandwidth and latency requirements depend on the specific application and the amount of data points on the remote HSYCO server.
 
The bandwidth and latency requirements depend on the specific application and the amount of data points on the remote HSYCO server.
  
== HSYCO Configuration ==
+
== Local HSYCO Configuration ==
 +
Add an HSYCO I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:
 +
 
 +
=== Communication ===
 +
*'''IP Address''': public IP address of the remote HSYCO server
 +
*'''IP Port''': HTTPS port of the remote HSYCO server, leave blank for default port 443.
 +
 
 +
=== Authentication ===
 +
*'''Password''': must correspond to the RemoteServerPassword parameter set in the remote HSYCO's settings (see below).
 +
 
 +
=== High Availability ===
 +
*'''Shutdown when inactive''': defaults to false.
  
 
=== Options ===
 
=== Options ===
Line 58: Line 73:
 
|drift
 
|drift
 
|4
 
|4
|n ≥ 0
+
|0...9999
n ≤ 9999
 
 
|used in combination with a remote SYSTEM I/O Server, sets the maximum clock drift between the local and the remote clocks, in seconds
 
|used in combination with a remote SYSTEM I/O Server, sets the maximum clock drift between the local and the remote clocks, in seconds
 
|-
 
|-
 
|}
 
|}
  
== Events and Control ==
+
== Remote HSYCO Configuration ==
 +
In the system settings of the remote HSYCO server the following parameters must be set:
  
On the local HSYCO server, all data points of the remote server will be mapped with the original data point names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote data point “dummy.light.1” will be mapped as “remote.dummy.light.1” on the local server.
+
*'''RemoteServerPassword''': must correspond to the password set on the HSYCO I/O server's parameters on the local server
 +
*'''RemoteServerAddress''' = IP address of the local HSYCO server
 +
*'''RemoteServerControl''' = set to "true" to allow the local server to modify the datapoints values of this HSYCO server, "false" otherwise.
 +
 
 +
== Datapoints ==
 +
 
 +
On the local HSYCO server, all datapoints of the remote server will be mapped with the original datapoint names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote datapoint “dummy.light.1” will be mapped as “remote.dummy.light.1” on the local server.
  
 
== User Interface ==
 
== User Interface ==
  
 
On the local HSYCO server, all GUI elements of the remote server will be mapped with the original names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote GUI element “status.text” will be mapped as “remote.status.text” on the local server.
 
On the local HSYCO server, all GUI elements of the remote server will be mapped with the original names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote GUI element “status.text” will be mapped as “remote.status.text” on the local server.
 +
 +
== Release Notes ==
 +
 +
=== 3.2.0 ===
 +
*added support of the SYSTEM I/O Server on remote systems for clock drift check
 +
*the RemoteServerAddress option can now be set to * to allow any remote IP address
 +
*new RemoteServerIOFilter and RemoteServerUIFilter options to filter the status data returned to the remote server
 +
=== 3.1.0 ===
 +
*initial release

Latest revision as of 18:29, 24 June 2014

The HSYCO Remote I/O Server is a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI variables of other remote HSYCO servers.

Using the HSYCO Remote I/O Server you can build a multi-level architecture with one or more HSYCO servers acting as concentrators for data points managed by other HSYCO servers.

The HSYCO Remote I/O Server uses a secure HTTPS API based on the REST (Representational state transfer) model and the JSON data format. A subset of this API can be used by third-party HTTP client applications. Read the HSYCO Remote API specification for additional details.

Communication

The I/O Server communicates with the remote HSYCO server by establishing encrypted HTTPS connections to the HTTPS port of that server. The network infrastructure should be configured to allow these connections. The bandwidth and latency requirements depend on the specific application and the amount of data points on the remote HSYCO server.

Local HSYCO Configuration

Add an HSYCO I/O Server in the I/O Servers section of the Settings and set its parameters:

Communication

  • IP Address: public IP address of the remote HSYCO server
  • IP Port: HTTPS port of the remote HSYCO server, leave blank for default port 443.

Authentication

  • Password: must correspond to the RemoteServerPassword parameter set in the remote HSYCO's settings (see below).

High Availability

  • Shutdown when inactive: defaults to false.

Options

ID Default Values Description
discovery true true automatically creates the list of remote devices and individual data points in the systemtopo.txt file
false discovery is disabled
startupevents false true generate IO events also during the driver’s start-up phase
false start generating events only after HSYCO is aligned with the current status of the system
io true true I/O data points of the remote HSYCO server are replicated on this server
false I/O data points of the remote HSYCO server are not used
ui false true Web GUI elements of the remote HSYCO server are replicated on this server
false Web GUI elements of the remote HSYCO server are not used
drift 4 0...9999 used in combination with a remote SYSTEM I/O Server, sets the maximum clock drift between the local and the remote clocks, in seconds

Remote HSYCO Configuration

In the system settings of the remote HSYCO server the following parameters must be set:

  • RemoteServerPassword: must correspond to the password set on the HSYCO I/O server's parameters on the local server
  • RemoteServerAddress = IP address of the local HSYCO server
  • RemoteServerControl = set to "true" to allow the local server to modify the datapoints values of this HSYCO server, "false" otherwise.

Datapoints

On the local HSYCO server, all datapoints of the remote server will be mapped with the original datapoint names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote datapoint “dummy.light.1” will be mapped as “remote.dummy.light.1” on the local server.

User Interface

On the local HSYCO server, all GUI elements of the remote server will be mapped with the original names, prefixed with the I/O server name and a separation point. For example, if the I/O server name is “remote”, a remote GUI element “status.text” will be mapped as “remote.status.text” on the local server.

Release Notes

3.2.0

  • added support of the SYSTEM I/O Server on remote systems for clock drift check
  • the RemoteServerAddress option can now be set to * to allow any remote IP address
  • new RemoteServerIOFilter and RemoteServerUIFilter options to filter the status data returned to the remote server

3.1.0

  • initial release