Skip to main content
Version: 4.0

4.0.0

Manager​

New Utilities​

  • New BACnet Server Utility
  • New SHELLY Utility

Redesigned Applications​

  • Redesigned Manager Core applications
  • Redesigned Manager Settings
  • Redesigned BACnet Utility
  • Redesigned Modbus Utility
  • Redesigned KNX Utility

Configuration Wizard​

  • New initial configuration Wizard, enabled by setting wizard = true in hsyco.ini

Server​

I/O Servers​

BACNET Server I/O Server​

  • New I/O Server for BACnet protocol

DIRIGERA I/O Server​

  • New I/O Server for IKEA DIRIGERA HUB

SHELLY I/O Server​

  • New I/O Server for Shelly gen 2, 3 and 4 devices

System I/O Server​

  • New ha.slave.connection datapoint, only available when HSYCO is configured as High Availability master

HSYCO License​

If HSYCO starts with an incorrect or missing license, callbacks (including plugins) and other essential services will keep working for up to 24 hours. I/O Servers and cameras will not start.

Data Loggers​

Improved performance with very large data sets.

HTTP Server​

  • Support for ZeroSSL certificate authority API for automatic certificate creation and renewal
  • New configuration options:
    • HTTPSSLCertificationAuthority
    • HTTPSSLOrganization
    • HTTPSSLCountry
    • HTTPSSLAPIKey
    • HTTPSSLValidationMethod
    • HTTPSSLValidationEmail
    • HTTPSSLValidityDays
    • HTTPSSLAdvanceRenewDays

System Configuration​

  • New httpLog configuration parameter in hsyco.ini
  • The system password maximum length is now 32 characters (previously 16)
  • Supported special characters: !@#$%^&*()-_=+[{]}|;:,<.>/?\\

High Availability​

  • At startup, HSYCO master becomes active much sooner
  • When haDisableFilesSync is false and haClientSessionsFailover is true, HSYCO slave will copy the SSL certificate (hsyco.keys) from the master
  • HSYCO slave will not request new certificates from the certification authority if it is not active

HSQLDB Engine​

Upgraded to version 2.7.4 (JDK 1.8 compatible)

Events​

New NLP Functionality​

  • New NLP area = text command

Java API​

New Database Commands​

  • databaseGetConnection()
  • databaseExecuteStatement(Connection connection, String sql)

New DataSource Commands​

  • dataSourceSQL(String datasourceid, String tablename, String key, Connection database)
  • dataSourceSQL(String session, String datasourceid, String tablename, String key, Connection database)
  • dataSourceOption(String datasourceid, String name, Object value)
  • dataSourceOption(String session, String datasourceid, String name, Object value)
  • dataSourceRefresh(String datasourceid)
  • dataSourceRefresh(String session, String datasourceid)

New DataSource Callbacks​

  • dataSourceDelete(String session, String userid, String datasourceid, JSONObject data, boolean before) with support for direct callbacks through @dataSourceDelete annotations
  • dataSourceInsert(String session, String userid, String datasourceid, String[] columns, JSONObject data, boolean before) with support for direct callbacks through @dataSourceInsert annotations
  • dataSourceQuery(String session, String userid, String datasourceid, String[] columns) with support for direct callbacks through @dataSourceQuery annotations
  • dataSourceUpdate(String session, String userid, String datasourceid, String[] columns, JSONObject data, boolean before) with support for direct callbacks through @dataSourceUpdate annotations

Other Commands and Improvements​

  • New void nlp(String area, String text) command
  • ioSet(): returns true if the I/O Server command is successfully queued or executed (for synchronous commands), false if the queue is full or command failed for any other reason
  • urlGet() and urlPost() now use the server's returned charset, instead of the default ISO-8859-1, when decoding the response content into the returned String

JavaScript API​

Configuration​

  • The eventsJavaScriptGlobalScope configuration option now defaults to false

New Database Commands​

  • databaseGetConnection()
  • databaseExecuteStatement(connection, sql)

New DataSource Commands​

  • dataSourceSQL(datasourceid, tablename, key, database)
  • dataSourceSQL(session, datasourceid, tablename, key, database)
  • dataSourceOption(datasourceid, name, value)
  • dataSourceOption(session, datasourceid, name, value)
  • dataSourceRefresh(datasourceid)
  • dataSourceRefresh(session, datasourceid)

New DataSource Callbacks​

  • dataSourceDelete(session, userid, dataSourceId, data, before)
  • dataSourceInsert(session, userid, dataSourceId, columns, data, before)
  • dataSourceQuery(session, userid, dataSourceId, columns)
  • dataSourceUpdate(session, userid, dataSourceId, columns, data, before)

Other Commands and Improvements​

  • New nlp(area, text) command
  • ioSet(): returns true if the I/O Server command is successfully queued or executed (for synchronous commands), false if the queue is full or command failed for any other reason
  • userCommand() and userSubmit() callbacks can now return a JSON object, which is automatically converted to a String
  • urlGet() and urlPost() now use the server's returned charset, instead of the default ISO-8859-1, when decoding the response content into the returned String

GUI​

User Interface​

  • Redesigned user interface
  • New login/password based user authentication, alternative to original PIN/PUK authentication
  • New configuration option: AuthenticationMode (default: pukpref)

Bug Fixes​

JavaScript API​

  • Fixed: dataLoggerSave() not working when eventsJavaScriptGlobalScope = false
  • Fixed: sendMail() not working when eventsJavaScriptGlobalScope = false