366 lines
8.3 KiB
JSON
366 lines
8.3 KiB
JSON
[
|
|
{
|
|
"id": "monster_basic_tab",
|
|
"type": "tab",
|
|
"label": "monster basic",
|
|
"disabled": false,
|
|
"info": "monster basic dashboard example"
|
|
},
|
|
{
|
|
"id": "ui_base_monster_basic",
|
|
"type": "ui-base",
|
|
"name": "EVOLV Demo",
|
|
"path": "/dashboard",
|
|
"appIcon": "",
|
|
"includeClientData": true,
|
|
"acceptsClientConfig": [
|
|
"ui-notification",
|
|
"ui-control"
|
|
],
|
|
"showPathInSidebar": false,
|
|
"headerContent": "page",
|
|
"navigationStyle": "default",
|
|
"titleBarStyle": "default"
|
|
},
|
|
{
|
|
"id": "ui_theme_monster_basic",
|
|
"type": "ui-theme",
|
|
"name": "Monster Theme",
|
|
"colors": {
|
|
"surface": "#ffffff",
|
|
"primary": "#4f8582",
|
|
"bgPage": "#efefef",
|
|
"groupBg": "#ffffff",
|
|
"groupOutline": "#d8d8d8"
|
|
},
|
|
"sizes": {
|
|
"density": "default",
|
|
"pagePadding": "14px",
|
|
"groupGap": "14px",
|
|
"groupBorderRadius": "6px",
|
|
"widgetGap": "12px"
|
|
}
|
|
},
|
|
{
|
|
"id": "ui_page_monster_basic",
|
|
"type": "ui-page",
|
|
"name": "Monster Basic",
|
|
"ui": "ui_base_monster_basic",
|
|
"path": "/monster-basic",
|
|
"icon": "science",
|
|
"layout": "grid",
|
|
"theme": "ui_theme_monster_basic",
|
|
"breakpoints": [
|
|
{
|
|
"name": "Default",
|
|
"px": "0",
|
|
"cols": "12"
|
|
}
|
|
],
|
|
"order": 1,
|
|
"className": ""
|
|
},
|
|
{
|
|
"id": "ui_group_monster_basic_ctrl",
|
|
"type": "ui-group",
|
|
"name": "Input",
|
|
"page": "ui_page_monster_basic",
|
|
"width": "6",
|
|
"height": "1",
|
|
"order": 1,
|
|
"showTitle": true,
|
|
"className": ""
|
|
},
|
|
{
|
|
"id": "ui_group_monster_basic_obs",
|
|
"type": "ui-group",
|
|
"name": "Output",
|
|
"page": "ui_page_monster_basic",
|
|
"width": "12",
|
|
"height": "1",
|
|
"order": 2,
|
|
"showTitle": true,
|
|
"className": ""
|
|
},
|
|
{
|
|
"id": "monster_basic_node",
|
|
"type": "monster",
|
|
"z": "monster_basic_tab",
|
|
"name": "monster basic",
|
|
"samplingtime": "24",
|
|
"minvolume": "5",
|
|
"maxweight": "23",
|
|
"nominalFlowMin": "1000",
|
|
"flowMax": "6000",
|
|
"maxRainRef": "10",
|
|
"minSampleIntervalSec": "60",
|
|
"emptyWeightBucket": "8.3",
|
|
"aquon_sample_name": "112150",
|
|
"enableLog": false,
|
|
"logLevel": "error",
|
|
"positionVsParent": "atEquipment",
|
|
"positionIcon": "⊥",
|
|
"hasDistance": false,
|
|
"distance": "",
|
|
"x": 710,
|
|
"y": 220,
|
|
"wires": [
|
|
[
|
|
"monster_basic_parse"
|
|
],
|
|
[
|
|
"monster_basic_dbg_influx"
|
|
],
|
|
[
|
|
"monster_basic_dbg_parent"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "monster_basic_inj_flow",
|
|
"type": "inject",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_ctrl",
|
|
"name": "flow 1800 m3/h",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
}
|
|
],
|
|
"repeat": "5",
|
|
"crontab": "",
|
|
"once": true,
|
|
"onceDelay": "1",
|
|
"topic": "",
|
|
"payload": "1800",
|
|
"payloadType": "num",
|
|
"x": 170,
|
|
"y": 180,
|
|
"wires": [
|
|
[
|
|
"monster_basic_build_flow"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "monster_basic_build_flow",
|
|
"type": "function",
|
|
"z": "monster_basic_tab",
|
|
"name": "build input_q",
|
|
"func": "msg.topic='input_q';\nmsg.payload={value:Number(msg.payload),unit:'m3/h'};\nreturn Number.isFinite(msg.payload.value)?msg:null;",
|
|
"outputs": 1,
|
|
"noerr": 0,
|
|
"x": 390,
|
|
"y": 180,
|
|
"wires": [
|
|
[
|
|
"monster_basic_node"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "monster_basic_inj_start",
|
|
"type": "inject",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_ctrl",
|
|
"name": "manual start",
|
|
"props": [
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
},
|
|
{
|
|
"p": "payload"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": "0.1",
|
|
"topic": "i_start",
|
|
"payload": "true",
|
|
"payloadType": "bool",
|
|
"x": 160,
|
|
"y": 240,
|
|
"wires": [
|
|
[
|
|
"monster_basic_node"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "monster_basic_parse",
|
|
"type": "function",
|
|
"z": "monster_basic_tab",
|
|
"name": "parse output",
|
|
"func": "const p=(msg&&msg.payload&&typeof msg.payload==='object')?msg.payload:{};\nconst now=Date.now();\nreturn [\n Number.isFinite(Number(p.q))?{topic:'q_m3h',payload:Number(p.q),timestamp:now}:null,\n Number.isFinite(Number(p.m3Total))?{topic:'m3_total',payload:Number(p.m3Total),timestamp:now}:null,\n Number.isFinite(Number(p.bucketVol))?{topic:'bucket_l',payload:Number(p.bucketVol),timestamp:now}:null,\n Number.isFinite(Number(p.m3PerPuls||p.m3PerPulse))?{topic:'m3_per_pulse',payload:Number(p.m3PerPuls||p.m3PerPulse),timestamp:now}:null,\n {topic:'status',payload:`running=${Boolean(p.running)} | pulse=${Boolean(p.pulse)} | remaining=${Number(p.pulsesRemaining||0)}`}\n];",
|
|
"outputs": 5,
|
|
"noerr": 0,
|
|
"x": 930,
|
|
"y": 220,
|
|
"wires": [
|
|
[
|
|
"monster_basic_chart_q"
|
|
],
|
|
[
|
|
"monster_basic_chart_total"
|
|
],
|
|
[
|
|
"monster_basic_chart_bucket"
|
|
],
|
|
[
|
|
"monster_basic_chart_pulse"
|
|
],
|
|
[
|
|
"monster_basic_text_status"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "monster_basic_chart_q",
|
|
"type": "ui-chart",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_obs",
|
|
"name": "q",
|
|
"label": "Flow q (m3/h)",
|
|
"order": 1,
|
|
"width": 6,
|
|
"height": 4,
|
|
"chartType": "line",
|
|
"category": "topic",
|
|
"categoryType": "msg",
|
|
"xAxisType": "time",
|
|
"xAxisPropertyType": "timestamp",
|
|
"yAxisProperty": "payload",
|
|
"yAxisPropertyType": "msg",
|
|
"removeOlder": "15",
|
|
"removeOlderUnit": "60",
|
|
"showLegend": false,
|
|
"action": "append",
|
|
"x": 1170,
|
|
"y": 120,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_chart_total",
|
|
"type": "ui-chart",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_obs",
|
|
"name": "m3Total",
|
|
"label": "m3Total",
|
|
"order": 2,
|
|
"width": 6,
|
|
"height": 4,
|
|
"chartType": "line",
|
|
"category": "topic",
|
|
"categoryType": "msg",
|
|
"xAxisType": "time",
|
|
"xAxisPropertyType": "timestamp",
|
|
"yAxisProperty": "payload",
|
|
"yAxisPropertyType": "msg",
|
|
"removeOlder": "15",
|
|
"removeOlderUnit": "60",
|
|
"showLegend": false,
|
|
"action": "append",
|
|
"x": 1180,
|
|
"y": 180,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_chart_bucket",
|
|
"type": "ui-chart",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_obs",
|
|
"name": "bucket",
|
|
"label": "Bucket (L)",
|
|
"order": 3,
|
|
"width": 6,
|
|
"height": 4,
|
|
"chartType": "line",
|
|
"category": "topic",
|
|
"categoryType": "msg",
|
|
"xAxisType": "time",
|
|
"xAxisPropertyType": "timestamp",
|
|
"yAxisProperty": "payload",
|
|
"yAxisPropertyType": "msg",
|
|
"removeOlder": "15",
|
|
"removeOlderUnit": "60",
|
|
"showLegend": false,
|
|
"action": "append",
|
|
"x": 1180,
|
|
"y": 240,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_chart_pulse",
|
|
"type": "ui-chart",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_obs",
|
|
"name": "m3PerPuls",
|
|
"label": "m3PerPuls",
|
|
"order": 4,
|
|
"width": 6,
|
|
"height": 4,
|
|
"chartType": "line",
|
|
"category": "topic",
|
|
"categoryType": "msg",
|
|
"xAxisType": "time",
|
|
"xAxisPropertyType": "timestamp",
|
|
"yAxisProperty": "payload",
|
|
"yAxisPropertyType": "msg",
|
|
"removeOlder": "15",
|
|
"removeOlderUnit": "60",
|
|
"showLegend": false,
|
|
"action": "append",
|
|
"x": 1190,
|
|
"y": 300,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_text_status",
|
|
"type": "ui-text",
|
|
"z": "monster_basic_tab",
|
|
"group": "ui_group_monster_basic_obs",
|
|
"name": "status",
|
|
"label": "Status",
|
|
"order": 5,
|
|
"width": 12,
|
|
"height": 1,
|
|
"format": "{{msg.payload}}",
|
|
"layout": "row-spread",
|
|
"x": 1170,
|
|
"y": 360,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_dbg_influx",
|
|
"type": "debug",
|
|
"z": "monster_basic_tab",
|
|
"name": "influx output",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"x": 930,
|
|
"y": 300,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "monster_basic_dbg_parent",
|
|
"type": "debug",
|
|
"z": "monster_basic_tab",
|
|
"name": "parent output",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"x": 920,
|
|
"y": 340,
|
|
"wires": []
|
|
}
|
|
]
|