Skip to content

Device Views (DVs)

A Device View (DV) is a JSON file that defines everything the device shows on its e‑paper screen: pages, widgets, fonts, and interactions. Each DV is stored in the /dvs/ directory on the device’s USB filesystem and is activated by the allocation process.

How DVs are loaded:

  • The allocdata.json (or unallocdata.json) file lists which DVs to use and maps them to internal names like home, duress, syscfg, etc.
  • A DV can be embedded directly in the allocdata ("src":"inline") or loaded from a local file ("src":"local"/dvs/<name>.json).

Every DV follows this skeleton:

{
"displayName": "Human-readable name",
"displayIcon": "icon_name",
"target_size": { "w": 176, "h": 264 },
"infopages": [
{
"id": "1",
"infowidgets": [ ... ]
}
]
}

Each widget has:

  • typedynamic (value changes) or static (fixed)
  • interactionstatic, dynamic, button, editable
  • value – the initial or fixed value
  • formattext, graphic, bool, number, msglist
  • formatter – how the value is displayed (font, alignment, outlines, etc.)

Not all widget values are hard‑coded. The data source can be identified by the widget’s name and the DV’s documentation:

SourceExample
Static JSONA fixed label like "Config Duress"
Device configvname in the duress DV user data
duress_appMQTTsubj and location in the alerts msglist
Device sensorsBattery gauge, BLE scan results

Key for troubleshooting: A widget that shows a person’s name may get that name from the device’s own data (e.g., duresshomeuser_name) or from the portal (e.g., duressalertssubj). The individual DV pages explain exactly which source each widget uses.


DV FileCategoryDisplay Name (if known)Page
duress.jsonDuressDuressduress
duresshome.jsonDuressHome (wearer)duresshome
duresstest.jsonDuress(test variant)duresstest
allocated_home.jsonHome screensAllocated Homeallocated-home
unallocated_home.jsonHome screensUnallocated Homeunallocated-home
badge_lock.jsonSystemBadge Lockbadge-lock
emptydv.jsonSystem(empty placeholder)
syscfg.jsonSystemSystem Configsyscfg
sysctrl.jsonSystemSystem Controlsysctrl
sysfns.jsonSystemSystem Functionssysfns
syshome.jsonSystemSystem Homesyshome
sysinfo.jsonSystemSystem Infosysinfo
syslock.jsonSystemSystem Locksyslock
systest.jsonSystemSystem Testsystest
visite.jsonAppsVisitevisite
wallet.jsonAppsWalletwallet

(Files starting with ._ are macOS resource forks – ignore.)


  1. To list installed DVs on a device: Send an fget command for /dvs via MQTT. The device returns a directory listing with all DV files and sizes.
  2. To inspect a specific DV: Read the individual DV page (like duress.mdx) — each page documents every widget, its purpose, and its data source.
  3. To diagnose a portal/device mismatch: Cross‑reference the DV’s documented data source with the portal’s behaviour. For example, if a notification shows the wrong name, check whether the widget’s data comes from the device config or from the portal’s MQTT commands.