Chapter 3

Editor, workspace, Palette, sidebar, and Deploy concepts

Learn how to read the editor before using it. The Node-RED 5.0.2 editor is a design tool; only Deploy sends changes to the runtime. Start with a tour that leaves your running home automations unchanged.

Why this matters

A common mistake is to assume that anything visible on the canvas is already running. Dragging nodes into the workspace, connecting wires, and renaming nodes initially changes only the editor state in your browser. The runtime applies those changes only after you select a scope and click Deploy. If Node-RED already controls hallway lights, nighttime notifications, or climate equipment, choosing Full by mistake can restart nodes unrelated to your work.

Your only tasks in this chapter are to identify each part of the editor, open a node's Help, understand the three Deploy options, and establish a pre-deployment checklist. Do not import a flow, modify the server configuration, install a Palette package, or click Deploy. The next chapter builds a controlled Inject → Change → Debug exercise.

Screenshot safety: Before taking notes or screenshots for support, close Debug messages, config details, and any panels that may show URLs, entity IDs, locations, or notification content. Do not click Deploy while preparing the screenshot.

Core concepts: design and execution

ActionWhere it occursDoes it change the runtime?
Switch workspace tabs, zoom, or panEditor viewNo
Add nodes, change properties, or connect wiresUndeployed flow modelNot yet
View Information (info) or Help, or search the PaletteEditor UINo, although installing a package through Manage palette is a separate system change
Click DeployThe editor sends the complete flow set and deployment type to the runtimeYes; Full, Modified Flows, or Modified Nodes determines the restart scope
Change Add-on options and restartHome Assistant Add-on layerYes; this has a broader scope than deploying a flow

The Node-RED 5.0.2 editor labels the three deployment options Full, Modified Flows, and Modified Nodes. Their internal deployment types are full, flows, and nodes. These are runtime restart strategies, not levels of save quality. Each option submits the current flow configuration; the difference is how the runtime applies it.

Tour the editor without deploying

  1. Confirm how you opened the editor and which version you are using.

    Open it from the Add-on's OPEN WEB UI. First make sure that you are not viewing a different Node-RED editor instance. The screenshots and UI details in this chapter are based on the pinned Node-RED 5.0.2 commit.

  2. Visually identify the four main areas.

    Locate the central workspace, the Palette on the left, the sidebar on the right, and the header and Deploy control at the top. Do not drag any nodes or click the main Deploy button.

  3. Explore the workspace tabs.

    Switch between existing tabs without modifying them. If they contain home automations, remember that a tab is part of the editor's organization and runtime flow scope; it is not a Home Assistant Area.

  4. Find core nodes and read their Help.

    Find Inject, Change, and Debug in the Palette. Select each one and read its description in the sidebar's Help tab. Searching is not the same as installing. Do not use Manage palette to add packages.

  5. Open the Deploy options without deploying.

    Note only the names and descriptions of Full, Modified Flows, and Modified Nodes, then close the menu. Take any screenshots before deploying.

  6. Remove sensitive information from the screen.

    Before leaving, close Debug messages and config details that may contain household information. Do not include real IDs, internal URLs, or credentials in public notes.

Workspace: the visual surface for flows

The central workspace organizes flows into tabs. Nodes have input and output ports, and wires connect upstream outputs to downstream inputs. Messages travel along those wires. Placing nodes on the left or right improves readability but does not create a runtime sequence; the actual path is determined by the wires and each node's behavior. An unwired node may still run in response to its own event source, so the absence of an incoming wire does not prove that it has no side effects.

Selection, editing, and dirty state

Use a node's edit dialog to configure its properties. Completing the dialog updates only the editor model. Node-RED tracks undeployed changes and asks for confirmation if you try to leave the page with such changes. Do not treat refreshing the browser as a reliable recovery method. If you are unsure what changed, stop, record the screen, and use the editor's change view or a controlled version to revert the changes.

A tab is not a permission boundary

Separating “Entry Lighting” and “Ambient Notifications” into tabs makes them easier to read, but it does not isolate credentials, network access, or Home Assistant permissions. Shared config nodes also mean that one change can affect multiple flows. When changing a config node, review its list of users and the deployment scope carefully.

Readable layouts

A safe home automation flow presents “source → condition → action/observation” from left to right. Name nodes for their purpose, such as “night only,” “confirm light is off,” and “test output.” Add Comment nodes to explain assumptions, fail-safe behavior, and recovery procedures. Visual arrangement is not test evidence; every branch must still be observed after deployment.

Palette: a catalog of available nodes, not a guarantee of capability

The Palette appears on the left side of the editor. It lists nodes by category and includes a search function. Node-RED's core nodes include Inject, Debug, Complete, Catch, Status, Link, Comment, Change, Switch, Template, Delay, Trigger, and Function. The Add-on also includes several preinstalled third-party nodes and HA WebSocket 0.80.3. A visible node means only that its package is registered; it does not mean that your environment, devices, or permissions are configured.

