Configuration settings
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.
| Setting | Description |
|---|---|
connections[].idstring | A unique identifier for the connection. The interface generates it. |
connections[].namestring | The name shown in the tag library and used in the DataBorder. |
connections[].protocolab-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[].plcTypecontrollogix, compactlogix, micrologix, micro800, slc500, plc5default "controllogix" | The Allen-Bradley controller family. It applies to ab-eip connections only. |
connections[].gatewaystring | The address of the PLC or of its EtherNet/IP module. It applies to ab-eip connections only. |
connections[].cipPathstringdefault "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[].pollIntervalMsinteger | How often the tags are read, in milliseconds, from 100 to 60000. |
connections[].timeoutMsintegerdefault 2000 | How long a read may take before it counts as failed, in milliseconds. |
connections[].enabledbooleandefault true | Whether the connection is active. A disabled connection keeps its tags but is not polled. |
connections[].hoststring | The address of the robot controller. It applies to abb-rws connections only. |
connections[].portinteger | 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[].usernamestringdefault "Default User" | The robot controller user. |
connections[].passwordstring | 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[].verifyTlsbooleandefault 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.
| Setting | Description |
|---|---|
tags[].idstring | A unique identifier for the tag. The interface generates it. |
tags[].namestring | The display name. It is also the record name in the DataBorder, where only the first 16 characters are used. |
tags[].connectionIdstring | The connection the tag is read from. It is empty for derived tags. |
tags[].addressstring | 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[].dataTypebool, sint, int, dint, lint, real, lreal, string | The data type. It must match the controller's type. |
tags[].scale.factornumberdefault 1 | A factor the raw value is multiplied by before it is displayed. |
tags[].scale.offsetnumberdefault 0 | An offset added to the raw value after scaling. |
tags[].format.decimalsinteger | The number of decimals shown. |
tags[].format.unitsstring | The units shown after the value. |
tags[].format.templatestring | An optional display template, for example {value} {units}. The placeholders {name}, {value} and {units} are replaced. |
tags[].kindmeasurement, statedefault "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[].tagIdstring | The tag the rule tests. |
tags[].derived.rules[].opeq, 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[].valuenumber | The value the tag is compared with. |
tags[].derived.rules[].statenumber | The state value used when the rule matches. The first matching rule wins. |
tags[].derived.elseStatenumberdefault 0 | The state value used when no rule matches. |
tags[].states[].valuenumber | The raw value this state corresponds to. |
tags[].states[].labelstring | The label shown on the overlay. It is shortened to fit, and the DataBorder carries only its first 24 bytes. |
tags[].states[].colorstring | The color, as #RRGGBB or #RRGGBBAA. |
tags[].states[].categorystring | The category this state belongs to, if any. |
tags[].defaultState.valuenumber | The value reported for the default state. |
tags[].defaultState.labelstring | The label shown for values that are not in the state map. |
tags[].defaultState.colorstring | The color of the default state, as #RRGGBB or #RRGGBBAA. |
tags[].defaultState.categorystring | The category of the default state, if any. |
tags[].stateCategories[].idstring | A unique identifier for the category. |
tags[].stateCategories[].labelstring | The category's name. |
tags[].stateCategories[].colorstring | The category's color, as #RRGGBB or #RRGGBBAA. |
tags[].stateCategories[].productivebooleandefault false | Whether time in this category counts as productive in the donut and availability charts. |
tags[].learnbooleandefault 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.
| Setting | Description |
|---|---|
overlay.maxFpsnumberdefault 5 | The maximum overlay redraw rate, in frames per second, from 0.5 to 10. |
overlay.motionbooleandefault 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.enabledbooleandefault true | Whether the RAVidEn watermark is drawn. |
overlay.watermark.cornertl, tr, bl, brdefault "br" | The corner the watermark is drawn in: top left, top right, bottom left or bottom right. |
overlay.watermark.opacitynumberdefault 0.6 | The watermark opacity, from 0 to 1. |
overlay.watermark.sizenumberdefault 160 | The watermark size in pixels at 1080p. |
overlay.theme.radiusnumberdefault 0.3 | The default corner radius of element boxes, in em relative to the font size. |
overlay.theme.bgstringdefault "#00000099" | The default box background color, including transparency. |
overlay.theme.fgstringdefault "#ffffff" | The default text color. |
overlay.theme.borderstring | The default box border color. Omit it for no border. |
overlay.theme.borderWidthnumberdefault 1 | The default border width in pixels at 1080p. |
overlay.elements[].idstring | A unique identifier for the element. The interface generates it. |
overlay.elements[].typestaticText, tagValue, indicator, tagTable, tickChart, stateStrip, gauge, metricTile, stateTile, stateDonut, stateTable, stateBars, robotPanel, robotFigure | The element type. |
overlay.elements[].position.xnumber | The horizontal position of the element's top-left corner, as a fraction of the frame width from 0 to 1. |
overlay.elements[].position.ynumber | The vertical position of the element's top-left corner, as a fraction of the frame height from 0 to 1. |
overlay.elements[].size.xnumber | The element width as a fraction of the frame width. For tables and robot panels this is the only dimension used. |
overlay.elements[].size.ynumber | The element height as a fraction of the frame height. |
overlay.elements[].fontSizeintegerdefault 24 | The font size in pixels at 1080p, scaled for each stream. For a robot panel it also sets the panel height. |
overlay.elements[].fgstring | The text color. Omit it to use the theme. |
overlay.elements[].bgstring | The box background color, including transparency. Omit it for no box. |
overlay.elements[].radiusnumber | The corner radius in em. Omit it to use the theme. |
overlay.elements[].windowinteger | The chart window in seconds, for rolling windows. |
overlay.elements[].anchorrolling, hour, shift, day | Whether the window is rolling, or anchored to this hour, this shift or today. |
overlay.elements[].range.minnumber | The lower end of the chart's value range. Omit it to scale automatically. |
overlay.elements[].range.maxnumber | The upper end of the chart's value range. Omit it to scale automatically. |
overlay.elements[].chartColorstring | The chart's base color. |
overlay.elements[].stateMap[].valuenumber | A raw value that the state strip maps. |
overlay.elements[].stateMap[].labelstring | The label for this value. |
overlay.elements[].stateMap[].colorstring | The color for this value, as #RRGGBB or #RRGGBBAA. |
overlay.elements[].showLabelboolean | Whether the title row is shown. |
overlay.elements[].showAxisboolean | Whether the axis, legend or header row is shown. Which of these it is depends on the element type. |
overlay.elements[].showStateValuebooleandefault false | Whether state labels are prefixed with the raw value, for example "15 - Waiting". |
overlay.elements[].timeAxisclock, offsetdefault "clock" | Whether the time axis shows wall-clock times or offsets from now. |
overlay.elements[].gaugeStylebar, vbar, arc | The gauge style: horizontal bar, vertical bar or arc. |
overlay.elements[].defaultLabelstring | For a state strip, the label for values that are not in its state map. |
overlay.elements[].tickPxnumber | For a tick chart, the tick width in pixels. |
overlay.elements[].orientationhorizontal, vertical | For a state strip, whether it runs horizontally or vertically. |
overlay.elements[].borderstring | The box border color. Omit it to use the theme. |
overlay.elements[].visibleWhen.tagIdstring | The tag the visibility rule tests. |
overlay.elements[].visibleWhen.opeq, ne, lt, le, gt, ge | The comparison used by the visibility rule. |
overlay.elements[].visibleWhen.valuenumber | The value the tag is compared with. The element is shown only while the rule holds. |
overlay.elements[].connectionIdstring | For robot elements, the ABB connection the element shows. No tags are needed. |
overlay.elements[].detailchip, compact, fulldefault "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[].figurenone, side, isodefault "iso" | For a pose figure, the drawing style: isometric, side view, or none. |
overlay.elements[].showAlarmbooleandefault 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.
| Setting | Description |
|---|---|
streamEncode.enabledbooleandefault false | Whether the DataBorder is drawn and encoded. |
streamEncode.syncOverlaybooleandefault true | Whether every tag the overlay uses automatically gets a record in the DataBorder. Records you added by hand are kept. |
streamEncode.tagIdsarray | A list of tag ids to embed, used only when the records list is empty. |
streamEncode.records[].namestring | The record name, up to 16 characters. |
streamEncode.records[].typebit, bitarr, bcd4, uint, int, chararr, real | The encoded type of the record. |
streamEncode.records[].tagIdstring | The tag that supplies the live value. Omit it for a manual or automatic value. |
streamEncode.records[].modemanual, hour, minute, second, millisdefault "manual" | Where the value comes from: a manual value, or the current hour, minute, second or millisecond. |
streamEncode.records[].valuestring | The manual value, interpreted according to the record type. |
streamEncode.records[].sizeinteger | The array size for bit-array and character-array records. |
streamEncode.records[].pinnedbooleandefault 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[].syncedbooleandefault 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.updateFpsnumberdefault 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.formatVersion1, 2default 2 | The DataBorder format. |
streamEncode.thickness1, 2, 3, 4, 5, 6default 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.signingbooleandefault true | Whether updates are chained and periodically signed with the camera's key. |
streamEncode.snapshotPeriodMsintegerdefault 2000 | How often a full snapshot of every record is sent, in milliseconds. Between snapshots, updates carry only changed and pinned records. |
streamEncode.historyInStreambooleandefault true | Whether the last 24 hours of state runs ride in the carousel. |
streamEncode.historyTagIdsarray | Which state tags ride in the history carousel. When it is omitted, every state tag among the records does. |
streamEncode.packedbooleandefault true | Whether the compact wire layout is used. |
streamEncode.profilehistory, snapshotdefault "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.fullHistoryInStreambooleandefault true | Whether the camera's full stored history cycles through the DataBorder, newest first. It applies to the history profile only. |
streamEncode.robots[].connectionIdstring | The ABB connection whose standard records ride in the DataBorder. |
streamEncode.robots[].fieldsarray | Which robot fields are carried live. Motion fields such as joint positions change constantly, so they are opt-in. |
streamEncode.robots[].onAlarmbooleandefault true | Whether a new alarm sends its context and forces a snapshot. |
Settings
These are the global settings: state categories, shifts and logging.
| Setting | Description |
|---|---|
settings.logLevelerror, warn, info, debugdefault "info" | How much the application logs: error, warn, info or debug. |
settings.stateCategories[].idstring | A unique identifier for the category. |
settings.stateCategories[].labelstring | The category's name. |
settings.stateCategories[].colorstring | The category's color, as #RRGGBB or #RRGGBBAA. |
settings.stateCategories[].productivebooleandefault false | Whether time in this category counts as productive in the donut and availability charts. |
settings.stateCategoriesEnabledbooleandefault true | Whether the global state categories are used. When it is off, tags may still carry their own. |
settings.shifts[].namestring | The shift's name. |
settings.shifts[].startstring | The shift start time as HH:MM. Shift start times define the "this shift" chart window. |
Other
| Setting | Description |
|---|---|
version | The configuration format version. It is always 1. |