Logo

Contents

  • EVA ICS v4
    • System documentation
      • Quick start
        • Few words from the authors
        • Installation
        • The task
        • Commons
        • Connecting the equipment
          • Creating items
          • Fieldbus connection
        • Defining logic
          • Rules
          • Logic macros
        • Building Human-Machine Interface
          • Creating users and ACLs
        • The same but with deployment
      • Installation
        • Supported operating systems
          • Recommended for production setups
          • Tested and fully compatible
        • Preparing the system
        • Installing
          • Basic install
          • Installer arguments
        • Post-install configuration
        • Startup
        • Configuring/rebuilding Python venv
        • Updating
          • Local nodes
          • Remote nodes
        • Running under a restricted user
      • Migration to V4
        • Why migrate to EVA ICS v4
        • Migration
          • V3 nodes in V4 cluster
          • V3 and V4 nodes on the same machine
          • Logic
          • Item states
          • AAA
          • Python macros
          • Deployment
          • Item scripts
          • UDP API
      • Cloud Manager UI
        • Installation
          • Windows 10/11+
          • Linux (Ubuntu 20.04/22.04)
          • Other operating systems
        • Operating manual
          • Connecting to a node
          • Common operations
          • Actions
          • Broker
          • Items
          • Log
          • Services
          • Secondary points
      • What is new
        • 4.0.0-stable
        • 4.0.0 (2022-10-05)
          • Common
      • Platform architecture
        • Basics
        • Service types
          • Common types
          • Service names
        • Primary external services
        • Additional external services
        • Service management
          • Create
          • Manage
          • Destroy / undeploy / purge
          • Advanced configuration
      • Local clustering and secondary points
        • Basics
        • Architecture
        • Configuration
        • Moving services to secondary points
        • Updating
        • Uploading files via deployment
      • Configuration
        • Configuration files
          • eva_config
          • watchdog
        • Configuration registry keys
          • eva/config/core
          • eva/config/bus
          • eva/config/registry
          • eva/config/logs
          • eva/config/python-venv
        • Troubleshooting
      • Registry database
        • Technology
        • Reasons
        • Maintenance
          • Bus cheat-sheet
        • Structure
      • Authentication, authorization and accounting
        • Basics
        • Structure
          • Access control list
          • API key
          • User
          • Session token
      • Items
        • Item types
          • sensor
          • unit
          • lvar
          • lmacro
        • Creating and managing items
        • Item states
        • Common item properties
          • OID
          • meta
          • enabled
          • logic
          • connected
          • node
      • Command-line tools
        • eva-shell
          • Installing/updating
        • EVA Cloud Manager CLI
        • Bus CLI
        • Registry management
          • Command-line tools
        • Python VENV management
      • IaC and deployment
        • Deployment file
          • AAA
          • Uploading files
          • Items
          • Macros
          • Services
          • Extra commands
        • Deployment via CLI
          • Deploying
          • Undeploying
        • Advanced configuration
      • High-load environments
        • Tuning EVA ICS
        • Hardware
      • Understanding timeouts
        • Call timeouts
        • The schema
        • Configuring the timeouts
          • Client timeout
          • Local replication pub/sub timeout
          • Bus call timeout
      • Troubleshooting
        • Creating dumps
          • Plain
          • Encrypted
        • Support requests
        • Community support
      • Security
        • Functionality
        • Native packages
          • Supported distributions
          • OpenSSL versions
          • Switching to native
        • Universal packages
          • OpenSSL versions
        • FIPS 140
        • Connecting untrusted remote nodes
      • EVA ICS Enterprise
        • General terms and conditions
        • Enterprise services
          • Installation
          • Active Directory authentication
          • Zero-failure replication
          • HMI Kiosk manager
        • EVA JS Framework WASM extension
          • Installation
          • Licensing
          • Limitations
        • PSRT Enterprise
        • Mission-critical projects
    • The core and services
      • The core
        • Configuration
        • EAPI methods
          • action
          • action.kill
          • action.list
          • action.result
          • action.terminate
          • action.toggle
          • core.shutdown
          • item.announce
          • item.create
          • item.deploy
          • item.destroy
          • item.disable
          • item.enable
          • item.get_config
          • item.list
          • item.state
          • item.summary
          • item.undeploy
          • log.get
          • log.purge
          • lvar.clear
          • lvar.decr
          • lvar.incr
          • lvar.reset
          • lvar.set
          • lvar.toggle
          • node.get
          • node.list
          • run
          • save
          • spoint.list
          • svc.deploy
          • svc.get
          • svc.get_params
          • svc.list
          • svc.purge
          • svc.restart
          • svc.undeploy
          • test
          • update
      • 1-Wire (OWFS) controller
        • Setup
        • EAPI methods
          • action
          • kill
          • terminate
          • w1.get
          • w1.info
          • w1.scan
          • w1.set
      • Active directory auth service
        • Setup
        • EAPI methods
          • auth.user
          • cache.delete
          • cache.purge
        • Preparing related services
        • Active Directory configuration
        • Usage
          • Authentication
          • ACL prefixes
      • Default ACL service
        • Setup
        • EAPI methods
          • acl.deploy
          • acl.destroy
          • acl.export
          • acl.format
          • acl.get_config
          • acl.list
          • acl.undeploy
      • Ethernet/IP PLC controller gateway
        • Setup
        • EAPI methods
          • action
          • kill
          • terminate
          • var.get
          • var.set
      • File manager service
        • Setup
        • EAPI methods
          • file.get
          • file.put
          • file.unlink
          • sh
      • HMI kiosk manager
        • Creating/managing kiosks
          • Creating a kiosk connection
          • Using one-time accounts for authentication
          • Listing kiosk states
          • Destroying kiosk connection
          • More functions
          • Kiosks and IaC-deployment
        • Setup
        • EAPI methods
          • kiosk.alert
          • kiosk.deploy
          • kiosk.destroy
          • kiosk.dev_close
          • kiosk.dev_open
          • kiosk.display
          • kiosk.eval
          • kiosk.get_config
          • kiosk.info
          • kiosk.list
          • kiosk.login
          • kiosk.logout
          • kiosk.navigate
          • kiosk.reboot
          • kiosk.reload
          • kiosk.test
          • kiosk.undeploy
          • kiosk.zoom
      • HMI service
        • Setup
        • EAPI methods
          • api_log.get
          • i18n.cache_purge
          • session.broadcast.reload
          • session.broadcast.restart
          • session.destroy
          • session.list
          • tpl.reload
          • ws.stats
        • HTTP API
          • Basics
          • action
          • action.kill
          • action.result
          • action.terminate
          • action.toggle
          • api_log.get
          • bus::<TARGET_SVC>::<METHOD>
          • item.check_access
          • item.state
          • item.state_history
          • item.state_log
          • log.get
          • login
          • logout
          • lvar.clear
          • lvar.decr
          • lvar.incr
          • lvar.reset
          • lvar.set
          • lvar.toggle
          • run
          • session.list_neighbors
          • session.set_readonly
          • set_password
          • test
          • x::<TARGET_SVC>::<METHOD>
        • Web socket methods
          • bye
          • ping
          • subscribe.log
          • subscribe.state
          • Events
      • InfluxDB state history
        • Setup
        • EAPI methods
          • state_history
          • state_log
        • Retention policies
      • Item state expiration service
        • Setup
      • Item state file writer (JSON/CSV)
        • Setup
        • EAPI methods
          • flush
          • rotate
      • Legacy (V3) replication service
        • Limitations
          • Protocol and configuration
          • Items
          • rpvt
        • Installing/updating
        • Setup
        • EAPI methods
          • node.list
          • node.reload
      • Local user/key authentication service
        • Setup
        • EAPI methods
          • auth.key
          • auth.user
          • key.deploy
          • key.destroy
          • key.export
          • key.get
          • key.get_config
          • key.list
          • key.regenerate
          • key.undeploy
          • password.hash
          • user.create_one_time
          • user.deploy
          • user.destroy
          • user.export
          • user.get_config
          • user.list
          • user.set_password
          • user.undeploy
      • Logic manager
        • Functionality
          • Rules
          • Cycles
          • Jobs
        • Setup
        • EAPI methods
          • action
          • cycle.get
          • cycle.list
          • cycle.reset
          • cycle.start
          • cycle.stop
          • job.get
          • job.list
          • kill
          • rule.get
          • rule.list
          • terminate
      • Mailer service
        • Setup
        • EAPI methods
          • send
      • Mirror service
        • Updating mirror files on the source node
        • Configuring mirror on target nodes
        • Setup
      • Modbus master controller
        • Setup
        • EAPI methods
          • action
          • kill
          • reg.get
          • reg.set
          • terminate
      • Modbus slave service
        • Setup
        • EAPI methods
          • MB
          • save
      • OTP 2nd-Factor authentication service
        • Setup
        • EAPI methods
          • otp.check
          • otp.destroy
      • Python macros controller
        • Installing/updating
        • Setup
        • EAPI methods
          • run
      • Replication service
        • Pub/sub security
        • Replicating untrusted nodes
        • Setup
        • EAPI methods
          • bus::<SVC_ID>::<METHOD>
          • node.append
          • node.deploy
          • node.export
          • node.get
          • node.get_config
          • node.list
          • node.mtest
          • node.reload
          • node.remove
          • node.test
          • node.undeploy
      • SNMP/UDP trap handler
        • SNMP Traps
          • Processing
          • Supported SNMP data types
        • Native traps
          • Updates
          • Actions
          • Encrypted/compressed traps
        • Setup
      • SQL databases state history
        • Setup
        • EAPI methods
          • state_history
          • state_log
      • Script runner controller
        • Commons
        • Update scripts
        • Action scripts
          • Current unit states
        • Setup
        • EAPI methods
          • action
          • kill
          • terminate
          • update
      • Shared lock service
        • Setup
        • EAPI methods
          • list
          • lock
          • status
          • unlock
      • Text-to-speech service
        • Installing/updating
        • Setup
        • EAPI methods
          • say
      • TwinCAT ADS bridge
        • Setup
        • EAPI methods
          • ping
          • read
          • su_read
          • su_write
          • su_write_read
          • write
          • write_read
      • TwinCAT ADS controller
        • Setup
        • EAPI methods
          • action
          • kill
          • terminate
          • var.get
          • var.set
          • var.set_bulk
      • Virtual controller
        • Setup
        • EAPI methods
          • action
          • get
          • list
          • set
      • Zero-failure replication service
        • Service roles
          • Collector
          • Replicator
          • Standalone
        • Recommendations
        • Untrusted nodes and zero-failure replication
        • Setup
        • EAPI methods
          • client.start
          • disable
          • enable
          • mailbox.delete_block
          • mailbox.fill
          • mailbox.get_block
          • mailbox.list_blocks
          • mailbox.rotate
          • process_dir
          • status
    • Interface development (HMI apps)
      • UI development
        • Basics
        • Web applications
        • Authentication
        • The model
        • Handling file uploads
      • Serving private data (PVT)
        • Loading files from PVT Server
        • Serving private data from EVA ICS Registry
        • Serving remote resources (RPVT)
          • Local network resources
          • Remote network resources
      • Serving structured data
        • Format conversion
        • Multi-language
          • Usage
          • Generating
          • Locale cache
        • Serving structured data from EVA ICS Registry
      • HMI file uploads
        • File upload form
          • How does it work
          • Errors
          • Additional form parameters
        • Processing macro
        • Security and file upload limits
      • Server Templates
        • Working with server templates
        • Template files
        • Template variables
      • Front-end server for HMI service
        • Example with NGINX
      • Mobile clients
        • Android
          • EVA ICS Control Center client
          • Building own client
          • Authentication
        • Apple iOS and other mobile platforms
      • Two-factor OTP authentication
        • System setup
          • Services
          • Excluding user accounts from OTP
          • Resetting OTP for a user account
        • User authentication
          • API
          • Authenticator programs
        • HMI application example
    • Automation
      • Inverted states
        • Pulling data
        • Actions
      • Logic manager
        • Functionality
          • Rules
          • Cycles
          • Jobs
        • Setup
        • EAPI methods
          • action
          • cycle.get
          • cycle.list
          • cycle.reset
          • cycle.start
          • cycle.stop
          • job.get
          • job.list
          • kill
          • rule.get
          • rule.list
          • terminate
      • Opener robots
        • Hardware schemas
          • AC circuit
          • RDC circuit
        • Software configuration
      • Python Logic Macros
        • Executing macros
        • Common principles of macros operation
        • System macros
          • On startup
          • On shutdown
        • Macros and security
        • Macros built-ins
        • Variables
        • Built-in functions
        • General functions
          • date - date/time
          • decrement_shared - decrements value of the shared variable
          • exit - finishes macro execution
          • get_directory - gets path to EVA ICS directory
          • increment_shared - increments value of the shared variable
          • instant - system monotonic timer value
          • ls - lists files in directory
          • mail - sends email message
          • ping - pings a remote host
          • rpc_call - performs a bus RPC call
          • run - executes another lmacro
          • set_shared - sets value of the shared variable
          • sha256sum - calculates SHA256 sum
          • shared - gets value of the shared variable
          • sleep - sleep(seconds)
          • system - execute the command in a subshell
          • time - current time in seconds since Epoch
        • Item functions
          • state - gets item state
          • status - gets item status
          • value - gets item value
        • LVar functions
          • clear - clears lvar status
          • decrement - decrements lvar value
          • increment - increments lvar value
          • is_expired - checks is lvar (timer) or item state expired/error
          • reset - resets lvar status
          • set - sets lvar value
          • toggle - toggles lvar status
        • Unit control
          • action - executes unit control action
          • action_toggle - executes an action to toggle unit status
          • is_busy - checks is the unit busy
          • kill - kills unit actions
          • result - gets action status
          • start - executes an action to a unit
          • stop - executes an action to stop a unit
          • terminate - terminates action execution
        • Locking functions
          • lock - acquires a lock
          • unlock - releases a lock
        • Logging
          • debug - log debug message
          • info - log info message
          • warning - log warning message
          • error - log error message
          • critical - log critical message
    • Software Development Kit (SDK)
      • Bindings and libraries
        • Rust
        • Python
      • EAPI commons
        • Calling EAPI methods
          • Type specifications
          • Error codes
        • EAPI Basics
          • Metadata format
          • Method info structure
          • Example
        • Communications
          • The core
          • ACL services
          • Core events
          • Raw events
          • Replication events
          • Actions
          • Logs
          • Auth
        • Security model and call ACLs
        • Initial payload
        • Controller service requirements
          • Events
          • Unit actions
          • Macros actions
      • SDK tutorial - a simple service
        • The task
        • Creating a project
        • Preparing the system
        • Service code
        • Service template
      • Pub/Sub RPC and data replication
        • Common
        • Events
        • Tests
        • Announce/discovery/node state
        • Bulk events
        • RPC
          • Requests
          • Replies
          • Encryption
    • License
      • TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        • 1. Definitions.
        • 2. Grant of Copyright License.
        • 3. Grant of Patent License.
        • 4. Redistribution.
        • 5. Submission of Contributions.
        • 6. Trademarks.
        • 7. Disclaimer of Warranty.
        • 8. Limitation of Liability.
        • 9. Accepting Warranty or Additional Liability.
      • Common Clause 1
  • EVA ICS v3
    • System Documentation
      • Installation
        • Officially supported platforms
          • Recommended for production setups
          • Tested and fully compatible
        • System Requirements
        • Using installer
          • Automatic and unattended
          • Customized
        • Manual installation
          • Preparing the system
          • Configuring MQTT broker
          • Cloud service provider as MQTT broker
          • Downloading and extracting EVA ICS distribution
          • Customizing Python virtual environment
          • Installing
          • Unicode
        • Updating
          • Using EVA Shell
          • Using system shell
          • With a pre-downloaded tarball
          • Intermediate versions
        • Moving to another folder
        • Setting up additional features
        • Watchdog
        • How to assign IDs to items
        • Cloud setup
          • Configuring LM and SFA as primary
          • Configuring UC and LM PLC as secondaries
          • Cloud manager
          • Cloud updates
        • Log file customization
        • Using NGINX as a frontend for SFA interface
          • External authentication
          • Using HTTP basic auth for EVA ICS authentication
        • Serving local mirror
          • Installing
          • Configuring mirror
          • Configuring secondary nodes
          • Removing
      • What's new
        • 3.4.2 (2021-12-20)
          • Common
          • LM PLC
        • 3.4.1 (2021-09-06)
          • Common
        • 3.4.0 (2021-07-07)
          • Common
          • UC
          • LM PLC
          • SFA
          • Removed and deprecated
        • 3.3.2 (2021-03-01)
          • Common
          • UC
          • LM PLC
          • SFA
        • 3.3.1 (2020-08-26)
          • Common
          • UC
          • LM PLC
          • SFA
        • 3.3.0 (2020-02-05)
          • Common
          • UC
          • LM
        • 3.2.5 (2019-10-03)
          • Common
          • LM PLC
          • Cloud manager
        • 3.2.4 (2019-07-30)
          • Common
          • UC
          • LM PLC
          • SFA
        • 3.2.3 (2019-06-24)
          • Common
          • UC
          • LM PLC
          • SFA
        • 3.2.2 (2019-05-21)
          • UC
          • LM PLC
          • SFA
        • 3.2.1 (2019-04-16)
          • Common
        • 3.2.0 (2019-04-02)
          • Common
          • UC
          • LM PLC
          • SFA
          • Deprecated (will be removed in 3.3.0)
        • 3.1.1 (2018-10-22)
          • Common
          • UC
          • LM PLC
          • SFA
        • 3.1.0 (2018-09-01)
          • Core
          • UC
          • LM PLC
          • SFA
          • API Client
          • Common
        • 3.0.2 (2018-06-23)
          • Emergency interfaces
          • Core
          • UC
          • LM PLC
          • SFA
          • Common
        • 3.0.1 (2018-02-21)
          • Core
          • UC
          • LM PLC
        • 3.0.0 (2017-10-19)
      • Quick start
        • Installation
        • Task
        • Connecting the equipment
        • Defining logic
        • Building a very simple Human-Machine Interface
      • Security
        • General recommendations
        • Network design
        • Should I run it as root?
        • API recommendations
          • X-Real-IP HTTP header
          • Universal Controller API keys
          • Logic Manager API keys
          • SCADA Final Aggregator interfaces
          • Common API security recommendations
          • Developer mode
      • Registry database
        • Technology
        • Reasons
        • Configuration
        • Maintenance
        • Structure
        • SDK
      • Notification system
        • Event structure
          • Event subjects
          • state - item state change event
          • action - unit and macro action events
          • log - logged event
          • server - server events
        • Configuring the notification endpoints
          • Basic Configuration
          • Subscribing the notifier to events
        • MQTT (mqtt)
          • MQTT and state notifications
          • MQTT and action notifications
          • MQTT and log notifications
          • Setting up MQTT SSL
          • Setting up MQTT QoS
          • Use MQTT for updating item states
          • MQTT and unit actions
          • MQTT and bulk events
          • IoT Cloud setup
        • PSRT
        • UDP notifiers (LURP)
          • UDP frame format
        • DB Notifiers
          • RDBMS (SQLite, MySQL, PosgreSQL)
          • TimescaleDB
          • InfluxDB
          • Prometheus
        • 3rd party Clouds
          • Google Cloud Platform IoT Core
        • File notifiers
        • HTTP Notifiers
          • JSON
          • NDJSON
          • JSON RPC
          • Basic authentication
        • Bulk (buffered) notifications
        • Notifier frame counters
        • Switching Pub/sub notifiers
          • Switching notifier type
          • Switching controller notifier path on primary nodes
      • Data pullers
        • Configuration
        • Execution
        • Data exchange
          • Basics
          • Health check
          • Data output
          • Logging
          • State reporting
          • Environment variables
        • Pulr
      • Command line interfaces
        • EVA command line apps
          • EVA shell
          • Universal Controller
          • Logic Manager
          • SCADA Final Aggregator
          • Registry management
          • Other
        • Device control apps
          • TCP/IP controlled relays
          • 1-Wire (direct access via GPIO)
      • Authentication
        • API keys
          • Default and custom API keys
          • API key properties and ACL
        • Users
        • Combined ACLs
      • IaC and deployment
        • Deployment configuration file
          • Controllers
          • Items
          • Macros
          • Logical rules
          • Scheduled jobs
          • Cycles
        • How to deploy configuration
          • Deployment via CLI
          • Deployment during installation
          • Complex deployments
          • Devices
      • FAQ
        • Is this a “smart home”?
        • Is this IoT?
        • If the system is free and open, what is your interest?
        • Is EVA ICS complicated and difficult to learn?
        • Is it reliable?
        • How about security?
        • What programming languages can I use to write scripts and macros?
        • What if I have zero experience in programming?
        • What automation is all about? What are automation components?
        • Is EVA ICS IEC 61131-3 compliant?
        • Where is the interface? I want a web interface!
        • Why EVA ICS has 3 different APIs?
      • High-load environments
        • Tuning EVA ICS
        • Hardware
        • Benchmarks
      • Crash-free setup
        • Inventory configuration
        • Users and API keys
        • Item states
        • Logs
        • Suicide timeouts
      • Always exec
      • EVA ICS container
        • Permanent volumes
        • Configuration variables
        • Prepare / setup scripts
        • Updating
      • Enterprise extensions
        • EVA JS Framework WASM extension
          • Installation
          • Licensing
          • Limitations
        • PSRT Enterprise
    • Components
      • Universal Controller
        • UC POLL DELAY
        • config/uc/main registry key
        • Custom variables
        • Action queues
        • Startup and shutdown
      • Logic Manager
        • config/lm/main registry key
        • Custom variables
        • Connecting UC controllers
        • Macro execution queues
        • Startup and shutdown
      • SCADA Final Aggregator
        • config/sfa/main registry key
        • Custom variables
        • Connecting UC and LM PLC controllers
        • Interface
        • Startup and shutdown
      • Control and monitoring items
        • Common item parameters
        • Item layout
        • Unit
          • Status of the unit state
          • Value of the unit state
          • Units in EVA hive
          • Unit parameters
        • Sensor
          • Sensors in EVA hive
          • Sensor parameters
        • Validation of state value
        • Logic variable
          • LVars in EVA hive
          • Examples using LVars
          • LVar parameters
          • Simple logic
        • Multi-updates
          • Multi-updates in EVA hive
          • Multiupdate parameters
        • Device
          • Device example
          • Device limitations
        • Defaults
    • UC EI
      • Logging in
      • Navigation
      • System information
      • Units
      • Sensors
      • Log viewer
      • Disabling the interface
    • LM EI
      • Logging in
      • Navigation
      • System information
      • Logic variables
      • Macros
      • Decision rules
      • Log viewer
      • Disabling the interface
    • Equipment management
      • Cloud Manager
        • Dashboard
        • Controller management
      • Drivers
        • Structure
        • Logical to physical interfaces (LPI)
          • basic LPI
          • sensor LPI
          • ssp LPI
          • esensor LPI
          • multistep LPI
          • Loading driver with the chosen LPI
        • Physical interfaces (PHI)
          • Universal PHIs
          • Physical events
          • Drivers and multi updates
          • Testing PHIs and additional PHI commands
      • Item scripts
        • Item actions
          • Passive updates of item state
          • Multiupdate scripts
          • Commands
      • Modbus
        • Defining Modbus virtual port
        • Testing Modbus virtual port
        • Deleting Modbus virtual port
        • Generic Modbus drivers
        • Modbus slave
      • OWFS (1-Wire)
        • Setup
          • Automatic setup
          • Manual setup
        • Defining OWFS bus
        • Scanning OWFS for devices
        • Deleting OWFS bus
      • SNMP
        • Collecting and sending data
        • Connecting equipment with drivers
        • Universal processing
          • SNMP traps
      • Virtual items
        • Virtual drivers
    • Logic control
      • Logic control macros
        • Executing macros
        • Debugging macros
        • Macros configuration
        • Common principles of macros operation
        • System macros
          • On startup
          • On shutdown
        • Macros and security
        • Macros built-ins
        • Variables
        • Extending macros functionality
        • General functions
          • alias - create object alias
          • cmd - execute a remote system command
          • date - date/time
          • decrement_shared - decrement value of the shared variable
          • exit - finish macro execution
          • get_directory - get path to EVA ICS directory
          • increment_shared - increment value of the shared variable
          • ls - list files in directory
          • mail - send email message
          • open_newest - open newest file by mask
          • open_oldest - open oldest file by mask
          • ping - ping remote host
          • run - execute another macro
          • set_shared - set value of the shared variable
          • sha256sum - calculate SHA256 sum
          • shared - get value of the shared variable
          • sleep - pause operations
          • system - execute the command in a subshell
          • time - current time in seconds since Epoch
        • Item functions
          • history - get item state history
          • lvar_status - get lvar status
          • lvar_value - get lvar value
          • sensor_status - get sensor status
          • sensor_value - get sensor value
          • state - get item state
          • status - get item status
          • unit_nstatus - get unit nstatus
          • unit_nvalue - get unit nvalue
          • unit_status - get unit status
          • unit_value - get unit value
          • value - get item value
        • LVar functions
          • clear - reset lvar value
          • decrement - decrement lvar value
          • expires - set lvar expiration time
          • increment - increment lvar value
          • is_expired - is lvar (timer) expired
          • reset - reset lvar value
          • set - set lvar value
          • toggle - toggle lvar value
        • Unit control
          • action - unit control action
          • action_toggle - toggle unit status
          • is_busy - is unit busy
          • kill - kill unit actions
          • q_clean - clean action queue of unit
          • result - get action status
          • start - start unit
          • stop - stop unit
          • terminate - terminate action execution
        • Rule management
          • set_rule_prop - set rule prop
        • Scheduled job management
          • set_job_prop - set job prop
        • Devices
          • deploy_device - deploy device items from template
          • undeploy_device - undeploy device items config from template
          • update_device - update device items config from template
        • Logic cycles
          • get_cycle_info - get cycle information
          • is_cycle_running - get cycle running status
          • list_cycle_props - list cycle props
          • reset_cycle_stats - reset cycle stats
          • set_cycle_prop - set cycle prop
          • start_cycle - start cycle
          • stop_cycle - stop cycle
        • Locking functions
          • lock - acquire lock
          • unlock - release lock
        • Logging
          • debug - put debug message to log file
          • info - put info message to log file
          • warning - put warning message to log file
          • error - put error message to log file
          • critical - put critical message to log file
      • Decision-making matrix
        • Event analysis algorithms
        • Rule creation
        • Rule configuration
        • Tips for rule configuration
      • Scheduled jobs
        • Job creation
        • Job configuration
        • Job schedule interval
      • Logic cycles
        • Cycle creation
        • Cycle configuration
        • on_error macro
        • Performance
        • Cycles vs jobs
    • Interface development
      • UI basics
        • Development
        • Custom error pages
        • UI Favicon
      • SFA Templates
        • Template files
        • Template variables
        • Template functions
          • groups
          • state
          • api_call
          • get_aci
          • import_module
      • SFA PVT
        • Loading files from PVT Server
        • Receiving the file list
        • Receiving the newest and the oldest file
        • Image Processing
        • Disabling cache
        • Serving private data from EVA ICS Registry
        • Remote content
      • Serving structured data
        • Format conversion
        • Multi-language
          • Usage
          • Generating
          • Locale cache
        • Serving structured data from EVA ICS Registry
      • HMI file uploads
        • File upload form
          • How does it work
          • Errors
          • Additional form parameters
        • Processing macro
        • Security and file upload limits
      • API session tokens
        • Usage
        • Expiration
        • Read-only mode
      • Supervisors
        • API locks
        • Broadcast messages
        • CLI
      • Active Directory support
        • Automatic setup
        • Manual setup
          • System setup
          • EVA ICS controller configuration
          • Configuring multiple domains
        • Active Directory configuration
        • Usage
          • Authentication
          • Key prefixes
      • Mobile clients
        • Android
          • EVA ICS Control Center client
          • Building own client
          • Authentication
        • Apple iOS and other mobile platforms
    • Integrations
      • AKCP
        • Equipment supported
        • Setup
        • Performance tuning
      • Arduino
        • Receiving commands from EVA ICS
        • Sending data to EVA ICS UC
          • Setup EVA ICS UC
          • Setup Arduino
      • Amazon Web Services
        • AWS IoT as MQTT broker
          • During installation
          • After installation
        • Amazon Polly TTS
      • CCTV Cameras
        • Uploaded images
        • Image in local network
        • Image in 3rd party network
        • Image from password-protected camera
        • Video streams
      • Denkovi
        • Equipment supported
        • Relay setup
        • smartDEN IP-32IN setup
        • Performance tuning
      • Energenie EG-PM2-LAN
        • Setup
      • Ethernet/IP
        • Drivers
        • Logic
        • Setup
          • Automatic setup
          • Manual setup
          • Creating tag lists
          • Configuring
      • Elastic (ELK)
        • Prepare EVA ICS
        • Configure ELK
      • Google Cloud Platform
        • Google Cloud IoT Core
        • Google Cloud TTS
      • Grafana
        • Data
        • Controls
          • Custom UI
          • HMI Block UI
        • Custom resources
      • Philips Hue
        • Setup
      • LoRaWAN
        • Requirements
          • Hardware
          • Network server
      • Nanoleaf
        • Setup
      • Node-Red
        • Configuring EVA ICS
        • Collecting events in Node-Red
        • Processing events
        • Defining control templates
        • Controlling equipment
        • Deploying
      • Roboger
        • Servers supported
        • Setup
          • Preparing system
          • Preparing LM extension
          • Loading LM extension
        • Using in macros
      • Raspberry Pi
        • Hardware recommendations
        • Installation
        • GPIO
      • Sonoff
        • Setup
      • Text-to-Speech
        • Configure audio hardware
        • Obtain cloud provider key
        • Create TTS configuration
        • Install TTSBroker Python module
        • Load tts macro extension
        • Use loaded function
        • Combine with macro
      • UniPi
        • Hardware recommendations
        • Installation
          • Local
          • Remote
        • 1-Wire
        • Inputs/outputs
      • UPnP
        • EVA ICS controllers
          • Notes
          • Request example
          • Response
        • 3rd-party equipment
      • Xiaomi Yeelight
        • Setup
    • API
      • Common methods
        • API basics
          • JSON RPC
          • Direct API
        • General functions
          • test - test API/key and get system info
          • save - save database and runtime configuration
          • check_item_access - check access to the particular item
          • clear_lang_cache - Clear language cache
          • cmd - execute a remote system command
          • install_pkg - install a package
          • list_plugins - get list of loaded core plugins
          • set_debug - switch debugging mode
          • shutdown_core - shutdown the controller
          • login - log in and get authentication token
          • logout - log out and purge the authentication token
          • set_token_readonly - Set token read-only
          • get_neighbor_clients - Get neighbor clients
        • CVARs
          • get_cvar - get the value of user-defined variable
          • set_cvar - set the value of user-defined variable
        • Locking functions
          • get_lock - get lock status
          • lock - acquire lock
          • unlock - release lock
        • Logging
          • log - put message to log file
          • log_debug - put debug message to log file
          • log_info - put info message to log file
          • log_warning - put warning message to log file
          • log_error - put error message to log file
          • log_critical - put critical message to log file
          • log_get - get records from the controller log
          • log_rotate - rotate log file
          • api_log_get - get API call log
        • API keys
          • create_key - create API key
          • destroy_key - delete API key
          • list_key_props - list API key permissions
          • list_keys - list API keys
          • regenerate_key - regenerate API key
          • set_key_prop - set API key permissions
        • User accounts
          • create_user - create user account
          • destroy_user - delete user account
          • get_user - get user account info
          • list_users - list user accounts
          • set_user_key - assign API key to user
          • set_user_password - set user password
          • list_tokens - List active session tokens
          • drop_tokens - Drop session token(s)
        • Notifier management
          • disable_notifier - disable notifier
          • enable_notifier - enable notifier
          • get_notifier - get notifier configuration
          • list_notifiers - list notifiers
          • restart_notifier - restart notifier
        • File management
          • file_put - put file to runtime folder
          • file_set_exec - set file exec permission
          • file_get - get file contents from runtime folder
          • file_unlink - delete file from runtime folder
        • Core scripts
          • list_corescript_mqtt_topics - List MQTT topics core scripts react on
          • reload_corescripts - Reload core scripts if some was added or deleted
          • subscribe_corescripts_mqtt - Subscribe core scripts to MQTT topic
          • unsubscribe_corescripts_mqtt - Unsubscribe core scripts from MQTT topic
        • Registry management
          • registry_safe_purge - Safely purge registry database
      • UC API
        • API basics
          • JSON RPC
          • Direct API
        • Item functions
          • action - unit control action
          • action_toggle - toggle unit status
          • disable_actions - disable unit actions
          • enable_actions - enable unit actions
          • groups - get item group list
          • kill - kill unit actions
          • q_clean - clean action queue of unit
          • result - get action status
          • start_item_maintenance - start item maintenance mode
          • state - get item state
          • state_history - get item state history
          • state_log - get item state log
          • stop_item_maintenance - stop item maintenance mode
          • terminate - terminate action execution
          • update - update the status and value of the item
        • Item management
          • list - list items
          • create - create new item
          • create_mu - create multi-update
          • create_sensor - create new sensor
          • create_unit - create new unit
          • destroy - delete item or group
          • get_config - get item configuration
          • list_props - list item properties
          • save_config - save item configuration
          • set_prop - set item property
          • clone - clone item
          • clone_group - clone group
        • 1-Wire bus via OWFS
          • create_owfs_bus - create OWFS bus
          • destroy_owfs_bus - delete OWFS bus
          • get_owfs_bus - get OWFS bus configuration
          • list_owfs_buses - list OWFS buses
          • scan_owfs_bus - scan OWFS bus
          • test_owfs_bus - test OWFS bus
        • Modbus ports
          • create_modbus_port - create virtual Modbus port
          • destroy_modbus_port - delete virtual Modbus port
          • get_modbus_port - get virtual Modbus port configuration
          • list_modbus_ports - list virtual Modbus ports
          • read_modbus_port - read Modbus register(s) from remote slave
          • test_modbus_port - test virtual Modbus port
          • write_modbus_port - write Modbus register(s) to remote slave
          • get_modbus_slave_data - get Modbus slave data
        • Physical interfaces (PHIs)
          • exec_phi - execute additional PHI commands
          • get_phi - get loaded PHI information
          • get_phi_ports - get list of PHI ports
          • list_phi - list loaded PHIs
          • list_phi_mods - get list of available PHI modules
          • load_phi - load PHI module
          • modhelp_phi - get PHI usage help
          • modinfo_phi - get PHI module info
          • phi_discover - discover installed equipment supported by PHI module
          • push_phi_state - push state to PHI module
          • put_phi_mod - upload PHI module
          • set_phi_prop - set PHI configuration property
          • test_phi - test PHI
          • unlink_phi_mod - delete PHI module file
          • unload_phi - unload PHI
        • LPI and drivers
          • assign_driver - assign driver to item
          • get_driver - get loaded driver information
          • list_drivers - list loaded drivers
          • list_lpi_mods - get list of available LPI modules
          • load_driver - load a driver
          • modhelp_lpi - get LPI usage help
          • modinfo_lpi - get LPI module info
          • set_driver_prop - set driver (LPI) configuration property
          • unload_driver - unload driver
        • Data pullers
          • create_datapuller - create data puller
          • destroy_datapuller - destroy data puller
          • get_datapuller - Get data puller
          • list_datapullers - List data pullers
          • restart_datapuller - Restart data puller
          • start_datapuller - Start data puller
          • stop_datapuller - Stop data puller
        • Devices
          • deploy_device - deploy device items from template
          • list_device_tpl - list device templates
          • undeploy_device - delete device items
          • update_device - update device items
      • UC RESTful API
        • RESTful API basics
          • Requests
          • Responses
          • Long API calls
        • General functions
          • test API/key and get system info
          • save database and runtime configuration
          • Clear language cache
          • check access to the particular item
          • execute a remote system command
          • get list of loaded core plugins
          • install a package
          • shutdown the controller
          • switch debugging mode
          • log in and get authentication token
          • log out and purge the authentication token
          • Set token read-only
          • Get neighbor clients
        • Item functions
          • clean action queue of unit
          • disable unit actions
          • enable unit actions
          • get action status
          • get item group list
          • get item state
          • get item state history
          • get item state log
          • kill unit actions
          • start item maintenance mode
          • stop item maintenance mode
          • terminate action execution
          • toggle unit status
          • unit control action
          • update the status and value of the item
        • Item management
          • list items
          • create multi-update
          • create new sensor
          • create new unit
          • get item configuration
          • list item properties
          • save item configuration
          • set item property
          • clone group
          • clone item
        • 1-Wire bus via OWFS
          • create OWFS bus
          • delete OWFS bus
          • get OWFS bus configuration
          • list OWFS buses
          • scan OWFS bus
          • test OWFS bus
        • Modbus ports
          • create virtual Modbus port
          • delete virtual Modbus port
          • get virtual Modbus port configuration
          • list virtual Modbus ports
          • read Modbus register(s) from remote slave
          • test virtual Modbus port
          • write Modbus register(s) to remote slave
          • get Modbus slave data
        • Physical interfaces (PHIs)
          • delete PHI module file
          • discover installed equipment supported by PHI module
          • execute additional PHI commands
          • get PHI module info
          • get PHI usage help
          • get list of PHI ports
          • get list of available PHI modules
          • get loaded PHI information
          • list loaded PHIs
          • load PHI module
          • push state to PHI module
          • set PHI configuration property
          • test PHI
          • unload PHI
          • upload PHI module
        • LPI and drivers
          • assign driver to item
          • get LPI module info
          • get LPI usage help
          • get list of available LPI modules
          • get loaded driver information
          • list loaded drivers
          • load a driver
          • set driver (LPI) configuration property
          • unload driver
        • Data pullers
          • Get data puller
          • List data pullers
          • Restart data puller
          • Start data puller
          • Stop data puller
          • create data puller
          • destroy data puller
        • Devices
          • delete device items
          • deploy device items from template
          • list device templates
          • update device items
        • CVARs
          • get the value of user-defined variable
          • set the value of user-defined variable
        • Locking functions
          • acquire lock
          • get lock status
          • release lock
        • Logging
          • put message to log file
          • put debug message to log file
          • put info message to log file
          • put warning message to log file
          • put error message to log file
          • put critical message to log file
          • get records from the controller log
          • rotate log file
          • get API call log
        • API keys
          • create API key
          • delete API key
          • list API key permissions
          • list API keys
          • regenerate API key
          • set API key permissions
        • User accounts
          • assign API key to user
          • create user account
          • delete user account
          • get user account info
          • list user accounts
          • set user password
          • List active session tokens
          • Drop session token(s)
        • Notifier management
          • disable notifier
          • enable notifier
          • get notifier configuration
          • list notifiers
          • restart notifier
        • File management
          • put file to runtime folder
          • set file exec permission
          • delete file from runtime folder
          • get file contents from runtime folder
        • Core scripts
          • List MQTT topics core scripts react on
          • Reload core scripts if some was added or deleted
          • Subscribe core scripts to MQTT topic
          • Unsubscribe core scripts from MQTT topic
        • Registry management
          • Safely purge registry database
      • UC UDP API
        • Basics
        • Batch commands
        • Encryption and authentication
        • Custom packets
      • LM API
        • API basics
          • JSON RPC
          • Direct API
        • LVar functions
          • clear - clear lvar state
          • decrement - decrement lvar value
          • groups - get item group list
          • increment - increment lvar value
          • reset - reset lvar state
          • set - set lvar state
          • state - get lvar state
          • state_history - get item state history
          • state_log - get item state log
          • toggle - toggle lvar state
        • LVar management
          • list - list lvars
          • create - alias for create_lvar
          • create_lvar - create lvar
          • destroy - alias for destroy_lvar
          • destroy_lvar - delete lvar
          • get_config - get lvar configuration
          • list_props - list lvar properties
          • save_config - save lvar configuration
          • set_prop - set lvar property
        • Decision matrix rules
          • create_rule - create new rule
          • destroy_rule - delete rule
          • get_rule - get rule information
          • list_rule_props - list rule properties
          • list_rules - get rules list
          • set_rule_prop - set rule parameters
        • Logic cycles
          • create_cycle - create new cycle
          • destroy_cycle - delete cycle
          • get_cycle - get cycle information
          • groups_cycle - get cycle groups list
          • list_cycle_props - get cycle configuration properties
          • list_cycles - get cycle list
          • reset_cycle_stats - reset cycle statistic
          • set_cycle_prop - set cycle property
          • start_cycle - start cycle
          • stop_cycle - stop cycle
        • Logic macros
          • create_macro - create new macro
          • destroy_macro - delete macro
          • get_macro - get macro information
          • groups_macro - get macro groups list
          • list_macro_props - get macro configuration properties
          • list_macros - get macro list
          • result - macro execution result
          • run - execute macro
          • set_macro_prop - set macro configuration property
        • Macro extensions
          • get_ext - get loaded extension information
          • list_ext - get list of available macro extensions
          • list_ext_mods - get list of available extension modules
          • load_ext - load extension module
          • modhelp_ext - get extension usage help
          • modinfo_ext - get extension module info
          • set_ext_prop - set extension configuration property
          • unload_ext - unload macro extension
        • Remote controllers
          • append_controller - connect remote UC via HTTP
          • disable_controller - disable connected controller
          • enable_controller - enable connected controller
          • get_controller - get connected controller information
          • list_controller_props - get controller connection parameters
          • list_controllers - get controllers list
          • list_remote - get a list of items from connected UCs
          • reload_controller - reload controller
          • remove_controller - disconnect controller
          • set_controller_prop - set controller connection parameters
          • test_controller - test connection to remote controller
          • upnp_rescan_controllers - rescan controllers via UPnP
        • Scheduled jobs
          • create_job - create new job
          • destroy_job - delete job
          • get_job - get job information
          • list_job_props - list job properties
          • list_jobs - get jobs list
          • set_job_prop - set job parameters
      • LM RESTful API
        • RESTful API basics
          • Requests
          • Responses
          • Long API calls
        • General functions
          • test API/key and get system info
          • save database and runtime configuration
          • Clear language cache
          • check access to the particular item
          • execute a remote system command
          • get list of loaded core plugins
          • install a package
          • shutdown the controller
          • switch debugging mode
          • log in and get authentication token
          • log out and purge the authentication token
          • Set token read-only
          • Get neighbor clients
        • LVar functions
          • clear lvar state
          • decrement lvar value
          • get item group list
          • get item state history
          • get item state log
          • get lvar state
          • increment lvar value
          • reset lvar state
          • set lvar state
          • toggle lvar state
        • LVar management
          • list lvars
          • create lvar
          • delete lvar
          • get lvar configuration
          • list lvar properties
          • save lvar configuration
          • set lvar property
        • Decision matrix rules
          • create new rule
          • delete rule
          • get rule information
          • get rules list
          • list rule properties
          • set rule parameters
        • Logic cycles
          • create new cycle
          • delete cycle
          • get cycle configuration properties
          • get cycle groups list
          • get cycle information
          • get cycle list
          • reset cycle statistic
          • set cycle property
          • start cycle
          • stop cycle
        • Logic macros
          • create new macro
          • delete macro
          • execute macro
          • get macro configuration properties
          • get macro groups list
          • get macro information
          • get macro list
          • macro execution result
          • set macro configuration property
        • Macro extensions
          • get extension module info
          • get extension usage help
          • get list of available extension modules
          • get list of available macro extensions
          • get loaded extension information
          • load extension module
          • set extension configuration property
          • unload macro extension
        • Remote controllers
          • connect remote UC via HTTP
          • disable connected controller
          • disconnect controller
          • enable connected controller
          • get a list of items from connected UCs
          • get connected controller information
          • get controller connection parameters
          • get controllers list
          • reload controller
          • rescan controllers via UPnP
          • set controller connection parameters
          • test connection to remote controller
        • Scheduled jobs
          • create new job
          • delete job
          • get job information
          • get jobs list
          • list job properties
          • set job parameters
        • CVARs
          • get the value of user-defined variable
          • set the value of user-defined variable
        • Locking functions
          • acquire lock
          • get lock status
          • release lock
        • Logging
          • put message to log file
          • put debug message to log file
          • put info message to log file
          • put warning message to log file
          • put error message to log file
          • put critical message to log file
          • get records from the controller log
          • rotate log file
          • get API call log
        • API keys
          • create API key
          • delete API key
          • list API key permissions
          • list API keys
          • regenerate API key
          • set API key permissions
        • User accounts
          • assign API key to user
          • create user account
          • delete user account
          • get user account info
          • list user accounts
          • set user password
          • List active session tokens
          • Drop session token(s)
        • Notifier management
          • disable notifier
          • enable notifier
          • get notifier configuration
          • list notifiers
          • restart notifier
        • File management
          • put file to runtime folder
          • set file exec permission
          • delete file from runtime folder
          • get file contents from runtime folder
        • Core scripts
          • List MQTT topics core scripts react on
          • Reload core scripts if some was added or deleted
          • Subscribe core scripts to MQTT topic
          • Unsubscribe core scripts from MQTT topic
        • Registry management
          • Safely purge registry database
      • SFA API
        • API basics
          • JSON RPC
          • Direct API
        • Item functions
          • action - create unit control action
          • action_toggle - toggle unit status
          • disable_actions - disable unit actions
          • enable_actions - enable unit actions
          • groups - get item group list
          • kill - kill unit actions
          • q_clean - clean action queue of unit
          • result - get action status or macro run result
          • state - get item state
          • state_history - get item state history
          • state_log - get item state log
          • terminate - terminate action execution
          • clear - clear lvar state
          • decrement - decrement lvar value
          • increment - increment lvar value
          • reset - reset lvar state
          • set - set lvar state
          • toggle - clear lvar state
        • Logic cycles
          • get_cycle - get cycle information
          • groups_cycle - get cycle groups list
          • list_cycles - get cycle list
        • Logic macros
          • groups_macro - get macro groups list
          • list_macros - get macro list
          • run - execute macro
        • Supervisor functions
          • supervisor_lock - set supervisor API lock
          • supervisor_unlock - clear supervisor API lock
          • supervisor_message - send broadcast message
        • Remote controllers
          • append_controller - connect remote controller via HTTP
          • disable_controller - disable connected controller
          • enable_controller - enable connected controller
          • get_controller - get connected controller information
          • list_controller_props - get controller connection parameters
          • list_controllers - get controllers list
          • list_remote - get a list of items from connected controllers
          • matest_controller - test management API connection to remote controller
          • reload_controller - reload controller
          • remove_controller - disconnect controller
          • set_controller_prop - set controller connection parameters
          • test_controller - test connection to remote controller
          • upnp_rescan_controllers - rescan controllers via UPnP
        • Connected clients
          • notify_restart - notify connected clients about server restart
          • reload_clients - ask connected clients to reload
      • SFA RESTful API
        • RESTful API basics
          • Requests
          • Responses
          • Long API calls
        • General functions
          • test API/key and get system info
          • save database and runtime configuration
          • Clear language cache
          • check access to the particular item
          • execute a remote system command
          • get list of loaded core plugins
          • install a package
          • shutdown the controller
          • switch debugging mode
          • log in and get authentication token
          • log out and purge the authentication token
          • Set token read-only
          • Get neighbor clients
        • Item functions
          • clean action queue of unit
          • create unit control action
          • disable unit actions
          • enable unit actions
          • get action status or macro run result
          • get item group list
          • get item state
          • get item state history
          • get item state log
          • kill unit actions
          • terminate action execution
          • toggle unit status
          • clear lvar state
          • clear lvar state
          • decrement lvar value
          • increment lvar value
          • reset lvar state
          • set lvar state
        • Logic cycles
          • get cycle groups list
          • get cycle information
          • get cycle list
        • Logic macros
          • execute macro
          • get macro groups list
          • get macro list
        • Supervisor functions
          • set supervisor API lock
          • clear supervisor API lock
          • send broadcast message
        • Remote controllers
          • connect remote controller via HTTP
          • disable connected controller
          • disconnect controller
          • enable connected controller
          • get a list of items from connected controllers
          • get connected controller information
          • get controller connection parameters
          • get controllers list
          • reload controller
          • rescan controllers via UPnP
          • set controller connection parameters
          • test connection to remote controller
          • test management API connection to remote controller
        • Connected clients
          • ask connected clients to reload
          • notify connected clients about server restart
        • CVARs
          • get the value of user-defined variable
          • set the value of user-defined variable
        • Locking functions
          • acquire lock
          • get lock status
          • release lock
        • Logging
          • put message to log file
          • put debug message to log file
          • put info message to log file
          • put warning message to log file
          • put error message to log file
          • put critical message to log file
          • get records from the controller log
          • rotate log file
          • get API call log
        • API keys
          • create API key
          • delete API key
          • list API key permissions
          • list API keys
          • regenerate API key
          • set API key permissions
        • User accounts
          • assign API key to user
          • create user account
          • delete user account
          • get user account info
          • list user accounts
          • set user password
          • List active session tokens
          • Drop session token(s)
        • Notifier management
          • disable notifier
          • enable notifier
          • get notifier configuration
          • list notifiers
          • restart notifier
        • File management
          • put file to runtime folder
          • set file exec permission
          • delete file from runtime folder
          • get file contents from runtime folder
        • Core scripts
          • List MQTT topics core scripts react on
          • Reload core scripts if some was added or deleted
          • Subscribe core scripts to MQTT topic
          • Unsubscribe core scripts from MQTT topic
        • Registry management
          • Safely purge registry database
      • API Clients
        • EVA JS Framework
        • API client for Python
          • API classes for Python
          • API initialization
          • API function call
          • API result codes
        • JSON RPC API client
          • Installing
          • Usage example
          • API result codes
    • Extension development
      • Extending HOWTO
        • Tips and tricks
        • I/O
        • Logic
        • Plug-ins
        • Extensions as packages
      • Core scripts
        • What are EVA ICS core scripts
        • What are core scripts for
        • Core script globals and functions
        • Core script events
          • State event
          • API event
          • RPC event
          • Periodic event
          • MQTT event
          • System event
          • Setting up packages
        • Logging
        • Creating and managing core script files
        • Code examples
      • Physical interfaces for drivers
        • Required variables in a header
          • PHI info
          • PHI system info
          • PHI help
        • Classes and modules
        • Constructor
        • Primary methods
        • Parent methods
        • Optional methods
          • get_phi_ports
          • discover
        • Config validation
        • Working with unit values
        • Handling timeouts
        • Handling events
          • Incoming events
          • State push
          • SNMP traps
          • Schedule updates
        • Working with I2C/SMBus
        • Working with Modbus
        • Working with Ethernet/IP
        • Working with Modbus slave memory space
        • Working with 1-Wire via OWFS
        • Working with SNMP
          • Performing get/set calls
          • SNMP MIBs
        • Working with MQTT
        • Working with UDP API
        • Discovering SSDP hardware
        • Shared namespaces
        • Asynchronous I/O
        • Exceptions
        • Testing
        • DriverAPI resources
      • Logic macro extensions
        • Loading macro extension
        • Extension functions
        • Included extensions
        • Developing your own extension
          • Required variables in a header
          • Configuration variable
          • Exported functions
          • Classes and modules
          • Constructor
          • Persistent data
          • Exceptions
          • Config validation
          • Testing
      • Core plug-ins
        • Guide by example
        • Resources
      • Packages
        • Package format
        • Setting up packages
        • Setup file format
        • Keeping setup core script after install
        • Installing additional Python modules
        • Manipulating with configuration files
    • Advanced development
      • Framework development HOWTO
        • Sessions
        • API calls
        • Web socket sessions
          • Item events
          • Log events
          • Special server events
          • Web socket heartbeat
        • Global heartbeat
        • Item state replication
          • Basics
          • State event handling
          • Processing of item states
        • Actions
        • Timers
    • PHIs
    • EVA ICS v3 Troubleshooting Knowledge Base
      • KB00001: SFA or LM PLC with secondaries connected keeps restarting
        • Problem
        • Solution
      • KB00002: Install / venv rebuild fails on Ubuntu 18.04 LTS / Debian 10 / RHEL 8
        • Problem
        • Solution
      • KB00003: OWFS feature setup fails on RedHat Enterprise Linux 8/Centos 8
        • Problem
        • Solution
      • KB00004: Wrong items deployed on a secondary UC or LM PLC node
        • Problem
        • Solution
          • Items can be filtered by group
          • Item can not be filtered by group
      • KB00005: Timeouts during long API calls, API calls are repeated multiple times
        • Problem
        • Solution
      • KB00006: Install fails on Fedora 33
        • Problem
        • Solution
      • KB00007: InfluxDB data frames / charts begin with zero or null values
        • Problem
        • Solution
      • KB00008: Customizing EVA ICS updates
        • Problem
        • Solution
          • Customizing the mirror
          • Forcing “eva update” to download and install specified version
          • Manually applying the update
      • KB00009: Difference between “-s” and “-u” Cloud deploy options
        • Problem
        • Solution
      • KB00010: Item states are not synchronized in real-time via MQTT
        • Problem
        • Solution
          • Step 1
          • Step 2
          • Step 3
      • KB00011: Renaming EVA ICS nodes
        • Problem
        • Solution
          • EVA ICS 3.4.0 and above
          • EVA ICS 3.3.2 and below
      • KB00012: Running EVA ICS under restricted users
        • Problem
        • Solution
          • Detailed step-by-step guide
          • Automated solution
          • Starting EVA ICS during the system startup
      • KB00013: Stop EVA ICS when Registry DB is not accessible
        • Problem
        • Solution
      • KB00014: Unable to start update after a one failed
        • Problem
        • Solution
      • KB00015: A component fails to start after crash / unsuccessful upgrade etc.
        • Problem
        • Solution
      • KB00016: Active directory feature setup fails on Debian 11
        • Problem
        • Solution
      • KB00017: Dealing with startup timeouts on high-loaded nodes
        • Problem
        • Solution
    • EVA ICS v3 License
      • TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        • 1. Definitions.
        • 2. Grant of Copyright License.
        • 3. Grant of Patent License.
        • 4. Redistribution.
        • 5. Submission of Contributions.
        • 6. Trademarks.
        • 7. Disclaimer of Warranty.
        • 8. Limitation of Liability.
        • 9. Accepting Warranty or Additional Liability.
      • Common Clause 1
  • HMI Block UI
    • Installation
      • Installing UI App
        • EVA ICS v4
        • Package (EVA ICS v3, 3.3.2+)
      • Creating UI pages
    • Dashboard page
      • Global variables
        • title
        • url
        • default-login
        • motd
        • info-level
      • buttons
        • Simple button
        • Button with menu
        • Button with a slider
      • data
      • cameras
      • control-blocks
      • data-blocks
      • layout
      • layout-compact
      • Actions
        • Action types
        • action_params
    • Simple page
    • Sensors page
      • Global variables
        • main-page
      • charts
        • Single-item chart
        • Multiple-item chart
        • Chart with multiple timeframes
        • Multiple items and multiple timeframes
        • Legend
      • layout
      • Chart options
    • Navigation
    • Overriding and embedding
      • $eva.hmi.after_draw
      • $eva.hmi.error
      • $eva.hmi.format_camera_src
      • $eva.hmi.format_chart_config
      • $eva.hmi.prepare_layout
      • $eva.hmi.top_bar
      • Overriding logo
      • Embedding
    • Icons (default theme)
      • Data icons
      • State icons
      • Special state icons
        • circle
        • music
        • star
  • JavaScript Framework for EVA ICS
    • Installation
      • For web browsers
      • For Node.js
    • Examples
      • Initialization
      • Configuration
    • Watching states and performing API calls
    • Calling API methods
    • Setting intervals
    • Handling events
    • Class variables
      • API and Authentication
      • Item processing, special
      • Read-only
    • Framework functions
    • Server custom variables (EVA ICS v3)
    • QR code for evaHI-based apps
    • QR code for OTP
    • Multi-page interfaces, external authentication
      • Primary page
      • Secondary pages
    • Authentication with front-end server
  • PSRT - industrial Pub/Sub for WAN
    • PSRT server and clients
      • Source code
      • Installation (free version)
        • Building from source
        • Configuration files
        • Troubleshooting
        • Authentication
      • Statistical data
        • Overview (web interface / API)
        • Most active topics
      • UDP encryption
      • Enterprise version
    • PSRT clusters
      • Cluster nodes
      • Node configuration
      • Usage
    • PSRT protocol specifications
      • Common
      • Control socket
        • Greetings
        • Subscribe
        • Unsubscribe
        • Publish
        • Publish if subscribed (replicate)
        • Bye
      • Data socket
        • Greetings
        • Keep-alive pings
        • Message push
        • Bye
      • UDP
        • Plain
        • Encrypted
    • Security
      • Functionality
      • Native packages
        • Supported distributions
        • OpenSSL versions
      • Universal packages
        • OpenSSL versions
      • FIPS 140
  • BUS/RT - IPC bus
    • IPC documentation
      • Bindings
      • Inter-process communication
        • Client registration
        • Broadcasts
        • Topics
        • QoS
      • Security and reliability model
      • Rust crate features
      • Performance tips
    • Broker
      • Broker API
      • Stand-alone broker server
      • Embedded broker
        • Security model
    • Protocol specifications
      • Greetings
      • Outgoing frames
      • Pings (keep-alive frames)
      • Incoming frames
        • Acknowledgements
        • Messages
        • Topic publications
    • RPC layer specifications
      • Payload bytes
        • Requests
        • Responses
        • Error codes
    • Secondary clients and blocking RPC
      • Event handlers and RPC
        • The problem
        • Solutions
      • Secondary clients
        • Creating secondary clients in Rust
          • Internal
          • IPC
          • Handling frames
        • Creating secondary clients in other languages
  • Commons
    • Sharing terminal sessions
      • Setup
        • Automatic
        • Manual
      • Usage
      • Security
      • Issues
  • The Trademarks
    • The Trademark Supervisors
    • Usage Conditions
      • Common conditions
      • Direct usage
      • Indirect usage
        • Correct examples
        • Incorrect examples
      • Fair usage
BMA InfoSys
  • HMI Block UI
  • Navigation

Navigation

For navigation, evaHI configuration is being parsed. This allows to use the same navigation config as for smartphone app, as for the usual web clients.

The navigation configuration (placed by default in /opt/eva/ui/.evahi/config.yml) looks like:

serial: 15
index: /ui/
index_landscape: /ui/
menu:
    - {icon: 'room.png', name: 'Room 1', url: /ui/room1.j2}
    - {icon: 'room.png', name: 'Room 2', url: /ui/room2.j2}
    - {icon: 'room.png', name: 'Hall', url: /ui/hall.j2}
    - {icon: 'sensors.png', name: 'Sensors', url: /ui/sensors.j2}

where serial and index_landscape parameters are used by smartphone app only and ignored by HMI application.

Parameter index is used to specify the main UI page. Menu is built from menu section entries, menu icons are located in /opt/eva/ui/.evahi/icons folder.


© Copyright 2022, Bohemia Automation / Altertech. Revision 5fb7b9df.

Read the Docs v: actual
Versions
actual
Downloads
html
On Read the Docs
Project Home
Builds