[ { "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": [] } ]