DueUIConfig({
"dueui_content":
{ /* START definition of the dueui panel */
"id": "dueui",
"type": "tabbed_panel",
"header_panel":
{ /* START definition of the header main panel */
"id": "dueui_header_main",
"type": "panel",
"enabled": true,
"style": {"display": "flex", "flex-direction": "row-reverse", "width": "100%", "height": "60px"},
"element_configs": [ /* START definition of the buttons at top */
{ /* START definition of the STOP-Button */
"id": "stop",
"type": "button",
"enabled": true,
"position": {"my": "left top", "at": "left top+5", "of": "#dueui_header_main"},
"style": {"width": "120px","height": "50px"},
"classes": "btn btn-danger",
"icon": "error_outline",
/*"value": "STOP", */
"actions": [{"type": "gcode", "gcode": "M112"}]
},
{ /* START definition of the RESTART-Button */
"id": "restart",
"type": "button",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top", "of": "#stop"},
"style": {"width": "120px","height": "50px"},
"classes": "btn btn-warning",
"icon": "refresh",
/*"value": "RESTART",*/
"actions": [{"type": "gcode", "gcode": "M999"}]
},
{ /* START definition of the STATUS field */
"id": "status",
"type": "status",
"enabled": true,
"read_only": true,
"status_level": 1,
"position": {"my": "left top", "at": "right+10 top", "of": "#restart"},
"style": {"width": "130px", "height": "50px", "border": "none", "font-size": "18px"},
"classes": "btn btn-secondary"
},
{ /* START definition of the GCode Label */
"id": "gcode_label",
"type": "label",
"enabled": true,
"value": "GCode: ",
"style": {"width": "60px","height": "40px", "border": "none", "font-size": "18px"},
"position": {"my": "left top", "at": "right+50 top+15", "of": "#status"}
},
{ /* START definition of the GCode input field */
"id": "console_log_input2",
"type": "input_field",
"enabled": true,
"position": {"my": "left center", "at": "right+5 top+10", "of": "#gcode_label"},
"style": {"width": "35%", "height": "40px", "box-sizing": "border-box", "font-size": "16px"},
"field_type": "text",
"autocomplete_key": "console",
"submit_on_enter": true,
"actions": [{"type": "gcode", "gcode": "${value}", "get_reply": true}]
},
{ /* START of ATX button and GCode command corresponding to current state is executed */
"id": "atx_power",
"type": "button",
"enabled": true,
"position": {"my": "right top", "at": "right top+5", "of": "#dueui_header_main"},
"style": {"width": "120px", "height": "50px"},
"status_level": 1,
"state":
{"field": "${status.params.atxPower}",
"classes": [
/* The classes applied when the state changes to 0 (atxPower off). */
"btn btn-danger",
/* The classes applied when the state changes to 1 (atxPower on). */
"btn btn-success"
]
},
/*"value": "ATX PWR",*/
"icon": "power_settings_new",
"actions_type": "state",
"actions": [
[
/* Turn the power ON when the current state is 0 (off) */
{"type": "gcode", "gcode": "M80", "label": "PWR ON"},
/* AND post a log message to that effect */
{"type": "log", "severity": "I", "value": "Power turned ON"}
],
[
/* Turn the power OFF when the current state is 1 (on) */
{"type": "gcode", "gcode": "M81", "label": "PWR OFF"},
/* AND post a log message to that effect */
{"type": "log", "severity": "I", "value": "Power turned OFF"}
]
]
},
{ /* START of HOMING choose-button */
"id": "homing",
"type": "button",
"enabled": true,
"position": {"my": "right top", "at": "left-10 top", "of": "#atx_power"},
"style": {"width": "120px", "height": "50px", "font-size": "18px"},
"classes": "btn btn-primary",
"status_level": 1,
"state_field": 0,
"icon": "home",
/*"value": "HOMING",*/
"actions_type": "choose",
"actions": [
{"type": "gcode", "gcode": "G4 P100", "label": " "},
{"type": "gcode", "gcode": "G28", "label": "HOMING ALL"},
{"type": "gcode", "gcode": "G4 P100", "label": " "},
{"type": "gcode", "gcode": "G28 X", "label": "HOMING X"},
{"type": "gcode", "gcode": "G4 P100", "label": " "},
{"type": "gcode", "gcode": "G28 Y", "label": "HOMING Y"},
{"type": "gcode", "gcode": "G4 P100", "label": " "},
{"type": "gcode", "gcode": "G28 Z", "label": "HOMING Z"},
{"type": "gcode", "gcode": "G4 P100", "label": " "},
{"type": "gcode", "gcode": "G30 S-1; G4 S3; G91; G1 Z5 F1200, G90", "label": "G30 S-1"},
{"type": "gcode", "gcode": "G4 P100", "label": " "}
]
},
]
},
"menubar": {"id": "dueui_menubar", "type": "panel", "enabled": true}, /* START of the the menubar bottom */
"element_configs": [ /* CONFIGURATION of the tabs */
{ /* START of the "Setup01" tab */
"id": "dueui_panel_setup01",
"type": "tab_panel",
"enabled": true,
"menubar_label": "SETUP",
"element_configs": [
{ /* Konfig of the button1 Fan 0 */
"id": "su01_fan_0_button1",
"type": "button",
"enabled": true,
"read_only": true,
"value": "F0",
"style": {"width": "6ch","height": "2.5em"},
"classes": "btn btn-secondary",
"position": {"my": "left top", "at": "left+90 top+285", "of": "#dueui_panel_setup01"}
},
{ /* Konfig of the slider Fan 0 */
"id": "su01_fan0_slider",
"type": "slider",
"enabled": true,
"style": {"width": "310px","height": "23px"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#su01_fan_0_button1"},
"slider": {"min": 0, "max": 100, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[0]}",
"actions": [{"type": "gcode", "gcode": "M106 P0 S${value / 100.0}"}]
},
{ /* Konfig of the button2 Fan 0 */
"id": "su01_fan0_button2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[0]} %",
"style": {"width": "68px","height": "30px", "font-size": "12px", "text-align": "center"},
"classes": "btn btn-secondary",
"initial_value": "- - -%",
"position": {"my": "left top", "at": "right+10 top+1", "of": "#su01_fan0_slider"}
},
{ /* Konfig of the label1 Fan 0 */
"id": "su01_fan0_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom-2", "of": "#su01_fan0_slider"}
},
{ /* Konfig of the label2 Fan 0 */
"id": "su01_fan0_label4",
"type": "label",
"enabled": true,
"value": "100%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom-2", "of": "#su01_fan0_slider"}
},
{ /* Konfig of the button1 Fan 1 */
"id": "su01_fan1_button1",
"type": "button",
"enabled": true,
"read_only": true,
"value": "F1",
"style": {"width": "6ch","height": "2.5em"},
"classes": "btn btn-secondary",
"position": {"my": "left top", "at": "left+90 top+335", "of": "#dueui_panel_setup01"}
},
{ /* Konfig of the slider Fan 1 */
"id": "su01_fan1_slider",
"type": "slider",
"enabled": true,
"style": {"width": "310px","height": "23px"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#su01_fan1_button1"},
"slider": {"min": 0, "max": 100, "step": 10, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[1]}",
"actions": [{"type": "gcode", "gcode": "M106 P1 S${value / 100.0}"}]
},
{ /* Konfig of the button2 Fan 1 */
"id": "su01_fan1_button2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[1]} %",
"style": {"width": "68px","height": "30px", "font-size": "12px", "text-align": "center"},
"classes": "btn btn-secondary",
"initial_value": "- - -%",
"position": {"my": "left top", "at": "right+10 top+1", "of": "#su01_fan1_slider"}
},
{ /* Konfig of the label1 Fan 1 */
"id": "su01_fan1_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom-2", "of": "#su01_fan1_slider"}
},
{ /* Konfig of the label2 Fan 1 */
"id": "su01_fan1_label4",
"type": "label",
"enabled": true,
"value": "100%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom-2", "of": "#su01_fan1_slider"}
},
{ /* Konfig of the button1 LED */
"id": "su01_led_button1",
"type": "button",
"enabled": true,
"read_only": true,
"value": "LI",
"style": {"width": "6ch","height": "2.5em"},
"classes": "btn btn-secondary",
"position": {"my": "left top", "at": "left+90 top+385", "of": "#dueui_panel_setup01"}
},
{ /* Konfig of the slider LED */
"id": "su01_led_slider",
"type": "slider",
"enabled": true,
"style": {"width": "310px","height": "23px"},
"position": {"my": "left center", "at": "right+15 top+15", "of": "#su01_led_button1"},
"slider": {"min": 0, "max": 50, "step": 5, "orientation": "horizontal"},
"status_level": 1,
"value": "${status.params.fanPercent[2]}",
"actions": [{"type": "gcode", "gcode": "M106 P2 S${value / 100.0}"}]
},
{ /* Konfig of the button2 LED */
"id": "su01_led_button2",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"value": "${status.params.fanPercent[2]} %",
"style": {"width": "68px","height": "30px", "font-size": "12px", "text-align": "center"},
"classes": "btn btn-secondary",
"initial_value": "- - -%",
"position": {"my": "left top", "at": "right+10 top+1", "of": "#su01_led_slider"}
},
{ /* Konfig of the label1 LED */
"id": "su01_led_label3",
"type": "label",
"enabled": true,
"value": "0%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "left"},
"position": {"my": "left top", "at": "left bottom-2", "of": "#su01_led_slider"}
},
{ /* Konfig of the label2 LED */
"id": "su01_led_label4",
"type": "label",
"enabled": true,
"value": "50%",
"style": {"width": "9ch","height": "15px", "font-size": "10px", "text-align": "right"},
"position": {"my": "right top", "at": "right bottom-2", "of": "#su01_led_slider"}
},
{ /* Show HEATER labels */
"id": "heater_labels_su01",
"type": "heater_labels",
"enabled": true,
"position": {"my": "left top", "at": "left+905 top+12", "of": "#dueui_panel_setup01"},
"style": {"width": "90px"},
"classes": "btn btn-secondary",
"button_defaults": {"classes": "btn btn-secondary", "style": {"height": "41px", "margin-bottom": "5px"}}
},
{ /* Konfig of the BED HEATER label */
"id": "bed_heater_su01",
"type": "heater",
"enabled": true,
"label": "BED",
"position": {"my": "left top", "at": "right+8 top+4", "of": "#heater_labels_su01"},
"style": { "width": "120px" },
"button_defaults": {"style": {"height": "40px", "margin-bottom": "5px"}},
"state": {"classes": ["btn btn-primary", "btn btn-warning", "btn btn-success", "btn btn-danger", "btn btn-info"]}, /*the states are off, standby, on, fault, tuning*/
"tolerances": [
{"limit": 2, "classes": "btn btn-success"},
{"limit": 5, "classes": "btn btn-warning"},
{"limit": 999, "classes": "btn btn-danger"}
],
"heater_index": 0,
"current_temp_field": "${status.temps.bed.current.toFixed(1)}",
"active_temp_field": "${status.temps.bed.active}",
"standby_temp_field": "${status.temps.bed.standby}",
"state_commands": {
"off": "M140 P0 S-273.15 R-273.15",
"standby": "M144 P0 S0",
"on": "M144 P0 S1"
},
"set_temp_commands": {
"standby": "M140 P0 R${value}",
"active": "M140 P0 S${value}"
}
},
{ /* Konfig of the TOOL1 HEATER label */
"id": "extr1_heater_su01",
"type": "heater",
"enabled": true,
"label": "T1",
"position": {"my": "left top", "at": "right+10 top", "of": "#bed_heater_su01"},
"style": { "width": "120px" },
"button_defaults": {"style": {"height": "40px", "margin-bottom": "5px"}},
"state": {"classes": ["btn btn-primary", "btn btn-warning", "btn btn-success", "btn btn-danger", "btn btn-info"]}, /*the states are off, standby, on, fault, tuning*/
"tolerances": [
{"limit": 2, "classes": "btn btn-success"},
{"limit": 5, "classes": "btn btn-warning"},
{"limit": 999, "classes": "btn btn-danger"}
],
"heater_index": 1,
"status_level": 1,
"current_temp_field": "${status.temps.current[1].toFixed(1)}",
"active_temp_field": "${status.temps.tools.active[0]}",
"standby_temp_field": "${status.temps.tools.standby[0]}",
"state_field": "${status.temps.state[1]}",
"state_commands": {
"off": "G10 P1 S-273.15 R-273.15",
"standby": "T-1",
"on": "T1"
},
"set_temp_commands": {
"standby": "G10 P1 R${value}",
"active": "G10 P1 S${value}"
}
},
{ /* START definition of the head of the MOVEMENT-Buttons */
"id": "jog_su01_movehead",
"type": "button",
"enabled": true,
"read_only": true,
"icon": "open_with",
/*"value": "MOVEMENT section",*/
"style": {"width": "635px","height": "50px", "text-align": "center"},
"classes": "btn btn-info",
"position": {"my": "left top-5", "at": "left bottom", "of": "#dueui_panel_setup01"},
},
{ /* START definition of Jog buttons for the X axis values */
"id": "jog_su01_x",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left+67 top+453", "of": "#dueui_panel_setup01"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "7.5px", "font-size": "18px"}},
"axis": "X",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ;M121",
"values": [
[0.1,1,10,50,100],
[-100,-50,-10,-1,-0.1]
],
"orientation": "vertical",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of Jog buttons top for the X axis arrow */
"id": "jog_su01_x_arrow",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "right+10 top+8", "of": "#jog_su01_x"},
"button_defaults": {"style": {"background": "red", "color": "white", "width": "90px", "height": "50px", "border": "none", "font-size": "24px", "text-align": "center"}},
"values": [
["→"],
["←"]
],
"orientation": "vertical",
},
{ /* START definition of Jog buttons for the Y axis values */
"id": "jog_su01_y",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left-8 top+125","of": "#dueui_panel_setup01"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "7.5px", "font-size": "18px", "text-align": "center"}},
"axis": "Y",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ;M121",
"values": [
[100,50,10,1,0.1],
[-0.1,-1,-10,-50,-100,]
],
"direction": "column",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of Jog buttons top for the Y axis arrow */
"id": "jog_su01_y_arrow",
"type": "jog",
"enabled": true,
"position": {"my": "left bottom", "at": "left+8 top-57", "of": "#jog_su01_y"},
"button_defaults": {"style": {"background": "green", "color": "white", "width": "60px", "height": "50px", "border": "none", "font-size": "20px", "text-align": "center"}},
"values": [
["↑"],
["↓"]
],
"orientation": "vertical",
},
{ /* START definition of Jog buttons for the Z axis values */
"id": "jog_su01_z",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left+565 top+125","of": "#dueui_panel_setup01"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "7.5px", "font-size": "18px"}},
"axis": "Z",
"jog_command": "M120;G91;G1 ${axis}${position} F${speed} ;M121",
"values": [
[0.02,0.1,1,10,50,100],
[-100,-50,-10,-1,-0.1,-0.02]
],
"direction": "column",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of Jog buttons top for the Z axis arrow */
"id": "jog_su01_Z_arrow",
"type": "jog",
"enabled": true,
"position": {"my": "left bottom", "at": "left+7 top-57", "of": "#jog_su01_z"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "background": "royalblue", "border": "none", "font-size": "22px", "text-align": "center"}},
"values": [
["↘"],
["↗"]
],
"orientation": "vertical",
},
{ /* START definition of HOME ALL button */
"id": "jog_su01_x_homeall",
"type": "button",
"enabled": true,
"read_only": true,
/*"value": "H",*/
"style": {"width": "60px","height": "50px", "text-align": "center"},
"classes": "btn btn-info",
"icon": "home",
"position": {"my": "left-7 top", "at": "left bottom+10", "of": "#jog_su01_y"},
"actions": [{"type": "gcode", "gcode": "G28"}]
},
{ /* START definition of X-POSITION button */
"id": "jog_su01_position_x",
"type": "position",
"enabled": true,
"position": {"my": "left top-2", "at": "right+30 top", "of": "#jog_su01_y_arrow"},
"button_defaults":
{
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "18px"},
"status_level": 1,
"read_only": true,
/*"state": {"classes": ["btn btn-warning", "btn btn-danger"]}, /*the states are off, standby, on, fault, tuning*/
"state": {"styles": [{"background": "orange", "color": "white" }, {"background": "red", "color": "white"}]},
},
"axes": [{"label": "X: ", "gcode_axis": "X", "index": 0}]
},
{ /* START definition of Y-POSITION button */
"id": "jog_su01_position_y",
"type": "position",
"enabled": true,
"position": {"my": "left top", "at": "right+30 top", "of": "#jog_su01_position_x"},
"button_defaults":
{
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "18px"},
"status_level": 1,
"read_only": true,
/*"state": {"classes": ["btn btn-warning", "btn btn-success"]}, /*the states are off, standby, on, fault, tuning*/
"state": {"styles": [{"background": "orange", "color": "white" }, {"background": "green", "color": "white" }]},
},
"axes": [{"label": "Y: ", "gcode_axis": "Y", "index": 1}]
},
{ /* START definition of Z-POSITION button */
"id": "jog_su01_position_z",
"type": "position",
"enabled": true,
"position": {"my": "left top", "at": "right+30 top", "of": "#jog_su01_position_y"},
"button_defaults":
{
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "18px"},
"status_level": 1,
"read_only": true,
"state": {"styles": [{"background": "orange", "color": "white" }, {"background": "royalblue", "color": "white"}]}, /*the states are off, standby, on, fault, tuning*/
},
"axes": [{"label": "Z: ", "gcode_axis": "Z", "index": 2}]
},
{ /* START definition selectbox that allows to set speed for X axis moves */
"id": "jog_su01_x_speed",
"type": "select",
"enabled": true,
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "16px"},
"classes": "btn btn-primary",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_position_x"},
"options": [
{"label": " 10 mm/s", "value": 600},
{"label": " 25 mm/s", "value": 1500},
{"label": " 50 mm/s", "value": 3000},
{"label": "100 mm/s", "value": 6000},
{"label": "200 mm/s", "value": 12000},
{"label": "300 mm/s", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_su01_x_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_su01_x", "fire_on_startup": true}
]
},
{ /* START definition selectbox that allows to set speed for Y axis moves */
"id": "jog_su01_y_speed",
"type": "select",
"enabled": true,
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "16px"},
"classes": "btn btn-primary",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_position_y"},
"options": [
{"label": " 10 mm/s", "value": 600},
{"label": " 25 mm/s", "value": 1500},
{"label": " 50 mm/s", "value": 3000},
{"label": "100 mm/s", "value": 6000},
{"label": "200 mm/s", "value": 12000},
{"label": "300 mm/s", "value": 18000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_su01_y_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_su01_y", "fire_on_startup": true}
]
},
{ /* START definition selectbox that allows to set speed for Z axis moves */
"id": "jog_su01_z_speed",
"type": "select",
"enabled": true,
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "16px"},
"classes": "btn btn-primary",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_position_z"},
"options": [
{"label": " 2 mm/s", "value": 120},
{"label": " 5 mm/s", "value": 300},
{"label": " 10 mm/s", "value": 600},
{"label": "20 mm/s", "value": 1200},
{"label": "30 mm/s", "value": 1800},
{"label": "50 mm/s", "value": 3000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_su01_z_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_su01_z", "fire_on_startup": true}
]
},
{ /* START definition of scale cycle button for the X axis */
"id": "jog_su01_x_scale",
"type": "button",
"enabled": true,
/*"value": "X",*/
"icon": "swap_horiz",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_x_speed"},
"style": {"width": "130px", "height": "40px", "font-size": "18px", "text-align": "center"},
"classes": "btn btn-primary",
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_su01_x, #jog_su01_x_arrow"}]
},
{ /* START definition of scale cycle button for the Y axis */
"id": "jog_su01_y_scale",
"type": "button",
"enabled": true,
/*"value": "Y",*/
"icon": "swap_vert",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_y_speed"},
"style": {"width": "130px", "height": "40px", "font-size": "18px", "text-align": "center"},
"classes": "btn btn-primary",
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_su01_y, #jog_su01_y_arrow"}]
},
{ /* START definition of scale cycle button for the Z axis */
"id": "jog_su01_z_scale",
"type": "button",
"enabled": true,
/*"value": "Z",*/
"icon": "shuffle",
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_z_speed"},
"style": {"width": "130px", "height": "40px", "font-size": "18px", "text-align": "center"},
"classes": "btn btn-primary",
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_su01_z, #jog_su01_Z_arrow"}]
},
{ /* START definition of PROBE button */
"id": "p2_probe",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 1,
"initial_value": "P - - - ",
"value": "P ${status.sensors.probeValue}",
"style": {"width": "130px","height": "40px", "border": "none", "font-size": "16px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#jog_su01_z_scale"},
"tolerance_value": "${status.sensors.probeValue}",
"tolerances": [
{"limit": 400, "classes": "btn btn-info"},
{"limit": 500, "classes": "btn btn-danger"},
{"limit": 999, "classes": "btn btn-success"}
]
},
{ /* START definition of E-POSITION button */
"id": "jog_su01_position_e",
"type": "button",
"enabled": true,
"read_only": true,
"value": "E: - - - - - -",
"style": {"width": "220px","height": "40px", "border": "none", "font-size": "18px", "text-align": "center", "background": "goldenrod", "color": "white"},
"position": {"my": "left-1035 top", "at": "left top+215", "of": "#dueui_panel_setup01"}
/*"type": "position",
"enabled": true,
"position": {"my": "left-1035 top", "at": "left top+215", "of": "#dueui_panel_setup01"},
"button_defaults":
{
"style": {"width": "220px","height": "40px", "border": "none", "font-size": "18px", "background": "goldenrod"},
"read_only": true,
},
"axes": [{"label": "E: ", "gcode_axis": "E", "index": 0}]*/
},
{ /* START definition selectbox that allows to set speed for E axis moves */
"id": "jog_su01_e_speed",
"type": "select",
"enabled": true,
"style": {"width": "220px","height": "45px", "border": "none", "font-size": "16px"},
"classes": "btn btn-primary",
"position": {"my": "left top", "at": "left top+50","of": "#jog_su01_position_e"},
"options": [
{"label": "               1 mm/sec", "value": 60},
{"label": "               2 mm/sec", "value": 120},
{"label": "               3 mm/sec", "value": 180},
{"label": "               5 mm/sec", "value": 300},
{"label": "             10 mm/sec", "value": 600},
{"label": "             50 mm/sec", "value": 3000}
],
"submit_on_change": true,
"actions": [
{"type": "setting", "setting": "jog_su01_e_speed", "fire_on_startup": true},
{"type": "event", "event": "jog_speed", "target": "#jog_su01_e_top, #jog_su01_e_mid, #jog_su01_e_bottom", "fire_on_startup": true}
]
},
{ /* START definition of Jog buttons top for the E axis */
"id": "jog_su01_e_top",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left-10 bottom","of": "#jog_su01_e_speed"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "10px", "font-size": "18px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed};M121",
"values": [
[1,2,3],
[-3,-2,-1]
],
"orientation": "vertical",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of Jog buttons mid for the E axis */
"id": "jog_su01_e_mid",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left bottom","of": "#jog_su01_e_top"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "10px", "font-size": "18px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed};M121",
"values": [
[100," ",4],
[-4," ",-100]
],
"orientation": "vertical",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of Jog buttons bot for the E axis */
"id": "jog_su01_e_bottom",
"type": "jog",
"enabled": true,
"position": {"my": "left top", "at": "left bottom","of": "#jog_su01_e_mid"},
"button_defaults": {"style": {"width": "60px", "height": "50px", "margin": "10px", "font-size": "18px"}},
"axis": "E",
"jog_command": "M120;M83;T1;G1 ${axis}${position} F${speed};M121",
"values": [
[50,10,5],
[-5,-10,-50]
],
"orientation": "vertical",
"speed_change_event": "jog_speed",
"scale_change_event": "jog_scale"
},
{ /* START definition of scale cycle button for the E axis */
"id": "jog_su01_e_scale",
"type": "button",
"enabled": true,
/*"value": "E1",*/
"icon": "cached",
"position": {"my": "center top-10", "at": "center+1 top", "of": "#jog_su01_e_mid"},
"style": {"classes": "btn btn-primary", "width": "62px", "height": "52px", "font-size": "18px", "border": "none", /*"background": "goldenrod",*/ "text-align": "center"},
"actions": [{"type": "event", "event": "jog_scale", "target": "#jog_su01_e_top, #jog_su01_e_mid, #jog_su01_e_bottom"}]
},
{ /* Konfig of the su01_button01 */
"id": "su01_button01",
"type": "button",
"enabled": true,
"value": "Level Bed
(G32 S3)",
"position": {"my": "left top", "at": "left+710 top+10", "of": "#dueui_panel_setup01"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "G32 S3"}]
},
{ /* Konfig of the su01_button02 */
"id": "su01_button02",
"type": "button",
"enabled": true,
"value": "Z0 at bed cent
(G30)",
"position": {"my": "left top", "at": "left bottom+22", "of": "#su01_button01"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "G90;G1 X138 Y125 F12000;G1 Z20 F1800;G1 Z15 F1200;G1 Z10 F600;T1;G30;G4 P200;G1 Z10 F1800"}]
},
{ /* Konfig of the su01_button03 */
"id": "su01_button03",
"type": "button",
"enabled": true,
"value": "Bed measure
at 5 points",
"position": {"my": "left top", "at": "left bottom+22", "of": "#su01_button02"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "M98 P/macros/Tools/Bed_measuring_5points"}]
},
{ /* Konfig of the su01_button04 */
"id": "su01_button04",
"type": "button",
"enabled": true,
"value": "Go to
bed center",
"position": {"my": "left top", "at": "left bottom+22", "of": "#su01_button03"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "G90; G1 X138 Y150 F12000"}]
},
{ /* Konfig of the su01_button05 */
"id": "su01_button05",
"type": "button",
"enabled": true,
"value": "Call
a macro",
"position": {"my": "left top", "at": "left bottom+22", "of": "#su01_button04"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "M98 P/macros/Tools/Only_a_test"}]
},
{ /* Konfig of the su01_button06 */
"id": "su01_button06",
"type": "button",
"enabled": true,
"value": "Call
a macro",
"position": {"my": "left top", "at": "left bottom+22", "of": "#su01_button05"},
"style": {"width": "140px", "height": "65px"},
"classes": "btn btn-primary",
"actions": [{"type": "gcode", "gcode": "M98 P/macros/Tools/Only_a_test"}]
},
]
},
{ /* START of the "HeightMap" tab */
"id": "dueui_panel_heightmap",
"type": "tab_panel",
"enabled": true,
"menubar_label": "HEI-MAP",
"element_configs": [
{ /* START definition of the height-map buttons */
"id": "heightmap_buttons2",
"type": "grid",
"position": {"my": "left+10 top", "at": "left bottom", "of": "#dueui_panel_heightmap"},
"cols": 1,
"rows": 5,
"style": {},
"element_defaults": {"style": {"margin": "10px", "width": "200px", "height": "80px", "font-size": "18px"}},
"element_configs": [
{"value": "Start Mesh Probe
(G29 S0)", "actions": [{"type": "gcode", "gcode": "G29 S0"}]},
{"value": "Load Mesh Comp.
(G29 S1)", "actions": [{"type": "gcode", "gcode": "G29 S1"}]},
{"value": "Clear Mesh Comp.
(G29 S2)", "actions": [{"type": "gcode", "gcode": "G29 S2"}]},
{"value": "Disable Bed Comp.
(M561)", "actions": [{"type": "gcode", "gcode": "M561"}]},
{"value": "Level Bed
(G32 S2)", "actions": [{"type": "gcode", "gcode": "G32 S2"}]}
]
},
{ /* START the height-map it selfs */
"id": "heightmap",
"type": "heightmap",
"enabled": true,
"position": {"my": "left-100 top", "at": "right top+30", "of": "#heightmap_buttons2"},
"point_style": {"height": "32px", "width": "32px", "font-size": "16px"},
"refresh_event": "heightmap_refresh"
},
]
},
{ /* START of the "JobStat" tab */
"id": "dueui_panel_jobstatus",
"type": "tab_panel",
"enabled": true,
"menubar_label": "JOBSTAT",
"element_configs": [
{ /* Konfig of the a button */
"id": "print_progress_label",
"type": "button",
"enabled": true,
"read_only": true,
"value": "Print Progress (by layer):",
"classes": "btn btn-info", "style": {"width": "250px","height": "40px", "font-size": "18px"},
"position": {"my": "left-5 top", "at": "left top+30", "of": "#dueui_panel_jobstatus"}
},
{ /* Konfig of the display bar */
"id": "print_progress",
"type": "progress",
"enabled": true,
"status_level": 3,
"value": "${((status.printDuration / ((status.timesLeft.layer + status.printDuration) || 1)) * 100)}",
"max": 100,
"classes": "bg-success", "style": {"width": "985px","height": "40px"},
"position": {"my": "left-10 top", "at": "right top", "of": "#print_progress_label"}
},
{ /* Konfig of a button */
"id": "pause",
"type": "button",
"enabled": true,
"value": "Pause print",
"classes": "btn btn-primary", "style": {"width": "30%", "height": "40px", "font-size": "18px"},
"position": {"my": "left-5 top", "at": "left top+80", "of": "#dueui_panel_jobstatus"},
"actions": [{"type": "gcode", "gcode": "M25"}]
},
{ /* Konfig of a button */
"id": "resume",
"type": "button",
"enabled": true,
"value": "Resume print",
"classes": "btn btn-primary", "style": {"width": "30%", "height": "40px", "font-size": "18px"},
"position": {"my": "center top","at": "center top+80", "of": "#dueui_panel_jobstatus"},
"actions": [{"type": "gcode", "gcode": "M24"}]
},
{ /* Konfig of a button */
"id": "cancel",
"type": "button",
"enabled": true,
"value": "Cancel print",
"classes": "btn btn-primary", "style": {"width": "30%", "height": "40px", "font-size": "18px"},
"position": {"my": "right top", "at": "right-5 top+80", "of": "#dueui_panel_jobstatus"},
"actions": [{"type": "gcode", "gcode": "M25 ; M0"}]
},
{ /* Konfig of a label */
"id": "elapsed_label",
"type": "label",
"enabled": true,
"value": "Elapsed Time:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+40", "of": "#pause"}
},
{ /* Konfig of a button */
"id": "elapsed",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.printDuration)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#elapsed_label"}
},
{ /* Konfig of a label */
"id": "times_label1",
"type": "label",
"enabled": true,
"value": "Time Left By File:",
"classes": "btn btn-info", "style": {"width": "180px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left+20 bottom+10", "of": "#elapsed_label"}
},
{ /* Konfig of a button */
"id": "byfile",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.file)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label1"}
},
{ /* Konfig of a label */
"id": "times_label2",
"type": "label",
"enabled": true,
"value": "By Filament:",
"classes": "btn btn-info", "style": {"width": "160px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left+20 bottom+10", "of": "#times_label1"}
},
{ /* Konfig of a button */
"id": "byfilament",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.filament)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label2"}
},
{ /* Konfig of a label */
"id": "times_label3",
"type": "label",
"enabled": true,
"value": "By Layer:",
"classes": "btn btn-info", "style": {"width": "160px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#times_label2"}
},
{ /* Konfig of a button */
"id": "bylayer",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.timesLeft.layer)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label3"}
},
{ /* Konfig of a label */
"id": "times_label4",
"type": "label",
"enabled": true,
"value": "Current Layer:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "right+60 top", "of": "#elapsed"}
},
{ /* Konfig of a button */
"id": "curlayer",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.currentLayer)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label4"}
},
{ /* Konfig of a label */
"id": "times_label5",
"type": "label",
"enabled": true,
"value": "Current Layer Time:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#times_label4"}
},
{ /* Konfig of a button */
"id": "curlayertime",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${DueUI.formatElapsed(status.currentLayerTime)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label5"}
},
{ /* Konfig of a label */
"id": "times_label6",
"type": "label",
"enabled": true,
"value": "extr. Raw:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#times_label5"}
},
{ /* Konfig of a button */
"id": "extrraw",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.extrRaw)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label6"}
},
{ /* Konfig of a label */
"id": "times_label7",
"type": "label",
"enabled": true,
"value": "Fraction Printed:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#times_label6"}
},
{ /* Konfig of a button */
"id": "fracprinted",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.fractionPrinted)}",
"classes": "btn btn-secondary", "style": {"width": "165px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label7"}
},
{ /* Konfig of a label */
"id": "times_label8",
"type": "label",
"enabled": true,
"value": "Requested Speed:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "right+60 top", "of": "#curlayer"}
},
{ /* Konfig of a button */
"id": "speed_req",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.speeds.requested)}",
"classes": "btn btn-secondary", "style": {"width": "80px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label8"}
},
{ /* Konfig of a label */
"id": "times_label9",
"type": "label",
"enabled": true,
"value": "mm/s",
"classes": "btn btn-info", "style": {"width": "80px", "height": "40px", "color": "white", "text-align": "left", "font-size": "18px"},
"position": {"my": "left top", "at": "right+5 top", "of": "#speed_req"}
},
{ /* Konfig of a label */
"id": "times_label10",
"type": "label",
"enabled": true,
"value": "Current Speed:",
"classes": "btn btn-info", "style": {"width": "200px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "left bottom+10", "of": "#times_label8"}
},
{ /* Konfig of a button */
"id": "speed_top",
"type": "button",
"enabled": true,
"read_only": true,
"status_level": 3,
"value": "${(status.speeds.top)}",
"classes": "btn btn-secondary", "style": {"width": "80px", "height": "40px", "font-size": "18px"},
"initial_value": "- - - -",
"position": {"my": "left top", "at": "right+10 top", "of": "#times_label10"}
},
{ /* Konfig of a label */
"id": "times_label11",
"type": "label",
"enabled": true,
"value": "mm/s",
"classes": "btn btn-info", "style": {"width": "80px", "height": "40px", "color": "white", "text-align": "right", "font-size": "18px"},
"position": {"my": "left top", "at": "right+5 top", "of": "#speed_top"}
},
]
},
{ /* START of the "Macros" tab */
"id": "dueui_panel_macros",
"type": "tab_panel",
"enabled": true,
"menubar_label": "MACROS",
"element_configs": [
{ /* Definition of the label of the Directory "/macros" */
"id": "macros_label01",
"type": "button",
"enabled": true,
"read_only": true,
"value": "../MACROS",
"style": {"width": "398px", "height": "40px", "font-size": "18px", "border": "none", "text-align": "center"},
"classes": "btn btn-info",
"position": {"my": "left-10 top", "at": "left top+10", "of": "#dueui_panel_macros"}
},
{ /* Listening of the Directory "/macros" */
"id": "panel_macros11",
"type": "macro_grid",
"enabled": true,
"position": {"my": "left top", "at": "left top+50", "of": "#dueui_panel_macros"},
"button_defaults": {"classes": "btn btn-primary", "style": { "width": "398px", "height": "40px","margin": "10px"}},
"rows": 8,
"cols": 1,
"direction": "column",
"directory": "/macros",
"autofill_macros": true,
"sort_autofill": "macro",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
},
{ /* Definition of the label of the Directory "/macros/Tools" */
"id": "macros_label02",
"type": "button",
"enabled": true,
"read_only": true,
"value": "../MACROS/TOOLS",
"style": {"width": "398px", "height": "40px", "font-size": "18px", "border": "none", "text-align": "center"},
"classes": "btn btn-info",
"position": {"my": "left-428 top", "at": "left top+10", "of": "#dueui_panel_macros"}
},
{ /* Listening of the Directory "/macros/Tools" */
"id": "panel_macros02",
"type": "macro_grid",
"enabled": true,
"position": {"my": "left-418 top", "at": "left top+50", "of": "#dueui_panel_macros"},
"button_defaults": {"classes": "btn btn-primary", "style": { "width": "398px", "height": "40px","margin": "10px"}},
"rows": 8,
"cols": 1,
"direction": "column",
"directory": "/macros/Tools",
"autofill_macros": true,
"sort_autofill": "macro",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
},
{ /* Definition of the label of the Directory "/macros/Tests" */
"id": "macros_label03",
"type": "button",
"enabled": true,
"read_only": true,
"value": "../MACROS/TESTS",
"style": {"width": "398px", "height": "40px", "font-size": "18px", "border": "none", "text-align": "center"},
"classes": "btn btn-info",
"position": {"my": "left-846 top", "at": "left top+10", "of": "#dueui_panel_macros"}
},
{ /* Listening of the Directory "/macros/Tests" */
"id": "panel_macros03",
"type": "macro_grid",
"enabled": true,
"position": {"my": "left-836 top", "at": "left top+50", "of": "#dueui_panel_macros"},
"button_defaults": {"classes": "btn btn-primary", "style": { "width": "398px", "height": "40px","margin": "10px"}},
"rows": 8,
"cols": 1,
"direction": "column",
"directory": "/macros/Tests",
"autofill_macros": true,
"sort_autofill": "macro",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
},
]
},
{ /* START of the "Files" tab */
"id": "dueui_panel_files",
"type": "tab_panel",
"enabled": true,
"menubar_label": "FILES",
"style": {"display": "flex", "flex-direction": "column"},
"element_configs": [
{ /* START definition of the REFRESH button */
"id": "files_refresh",
"type": "button",
"value": "Refresh",
"style": {"width": "250px", "height": "40px"},
"position": {"my": "left top", "at": "left top+10", "of": "#dueui_panel_files"},
"actions": [{"type": "event", "event": "refresh_list", "target": "#panel_files"}]
},
{ /* START definition of the FILES grid */
"id": "panel_files",
"type": "file_grid",
"enabled": true,
"position": {"my": "left top", "at": "left bottom", "of": "#files_refresh"},
"button_defaults": {"style": {"width": "64ch", "height": "40px", "text-align": "left", "margin-top": "10px"}},
"cols": 1,
"style": {"position": "relative", "overflow-x": "none", "overflow-y": "scroll", "width": "calc(100% - 2ch)", "height": "calc(100% - 50px)"},
"direction": "column",
"directory": "/gcodes",
"confirm_message": "Print this file?",
"autofill_files": true,
"sort_autofill": "file",
"strip_directory": true,
"strip_prefix": true,
"strip_suffix": true
}
]
},
{ /* START of the "Console" tab */
"id": "dueui_panel_console",
"type": "tab_panel",
"enabled": true,
"menubar_label": "CONSOLE",
"style": {"display": "flex", "flex-direction": "column"},
"element_defaults": {"style": {"width": "100%", "position": "relative"}},
"element_configs": [
{ /* START definition of the GCODE-INPUT area */
"id": "console_log_input",
"type": "input_field",
"enabled": true,
"style": {"height": "40px"},
"field_type": "text",
"autocomplete_key": "console",
"submit_on_enter": true,
"actions": [
{"type": "gcode", "gcode": "${value}", "get_reply": true}
]
},
{ /* START definition of the CONSOLE area */
"id": "console_log",
"type": "textarea",
"enabled": true,
"position": {"my": "left top-5", "at": "left bottom", "of": "#console_log_input"},
"style": {"height": "calc(100% - 50px)"},
"read_only": true,
"wrap": "off",
"show_gcode_replies": true,
"show_log_messages": true,
"new_entries_at_top": true
}
]
},
]
},
/* The status_map has the long names and styles associated with each status */
"status_map": {
"I": {"label": "IDLE", "classes": "btn btn-outline-success"},
"P": {"label": "PRINT", "classes": "btn btn-outline-success"},
"S": {"label": "STOPP", "classes": "btn btn-outline-warning"},
"C": {"label": "START UP", "classes": "btn btn-outline-success"},
"A": {"label": "PAUSED", "classes": "btn btn-outline-primary"},
"D": {"label": "PAUSING", "classes": "btn btn-outline-success"},
"R": {"label": "RESUMING", "classes": "btn btn-outline-success"},
"B": {"label": "BUSY", "classes": "btn btn-outline-success"},
"F": {"label": "UPDATEING", "classes": "btn btn-outline-danger"},
"H": {"label": "HALTED", "classes": "btn btn-outline-danger"},
"O": {"label": "OFF", "classes": "btn btn-outline-danger"},
"connected": {"label": "CONNECTED", "classes": "btn btn-outline-success"},
"disconnected": {"label": "DISCONN.", "classes": "btn btn-outline-warning"},
"retrying": {"label": "RETRYING", "classes": "btn btn-outline-warning"},
"failed": {"label": "FAILED", "classes": "btn btn-outline-danger"},
"unknown": {"label": "?", "classes": "btn btn-outline-secondary"},
}
})