Skip to content

Duress Home DV (duresshome.json)

[!NOTE] Screenshot Placeholder: High-resolution rendering of this DataView on the CC2 e-paper display will be uploaded here.

This is the home screen shown on the CC2 badge of the person wearing the device. It displays their own name and role, a hidden duress flag that appears when an alert is active, and buttons to open the system functions or the duress alert list.

File: /dvs/duresshome.json


Click to expand
{
"displayName": "Home",
"displayIcon": "ic_airplanemode_on_black_48dp",
"target_size": {
"w": 176,
"h": 264,
},
"infopages": [
{
"id": "1",
"infowidgets": [
{
"name": "user_name",
"region": {
"x": 5,
"y": 5,
"w": 160,
"h": 70,
},
"type": "dynamic",
"value": "Johnathon Doemachine",
"format": "text",
"formatter": {
"name": "basic",
"valign": "c",
"halign": "c",
"autobreak": true,
"outline": "solid_rounded",
"outline_sz": 1,
"font": {
"sz": 34,
},
},
},
{
"name": "user_role",
"region": {
"x": 5,
"y": 75,
"w": 160,
"h": 20,
},
"type": "dynamic",
"value": "CTO",
"format": "text",
"formatter": {
"name": "basic",
"valign": "c",
"halign": "c",
"autobreak": false,
"font": {
"sz": 14,
"weight": "bold",
},
},
},
{
"name": "duress_flag",
"region": {
"x": 40,
"y": 100,
"w": 90,
"h": 90,
},
"type": "dynamic",
"value": "alert_bell",
"show": false,
"format": "graphic",
"formatter": {
"name": "basic",
"valign": "scale",
"halign": "scale",
"outline": "solid_square",
"outline_sz": 1,
},
},
{
"name": "config",
"region": {
"x": 5,
"y": 190,
"w": 50,
"h": 50,
},
"type": "button",
"actions": [
{
"a": "g",
"p": "sysfns.1",
},
],
"value": "gear1",
"format": "graphic",
"formatter": {
"name": "basic",
"valign": "c",
"halign": "c",
"autobreak": false,
"outline": "solid_rounded",
"outline_sz": 1,
"font": {
"sz": 22,
},
},
},
{
"name": "duress",
"region": {
"x": 110,
"y": 190,
"w": 50,
"h": 50,
},
"type": "button",
"actions": [
{
"a": "g",
"p": "duress.1",
},
],
"value": "ic_bug_report_black_24dp",
"format": "graphic",
"formatter": {
"name": "basic",
"valign": "c",
"halign": "c",
"autobreak": false,
"outline": "solid_rounded",
"outline_sz": 1,
},
},
],
},
],
}

Widget Type Interaction Purpose
user_name text dynamic The wearer’s name (e.g., “Johnathon Doemachine”). Set by the device’s own user data (usually via vname in the duress DV configuration or the allocation data block).
user_role text dynamic The wearer’s role or title (e.g., “CTO”). Also set by the device’s own user data (user_role).
duress_flag graphic dynamic Shows an alert bell icon when a duress alert is active (hidden by default).
config graphic (button) button Opens the system functions page (sysfns.1).
duress graphic (button) button Opens the duress alert list (duress.1) where the wearer can see incoming alerts.

  • user_name and user_role are populated by the device’s own configuration—either from the initial value in the DV or from dynamic data set via updateLocal/updateRemote actions in the allocdata.
  • They are completely independent of the portal’s “Associated User” field.
  • The duress_appnever reads user_name or user_role when building a duress alert notification. Instead, the duress_appuses its own associatedUser field for the subj of the alert.

This DV does not receive data from the duress_appfor its widgets. It only provides a button to navigate to the duress DV, which is where the portal-pushed alerts appear.

When a duress alert is received, the duress_flag widget becomes visible, but the notification text (subj, location) is displayed in the duress DV, not here.