Telem-app configuration: Difference between revisions

From Phobos Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Kasutaja:MarkTomm|MarkTomm]] 31. oktoober 2017, kell 15:41 (EET)
This section applies to GW6e and GWM.
This section applies to GW6e and GWM.


Line 24: Line 26:
|-
|-
| conf.xml.path
| conf.xml.path
| /usr/local/etc/telem/config.xml
| usrWorkingDirectory / "setup.xml
| Path to XML setup file
| Path to XML setup file
|-
|-
Line 32: Line 34:
|-
|-
| conf.bin.path
| conf.bin.path
| /usr/local/etc/telem/gwSetup.bin
| usrWorkingDirectory / "gwSetup.bin
| Binary setup file
| Binary setup file
|-
|-
| conf.log.path
| conf.log.path
| /usr/local/etc/telem/log-conf.xml
| usrWorkingDirectory / "log-conf.xml
| Logging configuration file
| Logging configuration file
|-
|-
Line 54: Line 56:
| /var/www/svg/screens
| /var/www/svg/screens
| Path to SVG screens dir
| Path to SVG screens dir
|-
| db.sqlite.runner.out
|
| Path to telem-gw-bd-runner output
|-
|-
| db.backup.path
| db.backup.path
| /var/local/telem/object_backup.xml
| varWorkingDirectory / "object_backup.xml
| Path to object backup XML file
| Path to object backup XML file
|-
| db.sqlite.path
| varWorkingDirectory / ".telem-db
| Path to object sqlite db file
|-
| db.sqlite.delete.path
| varWorkingDirectory / "cleardb_1
| Path to file that makes telem-app delete db
|-
| db.sqlite.synchronous
| 1
| Sqlite PRAGMA synchronous
|-
| db.sqlite.journalmode
| WAL
| Sqlite PRAGMA journal_mode
|-
| db.sqlite.autovacuum
| 0
| Sqlite PRAGMA auto_vacuum
|-
| db.sqlite.cachesize
| -8000
| Sqlite PRAGMA cache_size
|-
| db.sqlite.pagesize
| 65536
| Sqlite PRAGMA page_size
|-
| db.sqlite.walautocheckpoint
| 1000
| Sqlite PRAGMA wal_autocheckpoint
|-
| db.sqlite.journalsizelimit
| 100000000
| Sqlite PRAGMA journal_size_limit
|-
| db.sqlite.buffers.maxsize
| 300000
| Sqlite max db buffer table entries limit
|-
| db.sqlite.opc-ua-history.maxsize
| 100000
| Sqlite max db buffer table entries limit
|-
| db.sync.interval
| 00:00:01
| Database sync interval
|-
|-
| db.sync.interval
| db.sync.interval
| 00:01:00
| 00:00:20
| Database sync interval
| Database sync interval
|-
| db.run-write-thread-once
| "Run db write thread once and exit")
| Run db write thread once and exit
|-
|-
| conf.user.path
| conf.user.path
Line 88: Line 146:
|-
|-
| log.telem.path
| log.telem.path
| /var/local/telem/log
| varWorkingDirectory / "log
| Path to log telem
| Path to log telem
|-
| log.counters
| false
| Option to log counters
|-
|-
| sms.local.path
| sms.local.path
| /var/local/telem/sms
| varWorkingDirectory / "sms
| Path to local sms directory
| Path to local sms directory
|-
|-
| var.telem.path
| var.telem.path
| /var/local/telem
| varWorkingDirectory
| Path to temporary /var/local/telem directory
| Path to temporary /var/local/telem directory
|-
|-
Line 104: Line 166:
|-
|-
| cmd.path
| cmd.path
| /var/local/telem
| varWorkingDirectory
| Path to cmd file directory
| Path to cmd file directory
|-
|-
Line 112: Line 174:
|-
|-
| conf.xml.custom.path
| conf.xml.custom.path
| /usr/local/etc/telem/custom.xml
| usrWorkingDirectory / "custom.xml
| Path to custom XML setup file
| Path to custom XML setup file
|-
|-
Line 118: Line 180:
| EET+2EEST+1,M3.5.0/03:00:00,M10.5.0/04:00:00
| EET+2EEST+1,M3.5.0/03:00:00,M10.5.0/04:00:00
| Default timezone for application
| Default timezone for application
|-
| timezone.app
| EET+2EEST+1,M3.5.0/03:00:00,M10.5.0/04:00:00
| Set by app furing runtime
|-
|-
| www.custom.path
| www.custom.path
Line 132: Line 198:
|-
|-
| feature.list.path
| feature.list.path
| /var/local/telem/enabled_features
| varWorkingDirectory / "enabled_features
| GWS check for available features via this file
| GWS check for available features via this file
|-
|-
Line 154: Line 220:
| 24.684477
| 24.684477
| Device longitude
| Device longitude
|-
| start-count
| varWorkingDirectory / "stats/app_start_count
| App start count file
|-
| total-start-count
| varWorkingDirectory / "stats/app_start_count_total
| App start count total file
|-
| date-time-zone-spec.path
| "Time zone info file")
| Time zone info file
|-
| core.dump.path
| coreDumpFile
| Memory dump location
|-
| evgen.event-per-minute
| 60
| How many events each data point generates per minute
|-
| force-binary
| false
| Force telem-app to use binary conf
|-
|-
| watchdog
| watchdog
Line 214: Line 304:
| 0
| 0
| IEC101-balanced DataFlowControl delay
| IEC101-balanced DataFlowControl delay
|-
| protocol.iec104.path
| "For VHPReady schedules persistance")
| For VHPReady schedules persistance
|-
| protocol.iec104.k
| 12
| Write depth (1-32767sec)
|-
| protocol.iec104.w
| 8
| Unacked read depth (1-32767sec)
|-
|-
| protocol.modbus.sequential-poll-cnt
| protocol.modbus.sequential-poll-cnt
| 15
| 15
| How many objects should be polled from modbus before issuing protocol change on channel
| How many objects should be polled from modbus before issuing protocol change on channel
|-
| protocol.opc-ua.path
| usrWorkingDirectory / "protocol/opc-ua
| For persistent Client writes in OPC UA Server and Rules
|-
| protocol.opc-ua.https-client.path
| /etc/protocol/opc-ua/https-client/
| For persistent Client writes in OPC UA Server and Rules
|-
| webserver.lcbc.cls.addr
| 0
| Value of this ai is returned in measurement array at /cls.json
|-
| protocol.opc-ua.https-peer-verif
| true
| Toggle peer verification
|-
| protocol.opc-ua.session.timeout
| 120000
| Session timeout ms. 12000ms default
|-
|-
| filter.integral.recalc-period
| filter.integral.recalc-period
Line 223: Line 345:
| How frequently should the interval(@ai, @di) recalculate itself in seconds")
| How frequently should the interval(@ai, @di) recalculate itself in seconds")
|-
|-
| filter.integral.raclac-start
| filter.integral.recalc-start
| 120
| 120
| When should interval recalculations start after app init in seconds
| When should interval recalculations start after app init in seconds
Line 234: Line 356:
| false
| false
| Use interval value for GI instead of offset
| Use interval value for GI instead of offset
|-
| sensors.light.multiplier
| 2.59724
| Value from 1M/1024/Rsens*12.5, if Rsense is 4.7kOhm, then we get ~2.59724")
|-
| sensors.light.window-size
| 19
| Rolling mean window size, or in other words, how many samples to average
|-
| dali.i2c.bus
| /dev/i2c-main
| Path to i2c device
|-
| dali.i2c.addr
| 0x08
| Dali i2c device address
|-
| dali.priority.all
| 0
| Dali default priority (for testing, 0: by standard, 1-5: force priority, 6-7: invalid, but may work)
|-
| dali.bus0.i2c.bus
| /dev/i2c-main
| Same as dali.i2c.bus
|-
| dali.bus0.i2c.addr
| 0x08
| Same as dali.i2c.addr
|-
| dali.bus0.priority.all
| 0
| Same as dali.priority.all
|-
| dali.bus1.i2c.bus
| /dev/i2c-main
| Same as dali.i2c.bus
|-
| dali.bus1.i2c.addr
| 0x0b
| Same as dali.i2c.addr
|-
| dali.bus1.priority.all
| 0
| Same as dali.priority.all
|-
|-
| xml
| xml
Line 246: Line 412:
= Config file =
= Config file =


