Configuration settings

Every setting in the camera configuration.
Synced document
Copied at build time from raviden/schema/config.schema.json. Edit it there, not here.

This page is rendered from the configuration schema. Save & apply, the camera application and import all validate against the same schema, so an exported configuration always matches it.

The raw schema is served at /schema/config.schema.json. In the paths below, [] means each entry of a list. Each row gives the setting, its type or allowed values, and its default. When a setting is omitted, its default applies.

Connections

There is one entry per data source. Which fields apply depends on the protocol.

SettingDescription
connections[].id
string
A unique identifier for the connection. The interface generates it.
connections[].name
string
The name shown in the tag library and used in the DataBorder.
connections[].protocol
ab-eip, demo, diag, camera, abb-rws
The source type. ab-eip is an Allen-Bradley PLC over EtherNet/IP, abb-rws is an ABB robot over Robot Web Services, camera is the camera's own event system, demo is the simulated source, and diag is the diagnostics source.
connections[].plcType
controllogix, compactlogix, micrologix, micro800, slc500, plc5
default "controllogix"
The Allen-Bradley controller family. It applies to ab-eip connections only.
connections[].gateway
string
The address of the PLC or of its EtherNet/IP module. It applies to ab-eip connections only.
connections[].cipPath
string
default "1,0"
The path from the EtherNet/IP module to the controller, for example 1,0 for slot 0 of the backplane. Leave it empty for controllers without a backplane.
connections[].pollIntervalMs
integer
How often the tags are read, in milliseconds, from 100 to 60000.
connections[].timeoutMs
integer
default 2000
How long a read may take before it counts as failed, in milliseconds.
connections[].enabled
boolean
default true
Whether the connection is active. A disabled connection keeps its tags but is not polled.
connections[].host
string
The address of the robot controller. It applies to abb-rws connections only.
connections[].port
integer
An optional port for the robot controller. When it is omitted, the port is detected automatically, using 80 for HTTP and 443 for HTTPS.
connections[].username
string
default "Default User"
The robot controller user.
connections[].password
string
The robot controller password. It is stored on the camera and never included in exports. Leaving it empty when saving keeps the stored password.
connections[].verifyTls
boolean
default false
Whether to verify the robot controller's TLS certificate. OmniCore controllers ship with a self-signed certificate, so this is off by default.

Tags

These are the tags that the camera polls or derives. State tags also carry a state map.

SettingDescription
tags[].id
string
A unique identifier for the tag. The interface generates it.
tags[].name
string
The display name. It is also the record name in the DataBorder, where only the first 16 characters are used.
tags[].connectionId
string
The connection the tag is read from. It is empty for derived tags.
tags[].address
string
The controller tag name for Logix controllers, or the data-table address for SLC 500 and PLC-5. It is empty for derived tags.
tags[].dataType
bool, sint, int, dint, lint, real, lreal, string
The data type. It must match the controller's type.
tags[].scale.factor
number
default 1
A factor the raw value is multiplied by before it is displayed.
tags[].scale.offset
number
default 0
An offset added to the raw value after scaling.
tags[].format.decimals
integer
The number of decimals shown.
tags[].format.units
string
The units shown after the value.
tags[].format.template
string
An optional display template, for example {value} {units}. The placeholders {name}, {value} and {units} are replaced.
tags[].kind
measurement, state
default "measurement"
Either measurement, a number that can be charted, or state, a number that means a machine state. State tags carry a state map and are stored as transitions.
tags[].derived.rules[].tagId
string
The tag the rule tests.
tags[].derived.rules[].op
eq, ne, lt, le, gt, ge
The comparison: equal, not equal, less than, less than or equal, greater than, or greater than or equal.
tags[].derived.rules[].value
number
The value the tag is compared with.
tags[].derived.rules[].state
number
The state value used when the rule matches. The first matching rule wins.
tags[].derived.elseState
number
default 0
The state value used when no rule matches.
tags[].states[].value
number
The raw value this state corresponds to.
tags[].states[].label
string
The label shown on the overlay. It is shortened to fit, and the DataBorder carries only its first 24 bytes.
tags[].states[].color
string
The color, as #RRGGBB or #RRGGBBAA.
tags[].states[].category
string
The category this state belongs to, if any.
tags[].defaultState.value
number
The value reported for the default state.
tags[].defaultState.label
string
The label shown for values that are not in the state map.
tags[].defaultState.color
string
The color of the default state, as #RRGGBB or #RRGGBBAA.
tags[].defaultState.category
string
The category of the default state, if any.
tags[].stateCategories[].id
string
A unique identifier for the category.
tags[].stateCategories[].label
string
The category's name.
tags[].stateCategories[].color
string
The category's color, as #RRGGBB or #RRGGBBAA.
tags[].stateCategories[].productive
boolean
default false
Whether time in this category counts as productive in the donut and availability charts.
tags[].learn
boolean
default false
Learning mode. When it is on, the camera adds observed values that are missing from the state map, about once a minute.

