{"id":41738,"date":"2022-06-30T09:55:00","date_gmt":"2022-06-30T09:55:00","guid":{"rendered":"http:\/\/randomnerdtutorials.com\/?p=41738"},"modified":"2023-06-30T15:12:15","modified_gmt":"2023-06-30T15:12:15","slug":"getting-started-node-red-dashboard","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/getting-started-node-red-dashboard\/","title":{"rendered":"Getting Started with Node-RED Dashboard on Raspberry Pi"},"content":{"rendered":"\n<p>This article is an introduction to the Node-RED dashboard with Raspberry Pi. We\u2019ll cover how to install Node-RED Dashboard and exemplify how to build a graphical user interface for your IoT and Home Automation projects.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Getting Started with Node-RED Dashboard Raspberry Pi\" class=\"wp-image-111864\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure><\/div>\n\n\n<p><strong>Table of Contents:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#node-red-intro\">Node-RED Dashboard Introduction<\/a><\/li>\n\n\n\n<li><a href=\"#install-node-red-dashboard\">Installing Node-RED Dashboard<\/a><\/li>\n\n\n\n<li><a href=\"#create-UI\">Creating a User Interface (tabs and groups, theme, site)<\/a><\/li>\n\n\n\n<li><a href=\"#interface-example\">Creating a User Interface Example<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites:<\/h2>\n\n\n\n<p>You need a <a href=\"https:\/\/makeradvisor.com\/raspberry-pi-board\/\" target=\"_blank\" rel=\"noreferrer noopener\">Raspberry Pi board<\/a>\u2014read <a href=\"https:\/\/makeradvisor.com\/best-raspberry-pi-3-starter-kits\/\" target=\"_blank\" rel=\"noreferrer noopener\">Best Raspberry Pi Starter Kits<\/a>. We assume that you are familiar with the Raspberry Pi, you know how to install the operating system, and you know how to establish an SSH connection with your Pi. You can take a look at the following tutorials first:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/getting-started-with-raspberry-pi\/\">Getting started with Raspberry Pi<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/installing-raspbian-lite-enabling-and-connecting-with-ssh\/\">Install Raspberry Pi OS, Set Up Wi-Fi, Enable and Connect with SSH<\/a><\/li>\n<\/ul>\n\n\n\n<p>You should have Node-RED installed on your Pi. For an introduction to Node-RED, read this blog post <a href=\"https:\/\/randomnerdtutorials.com\/getting-started-with-node-red-on-raspberry-pi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Getting Started with Node-RED on Raspberry Pi<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"node-red-intro\">What is Node-RED Dashboard?<\/h2>\n\n\n\n<p>Node-RED Dashboard is a module that provides a set of nodes in Node-RED to quickly create a live data dashboard. For example, it provides nodes to quickly create a user interface with buttons, sliders, charts, gauges, etc.<\/p>\n\n\n\n<p>To learn more about Node-RED Dashboard you can check the following links:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Node-RED site: <a href=\"http:\/\/flows.nodered.org\/node\/node-red-dashboard\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/flows.nodered.org\/node\/node-red-dashboard<\/a><\/li>\n\n\n\n<li>GitHub: <a href=\"https:\/\/github.com\/node-red\/node-red-dashboard\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/node-red\/node-red-dashboard<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install-node-red-dashboard\">Installing Node-RED Dashboard<\/h2>\n\n\n\n<p>You can install Node-RED dashboard nodes by going to <strong>Menu <\/strong>&gt; <strong>Manage Palette<\/strong>. Then, search for <span class=\"rnthl rntliteral\">node-red-dashboard<\/span> and install it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"697\" height=\"377\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Install-Node-RED-dashboard-palette.png?resize=697%2C377&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Install Node-RED dashboard palette\" class=\"wp-image-111817\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Install-Node-RED-dashboard-palette.png?w=697&amp;quality=100&amp;strip=all&amp;ssl=1 697w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Install-Node-RED-dashboard-palette.png?resize=300%2C162&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/figure><\/div>\n\n\n<p> After installing, the dashboard nodes will show up on the palette.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"141\" height=\"684\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-nodes.png?resize=141%2C684&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard nodes\" class=\"wp-image-111820\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-nodes.png?w=141&amp;quality=100&amp;strip=all&amp;ssl=1 141w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-nodes.png?resize=62%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 62w\" sizes=\"(max-width: 141px) 100vw, 141px\" \/><\/figure><\/div>\n\n\n<p>Nodes from the dashboard section provide widgets that show up in your application user interface (UI). The user interface is accessible on the following URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:\/\/Your_RPi_IP_address:<strong>1880\/ui<\/strong><\/code><\/pre>\n\n\n\n<p>For example, in my case:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;192.168.1.106:1880\/ui<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"420\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/welcome-node-red-dashboard.png?resize=660%2C420&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"welcome node-red dashboard\" class=\"wp-image-111821\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/welcome-node-red-dashboard.png?w=660&amp;quality=100&amp;strip=all&amp;ssl=1 660w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/welcome-node-red-dashboard.png?resize=300%2C191&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/figure><\/div>\n\n\n<p>At the moment, you&#8217;ll see the previous screen when you access the UI. That&#8217;s because you haven&#8217;t added any of those dashboard nodes to the flow. We&#8217;ll do that in the following section.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-UI\">Creating a UI (User Interface)<\/h2>\n\n\n\n<p>In this section, we&#8217;re going to show you how to create your UI (User Interface) in Node-RED using the Node-RED dashboard nodes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Dashboard Layout<\/h3>\n\n\n\n<p>The user interface is organized in <strong>tabs<\/strong> and <strong>groups<\/strong>. Tabs are different pages on your user interface, like several tabs in a browser. Inside each tab, you have groups that divide the tabs into different sections so that you can organize your widgets (buttons, sliders, charts, gauges, forms, etc.).<\/p>\n\n\n\n<p>Every widget should have an associated group that determines where the widget should appear on the user interface.<\/p>\n\n\n\n<p>To create a tab and a group, follow the next instructions.<\/p>\n\n\n\n<p>On the top right corner, click on the little arrow icon, and click on <strong>Dashboard<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"357\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/open-node-red-dashboard.jpg?resize=561%2C357&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Creating a UI User Interface Node-RED Dashboard\" class=\"wp-image-111847\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/open-node-red-dashboard.jpg?w=561&amp;quality=100&amp;strip=all&amp;ssl=1 561w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/open-node-red-dashboard.jpg?resize=300%2C191&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Creating Tabs and Groups<\/h3>\n\n\n\n<p>Make sure you have the <strong>Layout <\/strong>tab selected. Then, click on the <strong>+tab<\/strong> button to create a tab, it will be called Tab 1 by default. <\/p>\n\n\n\n<p>After creating a tab, you can create several groups under that tab. You need to create at least one group to add your widgets. To add a group to the created tab, you need to click on the&nbsp;<strong>+group<\/strong> button.<\/p>\n\n\n\n<p>Then, click on the <strong>+group<\/strong> button to create a group inside that tab\u2014it will be called <strong>Group 1<\/strong> by default.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"212\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-create-tab-group.png?resize=423%2C212&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard create tabs and groups\" class=\"wp-image-111848\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-create-tab-group.png?w=423&amp;quality=100&amp;strip=all&amp;ssl=1 423w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-create-tab-group.png?resize=300%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 423px) 100vw, 423px\" \/><\/figure><\/div>\n\n\n<p>You can click on the <strong>Tab <\/strong>and <strong>Group edit <\/strong>buttons to change their properties.<\/p>\n\n\n\n<p>For example, click the <strong>edit <\/strong>button for <strong>Tab 1<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"556\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-tab-node.png?resize=524%2C556&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Edit dashboard tab node\" class=\"wp-image-111849\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-tab-node.png?w=524&amp;quality=100&amp;strip=all&amp;ssl=1 524w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-tab-node.png?resize=283%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 283w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/figure><\/div>\n\n\n<p>You can edit the tab&#8217;s name and change its icon:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Name<\/strong>: you can call it whatever you want<\/li>\n\n\n\n<li><strong>Icon<\/strong>:&nbsp;&nbsp;you should use a name accordingly to the icon&#8217;s names in the links provided. By default, it uses the <em>dashboard <\/em>icon.<\/li>\n<\/ul>\n\n\n\n<p>After making changes, click the <strong>Update <\/strong>button.<\/p>\n\n\n\n<p>Now, edit the group, by clicking on the group <strong>edit <\/strong>button. The following window will open.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"556\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-group-node.png?resize=519%2C556&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"edit dashboard group node\" class=\"wp-image-111850\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-group-node.png?w=519&amp;quality=100&amp;strip=all&amp;ssl=1 519w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Edit-dashboard-group-node.png?resize=280%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 280w\" sizes=\"(max-width: 519px) 100vw, 519px\" \/><\/figure><\/div>\n\n\n<p>You can edit its name, select its corresponding tab and change its width. According to the Node-RED dashboard documentation, each group element has a width of 6 &#8216;units&#8217; (a unit is 48px wide by default with a 6px gap).<\/p>\n\n\n\n<p>At the moment, you have created a tab and a group using Node-RED dashboard. To see them, you need to add a widget.<\/p>\n\n\n\n<p>For example, add a <strong>switch <\/strong>(from the <em>dashboard<\/em> section, not from the <em>function<\/em> section\u2014you need to scroll down through the palette to find the <em>dashboard<\/em> nodes) node to the flow.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"134\" height=\"49\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/switch-node.png?resize=134%2C49&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED switch node\" class=\"wp-image-120170\"\/><\/figure><\/div>\n\n\n<p>Double-click on it to check its properties. By default, it will be added to the group and tab you created previously. Deploy your app.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-deploy-button.png?resize=136%2C35&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED deploy button\" class=\"wp-image-111792\" width=\"136\" height=\"35\"\/><\/figure><\/div>\n\n\n<p>Now, go to the following URL, to access the user interface created.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:\/\/Your_RPi_IP_address:<strong>1880\/ui<\/strong><\/code><\/pre>\n\n\n\n<p>For example, in my case:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;192.168.1.106:1880\/ui<\/code><\/pre>\n\n\n\n<p>You&#8217;ll see something as follows:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"317\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-UI-group.png?resize=654%2C317&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard UI group and tb\" class=\"wp-image-120171\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-UI-group.png?w=654&amp;quality=100&amp;strip=all&amp;ssl=1 654w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-UI-group.png?resize=300%2C145&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 654px) 100vw, 654px\" \/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Dashboard Theme<\/h3>\n\n\n\n<p>The Node-RED Dashboard has a white background and a light blue bar by default. You can edit its colors and font in the&nbsp;<strong>Theme&nbsp;<\/strong>tab when you open the <strong>dashboard <\/strong>option.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"427\" height=\"272\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-theme.png?resize=427%2C272&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard theme\" class=\"wp-image-111852\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-theme.png?w=427&amp;quality=100&amp;strip=all&amp;ssl=1 427w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-theme.png?resize=300%2C191&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/figure><\/div>\n\n\n<p>Change the style, deploy the changes and see the Dashboard UI changing its colors. For example, like in the following figure:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"317\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-custom-theme.png?resize=654%2C317&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED UI custom theme\" class=\"wp-image-120172\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-custom-theme.png?w=654&amp;quality=100&amp;strip=all&amp;ssl=1 654w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/10\/Node-RED-dashboard-custom-theme.png?resize=300%2C145&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 654px) 100vw, 654px\" \/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Dashboard Site<\/h3>\n\n\n\n<p>At the <strong>dashboard <\/strong>window, you have another tab called&nbsp;<strong>Site<\/strong>&nbsp;that allows you to do further customization as shown in the figure below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"578\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-site-settings.png?resize=420%2C578&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard site settings\" class=\"wp-image-111854\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-site-settings.png?w=420&amp;quality=100&amp;strip=all&amp;ssl=1 420w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-site-settings.png?resize=218%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 218w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/figure><\/div>\n\n\n<p>Feel free to change the settings, then deploy the changes and see how the UI looks. At the moment you won&#8217;t see much difference because you only have one widget. Those changes will be noticeable when you start adding more widgets to the UI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"interface-example\">Creating a User Interface &#8211; Example<\/h2>\n\n\n\n<p>In this section we&#8217;re going to make a dashboard example to show you how you can build and edit your own dashboard &#8211; we won&#8217;t actually add functionalities to the widgets &#8211; we&#8217;ll do that in future projects. This dashboard will have the following features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Two different tabs: one called <strong>Room<\/strong> and another called <strong>Garden<\/strong><\/li>\n\n\n\n<li>The Room tab will have two groups and the Garden tab will have one group<\/li>\n\n\n\n<li>We&#8217;ll add a color picker and a switch to the Room groups<\/li>\n\n\n\n<li>We&#8217;ll add a chart to the Garden group<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Creating the Tabs<\/h3>\n\n\n\n<p>On the top right corner of the Node-RED window, select the <strong>dashboard<\/strong> tab and create two new tabs by clicking on the&nbsp;<strong>+tab<\/strong> button.<\/p>\n\n\n\n<p>Edit one tab with the following properties:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Name<\/strong>: Room<\/li>\n\n\n\n<li><strong>Icon<\/strong>: tv<\/li>\n<\/ul>\n\n\n\n<p>And the other one with the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Name:&nbsp;<\/strong>Garden<\/li>\n\n\n\n<li><strong>Icon:&nbsp;<\/strong>local_florist<\/li>\n<\/ul>\n\n\n\n<p>Then, add two groups to the Room tab and one group to the Garden tab. The following figure shows how your dashboard layout looks.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"318\" height=\"377\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-layout-example.png?resize=318%2C377&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard layout example\" class=\"wp-image-111855\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-layout-example.png?w=318&amp;quality=100&amp;strip=all&amp;ssl=1 318w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-layout-example.png?resize=253%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 253w\" sizes=\"(max-width: 318px) 100vw, 318px\" \/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Adding the Widgets<\/h3>\n\n\n\n<p>Add a <strong>switch<\/strong>, a <strong>slider<\/strong>, a <strong>colour picker<\/strong> and a <strong>gauge <\/strong>to the flow as shown in the following figure:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"191\" height=\"292\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2017\/08\/flow.png?resize=191%2C292&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Adding the Widgets Node-RED Dashboard\" class=\"wp-image-41798\"\/><\/figure><\/div>\n\n\n<p>Double click on the <strong>switch<\/strong>. A new window pops up.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"694\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-edit-switch-node.png?resize=519%2C694&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED edit switch node\" class=\"wp-image-111856\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-edit-switch-node.png?w=519&amp;quality=100&amp;strip=all&amp;ssl=1 519w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-edit-switch-node.png?resize=224%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 224w\" sizes=\"(max-width: 519px) 100vw, 519px\" \/><\/figure><\/div>\n\n\n<p>In this new window, you can choose where you want to place your button widget on the user interface. In this case, we want it to appear in the <strong>Room <\/strong>tab, <strong>Group 1<\/strong> as highlighted in red in the previous figure.<\/p>\n\n\n\n<p>Then, do the same for the other widgets but add them to the following groups:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>slider<\/strong>: Group 1 [Room]<\/li>\n\n\n\n<li><strong>colour picker<\/strong>:&nbsp;Group 2 [Room]<\/li>\n\n\n\n<li><strong>gauge:<\/strong> Group 1 [Garden]<\/li>\n<\/ul>\n\n\n\n<p>Deploy the changes and go to the dashboard UI to see how it looks.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">http:\/\/Your_RPi_IP_address:1880\/ui<\/pre>\n\n\n\n<p>Your dashboard has two tabs: the Room and the Garden as shown in the following figure:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"497\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-multiple-tabs.png?resize=744%2C497&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard multiple tabs\" class=\"wp-image-111857\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-multiple-tabs.png?w=744&amp;quality=100&amp;strip=all&amp;ssl=1 744w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-multiple-tabs.png?resize=300%2C200&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/figure><\/div>\n\n\n<p>Here&#8217;s what the room tab looks like with the two groups.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"496\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-UI-example.png?resize=745%2C496&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED dashboard UI example\" class=\"wp-image-111858\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-UI-example.png?w=745&amp;quality=100&amp;strip=all&amp;ssl=1 745w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-UI-example.png?resize=300%2C200&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/figure><\/div>\n\n\n<p>And here&#8217;s how the Garden tab looks with one group.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"496\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-UI-gauge-example.png?resize=745%2C496&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Node-RED UI gauge example\" class=\"wp-image-111859\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-UI-gauge-example.png?w=745&amp;quality=100&amp;strip=all&amp;ssl=1 745w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-UI-gauge-example.png?resize=300%2C200&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>In this tutorial, you&#8217;ve learned how to use Node-RED dashboard nodes to create a user interface. You can add several widgets like sliders, buttons, forms, charts, and gauges to create a nice application for your IoT or Home Automation projects.<\/p>\n\n\n\n<p>In the example presented, we only created the user interface, we haven&#8217;t added any functionalities to the widgets. We have several projects that use Node-RED dashboard that you may want to take a look at to learn how to add functionality to your user interface. For example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp32-mqtt-publish-ds18b20-temperature-arduino\/\">ESP32 MQTT \u2013 Publish DS18B20 Temperature Readings (Arduino IDE) and display on Node-RED dashboard<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp32-mqtt-publish-subscribe-arduino-ide\/\">ESP32 MQTT \u2013 Publish and Subscribe with Arduino IDE with Node-RED Dashboard Interface<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp8266-and-node-red-with-mqtt\/\">ESP8266 and Node-RED with MQTT (Publish and Subscribe) with Node-RED Dashboard Interface<\/a><\/li>\n<\/ul>\n\n\n\n<p>We hope you&#8217;ve found this tutorial useful.<\/p>\n\n\n\n<p>Thanks for reading!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is an introduction to the Node-RED dashboard with Raspberry Pi. We\u2019ll cover how to install Node-RED Dashboard and exemplify how to build a graphical user interface for your &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Getting Started with Node-RED Dashboard on Raspberry Pi\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/getting-started-node-red-dashboard\/#more-41738\" aria-label=\"Read more about Getting Started with Node-RED Dashboard on Raspberry Pi\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":111864,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[304,301,269,225,273,264,268,190,179,191,192],"tags":[],"class_list":["post-41738","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-0-home-automation","category-0-raspberrypi","category-guide-project","category-home-automation","category-node-red","category-project","category-raspberry-pi-project","category-raspberry-pi","category-electronics-theory","category-r-theory-and-blog","category-r-tutorials"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2022\/06\/Node-RED-dashboard-Getting-Started.jpg?fit=1280%2C720&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/41738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=41738"}],"version-history":[{"count":6,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/41738\/revisions"}],"predecessor-version":[{"id":132597,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/41738\/revisions\/132597"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/111864"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=41738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=41738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=41738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}