fixes: interactive prompt behavior
fixes: API client libs check result of "phi_test" and "phi_exec" functions
history for interactive shell mode (to turn off set EVA_CLI_DISABLE_HISTORY=1 system environment variable)
New management CLI: eva-shell (interactive by default)
Backup/restore operations (with eva-shell)
Dynamic API key management via CLI and API
fixes: device commands in enterpise layout
performance improvements
"update" command without params starts item passive update
batch commands in UDP API (separated with new line)
encryption and authentication in UDP API
custom packet handlers in UDP API
new API function: "test_controller", detailed info in "list controllers"
MQTT tools for PHIs
test-phi CLI tool
fixes: double quoted macro arguments in DM rules
fixes: gain param in "tts" and "audio" extensions
"action_toggle" macro func, "toggle" acts as an alias for unit oids
"shared" and "value" macro funcs default return values
new API function: "test_controller", detailed info in "list controllers"
new LPI: usp (unit single port)
test-ext CLI tool
new API function: "test_controller", detailed info in "list controllers"
SFA framework fixes and improvements
UC drivers, device templates, state history, charts and other new features
working with locks now require allow=lock apikey permission
new notifier type: db, used to store item state history
SYS API functions: notifiers, enable_notifier, disable_notifier. the enable/disable API functions change notifier status only temporary, until the controller is restarted
MQTT SSL support
JSON notifiers. GET/POST notifiers are marked as deprecated and should not be used any more.
exec function (cmd, run) string arguments splitted with ' ' now support the spaces inside (e.g. 'this is "third argument"')
new uc-cmd cli
old uc-cmd renamed to uc-api
UC drivers: logical to physical (LPI) and physical (PHI) interfaces
native ModBus support (drivers only)
device templates
new function "state_history" in UC API
EVA_ITEM_OID var in the environment of UC scripts
action status label (case insensitive) may be used instead of number, if the label is not defined, API returns 404 error
new key permission: "device", allows calling device management functions.
uc-tpl device template validator and generator (alpha)
unit and sensor items now have physical location. If location is specified as coordinates (x:y or x:y:z), loc_x, loc_y and loc_z props become available
UC EI now should be enabled/disabled in uc.ini
new lm-cmd cli
old lm-cmd renamed to lm-api
macro extensions
macro function "unlock" now return false if the lock hasn't been locked or doesn't exist
unlock macro function may throw an exception if the controller forbids its functionality, in case the controller has no master key defined
new functions "state_history" in LM API and "history" (equivalent) in macros
new functions: status, value, nstatus, nvalue with oid support
new DM rule events: on nstatus, nvalue change (for units)
device management functions: "create_device", "update_device", "destroy_device"
"set_rule_prop" macro function
"alias" macro function
rule filter in LM EI
LM EI now should be enabled/disabled in lm.ini
fixes: rule management functions
new sfa-cmd cli
sfa-cmd renamed to sfa-api
new function "state_history" in SFA API and SFA Framework
all functions now accept item oids
"result" function returns the result of macro execution if macro action uuid or macro id (in the oid format) specified
state API function accepts "full" parameter
full SFA states now have item descriptions and status labels (for units)
SFA API groups function now accept "g" parameter to filter group list (with MQTT-style wildcards)
SFA rpvt function to load documents from remote servers
SFA cvars are automatically available in SFA Framework app. Note: SFA cvars are public and may be obtained with any valid API key
SFA Framework is now jQuery 3 compatible, included jQuery lib updated to 3.3.1
SFA Framework item states now also have description and status labels fields
eva_sfa_groups function, returns item groups list (with optional filter)
eva_sfa_chart function, displays item state charts
eva_sfa_popup function, displays popups and info windows
new ws event: server restart and eva_sfa_server_restart_handler in a framework. SFA API function "notify_restart" allows to notify clients about the server restart w/o actual restarting (e.g. when restarting frontend)
jinja2 templates for SFA ui and PVT files (all files with .j2 extension are served as templates). index.j2 has more priority than index.html
new API function call result: "result_invalid_params" (11)
new notifier management CLI (old CLI tools available in legacy folder)
watchdog to test/automatically restart controllers in case of failure
oid support in API keys
other stability improvements
Bugfix release, some new urgent features, stability improvements
EVA documentation is now available in reStructuredText format and at https://eva-ics.readthedocs.io
fixes: correct display of long item names
fixes: various bug fixes
refresh buttons on item pages
LM EI: reset button and expire timer in LM EI show/hide when prop changed
fixes: remove empty controller group when all objects are deleted
fixes: remote items correctly display state in list_remote
fixes: disabled sensors and lvars should not react to expiration
each set_prop call now logs what's actually changed
added item oid (type:group/item_id) - reserved for the future releases
added stop_on_critical option in config (default: yes), server will be restarted via safe-run if critical exception occur
uptime in dump and test API function, last 100 exceptions are now stored in a dump, dumps are now compressed with gzip
API functions now support JSON requests
action_toggle function to quickly toggle status of simple units
list_remote returns array + controller_id proprety instead of dict
result function in macro api. terminate and result function accept action uuid as a param
on_set lm rule (status changed to 1)
new LM API and macro functions: clear (set lvar value to 0), toggle (toggles lvar value between 0 and 1)
cmd macro function now accepts full controller id (uc/controller_id) as well as short
new macro functions for file management: ls, open_oldest, open_newest
fixes: dm_rule_props acl in SFA
list_remote returns array instead of dict + controller_id proprety
list_macros contains now controller property
append_controller now tries to autodetect controller type if no type is specified
sfa pvt access logs
reset, toggle, clear, action_toggle, result and terminate by uuid funcs in sfa & sfa framework
reload_clients command and sfa framework reload event handler
eva_sfa_expires_in function in a framework to work with timers
log processing functions in a framework
wildcard masks in eva_sfa_state and eva_sfa_register_update_state
easy-setup.sh - an interactive/automatic script to quickly set up the current host
ability to run controllers under restricted user
Minor release with some urgent features
EVA_ITEM_PARENT_GROUP variable in script ENV which contains the parent group of the item
cvars now can be set as global or assigned to the specified item group i.e. 'VAR1' - global cvar, available to the all scripts, 'group1/VAR2' - variable available only to scripts from group 'group1' (as 'VAR2'), 'group2/VAR2' - variable available only to group 'group2' (also as 'VAR2'). Used by UC scripts to let one script manage different items
'update_delay' prop - item passive update may start with a delay to prevent multiple updates running simultaneously producing high system load
'clone' function in UC API and uc-cmd to clone items
'clone_group' function - clones all matching items in a group
'destroy_group' function destroys all items in the specified group
item id in LM rules match by simple mask (i.e. '*id'* or 'id'* or '*id')
First public release