Overlay

These settings cover the theme, the watermark and the elements drawn on the video.

SettingDescription
overlay.maxFps
number
default 5
The maximum overlay redraw rate, in frames per second, from 0.5 to 10.
overlay.motion
boolean
default false
Whether gauge and bar values ease toward new readings. While a value is moving, the overlay redraws at 5 frames per second.
overlay.watermark.enabled
boolean
default true
Whether the RAVidEn watermark is drawn.
overlay.watermark.corner
tl, tr, bl, br
default "br"
The corner the watermark is drawn in: top left, top right, bottom left or bottom right.
overlay.watermark.opacity
number
default 0.6
The watermark opacity, from 0 to 1.
overlay.watermark.size
number
default 160
The watermark size in pixels at 1080p.
overlay.theme.radius
number
default 0.3
The default corner radius of element boxes, in em relative to the font size.
overlay.theme.bg
string
default "#00000099"
The default box background color, including transparency.
overlay.theme.fg
string
default "#ffffff"
The default text color.
overlay.theme.border
string
The default box border color. Omit it for no border.
overlay.theme.borderWidth
number
default 1
The default border width in pixels at 1080p.
overlay.elements[].id
string
A unique identifier for the element. The interface generates it.
overlay.elements[].type
staticText, tagValue, indicator, tagTable, tickChart, stateStrip, gauge, metricTile, stateTile, stateDonut, stateTable, stateBars, robotPanel, robotFigure
The element type.
overlay.elements[].position.x
number
The horizontal position of the element's top-left corner, as a fraction of the frame width from 0 to 1.
overlay.elements[].position.y
number
The vertical position of the element's top-left corner, as a fraction of the frame height from 0 to 1.
overlay.elements[].size.x
number
The element width as a fraction of the frame width. For tables and robot panels this is the only dimension used.
overlay.elements[].size.y
number
The element height as a fraction of the frame height.
overlay.elements[].fontSize
integer
default 24
The font size in pixels at 1080p, scaled for each stream. For a robot panel it also sets the panel height.
overlay.elements[].fg
string
The text color. Omit it to use the theme.
overlay.elements[].bg
string
The box background color, including transparency. Omit it for no box.
overlay.elements[].radius
number
The corner radius in em. Omit it to use the theme.
overlay.elements[].window
integer
The chart window in seconds, for rolling windows.
overlay.elements[].anchor
rolling, hour, shift, day
Whether the window is rolling, or anchored to this hour, this shift or today.
overlay.elements[].range.min
number
The lower end of the chart's value range. Omit it to scale automatically.
overlay.elements[].range.max
number
The upper end of the chart's value range. Omit it to scale automatically.
overlay.elements[].chartColor
string
The chart's base color.
overlay.elements[].stateMap[].value
number
A raw value that the state strip maps.
overlay.elements[].stateMap[].label
string
The label for this value.
overlay.elements[].stateMap[].color
string
The color for this value, as #RRGGBB or #RRGGBBAA.
overlay.elements[].showLabel
boolean
Whether the title row is shown.
overlay.elements[].showAxis
boolean
Whether the axis, legend or header row is shown. Which of these it is depends on the element type.
overlay.elements[].showStateValue
boolean
default false
Whether state labels are prefixed with the raw value, for example "15 - Waiting".
overlay.elements[].timeAxis
clock, offset
default "clock"
Whether the time axis shows wall-clock times or offsets from now.
overlay.elements[].gaugeStyle
bar, vbar, arc
The gauge style: horizontal bar, vertical bar or arc.
overlay.elements[].defaultLabel
string
For a state strip, the label for values that are not in its state map.
overlay.elements[].tickPx
number
For a tick chart, the tick width in pixels.
overlay.elements[].orientation
horizontal, vertical
For a state strip, whether it runs horizontally or vertically.
overlay.elements[].border
string
The box border color. Omit it to use the theme.
overlay.elements[].visibleWhen.tagId
string
The tag the visibility rule tests.
overlay.elements[].visibleWhen.op
eq, ne, lt, le, gt, ge
The comparison used by the visibility rule.
overlay.elements[].visibleWhen.value
number
The value the tag is compared with. The element is shown only while the rule holds.
overlay.elements[].connectionId
string
For robot elements, the ABB connection the element shows. No tags are needed.
overlay.elements[].detail
chip, compact, full
default "compact"
For a robot panel, the level of detail: a chip, a compact panel, or the full panel with routine, tool and alarm.
overlay.elements[].figure
none, side, iso
default "iso"
For a pose figure, the drawing style: isometric, side view, or none.
overlay.elements[].showAlarm
boolean
default true
For a full robot panel, whether the latest alarm row is shown.

