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.
Core concepts: design and execution
| Action | Where it occurs | Does it change the runtime? |
|---|---|---|
| Switch workspace tabs, zoom, or pan | Editor view | No |
| Add nodes, change properties, or connect wires | Undeployed flow model | Not yet |
| View Information (info) or Help, or search the Palette | Editor UI | No, although installing a package through Manage palette is a separate system change |
| Click Deploy | The editor sends the complete flow set and deployment type to the runtime | Yes; Full, Modified Flows, or Modified Nodes determines the restart scope |
| Change Add-on options and restart | Home Assistant Add-on layer | Yes; 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
| Node | Purpose in this lesson | Safety reminder |
|---|---|---|
| Inject | Manually generate a test msg | The next chapter explicitly disables automatic injection and triggers the node with a single button press |
| Change | Set, change, delete, or move message properties | Confirm the data type and target property; do not put secrets in msg |
| Debug | Send selected message content to the Debug sidebar | May expose a sensitive payload; disable or remove the node after troubleshooting |
| Action | Ask Home Assistant to perform an action in a later exercise | Has 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 name | 5.0.2 description | Runtime impact | Home scenario |
|---|---|---|---|
| Full | Deploys everything in the workspace | Stops and restarts every node | Unrelated timers, event subscriptions, connections, and lighting flows may restart; this has the widest impact |
| Modified Flows | Only deploys flows that contain changed nodes | Restarts flows that contain changed nodes | Running 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 Nodes | Only deploys nodes that have changed | The runtime stop list consists precisely of changed and removed nodes | Usually 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
- Confirm the list of changes and the purpose of the deployment. Do not include unknown dirty changes.
- 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.
- Check Inject startup triggers, queued messages in Delay or Trigger nodes, and any Action, HTTP, file, or device outputs.
- 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.
- 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.writepermission. 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
- Node-RED 5.0.2 pinned commit:
@node-red/editor-clientandsrc/js/ui/deploy.js. - Official Node-RED Editor Guide and official runtime configuration guide; the pinned commit remains authoritative for version-specific details.
- Add-on 22.0.1 pinned commit: includes Node-RED 5.0.2 and theme collection 5.0.1.
- Pinned official Add-on documentation: restart boundaries after theme and settings changes.