Release Notes 3.7.0

From HSYCO
Jump to navigation Jump to search


Server Updates

  • Aritech Comfort CSx75 I/O Server: added possibility to specify zone names
  • ARTECOOC I/O Server:
    • verbose log output of XML content posted to server and return data
    • session id support
  • CONTATTO I/O Server:
    • support for MODRHT
    • added support for MODAM2
  • DOMINO I/O Server:
    • support for DFDIM, DFDALI64
    • support of position information and commands for DFTP, DFTP/I
    • support of DF8RIT configuration with temperature input address enabled and temperature control disabled
  • ELMO I/O Server: added support for PREGIO and VIDOMO security panels
  • Google Calendar I/O Server:
    • added capability of creating events
    • added "<cal_name>.json" and "<cal_name>.pre.json" datapoints
  • KSENIA I/O Server: new I/O Server for the KSENIA lares security panels
  • IFTTT I/O Server: new I/O Server for the IFTTT service
  • IONO I/O Server:
    • the IONO I/O Server is now "free". Using it doesn't decrease the number of available I/O servers
    • "minvariation" option now also applies to polling mode
  • Modbus I/O Server: new "tcpmodbuseventunitid" option. When the Modbus TCP gateway option is enabled, setting tcpmodbuseventunitid to a Unit Id value (0 to 255) will redirect all TCP requests to that Unit Id to the ModbusEvent() callback instead of the Modbus RTU serial bus
  • MPOWER I/O Server: new I/O Server for the Ubiquity mFi mPower controllable power outlets
  • NetworX I/O Server: added possibility to specify zone names
  • Paradox I/O Server: new "log0" data point
  • Sonos I/O Server:
    • added support for SONOS firmware version 9
    • added datapoint "<player>.queue = <n>"
    • player state is now restored after a track is played via "<player>.play = <uri>" or via public announcement
  • SSH I/O Server: the SSH I/O Server is now "free". Using it doesn't decrease the number of available I/O servers
  • Strato I/O Server: added support for Strato Pi CAN
  • System I/O Server: new data points database.backup.time and database.defrag.time
  • Tecnoalarm I/O Server: added data point "log0"
  • WOLF8ACCESS I/O Server: new I/O Server for the Wolf Safety "8 ACCESS" access control system
  • WXONLINE I/O Server:
    • data source changed from Yahoo to Open Weather Map
    • increased number of forcasted days from 2 to 5
    • location can be set to latitude and longitude, as well as with the location id
  • new embedded Natural Language Processor to support speech and free format text commands
  • Cameras: cameras with static image sources are now supported. If Camera.<id>.Type is set to "static", a single HTTP request is sent to acquire the image when a CAMERAREC action is executed. The live camerapanel display will not trigger HTTP requests to the source, but show the last recorded image. Events are grouped per day. For static cameras only, a variable name (starting with $) can be set in the configuration instead of the URL in order to allow dynamic URLs
  • Program timers: if the program timer id starts with $, then the server will also automatically set a variable, with a name equal to the program timer's id, to the remaining number of seconds. Note that the variable is not guarateed to be uodated at every second, as some updates may be skipped due to timing constraints.
  • Communication ports, serial gateways configuration: it is now possible to define a custom read timeout to override the 2 seconds default. Set using CommPort.<id>.Params = <timeoutmillis> in hsyco.ini
  • Access control: new trustedUsers option: comma separated list of user IDs that are always considered trusted, even when connected from outside of the trusted network. Trusted users connecting to HSYCO are subject to the time-out defined in KeysTrustedValidityHours
  • Location Services: improved compatibility with Ubiquiti UniFi access points
  • New Database options for scheduled data structure optimization: DatabaseCompactDay, DatabaseCompactHour, DatabaseCompactMinute, DatabaseCompactEnable

EVENTS

  • new LOGIN <userid> transient event
  • new LOGOUT <userid> transient event
  • new LOCATIONBEACON event keyword. Supports "LOCATIONBEACON userid = zone" and "LOCATIONBEACON zoneid" event conditions
  • new NLP action keyword
  • MAIL action: you can now optionally specify the number of frames back from the defined number of seconds since last recording. The new format is: “cam:cameraname[:seconds_back[:frames_back]]”
  • new format modifiers for $SUNRISE$ and $SUNSSET$ predefined variables, $SUNRISE:HMS$ and $SUNSSET:HMS$

