Skip to content

Configuration

Snupai edited this page Jun 17, 2026 · 4 revisions

Configuration

Configuration is stored in settings.json in the application working directory. If the file is missing, the application starts with built-in defaults and saves settings during shutdown.

Relative paths are resolved from the current working directory.

Default Shape

{
  "info": {
    "version": "1.7.9",
    "UR_Model": "UR10",
    "UR_Serial_Number": "N/A",
    "UR_Manufacturing_Date": "N/A",
    "UR_Software_Version": "N/A",
    "Pallettierer_Name": "N/A",
    "Pallettierer_Standort": "N/A",
    "number_of_plans": 0,
    "number_of_use_cycles": 0,
    "last_restart": "Never"
  },
  "robot": {
    "ip": "192.168.0.1",
    "dashboard_port": 29999
  },
  "server": {
    "port": 8080,
    "auto_start": true,
    "usb_path": "/media/usb0"
  },
  "database": {
    "path": "paletten.db"
  },
  "audio": {
    "enabled": true,
    "volume": 0.8
  },
  "display": {
    "width": 800,
    "height": 600,
    "fullscreen": true,
    "specs": {
      "model": "",
      "width": 0,
      "height": 0,
      "refresh_rate": 60
    }
  },
  "ui": {
    "fullscreen": true,
    "virtual_keyboard": true
  },
  "admin": {
    "password_hash": "<salt_hex>$<sha256_hex>",
    "path": "..",
    "alarm_sound_file": "Sound/output.wav",
    "scanner_warning_sound_file": "Sound/stepback.wav",
    "usb_key": "",
    "usb_expected_value": ""
  }
}

Important Keys

Key Default Meaning
info.version 1.7.9 Application version.
info.UR_Model UR10 Supported values: UR10, UR20.
robot.ip 192.168.0.1 Robot Dashboard Server IP.
robot.dashboard_port 29999 Dashboard Server port.
server.port 8080 Local XML-RPC server port.
server.auto_start true Starts XML-RPC automatically during startup.
server.usb_path /media/usb0 on Linux, .. on Windows/dev Directory scanned for .rob files and offline updates.
database.path paletten.db SQLite database path.
audio.enabled true Enables audio subsystem.
audio.volume 0.8 Volume from 0.0 to 1.0.
display.width / display.height 800 / 600 Display target dimensions.
display.fullscreen true Stored fullscreen preference. Runtime kiosk behavior can also be forced with MULTIPACK_FULLSCREEN.
ui.virtual_keyboard true Stored virtual keyboard preference. The CLI can disable it for a run with --no-virtual-keyboard.
admin.password_hash generated for default password 666666 Stored as salt_hex$sha256_hex.
admin.usb_key empty Optional path to a USB key bypass file.
admin.usb_expected_value empty Expected trimmed file content for USB key bypass.

Validation Rules

Field Rule
Robot IP IPv4 dotted quad.
XML-RPC port Integer from 1 to 65535.
Audio volume Float from 0.0 to 1.0.
Robot model UR10 or UR20.
Display size Width and height must be positive.
Admin password Minimum length is 4 characters when changed.

Password Storage

Admin passwords are stored as:

<16-byte random salt as hex>$<SHA-256(salt + password) as hex>

If an existing settings file lacks admin.password_hash, the application writes a hash for the default password 666666.

Update Signing Runtime Overrides

The updater has a default trusted Ed25519 public key embedded in the binary. These settings override that embedded key:

Variable Meaning
MULTIPACK_UPDATE_PUBLIC_KEY_PEM Inline public key PEM.
MULTIPACK_UPDATE_PUBLIC_KEY_FILE Path to public key PEM.

The app also checks update-public-key.pem next to multipack-parser and in the current working directory before falling back to the embedded key. Leave these unset for normal production deployments unless testing or rotating the update signing key.


<- Previous: Operations Guide | Home | Next: Command Line ->

Clone this wiki locally