HSYCO Remote
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. It also supports near real-time replication of data loggers data from remote 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.
Contents
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 |
dataloggers | semicolon (;) separated list of Data Logger IDs |
semicolon separated list of remote data logger IDs that should be replicated on this HSYCO server | |
dataloggersnameprefix | true | true | the ID of each local Data Logger is <this I/O server name>.<remote Data Logger ID> |
false | the ID of each local Data Logger is exactly the same as the corresponding remote Data Logger | ||
dataloggerspollinterval | 60 | positive integer | the remote Data Logger data minimum refresh interval, 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.6.0
- added support for data loggers replication
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