The easiest way to add/override configuration options is to modify the /etc/telem-gw.user.conf file
The easiest way to add/override configuration options is to modify the '''/etc/telem-gw.user.conf''' file


This config file is checked by telem-app by default without any additional command line arguments
This config file is checked by telem-app by default without any additional command line arguments
Line 265: Line 431:


'''NB! This feature is available in firmware starting from 2017.09.05'''
'''NB! This feature is available in firmware starting from 2017.09.05'''
== Change Integral Filter recalculation interval ==
Add the follown lines to /etc/telem-gw.user.conf:
<pre>
filter.integral.recalc-period=1
</pre>
to change to 1 second (10 is default)
'''NB! This feature is available in firmware starting from 2017.10.31'''
== Assign AI Object for UI CLS source ==
Add the follown lines to /etc/telem-gw.user.conf:
<pre>
webserver.lcbc.cls.addr=2001
</pre>
2001 is the IOA of the AI value that will be available via '''/cls.json''' endpoint
In the context of AGC, this IOA is considered as AI_LLS, local light source.
In the context of SL UI, this is Central light sensor value.


= Resetting =
= Resetting =
Line 281: Line 470:
$ chown martem:gws /var/log/telem/console*
$ chown martem:gws /var/log/telem/console*
</pre>
</pre>
[[Kasutaja:MarkTomm|MarkTomm]] 22. september 2017, kell 16:55 (EEST)