DataBorder (streamEncode)

These settings control the DataBorder. The DataBorder page explains how to choose them.

SettingDescription
streamEncode.enabled
boolean
default false
Whether the DataBorder is drawn and encoded.
streamEncode.syncOverlay
boolean
default true
Whether every tag the overlay uses automatically gets a record in the DataBorder. Records you added by hand are kept.
streamEncode.tagIds
array
A list of tag ids to embed, used only when the records list is empty.
streamEncode.records[].name
string
The record name, up to 16 characters.
streamEncode.records[].type
bit, bitarr, bcd4, uint, int, chararr, real
The encoded type of the record.
streamEncode.records[].tagId
string
The tag that supplies the live value. Omit it for a manual or automatic value.
streamEncode.records[].mode
manual, hour, minute, second, millis
default "manual"
Where the value comes from: a manual value, or the current hour, minute, second or millisecond.
streamEncode.records[].value
string
The manual value, interpreted according to the record type.
streamEncode.records[].size
integer
The array size for bit-array and character-array records.
streamEncode.records[].pinned
boolean
default false
Whether the record is included in every update rather than only in snapshots and on change, so that a single frame always carries it.
streamEncode.records[].synced
boolean
default false
Whether the record was created by overlay sync. Synced records are removed when the overlay stops using the tag. Records you added are never removed automatically.
streamEncode.updateFps
number
default 10
How many updates the DataBorder carries per second, from 1 to 10. The camera composes overlays ten times a second, so a higher setting cannot produce more updates.
streamEncode.formatVersion
1, 2
default 2
The DataBorder format.
streamEncode.thickness
1, 2, 3, 4, 5, 6
default 3
The ring thickness in blocks, from 1 to 6. The capacity per update is 173, 242, 484, 695, 865 and 1,034 bytes respectively. See the DataBorder page for guidance.
streamEncode.signing
boolean
default true
Whether updates are chained and periodically signed with the camera's key.
streamEncode.snapshotPeriodMs
integer
default 2000
How often a full snapshot of every record is sent, in milliseconds. Between snapshots, updates carry only changed and pinned records.
streamEncode.historyInStream
boolean
default true
Whether the last 24 hours of state runs ride in the carousel.
streamEncode.historyTagIds
array
Which state tags ride in the history carousel. When it is omitted, every state tag among the records does.
streamEncode.packed
boolean
default true
Whether the compact wire layout is used.
streamEncode.profile
history, snapshot
default "history"
The history profile keeps the carousel cycling and fills the rest of each update with history. The snapshot profile makes every update self-contained, including the whole dictionary, for archives that keep only keyframes.
streamEncode.fullHistoryInStream
boolean
default true
Whether the camera's full stored history cycles through the DataBorder, newest first. It applies to the history profile only.
streamEncode.robots[].connectionId
string
The ABB connection whose standard records ride in the DataBorder.
streamEncode.robots[].fields
array
Which robot fields are carried live. Motion fields such as joint positions change constantly, so they are opt-in.
streamEncode.robots[].onAlarm
boolean
default true
Whether a new alarm sends its context and forces a snapshot.

Settings

These are the global settings: state categories, shifts and logging.

SettingDescription
settings.logLevel
error, warn, info, debug
default "info"
How much the application logs: error, warn, info or debug.
settings.stateCategories[].id
string
A unique identifier for the category.
settings.stateCategories[].label
string
The category's name.
settings.stateCategories[].color
string
The category's color, as #RRGGBB or #RRGGBBAA.
settings.stateCategories[].productive
boolean
default false
Whether time in this category counts as productive in the donut and availability charts.
settings.stateCategoriesEnabled
boolean
default true
Whether the global state categories are used. When it is off, tags may still carry their own.
settings.shifts[].name
string
The shift's name.
settings.shifts[].start
string
The shift start time as HH:MM. Shift start times define the "this shift" chart window.

Other

SettingDescription
versionThe configuration format version. It is always 1.