4.0.0
Server Updates
New 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.
HTTPS 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 andhaClientSessionsFailover
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
annotationsdataSourceInsert(String session, String userid, String datasourceid, String[] columns, JSONObject data, boolean before)
with support for direct callbacks through@dataSourceInsert
annotationsdataSourceQuery(String session, String userid, String datasourceid, String[] columns)
with support for direct callbacks through@dataSourceQuery
annotationsdataSourceUpdate(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()
: returnstrue
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 reasonurlGet()
andurlPost()
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 tofalse
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()
: returnstrue
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 reasonuserCommand()
anduserSubmit()
callbacks can now return a JSON object, which is automatically converted to a StringurlGet()
andurlPost()
now use the server's returned charset, instead of the default ISO-8859-1, when decoding the response content into the returned String
GUI Updates
User Interface
- Redesigned user interface
- New login/password based user authentication, alternative to original PIN/PUK authentication
- New configuration option:
AuthenticationMode
(default:pukpref
)
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
Bug Fixes
JavaScript API
- Fixed:
dataLoggerSave()
not working wheneventsJavaScriptGlobalScope = false
- Fixed:
sendMail()
not working wheneventsJavaScriptGlobalScope = false