Release Notes 3.3.0

From HSYCO
Jump to: navigation, search

Server Updates

  • new Arduino  I/O Server
  • new SSH  I/O Server
  • new Honeywell NOTIFIER fire panels I/O Server
  • new Honeywell Galaxy security panel I/O Server
  • new SD3 HEPHAIS fire panels I/O Server
  • new GKBus I/O Server
  • new MODBUS SERVER I/O Server with MODBUS TCP/IP support
  • new Arteco Everywhere I/O Server
  • the Modbus I/O Server now supports the RTU protocol
  • MyHome I/O Server: added support for the L4686SDK gateway
  • GSM I/O Server:
    • improved AT commands compatibility
    • added PUK-unlock functionality
  • HWG MONITOR I/O Server:
    • new ID.<sensorname>.units = <value> data point
    • new ID.model = <value> data point
  • System Monitor I/O Server:
    • an error event is raised when the server catches an I/O error when saving camera images in the motion directory
  • the Paradox EVO driver is now an I/O Server
    • new option userlogs. Used to create (userlist) clickable logs to easily control (camera) and (camerapanel) objects for playback
  • the Bentel KYO320 driver is now an I/O Server
    • new option userlogs. Used to create (userlist) clickable logs to easily control (camera) and (camerapanel) objects for playback
  • Tecnoalarm TECNO OUT:
    • added support for TP8-88
    • the Tecnoalarm TECNO OUT driver is now an I/O Server
    • new option persistentconnection = <true|false>. If true (default is false) the I/O Server will not periodically disconnect and reconnect (periodic disconnection is used to avoid performance degradation on some firmware versions)
    • new option userlogs. Used to create (userlist) clickable logs to easily control (camera) and (camerapanel) objects for playback
  • RayControl I/O Server: 
    • improved communication errors handling
    • new readinterval option (defaults to 25 msec.)
    • new data points: sN.setpoint.winter.max sN.setpoint.winter.min sN.setpoint.summer.max sN.setpoint.summer.min zN.lock
  • KNX I/O Server: 
    • added "read" option for KNX data points to disable read requests from the driver
    • added "framedelay" option to set the delay between each frame sent to the KNX bus
  • BACnet I/O Server:
    • added support for the Relinquish_Default property
  • DOMINO I/O Server: 
    • (temp) object: program mode improved
  • SIP I/O Server: 
    • improved performance of the SSH connection to remote servers
    • support of password-based authentication
  • hsyco.ini: 
    • LogMaxAge = N parameter *delete log files older than N days
    • names are now case-insensitive
    • new optional parameter DatabaseBackup (defaults to false). When true, an hot backup of the core database is automatically executed on a daily basis, saving data in the data_backup directory
    • new optional parameter StartupDelay=<sec>
    • new optional parameter ExceptionWatchdog=<N> (defaults to 5). After N uncaught exceptions the HSYCO server is killed and restarted. Set to 0 to disable the exception watchdog
    • new optional parameter securityLogDailyFiles=<true|false> (defaults to false). When true, the security log is written in daily files named MMDD-security.log
    • HTTPServerThreads default changed to 256
    • the # character prefix can be used to disable an id in the following lists: dmxservers, ioservers, cameras, timers, dataloggers, locationbases, commports, slimplayers, irtrans
    • new I/O Servers optional parameter ioServersShutdownInactive.ID=<true|false>
    • comm ports: new optional timeout parameter for local serial ports: CommPort.ID.Params = speed,bits,stop,parity,flow[,timeout] (defaults to 2 sec.)
    • new eventsLoadTimeout optional parameter
    • new haDisableFilesSync optional parameter (defaults to false)
  • support for application plugins:
    • multiple, dynamic loaded Java user classes can be created in the plugins directory
    • each plugin directory can have its own www subdirectory with multiple projects
  • new Wiring Editor tool
  • HSQLDB core SQL engine upgraded to 2.3.0
  • improved UTF-8 support

