Skip to main content

System Parameters

System parameters control OpSee's runtime behavior, from data ingestion worker settings to cache durations and batch sizes. Changes take effect immediately without requiring a restart.

Accessing parameters​

Navigate to Admin → System Parameters (requires admin role).

Parameter categories​

Data ingestion workers​

ParameterDescriptionTypical Value
MQTT Worker enabledEnable/disable MQTT data ingestiontrue
MQTT Worker poll intervalSeconds between polling cycles5
MQTT Worker debugEnable verbose loggingfalse
OPC-UA Worker enabledEnable/disable OPC-UA ingestiontrue
OPC-UA Worker poll intervalSeconds between polling cycles10
Discovery Worker enabledAuto-discover new MQTT topicsfalse

Cache settings​

ParameterDescriptionTypical Value
Cache TTLHow long to cache API responses (seconds)300
Menu cache TTLHow long to cache menu structure600

Batch processing​

ParameterDescriptionTypical Value
Import batch sizeRecords per batch during import100
Export page sizeRecords per page during export1000

Alarms​

ParameterDescriptionTypical Value
ALARM_DEFAULT_ON_DELAY_SSeconds a set condition must stay true before the alarm is raised, when the condition sets no delay of its own (0–3600)0
ALARM_DEFAULT_OFF_DELAY_SSeconds a reset condition must stay true before the alarm returns to normal, when the condition sets no delay of its own (0–3600)5
ALARM_CHATTER_EVENT_LIMITSet/reset event pairs written to one occurrence's timeline before further re-arms stop being recorded (0–100000, 0 = no limit). The default 0 records every re-arm, so the timeline shows each cycle. The alarm still changes state and stays in the list either way. Notifications do not depend on this setting: re-arms are never notified, only the raise, the first return to normal and the clear that closes the occurrence. See Alarm Lifecycle0
Alarm evaluator enabledEnable/disable the alarm_evaluator worker that evaluates every enabled alarm definition and drives the alarm lifecycletrue
Alarm evaluator poll intervalSeconds between evaluation cycles1
Alarm notifier enabledEnable/disable the alarm_notifier worker that routes alarm events to channels, delivers the outbox, fires escalations and prunes settled notificationstrue
Alarm notifier poll intervalSeconds between outbox polls; the worker also wakes immediately on any alarm change5

Per-condition delays set in the alarm definition override the two defaults. See Alarm Lifecycle for how they combine with hysteresis.

Notifications​

SMTP defaults for e-mail channels, flood control and retries for every channel. See Alarm Notifications for how they are used.

ParameterDescriptionTypical Value
NOTIFY_SMTP_HOSTSMTP server hostname used by e-mail notification channels that do not carry their ownsmtp.example.com
NOTIFY_SMTP_PORTTCP port of the SMTP server used by e-mail notification channels (587 = STARTTLS submission) (1–65535)587
NOTIFY_SMTP_FROMEnvelope sender address used for alarm e-mailsopsee@example.com
NOTIFY_SMTP_USERUsername for SMTP authentication. The password lives in the encrypted channel URL, not here.
NOTIFY_SMTP_STARTTLSUpgrade the SMTP connection to TLS with STARTTLS before sending credentials1
NOTIFY_MAX_PER_CHANNEL_PER_MINUTENotifications delivered per channel per minute before the notifier collapses the rest into one summary message (1–1000)20
NOTIFY_FLOOD_SUMMARY_WINDOW_SWindow over which suppressed notifications are collected into one summary message (10–3600 s)60
NOTIFY_RETRY_MAX_ATTEMPTSDelivery attempts per notification before it is marked failed (1–10)3
NOTIFY_RETRY_BACKOFF_SBase retry delay for a failed notification, multiplied by the attempt number (5–3600 s)30
NOTIFY_BASE_URLPublic address of this OpSee installation, used to build the deep links in a notification and the URL behind the phone Acknowledge button. Seeded empty: leave it empty to use the install's own domain (https://<SERVER_DOMAIN> from infra/.env), and set it only when phones reach OpSee on a different public URL. No trailing slash needed.https://plant.example.com
PLANT_TIMEZONEIANA time zone of the plant, used to evaluate the on-call windows of routing rules and to render timestamps in notification messages. Lives in the System category because it is install-wide. An unknown or misspelled zone falls back to UTC instead of failing.Europe/Brussels

:::note No SMTP password parameter Every system parameter is returned verbatim to any admin and appears in plain text in database backups. The SMTP password is therefore entered in the e-mail channel dialog and stored encrypted with the channel, never as a parameter. :::

Retention​

ParameterDescriptionTypical Value
RETENTION_ALARM_DAYSDays of alarm history kept by the retention worker (0–3650); 0 = keep forever. Covers both halves: the occurrences in whole 7-day chunks, so their effective horizon can exceed the value by up to one chunk, and their event timeline rows by exact-age delete. The timeline of an occurrence that is still open is kept regardless of age — it is what the operator reads in the detail drawer, so it is never aged out from under a live alarm.365
RETENTION_NOTIFICATION_DAYSDays of settled notification outbox rows (a_alarm_notification) kept by the notifier (0–3650); 0 = keep forever. Pruned by the alarm_notifier worker with a plain delete, not by the retention worker, so the horizon is exact.90

Modifying parameters​

  1. Find the parameter in the list
  2. Click Edit
  3. Enter the new value
  4. Click Save

Changes are applied immediately. The in-memory cache is refreshed automatically.

:::caution Performance impact Changing worker poll intervals affects system load. Very short intervals (< 2 seconds) may increase CPU and database usage. Monitor system performance after changes. :::

Next steps​

Prerequisites​

  • Architecture Overview
  • Cockpit — complementary module