Python macros controller
Executor controller service for Python macros. See Python Logic Macros.
Installing/updating
Python macros controller is not included into EVA ICS distribution. To install/update it, either edit “eva/config/python-venv” registry key, specify the desired version in “extra” section (e.g. eva4-controller-py>=0.0.1) and rebuild the Python virtual environment (/opt/eva4/sbin/venvmgr build). Or execute:
/opt/eva4/sbin/venvmgr add eva4-controller-py
# or
/opt/eva4/sbin/venvmgr add eva4-controller-py==N # where N = version number
The latest eva-shell version number can be obtained from https://pypi.org/project/eva4-controller-py/
Setup
Use the template EVA_DIR/share/svc-tpl/svc-tpl-controller-py.yml:
# Python macros controller service
#
# Requires https://pypi.org/project/eva4-controller-py/ Python module installed
command: venv/bin/eva4-svc-controller-py
bus:
path: var/bus.ipc
config:
# required for lock functions
#locker_svc: eva.svc.locker
# required for mail functions
#mailer_svc: eva.svc.mailer
# required for alarm functions
#alarm_svc: eva.alarm.default
# override macros directory (runtime-relative or absolute)
#macro_dir: xc/py
# custom global variables (available in all lmacros)
#cvars:
#name: value
#name2: value2
user: nobody # if file operations are required, make sure the user has access to
Create the service using eva-shell:
eva svc create eva.controller.py /opt/eva4/share/svc-tpl/svc-tpl-controller-py.yml
or using the bus CLI client:
cd /opt/eva4
cat DEPLOY.yml | ./bin/yml2mp | \
./sbin/bus ./var/bus.ipc rpc call eva.core svc.deploy -
(see eva.core::svc.deploy for more info)
EAPI methods
See EAPI commons for the common information about the bus, types, errors and RPC calls.
run
Description |
Executes a mapped macro action |
Parameters |
See Macros actions |
Returns |
See Macros actions |