Latest revision as of 06:16, 22 June 2021

MarkTomm 31. oktoober 2017, kell 15:41 (EET)

This section applies to GW6e and GWM.

Feature

telem-app functionality can be tweaked via command line arguments and config files

All arguments

Argument Default value Description
help N/A Show help message
conf-path /etc/telem-gw.conf Configuration file
no-watchdog N/A Disable watchdog
conf.xml.path usrWorkingDirectory / "setup.xml Path to XML setup file
hw-conf path Hardware configuration file
conf.bin.path usrWorkingDirectory / "gwSetup.bin Binary setup file
conf.log.path usrWorkingDirectory / "log-conf.xml Logging configuration file
path.root / Path to virtual system /
path.sys.bus.w1 /sys/bus/w1/devices Path to /sys/bus/w1/devices
www.path /var/www Path to WWW dir
svg.screens.path /var/www/svg/screens Path to SVG screens dir
db.sqlite.runner.out Path to telem-gw-bd-runner output
db.backup.path varWorkingDirectory / "object_backup.xml Path to object backup XML file
db.sqlite.path varWorkingDirectory / ".telem-db Path to object sqlite db file
db.sqlite.delete.path varWorkingDirectory / "cleardb_1 Path to file that makes telem-app delete db
db.sqlite.synchronous 1 Sqlite PRAGMA synchronous
db.sqlite.journalmode WAL Sqlite PRAGMA journal_mode
db.sqlite.autovacuum 0 Sqlite PRAGMA auto_vacuum
db.sqlite.cachesize -8000 Sqlite PRAGMA cache_size
db.sqlite.pagesize 65536 Sqlite PRAGMA page_size
db.sqlite.walautocheckpoint 1000 Sqlite PRAGMA wal_autocheckpoint
db.sqlite.journalsizelimit 100000000 Sqlite PRAGMA journal_size_limit
db.sqlite.buffers.maxsize 300000 Sqlite max db buffer table entries limit
db.sqlite.opc-ua-history.maxsize 100000 Sqlite max db buffer table entries limit
db.sync.interval 00:00:01 Database sync interval
db.sync.interval 00:00:20 Database sync interval
db.run-write-thread-once "Run db write thread once and exit") Run db write thread once and exit
conf.user.path /etc/telem-gw.user.conf Configuration file provided by user
dsp.timesync.receiving bool Allow receiving of timesync from DSP
ssl.server.keys.path /etc/ssl/private Path to SSL server key directory
ssl.server.cert.path /etc/ssl/certs Path to SSL server directory
ssl.bin /usr/bin/openssl Path to openssl binary
log.var.path /var/log Path to var log
log.telem.path varWorkingDirectory / "log Path to log telem
log.counters false Option to log counters
sms.local.path varWorkingDirectory / "sms Path to local sms directory
var.telem.path varWorkingDirectory Path to temporary /var/local/telem directory
sms.temp.path /tmp/sms Path to temporary sms directory
cmd.path varWorkingDirectory Path to cmd file directory
log.root Gateway Root logger name
conf.xml.custom.path usrWorkingDirectory / "custom.xml Path to custom XML setup file
timezone.default EET+2EEST+1,M3.5.0/03:00:00,M10.5.0/04:00:00 Default timezone for application
timezone.app EET+2EEST+1,M3.5.0/03:00:00,M10.5.0/04:00:00 Set by app furing runtime
www.custom.path path Path to XML setup file
www.port.debug.path path Path to file where webserver port number will be put
thread.count 2 Thread count for io-service thread group
feature.list.path varWorkingDirectory / "enabled_features GWS check for available features via this file
channel.sleepms.default 1 Default channel sleep in milliseconds (1..20)
portio.sleepms 1 Portio sleep in milliseconds (1..20)
nice 0 Default nice value (0..19)
latitude 59.411780 Device latitude
longitude 24.684477 Device longitude
start-count varWorkingDirectory / "stats/app_start_count App start count file
total-start-count varWorkingDirectory / "stats/app_start_count_total App start count total file
date-time-zone-spec.path "Time zone info file") Time zone info file
core.dump.path coreDumpFile Memory dump location
evgen.event-per-minute 60 How many events each data point generates per minute
force-binary false Force telem-app to use binary conf
watchdog true Is Watchdog enabled
watchdog.util true (deprecated) Use external watchdog utility
watchdog.interval 00:00:45 System watchdog kick interval
watchdog.vpath /tmp/.telem_watchdog Virtual watchdog path
watchdog.dev /dev/watchdog (deprecated) Watchdog device path
protocol.icmp.config-path /etc/pinger/ Pinger configuration path
protocol.icmp.procfs /tmp/pingers procfs directory for pingers
ordercode.batterypowered.path /var/local/telem/ordercode/battery_powered If file exists, device will be in battery powered mode
protocol.session.max-length 00:30:00 Maximum session length
protocol.session.retry-period 00:15:00 Session retry period
protocol.session.keep-alive 00:00:30 Session keep-alive
protocol.session.connect-timeout 00:05:00 Connect timeout
protocol.session.period 24:00:00 Next retry after successful session
protocol.iec101b.tdc-workaround true IEC101-balanced TDC workaround
protocol.iec101b.dfc-delay 0 IEC101-balanced DataFlowControl delay
protocol.iec104.path "For VHPReady schedules persistance") For VHPReady schedules persistance
protocol.iec104.k 12 Write depth (1-32767sec)
protocol.iec104.w 8 Unacked read depth (1-32767sec)
protocol.modbus.sequential-poll-cnt 15 How many objects should be polled from modbus before issuing protocol change on channel
protocol.opc-ua.path usrWorkingDirectory / "protocol/opc-ua For persistent Client writes in OPC UA Server and Rules
protocol.opc-ua.https-client.path /etc/protocol/opc-ua/https-client/ For persistent Client writes in OPC UA Server and Rules
webserver.lcbc.cls.addr 0 Value of this ai is returned in measurement array at /cls.json
protocol.opc-ua.https-peer-verif true Toggle peer verification
protocol.opc-ua.session.timeout 120000 Session timeout ms. 12000ms default
filter.integral.recalc-period 10 How frequently should the interval(@ai, @di) recalculate itself in seconds")
filter.integral.recalc-start 120 When should interval recalculations start after app init in seconds
protocol.periodical-gi.offset 00:05:00 GI offset every hour or interval if protocol.periodical-gi.use-interval is true
protocol.periodical-gi.use-interval false Use interval value for GI instead of offset
sensors.light.multiplier 2.59724 Value from 1M/1024/Rsens*12.5, if Rsense is 4.7kOhm, then we get ~2.59724")
sensors.light.window-size 19 Rolling mean window size, or in other words, how many samples to average
dali.i2c.bus /dev/i2c-main Path to i2c device
dali.i2c.addr 0x08 Dali i2c device address
dali.priority.all 0 Dali default priority (for testing, 0: by standard, 1-5: force priority, 6-7: invalid, but may work)
dali.bus0.i2c.bus /dev/i2c-main Same as dali.i2c.bus
dali.bus0.i2c.addr 0x08 Same as dali.i2c.addr
dali.bus0.priority.all 0 Same as dali.priority.all
dali.bus1.i2c.bus /dev/i2c-main Same as dali.i2c.bus
dali.bus1.i2c.addr 0x0b Same as dali.i2c.addr
dali.bus1.priority.all 0 Same as dali.priority.all
xml N/A XML enabled
new-setup N/A Use new setup

