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
AVIGILON I/O Server: new I/O Server for the Avigilon Control Center 7
CONTATTO I/O Server:
support of MODRHT
support of MODAM2
support of MODIGLASS, MODIGLASS3
support of MODLC firmware version 3.2
support of MODDALI firmware version 6.x
support of MCP counters
bus and modules fault detection
Dea Xensity I/O Server: new I/O Server for the Dea Xensity indoor shock detectors
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
high availability support for redundant DFH installations
DUELUX I/O Server: new I/O Server for the Duemmegi DUELUX DLCP DALI-2 system controller
DUMMY I/O Server:
new "commandstate" option
new HTTP API: data points can now be set and read remotely with the /x/httpcall HTTP API
default number of lights, dimmers, automation is 0 (zero)
ELMO I/O Server: added support for Pregio, Vidomo (Villeggio series), Proxima and Titania panels
ESC/VP (EPSON) I/O Server:
improved protocol compatibility
added support for "middle" luminance level
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
KNX I/O Server:
added support for DPT 29
added support for ETS5 export file
added "initreadinterval" I/O Server option
minor connection handling improvements
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
added support for local Iono Pi direct access
IONO PI Max I/O Server: new I/O Server for Sfera Labs Iono Pi Max
LoRaWAN I/O Server: new I/O Server for LoRaWAN Network and Application servers implementation
MasterBus I/O Server: new I/O Server for Mastervolt's MasterBus
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
high-availability: when "shutdown when inactive" is true and the HSYCO Server is inactive, all Modbus calls are affectively blocked, and return null. The TCP gateway is also blocked
MPOWER I/O Server: new I/O Server for the Ubiquity mFi mPower controllable power outlets
MQTTBROKER and MQTTCLIENT I/O Servers: new I/O servers add support for the MQTT protocol, client and broker
MyHome I/O Server: added support for HMAC authentication (for MyHome Server 1 and other recent OpenWebNet gateways)
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
Protege I/O Server: new I/O Server for the ICT ProtegeGX security panel
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
new exec.<timeout> data point. Sets the command execution timeout in seconds; defaults to 30
new connection = close command: closes the SSH connection
new user = <user name> command; overrides the user configuration parameter
new password = <user password> command; overrides the password configuration parameter
new stdout=line option
Strato I/O Server:
added support for Strato Pi CAN and Strato Pi CM Duo
new cpu.temperature data point
System I/O Server: new data points:
cpu.model
cpu.revision
database.backup.time
database.backup.elapsed
database.backup.consolidation.time
database.backup.consolidation.elapsed
database.backup.consolidation.status
database.defrag.time
database.defrag.elapsed
database.update.elapsed
hsyco.version
java.version
os.version
Tecnoalarm I/O Server: added data point "log0"
Telegram I/O Server: camera images and generic image files can now be sent via Telegram messages
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
YAMAHAEC I/O Server: new I/O Server for the Yamaha Extended Control communication protocol
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
Data loggers: new HourConsolidationFactor option for data loggers. Splits hourly consolidated data in multiple sub-intervals (e.g. HourConsolidationFactor = 4 leaves data grouped at minutes 0, 15, 30, 45 after hour consolidation)
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 guaranteed to be updated 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
New Database option for backup consolidation (integrity verification and compression), with automatic recovery: DatabaseBackupConsolidation
The Datalogger import API (csvread and cvsreadover) can now also receive a CSV string directly instead of a file path
when TimeAutoUpdate is enabled, NTP synchronization is performed every hour (it was once a day, at 00:30 local time, in previous versions)
on Linux systems with the Intel U1900 CPU, HSYCO will check the system clock source at startup, and set it to "acpi_pm" if different
High Availability:
improved client handover between primary and secondary servers
new hsyco.ini synchronization feature: hsyco.slavediff.ini file contains changes to hsyco.ini to be applied to the slave version of hsyco.ini. It can contain new properties, existing properties with different values, or existing properties with no value, to remove properties from the master's hsyco.ini file. The hsyco.slavediff.ini should be updated from the master only, even if it is only used by the slave
new haDatabaseSlaveSync hsyco.ini property: haDatabaseSlaveSync = true (defaults to false) restores the slave database, restarting HSYCO, when a new database backup is synced from the master. DatabaseBackupCosolidation must be true to enable database synchronization
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$
AUDIO action: new audio destination format, web@<channel>. <channel> can be a project name or an arbitrary name assigned to an audio channel set using the "audiochannel" project attribute
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
audioPlay() command: new audio destination format, web@<channel>. <channel> can be a project name or an arbitrary name assigned to an audio channel set using the "audiochannel" project attribute
new logoutEvent(address, session, userid, lock) callback
new LocationBeaconEvent(session, address, userid, zone, distance) callback function
new nlp(text) command
new uiLink(source, target) 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
audioPlayFile() and audioPlayText() commands: new audio destination format, web@<channel>. <channel> can be a project name or an arbitrary name assigned to an audio channel set using the "audiochannel" project attribute
new page and popup "focus" attribute. Specifying an id of an object contained in the page, it will gain focus immediately if visible, and every time the page is opened
button, 3button, buttonicon, buttonimage now have an id and uiset attributes: pos, visible, label, blink, opacity, rotation, confirm
new "confirm” attribute for user and button ui objects. If “true” user has to press a second time to send the command
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
click the values legends to hide/unhide the corresponding graph
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
new "audiochannel" project attribute
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
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
input object: new cssstyle attribute
link, imagelink objects:
the link attribute can be dynamically set with UISET
link objects now can receive focus
scheduler object: new groups attribute allows changing the list of schedule groups names via UISET
video object: new "controls" attribute
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