# Raspberry Pi system dashboard

**URL:** https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264
**Category:** Share Your Projects
**Created:** [21 May 2018 07:12 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264 "2018-05-21T07:12:18Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![igrowing](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/igrowing/32/663_2.png) [@igrowing](https://discourse.nodered.org/u/igrowing)
#### Post date: [21 May 2018 07:12 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264/1 "2018-05-21T07:12:18Z")

</div>

Likely, there are ready examples for full system overview of Raspberry Pi in Node-RED. I couldn’t find one, so I share what I made.

Is something missing or needed to be added?

```
[
    {
        "id": "9f3346aa.d4fc48",
        "type": "tab",
        "label": "System",
        "disabled": false,
        "info": ""
    },
    {
        "id": "6129eac0.5bdec4",
        "type": "inject",
        "z": "9f3346aa.d4fc48",
        "name": "5 min tick",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "300",
        "crontab": "",
        "once": true,
        "onceDelay": "1",
        "x": 110,
        "y": 460,
        "wires": [
            [
                "ab1a2405.584fd8",
                "7805af15.1b74f",
                "f2adaf57.d9a",
                "57db43b6.37f54c",
                "e91a3069.06e26"
            ]
        ]
    },
    {
        "id": "f4fc2799.51b558",
        "type": "ui_gauge",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "2631142d.86f8fc",
        "order": 1,
        "width": "3",
        "height": "3",
        "gtype": "gage",
        "title": "CPU load",
        "label": "%",
        "format": "{{ msg.payload }}",
        "min": 0,
        "max": "100",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "60",
        "seg2": "80",
        "x": 760,
        "y": 600,
        "wires": []
    },
    {
        "id": "23830467.dd874c",
        "type": "ui_gauge",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "4a3f1d17.42abc4",
        "order": 2,
        "width": "6",
        "height": "4",
        "gtype": "wave",
        "title": "Used",
        "label": "%",
        "format": "{{msg.payload}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "60",
        "seg2": "80",
        "x": 750,
        "y": 260,
        "wires": []
    },
    {
        "id": "10934589.87f3ca",
        "type": "ui_chart",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "2631142d.86f8fc",
        "order": 3,
        "width": "6",
        "height": "4",
        "label": "Load, %",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "bezier",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#ff8000",
            "#aec7e8",
            "#0080ff",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "x": 780,
        "y": 640,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "95df7e14.b6609",
        "type": "ui_chart",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "4a3f1d17.42abc4",
        "order": 1,
        "width": "6",
        "height": "6",
        "label": "Storage",
        "chartType": "line",
        "legend": "true",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "0",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "x": 760,
        "y": 300,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "e2fad608.df29c8",
        "type": "ui_gauge",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "8e72d94d.e2b8c8",
        "order": 2,
        "width": "0",
        "height": "0",
        "gtype": "donut",
        "title": "RAM usage",
        "label": "%",
        "format": "{{msg.payload.memusage}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "60",
        "seg2": "80",
        "x": 750,
        "y": 480,
        "wires": []
    },
    {
        "id": "542d167b.24a938",
        "type": "ui_chart",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "8e72d94d.e2b8c8",
        "order": 3,
        "width": 0,
        "height": 0,
        "label": "",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "0",
        "ymax": "100",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "x": 740,
        "y": 520,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "48b90ddd.e18714",
        "type": "ui_gauge",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "2631142d.86f8fc",
        "order": 2,
        "width": "3",
        "height": "3",
        "gtype": "gage",
        "title": "CPU Temp",
        "label": "°C",
        "format": "{{ msg.payload }}",
        "min": 0,
        "max": "100",
        "colors": [
            "#0080ff",
            "#ffffff",
            "#ca3838"
        ],
        "seg1": "70",
        "seg2": "85",
        "x": 760,
        "y": 680,
        "wires": []
    },
    {
        "id": "597cae13.db6de",
        "type": "function",
        "z": "9f3346aa.d4fc48",
        "name": "extract",
        "func": "msg.payload = msg.payload.memusage;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 530,
        "y": 520,
        "wires": [
            [
                "542d167b.24a938"
            ]
        ]
    },
    {
        "id": "ba1907da.0fcf28",
        "type": "function",
        "z": "9f3346aa.d4fc48",
        "name": "convert_uptime",
        "func": "var d = Math.floor(msg.payload.uptime / 86400);\nvar h = Math.floor((msg.payload.uptime % 86400) / 3600);\nvar m = Math.floor(((msg.payload.uptime % 86400) % 3600) / 60);\nvar s = ((msg.payload.uptime % 86400) % 3600) % 60;\nmsg.payload = d + ':' + h + ':' + m + ':' + s;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 560,
        "y": 400,
        "wires": [
            [
                "fb58a432.8d29b8"
            ]
        ]
    },
    {
        "id": "ab1a2405.584fd8",
        "type": "exec",
        "z": "9f3346aa.d4fc48",
        "command": "/opt/vc/bin/vcgencmd measure_temp | egrep -o \"[0-9]+\\.[0-9]+?\"",
        "addpay": false,
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "oldrc": false,
        "name": "read_T",
        "x": 420,
        "y": 680,
        "wires": [
            [
                "48b90ddd.e18714",
                "72d1796e.c403e8",
                "1c785e0a.f62f52"
            ],
            [],
            []
        ]
    },
    {
        "id": "7805af15.1b74f",
        "type": "Memory",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "x": 340,
        "y": 480,
        "wires": [
            [
                "e2fad608.df29c8",
                "597cae13.db6de"
            ]
        ]
    },
    {
        "id": "f2adaf57.d9a",
        "type": "Uptime",
        "z": "9f3346aa.d4fc48",
        "name": "Uptime",
        "x": 340,
        "y": 400,
        "wires": [
            [
                "ba1907da.0fcf28"
            ]
        ]
    },
    {
        "id": "72d1796e.c403e8",
        "type": "ui_chart",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "group": "2631142d.86f8fc",
        "order": 4,
        "width": "6",
        "height": "3",
        "label": "Temperature, °C",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "bezier",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "x": 800,
        "y": 719,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "1c785e0a.f62f52",
        "type": "debug",
        "z": "9f3346aa.d4fc48",
        "name": "",
        "active": true,
        "tosidebar": false,
        "console": true,
        "tostatus": false,
        "complete": "payload",
        "x": 760,
        "y": 760,
        "wires": []
    },
    {
        "id": "fb58a432.8d29b8",
        "type": "ui_text",
        "z": "9f3346aa.d4fc48",
        "group": "8e72d94d.e2b8c8",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Uptime, d:h:m:s",
        "format": "{{ msg.payload }}",
        "layout": "row-spread",
        "x": 760,
        "y": 400,
        "wires": []
    },
    {
        "id": "2f0ed260.6ef01e",
        "type": "debug",
        "z": "9f3346aa.d4fc48",
        "name": "Voyer",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": true,
        "complete": "true",
        "x": 300,
        "y": 80,
        "wires": []
    },
    {
        "id": "57db43b6.37f54c",
        "type": "exec",
        "z": "9f3346aa.d4fc48",
        "command": "top -d 0.5 -b -n2 | grep Cpu | tail -1 | awk '{print 100-$8}'",
        "addpay": false,
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "oldrc": false,
        "name": "cpu_load",
        "x": 420,
        "y": 600,
        "wires": [
            [
                "f4fc2799.51b558",
                "10934589.87f3ca"
            ],
            [],
            []
        ]
    },
    {
        "id": "e91a3069.06e26",
        "type": "exec",
        "z": "9f3346aa.d4fc48",
        "command": "df -m | grep root",
        "addpay": false,
        "append": "",
        "useSpawn": "false",
        "timer": "",
        "oldrc": false,
        "name": "read_sd_usage",
        "x": 320,
        "y": 300,
        "wires": [
            [
                "527cb653.bbcfe8"
            ],
            [],
            []
        ]
    },
    {
        "id": "527cb653.bbcfe8",
        "type": "function",
        "z": "9f3346aa.d4fc48",
        "name": "convert",
        "func": "var msg1,msg2,msg3;\n\nl = msg.payload.split(/(\\s+)/).filter( function(e) { return e.trim().length > 0; } );\nmsg1 = {topic: 'Total', payload: Math.round(l[1] / 1000)};\nmsg2 = {topic: 'Free', payload: Math.round(l[3] / 1000)};\nmsg3 = {topic: 'Used%', payload: l[4].slice(0, -1)};\n\nreturn [msg1, msg2, msg3];",
        "outputs": 3,
        "noerr": 0,
        "x": 540,
        "y": 280,
        "wires": [
            [
                "95df7e14.b6609"
            ],
            [
                "95df7e14.b6609"
            ],
            [
                "95df7e14.b6609",
                "23830467.dd874c"
            ]
        ]
    },
    {
        "id": "b8be909f.8f951",
        "type": "ui_button",
        "z": "9f3346aa.d4fc48",
        "name": "Next",
        "group": "c552b4f6.efaca8",
        "order": 3,
        "width": "1",
        "height": "1",
        "passthru": false,
        "label": "",
        "color": "",
        "bgcolor": "",
        "icon": "arrow_forward",
        "payload": "+1",
        "payloadType": "str",
        "topic": "",
        "x": 530,
        "y": 60,
        "wires": [
            [
                "386574b8.d2a82c"
            ]
        ]
    },
    {
        "id": "386574b8.d2a82c",
        "type": "ui_ui_control",
        "z": "9f3346aa.d4fc48",
        "name": "Control tabs",
        "x": 730,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "c0fec75d.6684b8",
        "type": "ui_button",
        "z": "9f3346aa.d4fc48",
        "name": "Prev",
        "group": "c552b4f6.efaca8",
        "order": 1,
        "width": "1",
        "height": "1",
        "passthru": false,
        "label": "",
        "color": "",
        "bgcolor": "",
        "icon": "arrow_back",
        "payload": "-1",
        "payloadType": "str",
        "topic": "",
        "x": 530,
        "y": 100,
        "wires": [
            [
                "386574b8.d2a82c"
            ]
        ]
    },
    {
        "id": "433c8c9d.526bc4",
        "type": "ui_button",
        "z": "9f3346aa.d4fc48",
        "name": "Refresh",
        "group": "c552b4f6.efaca8",
        "order": 2,
        "width": "1",
        "height": "1",
        "passthru": false,
        "label": "",
        "color": "",
        "bgcolor": "",
        "icon": "replay",
        "payload": "{tab:\"\"}",
        "payloadType": "str",
        "topic": "",
        "x": 520,
        "y": 20,
        "wires": [
            [
                "386574b8.d2a82c"
            ]
        ]
    },
    {
        "id": "d9e2f2b.e50341",
        "type": "inject",
        "z": "9f3346aa.d4fc48",
        "name": "1 min tick",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": "60",
        "x": 490,
        "y": 140,
        "wires": [
            [
                "78da90fa.fd1c4"
            ]
        ]
    },
    {
        "id": "78da90fa.fd1c4",
        "type": "function",
        "z": "9f3346aa.d4fc48",
        "name": "date_time",
        "func": "var d_obj = new Date().toString().slice(0, -18); \nmsg.payload = d_obj.slice(0, -6) + '<br>' + d_obj.slice(-5); \nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 640,
        "y": 140,
        "wires": [
            [
                "ca66052d.983ce8"
            ]
        ]
    },
    {
        "id": "ca66052d.983ce8",
        "type": "ui_text",
        "z": "9f3346aa.d4fc48",
        "group": "c552b4f6.efaca8",
        "order": 0,
        "width": 0,
        "height": 0,
        "name": "Date time",
        "label": "",
        "format": "{{ msg.payload }}",
        "layout": "col-center",
        "x": 780,
        "y": 140,
        "wires": []
    },
    {
        "id": "c7e500f1.0b382",
        "type": "comment",
        "z": "9f3346aa.d4fc48",
        "name": "UI controls",
        "info": "",
        "x": 720,
        "y": 20,
        "wires": []
    },
    {
        "id": "2631142d.86f8fc",
        "type": "ui_group",
        "z": "",
        "name": "CPU",
        "tab": "2248aa46.11d1c6",
        "order": 2,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "4a3f1d17.42abc4",
        "type": "ui_group",
        "z": "",
        "name": "SD card",
        "tab": "2248aa46.11d1c6",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "8e72d94d.e2b8c8",
        "type": "ui_group",
        "z": "",
        "name": "Memory",
        "tab": "2248aa46.11d1c6",
        "order": 3,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "c552b4f6.efaca8",
        "type": "ui_group",
        "z": "",
        "name": "Buttons",
        "tab": "2248aa46.11d1c6",
        "order": 1,
        "disp": false,
        "width": "3",
        "collapse": false
    },
    {
        "id": "2248aa46.11d1c6",
        "type": "ui_tab",
        "z": "",
        "name": "System",
        "icon": "settings",
        "order": 2
    }
]
```

---

<div class="post-metadata">

### Author: ![BlinkScooby](https://avatars.discourse-cdn.com/v4/letter/b/22d042/32.png) [@BlinkScooby](https://discourse.nodered.org/u/BlinkScooby)
#### Post date: [21 May 2018 10:23 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264/2 "2018-05-21T10:23:38Z")

</div>

> [@igrowing](#):
>
> [{ "id": "9f3346aa.d4fc48", "type": "tab", "label": "System", "disabled": false, "info": "" }, { "id": "6129eac0.5bdec4", "type": "inject", "z": "9f3346aa.d4fc48", "name": "5 min tick", "topic": "", "payload": "", "payloadType": "date", "repeat": "300", "crontab": "", "once": true, "onceDelay": "1", "x": 110, "y": 460, "wires": [[ "ab1a2405.584fd8", "7805af15.1b74f", "f2adaf57.d9a", "57db43b6.37f54c", "e91a3069.06e26"] ] }, { "id": "f4fc2799.51b558", "type": "ui\_gauge", "z": "9f3346aa.d4fc48", "name": "", "group": "2631142d.86f8fc", "order": 1, "width": "3", "height": "3", "gtype": "gage", "title": "CPU load", "label": "%", "format": "{{ msg.payload }}", "min": 0, "max": "100", "colors": ["#00b500", "#e6e600", "#ca3838"], "seg1": "60", "seg2": "80", "x": 760, "y": 600, "wires": }, { "id": "23830467.dd874c", "type": "ui\_gauge", "z": "9f3346aa.d4fc48", "name": "", "group": "4a3f1d17.42abc4", "order": 2, "width": "6", "height": "4", "gtype": "wave", "title": "Used", "label": "%", "format": "{{msg.payload}}", "min": 0, "max": "100", "colors": ["#00b500", "#e6e600", "#ca3838"], "seg1": "60", "seg2": "80", "x": 750, "y": 260, "wires": }, { "id": "10934589.87f3ca", "type": "ui\_chart", "z": "9f3346aa.d4fc48", "name": "", "group": "2631142d.86f8fc", "order": 3, "width": "6", "height": "4", "label": "Load, %", "chartType": "line", "legend": "false", "xformat": "HH:mm:ss", "interpolate": "bezier", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "86400", "cutout": 0, "useOneColor": false, "colors": ["#ff8000", "#aec7e8", "#0080ff", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5"], "useOldStyle": false, "x": 780, "y": 640, "wires": [,] }, { "id": "95df7e14.b6609", "type": "ui\_chart", "z": "9f3346aa.d4fc48", "name": "", "group": "4a3f1d17.42abc4", "order": 1, "width": "6", "height": "6", "label": "Storage", "chartType": "line", "legend": "true", "xformat": "HH:mm:ss", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "0", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "86400", "cutout": 0, "useOneColor": false, "colors": ["#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5"], "useOldStyle": false, "x": 760, "y": 300, "wires": [,] }, { "id": "e2fad608.df29c8", "type": "ui\_gauge", "z": "9f3346aa.d4fc48", "name": "", "group": "8e72d94d.e2b8c8", "order": 2, "width": "0", "height": "0", "gtype": "donut", "title": "RAM usage", "label": "%", "format": "{{msg.payload.memusage}}", "min": 0, "max": "100", "colors": ["#00b500", "#e6e600", "#ca3838"], "seg1": "60", "seg2": "80", "x": 750, "y": 480, "wires": }, { "id": "542d167b.24a938", "type": "ui\_chart", "z": "9f3346aa.d4fc48", "name": "", "group": "8e72d94d.e2b8c8", "order": 3, "width": 0, "height": 0, "label": "", "chartType": "line", "legend": "false", "xformat": "HH:mm:ss", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "0", "ymax": "100", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "86400", "cutout": 0, "useOneColor": false, "colors": ["#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5"], "useOldStyle": false, "x": 740, "y": 520, "wires": [,] }, { "id": "48b90ddd.e18714", "type": "ui\_gauge", "z": "9f3346aa.d4fc48", "name": "", "group": "2631142d.86f8fc", "order": 2, "width": "3", "height": "3", "gtype": "gage", "title": "CPU Temp", "label": "°C", "format": "{{ msg.payload }}", "min": 0, "max": "100", "colors": ["#0080ff", "#ffffff", "#ca3838"], "seg1": "70", "seg2": "85", "x": 760, "y": 680, "wires": }, { "id": "597cae13.db6de", "type": "function", "z": "9f3346aa.d4fc48", "name": "extract", "func": "msg.payload = msg.payload.memusage;\nreturn msg;", "outputs": 1, "noerr": 0, "x": 530, "y": 520, "wires": [["542d167b.24a938"] ] }, { "id": "ba1907da.0fcf28", "type": "function", "z": "9f3346aa.d4fc48", "name": "convert\_uptime", "func": "var d = Math.floor(msg.payload.uptime / 86400);\nvar h = Math.floor((msg.payload.uptime % 86400) / 3600);\nvar m = Math.floor(((msg.payload.uptime % 86400) % 3600) / 60);\nvar s = ((msg.payload.uptime % 86400) % 3600) % 60;\nmsg.payload = d + ':' + h + ':' + m + ':' + s;\nreturn msg;", "outputs": 1, "noerr": 0, "x": 560, "y": 400, "wires": [["fb58a432.8d29b8"] ] }, { "id": "ab1a2405.584fd8", "type": "exec", "z": "9f3346aa.d4fc48", "command": "/opt/vc/bin/vcgencmd measure\_temp | egrep -o "[0-9]+\.[0-9]+?"", "addpay": false, "append": "", "useSpawn": "false", "timer": "", "oldrc": false, "name": "read\_T", "x": 420, "y": 680, "wires": [["48b90ddd.e18714", "72d1796e.c403e8", "1c785e0a.f62f52"], , ] }, { "id": "7805af15.1b74f", "type": "Memory", "z": "9f3346aa.d4fc48", "name": "", "x": 340, "y": 480, "wires": [["e2fad608.df29c8", "597cae13.db6de"] ] }, { "id": "f2adaf57.d9a", "type": "Uptime", "z": "9f3346aa.d4fc48", "name": "Uptime", "x": 340, "y": 400, "wires": [["ba1907da.0fcf28"] ] }, { "id": "72d1796e.c403e8", "type": "ui\_chart", "z": "9f3346aa.d4fc48", "name": "", "group": "2631142d.86f8fc", "order": 4, "width": "6", "height": "3", "label": "Temperature, °C", "chartType": "line", "legend": "false", "xformat": "HH:mm:ss", "interpolate": "bezier", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "86400", "cutout": 0, "useOneColor": false, "colors": ["#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5"], "useOldStyle": false, "x": 800, "y": 719, "wires": [,] }, { "id": "1c785e0a.f62f52", "type": "debug", "z": "9f3346aa.d4fc48", "name": "", "active": true, "tosidebar": false, "console": true, "tostatus": false, "complete": "payload", "x": 760, "y": 760, "wires": }, { "id": "fb58a432.8d29b8", "type": "ui\_text", "z": "9f3346aa.d4fc48", "group": "8e72d94d.e2b8c8", "order": 1, "width": 0, "height": 0, "name": "", "label": "Uptime, d:h:m:s", "format": "{{ msg.payload }}", "layout": "row-spread", "x": 760, "y": 400, "wires": }, { "id": "2f0ed260.6ef01e", "type": "debug", "z": "9f3346aa.d4fc48", "name": "Voyer", "active": true, "tosidebar": true, "console": true, "tostatus": true, "complete": "true", "x": 300, "y": 80, "wires": }, { "id": "57db43b6.37f54c", "type": "exec", "z": "9f3346aa.d4fc48", "command": "top -d 0.5 -b -n2 | grep Cpu | tail -1 | awk '{print 100-$8}'", "addpay": false, "append": "", "useSpawn": "false", "timer": "", "oldrc": false, "name": "cpu\_load", "x": 420, "y": 600, "wires": [["f4fc2799.51b558", "10934589.87f3ca"], , ] }, { "id": "e91a3069.06e26", "type": "exec", "z": "9f3346aa.d4fc48", "command": "df -m | grep root", "addpay": false, "append": "", "useSpawn": "false", "timer": "", "oldrc": false, "name": "read\_sd\_usage", "x": 320, "y": 300, "wires": [["527cb653.bbcfe8"], , ] }, { "id": "527cb653.bbcfe8", "type": "function", "z": "9f3346aa.d4fc48", "name": "convert", "func": "var msg1,msg2,msg3;\n\nl = msg.payload.split(/(\s+)/).filter( function(e) { return e.trim().length \> 0; } );\nmsg1 = {topic: 'Total', payload: Math.round(l[1] / 1000)};\nmsg2 = {topic: 'Free', payload: Math.round(l[3] / 1000)};\nmsg3 = {topic: 'Used%', payload: l[4].slice(0, -1)};\n\nreturn [msg1, msg2, msg3];", "outputs": 3, "noerr": 0, "x": 540, "y": 280, "wires": [["95df7e14.b6609"], ["95df7e14.b6609"], ["95df7e14.b6609", "23830467.dd874c"] ] }, { "id": "b8be909f.8f951", "type": "ui\_button", "z": "9f3346aa.d4fc48", "name": "Next", "group": "c552b4f6.efaca8", "order": 3, "width": "1", "height": "1", "passthru": false, "label": "", "color": "", "bgcolor": "", "icon": "arrow\_forward", "payload": "+1", "payloadType": "str", "topic": "", "x": 530, "y": 60, "wires": [["386574b8.d2a82c"] ] }, { "id": "386574b8.d2a82c", "type": "ui\_ui\_control", "z": "9f3346aa.d4fc48", "name": "Control tabs", "x": 730, "y": 80, "wires": [] }, { "id": "c0fec75d.6684b8", "type": "ui\_button", "z": "9f3346aa.d4fc48", "name": "Prev", "group": "c552b4f6.efaca8", "order": 1, "width": "1", "height": "1", "passthru": false, "label": "", "color": "", "bgcolor": "", "icon": "arrow\_back", "payload": "-1", "payloadType": "str", "topic": "", "x": 530, "y": 100, "wires": [["386574b8.d2a82c"] ] }, { "id": "433c8c9d.526bc4", "type": "ui\_button", "z": "9f3346aa.d4fc48", "name": "Refresh", "group": "c552b4f6.efaca8", "order": 2, "width": "1", "height": "1", "passthru": false, "label": "", "color": "", "bgcolor": "", "icon": "replay", "payload": "{tab:""}", "payloadType": "str", "topic": "", "x": 520, "y": 20, "wires": [["386574b8.d2a82c"] ] }, { "id": "d9e2f2b.e50341", "type": "inject", "z": "9f3346aa.d4fc48", "name": "1 min tick", "topic": "", "payload": "", "payloadType": "date", "repeat": "60", "crontab": "", "once": true, "onceDelay": "60", "x": 490, "y": 140, "wires": [["78da90fa.fd1c4"] ] }, { "id": "78da90fa.fd1c4", "type": "function", "z": "9f3346aa.d4fc48", "name": "date\_time", "func": "var d\_obj = new Date().toString().slice(0, -18); \nmsg.payload = d\_obj.slice(0, -6) + '\<br\>' + d\_obj.slice(-5); \nreturn msg;", "outputs": 1, "noerr": 0, "x": 640, "y": 140, "wires": [["ca66052d.983ce8"] ] }, { "id": "ca66052d.983ce8", "type": "ui\_text", "z": "9f3346aa.d4fc48", "group": "c552b4f6.efaca8", "order": 0, "width": 0, "height": 0, "name": "Date time", "label": "", "format": "{{ msg.payload }}", "layout": "col-center", "x": 780, "y": 140, "wires": }, { "id": "c7e500f1.0b382", "type": "comment", "z": "9f3346aa.d4fc48", "name": "UI controls", "info": "", "x": 720, "y": 20, "wires": }, { "id": "2631142d.86f8fc", "type": "ui\_group", "z": "", "name": "CPU", "tab": "2248aa46.11d1c6", "order": 2, "disp": true, "width": "6", "collapse": true }, { "id": "4a3f1d17.42abc4", "type": "ui\_group", "z": "", "name": "SD card", "tab": "2248aa46.11d1c6", "order": 4, "disp": true, "width": "6", "collapse": true }, { "id": "8e72d94d.e2b8c8", "type": "ui\_group", "z": "", "name": "Memory", "tab": "2248aa46.11d1c6", "order": 3, "disp": true, "width": "6", "collapse": true }, { "id": "c552b4f6.efaca8", "type": "ui\_group", "z": "", "name": "Buttons", "tab": "2248aa46.11d1c6", "order": 1, "disp": false, "width": "3", "collapse": false }, { "id": "2248aa46.11d1c6", "type": "ui\_tab", "z": "", "name": "System", "icon": "settings", "order": 2 } ]

I was going to look at this and comment but it wont allow me to import it due to me missing "uptime" and "memory" nodes. I went to search for them but I can't find them to install. What is the name of the library and ill have a look once I install them

---

<div class="post-metadata">

### Author: ![igrowing](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/igrowing/32/663_2.png) [@igrowing](https://discourse.nodered.org/u/igrowing)
#### Post date: [21 May 2018 10:41 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264/3 "2018-05-21T10:41:46Z")

</div>

Use following command on your RasPi to install the required OS nodes:

```
npm install node-red-contrib-os
```

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [21 May 2018 10:55 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264/4 "2018-05-21T10:55:45Z")

</div>

As the Pi uses Linux, most data about the device is available as pseudo-files under the /proc folder.

Personally, I use Telegraf and Grafana to produce a Pi Dashboard. You might also want to look at something like Webmin which produces a very nice dashboard (use with the “Authentic” theme) and lets you install/remove/update system packages (even automatically) and do other admin tasks as well.

---

<div class="post-metadata">

### Author: ![igrowing](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/igrowing/32/663_2.png) [@igrowing](https://discourse.nodered.org/u/igrowing)
#### Post date: [8 June 2018 12:33 UTC](https://discourse.nodered.org/t/raspberry-pi-system-dashboard/264/5 "2018-06-08T12:33:45Z")

</div>

The proposed flow is published in the flow library (including screenshot).  
[https://flows.nodered.org/flow/c87d62e3b0d9f1ebfbbdf6aa9300c690](https://flows.nodered.org/flow/c87d62e3b0d9f1ebfbbdf6aa9300c690)

Other good example, just without storage monitoring is: [https://flows.nodered.org/flow/9b9f68f6641a42452e848a37da5df972](https://flows.nodered.org/flow/9b9f68f6641a42452e848a37da5df972)