Config file

The easiest way to add/override configuration options is to modify the /etc/telem-gw.user.conf file

This config file is checked by telem-app by default without any additional command line arguments

Enable Periodical GI with predefined time interval

Add the follown lines to /etc/telem-gw.user.conf:

protocol.periodical-gi.use-interval=1
protocol.periodical-gi.offset=00:02:00

This will indicate to telem-app that it should do a Periodical GI every 2 minutes instead of every hour at 00:05:00.

If protocol.periodical-gi.offset is left out, then the default value of 00:05:00 is used.

If protocol.periodical-gi.use-interval is not set, then Periodical GI is done every hour at value assigned to protocol.periodical-gi.offset. E.g. in case of default 00:05:00 Periodical GI will be issued every hour at xx:05:00.

NB! This feature is available in firmware starting from 2017.09.05

Change Integral Filter recalculation interval

Add the follown lines to /etc/telem-gw.user.conf:

filter.integral.recalc-period=1

to change to 1 second (10 is default)

NB! This feature is available in firmware starting from 2017.10.31

Assign AI Object for UI CLS source

Add the follown lines to /etc/telem-gw.user.conf:

webserver.lcbc.cls.addr=2001

2001 is the IOA of the AI value that will be available via /cls.json endpoint

In the context of AGC, this IOA is considered as AI_LLS, local light source.

In the context of SL UI, this is Central light sensor value.

Resetting

Use case: If for example by some invalid logic or fault in telem-app some AI values end up as NaN all the time. And restart or clear buffers does not help.

To fully remove all object info from telem-app in device SSH to the device, switch to root user and do the following steps:

$ /etc/init.d/S81telem stop
$ rm -f /var/local/telem/object_backup*
$ /etc/init.d/S81telem start

Note that rerunning telem app from command line like that renders upcoming console.log files unreadable for martem user. To alleviate the issue run the following as root:

$ chown martem:gws /var/log/telem/console*