Release Notes 3.7.0
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 of MODRHT
- support of MODAM2
- support of MODIGLASS, MODIGLASS3
- support of MODLC firmware version 3.2
- support of MCP counters
- bus and modules fault detection
- High Availability support for redundant DFH installations
- DOMINO I/O Server:
- support of DFANA-M
- support of DFDALI64
- support of DFDIM
- support of DFLS smart mode
- support of DF4RI/DF4RIR virtual outputs
- support of DF8RIT configuration with temperature input address enabled and temperature control disabled
- support of position information and commands for DFTP, DFTP/I
- support of DFCP counters
- bus and modules fault detection
- 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
- KILSEN I/O Server: new I/O Server for the KILSEN fire alarm panels
- 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
- IONO PI I/O Server:
- added support for iono pi driver v1.3.0 and "wiegandbits" option
- 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
- Philips Hue I/O Server: added support for Hue White devices
- 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
- The Datalogger import API (csvread and cvsreadover) can now also receive a CSV string directly instead of a file path
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
- new LoRaWAN configuration utility
- 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
- HSYCO Remote I/O Server: data points with the '*' character in the value string couldn't be written to the remote server
- 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
- Tecnofire I/O Server:
- log and lastlog UISet ID fixed
- extended communication wait time after read errors
- 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