Java API

  • new loginEvent(String address, String session, String userid) callback
  • new logoutEvent(String address, String session, String userid, boolean lock) callback
  • new LocationBeaconEvent(String session, String address, String userid, String zone, String distance) callback
  • new nlp(String text) command
  • sendMail() command: you can now optionally specify the number of frames back from the defined number of seconds since last recording. The new format is: “cam:cameraname[:seconds_back[:frames_back]]”
  • ioGet(String id): ioGet("*") returns the ids of all data points in a comma-separated list
  • varGet(String name): varGet("*") returns the names of all variables in a comma-separated list. Variable names are upper case
  • Modbus: all commands now also accept <ip>:<port number> to connect to Modbus TCP servers with a non-standard port number

JavaScript API

  • new loginEvent(address, session, userid) callback
  • new logoutEvent(address, session, userid, lock) callback
  • new LocationBeaconEvent(session, address, userid, zone, distance) callback function
  • new nlp(String text) command
  • sendMail() command: you can now optionally specify the number of frames back from the defind number of seconds since last recording. The new format is: “cam:cameraname[:seconds_back[:frames_back]]”
  • ioGet(id): ioGet("*") returns the ids of all data points in a comma-separated list
  • varGet(name): varGet("*") returns the names of all variables in a comma-separated list. Variable names are upper case
  • Modbus: all commands now also accept <ip>:<port number> to connect to Modbus TCP servers with a non-standard port number

GUI Updates

  • fullscreen support for datalogger and camerapanel objects:
    • new "fullwindow" url query option
    • fullwindow=true|false project's UI attribute: set to true to expand inside the browser's window instead of actually going fullscreen
    • pinch to zoom on camerapanel
  • datalogger object:
    • multi-year view in browser mode
    • set download="true" enable local download of datalogger browser data in CSV format
    • new "csvseparator" attribute
  • scale project attribute and URL option keyword: new "auto" and "fit" options. When scale=auto the user interface is automatically expanded to fill the available browser area. When scale=fit, the user interface is expanded as with auto, but also reduced if the available browser area is smaller than the original project's size. The scale attribute can be set as a static project's directive, a URL keyword, or dynamically with UISET
  • gohome=N project attribute and URL option keyword: after N seconds of inactivity, go to the menu page, or the page set with the page=<page name> URL option
  • video object: new "controls" attribute
  • PIN and PUK can now be pasted from the clipboard
  • camerapanel object:
    • added support for for pinch to zoom on camerapanel object when in fullscreen mode in the iOS and Android apps
    • single frame email replaced with local download
    • redesigned download popup and app download support
    • reduced height of playback timeline clickable area
  • link, imagelink objects:
    • the link attribute can be dynamically set with UISET
  • other minor graphical changes to the standard skins
  • in previous versions, the automatic web UI reload was triggered by changes in any file under the www directory or on HSYCO startup. Starting from this version, HSYCO startup will not trigger the reload if no www files are changed. Reload will also occur if www files under the plugins directory are changed

Manager

  • added support for iBeacon configuration in Location Services Settings
  • Log Viewer filter now accepts "strings delimited by quotes", single quotes, "escaped\"quotes\""
  • Project Editor:
    • new object alignment tools
    • project’s scale parameter now specified through a select field

Bug Fixes

  • improved compatibility with Debian 9 (Stretch) systems:
    • high availability active IP hand-over
    • LAN IP address configuration change: old address remained active until reboot
    • system clock synchronization and network time update support
  • improved serial port reliability on Linux (x86) systems
  • fixed a bug that could cause the corruption of cameras recording indexes
  • improved handling of cameras connections errors
  • when the Java runtime version is >= 1.7 symbolic links under the HSYCO root are now handled as normal, valid paths
  • IONO I/O Server: port configuration option was ignored
  • Paradox I/O Server: minor fixes
  • Tecnoalarm I/O Server: pass phrases with upper case characters were not supported
  • Telegram I/O Server: a connection error during the I/O server startup sequence could cause it to wait indefinitely and never connect
  • API:
    • fixed null return value in the following JavaScript command functions: ioGet, readComm, slimCommand, uiGet, uiSessionGet, urlGet, urlPost
    • fixed bug in LocationEvent(mac, ip, zoneId) JavaScript callback function
  • GUI:
    • rgb object: pressing off could fail to send the off command in some circumstances
    • link object to external URLs not working correctly on iOS and Android app
    • minor fixes to camera objects
  • Manager:
    • line object didn’t move correctly pressing the arrow keys
    • project's page copy & paste not working
    • text editor did not recognize event files in plugins directories