EVENTS

  • JavaScript actions and callback functions
  • new INIT event, triggered at start-up and every time events.txt is modified
  • new DATESET action to set the server's hardware clock
  • new CAMERAVIEW event
  • new HTTP event
  • new ID.unitid.address = bits:<0|1>... syntax to use the Write Multiple Coils function
  • new $SUNAZIMUTH$ and $SUNELEVATION$ built-in variables
  • new UISESSIONSET action, used in combination with USER events, allows session-based UI control in EVENTS
  • new PAGE project = page event, triggered on every page change or reload
  • new $HAMASTER$ built-in variable, is set to 1 when master mode or HA not configured, or 0 when slave mode
  • new HAACTIVE persistent event, is true when the server is active (see the high availability features)
  • new HAACTIVE = [true | false] action, set to false to force a master to become inactive (has no effect on the slave system)
  • with counter data loggers, you can use DATALOGGER name = "error" or any other not numeric value to reset the internal delta baseline
  • when the original value of the variable and the operator's value are both numbers ending with %, the arithmetic operation will retain the % in the result

Java API

  • new callback and methods for session-based UI control:
    • public static String userSubmit(String session, String uid, String name, HashMap<String, String> fields)
    • public static String userCommand(String session, String uid, String name, String param)
    • public static void uiSet(String session, String id, String attr, String value)
    • public static void uiClear(String session)
    • public static String uiGet(String session, String id, String attr)
    • public static void uiClearEvent(String session) called once after the HSYCO deleted session data (due to inactivity or uiClear() called explicitly) when the client restarts updating its state
    • pageEvent(String address, String session, String userid, String project, String page) called on every page change or reload
  • new varEvent(String name, String value) callback method
  • new haActiveEvent(boolean active) callback method
  • new haActive(boolean active) action method, set to false to force a master to become inactive (has no effect on the slave system)
  • new callback method triggered by the MODBUS SERVER I/O Server:
    • byte[] ModbusEvent(InetAddress addr, int unitid, byte[] pdu)
  • new httpCallEvent(String host, boolean secure, String query) callback method
  • new String urlGet(String url, String user, String password) utility method
  • new urlPost(String url, String contenttype, String data, String user, String password) utility method
  • new method to set the server's hardware clock:
    • public static boolean dateSet(int year, int month, int day, int hour, int minute, int second)
  • new callback method triggered on cameras' viewing from the Web interface:
    • public static void CameraViewEvent(String camera, boolean active)
  • new writeMultipleCoils(String name, int unit, int address, int coils, byte[] bytes) method
  • dataLoggerUpdate(String name, Double value) with counter data loggers can receive a null value to reset the internal delta baseline

GUI Updates

  • accessibility support, enabled with uiset project.accessibility = true
  • support for simplified Chinese
  • new "scale" web interface option allows client-side scaling of the GUI size
  • the client now works normally even when multiple windows pointing the same HSYCO server are open in the same browser 
  • new (#uiset ...) project directive allows setting default values for UI objects
  • support for project-specific custom.css style files
  • new (sliderh) and (sliderv) objects
  • it is now possible to set an attribute's value for all objects of a specific type, using UISET "(type).attribute" = "value"
  • (scheduler) object:
    • can have an id and the "list" attribute is now dynamic
    • new dynamic "panel" attribute
    • when the width is more than 750px, the user interface changes to a master-detail view
  • improved support of "Add to Home Screen" in iOS 6 and 7
  • (image), (imagelink) and (userimage) objects: new draw attribute for server-side dynamic graphics
  • (chart) object: add support for line and spline types
  • (datalogger) object:
    • add support for line and spline types
    • data browser mode, toolbar, new UI attributes 
  • new (paradox) object for the Paradox I/O Server
  • new (bentel) object for the Bentel I/O Server
  • new (tecnoalarm) object for the Tecnoalarm I/O Server
  • support for client-side custom JavaScript code, with index.js files, including User object to explicitly call the server and trigger USER events

Manager

  • copy&paste in Project Editor and File Manager
  • multiple files upload, move and delete
  • hsyco.ini configuration manager
  • integrated system monitor
  • integrated wiring editor
  • integrated admin configuration pages (users, password, network and clock)
  • integrated Knx Utility
  • integrated BACnet Utility
  • new status browser
  • project style: allows skin modifications
  • when using the download root backup function, the hsyco.jar file is not saved in the backup.zip file

Bug Fixes

  • improved handling of HTTP and HTTPS connections when the maximum number of threads is exceeded
  • the UserTimerEvent() callback method was called twice when triggered by a scheduler
  • network configuration admin function didn't work on latest Upstart/Debian versions
  • improved GUI behavior when accessing a project that is not authorized for a user
  • High Availability bug fixes and stability improvements
  • fixed a bug that could temporarily stalled the Domino and Contatto I/O Servers when the system clock was reset to an earlier time
  • Guardall I/O Server: fixed a bug occurring when an access peripheral is used