Skip to content

Configuration Guide

2.0

The expected way to configure most options is using the management console; or programmatically via the Platform API.

Environment variables configured using this API are included in manual and automatic backups.

Environment Variables

Certain settings can only be changed via environment variables. Set these via your runtime environment; e.g., Docker or systemd.

Global Options

Environment Variable Description Default Value
DEBUG enable debug logging
PORT port number for management console and API 8080

Authentication Options

See the setup instructions.

Environment Variable Description Default Value
AUTH_PROVIDER which authentication provider to use IAM_AUTH or IAM_AZURE_AD_B2C
AUTH_CLIENT_ID OIDC client (application) ID
AUTH_SCOPES Scopes to request during the login flow
AUTH_ISSUER Value of the iss field of an authorization token
AUTH_JWKS_VALUE Public keys to check the JWT signature with
CONSOLE_USERNAME username for the management console
CONSOLE_PASSWORD password for the management console

Configuration Options

Configuration settings screenshot

Bacnet Settings

Setting Description Default Value
Timeout number of seconds before an operation times out (including retries) 30
Concurrency Maximum simultaneous in-flight requests for a device (for IP networks) or BACnet network (for serial networks) 3
Merge Max Largest number of requests to merge into a single ReadPropertyMultiple 10

Command

Setting Description Default Value
BACnet Priority The default BACnet priority level to use for writes 12

Modbus Service

Setting Description Default Value
Poll Deadline The amount of time allowed to read all points from a Modbus device before timing out 30s
Read Timeout How long to allow any individual Modbus read command to take 5s

Point Service

Setting Description Default Value
Max Update Stream Length How many data values to keep available for the update API 100000
Wal Max Retained Segments How many records to retain for other log-based APIs 10000

Scan

Setting Description Default Value
Timeout How long to allow a scan to run before terminating it, seconds 30 minutes
Concurrency How many scans to run in parallel 10

Polling

Setting Description Default Value
Timezone Timezone to interpret timestamps which do not have timezone information in; for instance BACnet trendlog entries. Values must be a TZ Database Name. Local

Sparkplug

Setting Description Default Value
Group ID Sparkplug group ID for node normalgw
Node ID Sparkplug id of this node 001
Node Name Sparkplug node name in Node payload, set in DBIRTH messages. Test Node Device
Max metrics per message Maximum number of readings to include in any message 5000
Payload Format 1.4 Serialization format for payload proto+gzip (default), proto, json, json+gzip
MQTT Settings Send telemetry using Sparkplug-B to an MQTT Broker.
MQTT Broker Host name of MQTT broker <disabled>
MQTT Port Port number 1883
MQTT Protocol Connection protocol: tcp or tls tcp
MQTT Client ID MQTT Client identifier Set to the value of Node ID
MQTT Username Connection Username
MQTT Password Connection Password
HTTP Transport Settings Send telemetry in the body of an HTTP POST instead of using MQTT.
HTTP Url 1.4 If set, use HTTP(s) instead of MQTT and POST data to this URL
Azure IoT Hub Settings Send messages to Azure IoT hub. Automatically adjusts other settings including topic format and password to work with Azure IoT Hub requirements.
EdgeHubConnectionString 1.4 Azure IoT Hub connection string. If set, overrides a number of settings to configure Azure IoT Hub compatibility.

System

Setting Description Default Value
Balena device name at init The site name displayed in the management console heading Default Site

Template

Setting Description Default Value
Committer Name Name of git committer for template changes Normal Framework
Committer Email Email of git committer for template changes noreply@normal.dev