System Config DV (syscfg.json)
This is the system configuration screen accessible from the device’s functions menu.
It lets the wearer change the display language, enable/disable the screen lock,
and set the system log level. All values are written directly to devcfg.ui.*
so they persist across reboots.
File: /dvs/syscfg.json
Full JSON
Section titled “Full JSON”Click to expand
{ "displayName": "system_config", "displayIcon": "gear1", "target_size": { "w": 176, "h": 264 }, "infopages": [ { "id": "1", "infowidgets": [ { "interaction": "static", "region": { "x": 5, "y": 0, "w": 165, "h": 30 }, "value": "system_config", "format": "text", "formatter": { "name": "basic", "valign": "center", "halign": "center", "autobreak": true, "font": { "sz": 22 } } }, { "interaction": "static", "region": { "x": 5, "y": 40, "w": 75, "h": 50 }, "value": "lang", "format": "text", "formatter": { "name": "basic", "valign": "center", "halign": "left", "autobreak": true, "font": { "sz": 22 } } }, { "interaction": "editable", "name": "devcfg.ui.lang", "region": { "x": 95, "y": 40, "w": 80, "h": 50 }, "value": "en:English:1,fr:Francais:0,de:Deutsche:0", "format": "text", "formatter": { "name": "list", "valign": "center", "halign": "center", "autobreak": true, "font": { "sz": 22 } }, "ded": { "type": "inp_1ofn", "title": "lang_select", "auto_ok": true } }, { "interaction": "static", "region": { "x": 5, "y": 100, "w": 75, "h": 50 }, "value": "lock_enable", "format": "text", "formatter": { "name": "basic", "valign": "center", "halign": "left", "autobreak": true, "font": { "sz": 22 } } }, { "interaction": "editable", "name": "devcfg.ui.enable_lock", "region": { "x": 95, "y": 100, "w": 80, "h": 50 }, "value": false, "format": "graphic", "formatter": { "name": "bool", "valign": "center", "halign": "center", "font": { "sz": 22 } }, "ded": { "type": "inp_bool", "title": "lock_enable", "text_true": "lock_enabled", "text_false": "lock_disabled", "auto_ok": true } }, { "interaction": "static", "region": { "x": 5, "y": 160, "w": 75, "h": 50 }, "value": "log_level", "format": "text", "formatter": { "name": "basic", "valign": "center", "halign": "left", "autobreak": true, "font": { "sz": 22 } } }, { "interaction": "editable", "name": "devcfg.ui.log_level", "region": { "x": 95, "y": 160, "w": 80, "h": 50 }, "value": "2:Run:0,1:Info:1,0:Debug:0", "format": "text", "formatter": { "name": "list", "valign": "center", "halign": "center", "autobreak": true, "font": { "sz": 22 } }, "ded": { "type": "inp_1ofn", "title": "log_select", "auto_ok": true } } ] } ], "dicts": [ { "lang": "en", "description": "English", "dict": { "system_config": "Config (en)", "lang": "Language", "use_pin": "Use lock?", "enter_pin": "Enter pin", "pin_code": "Pin code", "lang_select": "Select language", "lock_enable": "Enable lock?", "lock_enabled": "Lock enabled", "lock_disabled": "Lock disabled", "log_level": "Log level", "log_select": "Select level" } }, { "lang": "fr", "description": "Francais", "dict": { "system_config": "Config (fr)", "lang": "Language", "use_pin": "Utilisez lock?", "enter_pin": "Entrez code", "pin_code": "Code pin", "lang_select": "Choisir language", "lock_enable": "Activer lock?", "lock_enabled": "Lock activé", "lock_disabled": "Lock desactivé", "log_level": "Niveau log", "log_select": "Choisir niveau" } }, { "lang": "de", "description": "Deutch", "dict": { "system_config": "Config (de)", "lang": "Language", "use_pin": "Use lock?", "enter_pin": "Enter pîn", "pin_code": "Pin code", "lang_select": "Select language", "lock_enable": "Enable lock?", "lock_enabled": "Lock enabled", "lock_disabled": "Lock disabled", "log_level": "Log level", "log_select": "Select level" } } ]}Page 1: System Config (id: "1")
Section titled “Page 1: System Config (id: "1")”| Widget | Type | Interaction | Purpose |
|---|---|---|---|
(label) "system_config" | text | static | Page title – localized via dicts |
(label) "lang" | text | static | Label for language setting |
devcfg.ui.lang | list | editable | Language selection (en:English:1,fr:Francais:0,de:Deutsche:0). The third value (1 or 0) indicates which language is active. Opens a 1-of-N DED. |
(label) "lock_enable" | text | static | Label for lock setting |
devcfg.ui.enable_lock | bool_inplace | editable | Enable/disable screen lock. Shows localized true/false text. Opens a bool DED. |
(label) "log_level" | text | static | Label for log level setting |
devcfg.ui.log_level | list | editable | Log verbosity (2:Run:0,1:Info:1,0:Debug:0). Higher number = less verbose. Opens a 1-of-N DED. |
Localization (dicts)
Section titled “Localization (dicts)”This DV includes three language dictionaries. Widget value fields are keys into the active dictionary – they are replaced with the localized string at render time.
| Key | English (en) | French (fr) | German (de) |
|---|---|---|---|
system_config | Config (en) | Config (fr) | Config (de) |
lang | Language | Language | Language |
lock_enable | Enable lock? | Activer lock? | Enable lock? |
lock_enabled | Lock enabled | Lock activé | Lock enabled |
lock_disabled | Lock disabled | Lock desactivé | Lock disabled |
log_level | Log level | Niveau log | Log level |
lang_select | Select language | Choisir language | Select language |
log_select | Select level | Choisir niveau | Select level |
use_pin | Use lock? | Utilisez lock? | Use lock? |
enter_pin | Enter pin | Entrez code | Enter pîn |
pin_code | Pin code | Code pin | Pin code |
Where the data comes from
Section titled “Where the data comes from”- All editable widgets write directly to the device’s persistent config via
devcfg.ui.*keys. - The values survive reboots and are stored in the device’s dynamic config file.
- The language dictionary used for display is determined by the
devcfg.ui.langsetting. - None of these settings involve the portal – they are local to the device.
Related
Section titled “Related”- Device Views Overview – list of all DVs
- System Control DV – reboot, DFU, and self-test controls
- System Info DV – device information display
- UI Config (MQTT) – setting these values via MQTT