NodePurpose in this lessonSafety reminder
InjectManually generate a test msgThe next chapter explicitly disables automatic injection and triggers the node with a single button press
ChangeSet, change, delete, or move message propertiesConfirm the data type and target property; do not put secrets in msg
DebugSend selected message content to the Debug sidebarMay expose a sensitive payload; disable or remove the node after troubleshooting
ActionAsk Home Assistant to perform an action in a later exerciseHas physical side effects; older articles may use the legacy name Call Service, which is mentioned only for identification and is not used in this chapter

A theme changes appearance only

Add-on 22.0.1 includes @node-red-contrib-themes/theme-collection 5.0.1. The default Add-on option is theme: default, and a fixed schema list limits the available names. A theme changes the editor's colors and visual presentation, not its authentication, permissions, or data isolation. After changing the Add-on theme, restart the App instead of clicking Deploy.

Manage palette is a supply-chain operation

Searching the Palette does not install a package. Installing one through Manage palette, however, adds third-party server code to the runtime environment. The Add-on's npm_packages setting provides another installation path at startup. For either method, review the package name, maintenance status, pinned version, permissions, and recovery procedure. Do not install a package merely because its name or icon looks familiar.

The three Deploy scopes and their precise restart effects

UI name5.0.2 descriptionRuntime impactHome scenario
FullDeploys everything in the workspaceStops and restarts every nodeUnrelated timers, event subscriptions, connections, and lighting flows may restart; this has the widest impact
Modified FlowsOnly deploys flows that contain changed nodesRestarts flows that contain changed nodesRunning nodes that were not modified but are on the same tab may also restart; check for long waits or device controls in the flow
Modified NodesOnly deploys nodes that have changedThe runtime stop list consists precisely of changed and removed nodesUsually reduces disruption; a config node change may mark nodes that use it as changed, so you must still check dependencies

In the Node-RED 5.0.2 runtime, Full stops every node and then starts them again. Modified Flows stops and restarts every node on each modified flow. The stop list for Modified Nodes consists only of diff.changed and diff.removed. Changing a config node may mark the nodes that use it as changed, so you must still check dependencies. However, a link by itself does not add linked nodes to the Modified Nodes stop list. Restarting a node may clear in-memory state or reestablish subscriptions and connections. An Inject node may also send another message if it is configured to inject automatically at startup. In production home automation, choosing a “smaller scope” is not a substitute for impact analysis.

Five checks before you deploy

  1. Confirm the list of changes and the purpose of the deployment. Do not include unknown dirty changes.
  2. Confirm the scope. List the flows that will stop or restart, the changed and removed nodes, and any nodes that a config node change may mark as changed.
  3. Check Inject startup triggers, queued messages in Delay or Trigger nodes, and any Action, HTTP, file, or device outputs.
  4. Prepare monitoring and recovery procedures. For home lighting, choose non-critical test equipment and schedule the work for a time when its effects will be visible.
  5. After deploying, read the notifications, Debug output, and any necessary logs. Do not click repeatedly; wait for the result first.

Troubleshooting

  • You cannot find the Palette: Check whether the left panel is collapsed, as well as the browser width and zoom level. Do not go straight to Manage palette and install a similarly named package.
  • You cannot find a Debug message: Check that the Debug tab is open in the right sidebar, that the corresponding Debug node is enabled, and that the change was deployed under controlled conditions. Do not output the complete message during the first four chapters.
  • The Deploy button is unavailable: There may be no undeployed changes, or you may lack flows.write permission. Do not bypass authentication by changing the login method or using a direct port. Check your login and editor status first.
  • Deploy shows an unknown, invalid, or unused config warning: Stop the deployment. Select each affected node and review Information and Help. Do not ignore the warning merely to obtain a “Success” message.
  • Other automations restart after you deploy: Record the scope you used. Full affects everything, while Modified Flows affects flows containing changes. The Modified Nodes stop list contains only changed and removed nodes, but a config node change may mark nodes that use it as changed.
  • The screen differs from an online article: Treat the pinned Node-RED 5.0.2 editor locale and source code as authoritative. Do not use the sidebar layout from the main branch or another version as evidence of this version's UI.

Pinned sources

FAQ

Does dragging a node into the workspace start it?
No. It is an undeployed editor change. The runtime applies the change according to the selected scope only after you deploy.
Does Modified Nodes leave every other node completely unaffected?
Its runtime stop list consists precisely of changed and removed nodes; links alone do not add other nodes to that list. However, a config node change may mark nodes that use it as changed. You must still review those relationships before deploying.
Why does Deploy have no effect after I change the Add-on theme?
The theme is part of the Add-on configuration. The pinned documentation requires restarting the Add-on after changing its settings. Deploy handles flows only.
What should I do if the Deploy list includes someone else's draft changes?
Stop the deployment. Identify the owner and purpose of every change, then separate or revert anything outside the current task. Do not choose Full to bypass the review, and do not assume that unselected tabs will be unaffected.
Does seeing a node in the Palette mean that it is safe to use?
It means only that the package is registered. You must still read Help, verify the settings and permissions, and plan testing and recovery for nodes with network, file, Action, or hardware side effects.