Tip
Victron Help Centre
Node-RED

Dashboard, access through VRM and good practice

A custom panel with charts and switches, the editor and dashboard opened from outside the home via VRM, data from the VRM portal in a flow — and what you need to watch to avoid filling the GX device memory. All according to the Venus OS Large manual. We assume Node-RED is already running — if not, start with the first start.

How to connect to Node-RED on the GX

Node-RED runs on the GX device itself. On the local network, the browser connects to it directly, and from outside the home — through the VRM portal. Flows can also fetch data from VRM and save files to the device data partition.

https · 1881 internet token write Computer on the LAN editor · :1881 Phone on the LAN dashboard Cerbo GX Venus OS Large Node-RED · flow and dashboard VRM Portal Venus OS Large menu Remote phone · laptop VRM API token · forecasts /data partition flow · palettes · context
network connections and data storage
Hover over the diagram element or tap it.
  1. On the local networkEditor at https://venus.local:1881, dashboard from the “Dashboard 2.0” panel in the editor (path /dashboard).
  2. Remotely via VRMVenus OS Large menu in the VRM portal: editor, dashboard and Signal K; it runs slowly on a poor connection.
  3. Data from VRMAccess token, VRM API and production forecasts — Dynamic ESS works on this.
  4. /data partitionFlows, palettes and context; always at least 30 MB free, below 5% warning #46.

Dashboard: FlowFuse Dashboard 2.0

A dashboard is a browser page with charts, gauges and controls, such as switches and sliders. Victron recommends the FlowFuse Dashboard 2.0 package — current and actively developed.

  1. Installation. In the editor: right-hand menu → Manage paletteInstall tab, search for and install @flowfuse/node-red-dashboard. The GX device must have working internet access. The palette is installed on the data partition, so it remains after a Venus OS update.
  2. Structure. New nodes appear in the palette on the left. The dashboard has four levels: ui-base (base address, factory setting /dashboard), ui-page (pages), ui-group (groups on a page) and widgets — chart, gauge, button, switch.
  3. Data from the installation. Connect a Victron input node (for example the battery state of charge) to a widget, and the dashboard switch — to an output node, for example a relay. What is in the Victron palette: Victron nodes.
  4. Deploy and view. After deployment (Deploy), you can open the dashboard from the “Dashboard 2.0” panel on the right of the editor, and in the VRM portal, in the Venus OS Large menu, an extra tile appears for remote access.
  • Relay from the dashboard. First set the relay to Manual mode in the GX menu or in VictronConnect. To make the switch also reflect changes made elsewhere, for example in the GX menu, connect the relay state also to the switch input — that is how the “Relay switching” example from the Victron wiki works.
  • How often data arrives. Victron input nodes send a message whenever the value changes. Without the “only changes” option selected, they additionally send the current value every 5 seconds — the chart will then get a point even when nothing changes.
  • Old dashboard. The node-red-dashboard package is outdated and, according to the manual, should no longer be used.
  • Alternative: uibuilder. node-red-contrib-uibuilder gives full control over the appearance, but it has no ready-made widgets — you write the interface yourself in HTML, CSS and JavaScript. More flexible, but much more difficult than Dashboard 2.0.
Discrepancy in Victron documentation

The Venus OS Large manual advises against the old node-red-dashboard package, but the example flows from the node-red-contrib-victron wiki with a dashboard — “Monitor disk usage”, “Relay switching (from the dashboard)” and “Threshold control” — still require it (the ui_chart, ui_switch, ui_slider nodes and add-ons for the old dashboard). Such flows have to be rebuilt with Dashboard 2.0 widgets or you have to install the old package against the manual’s recommendation.

Remote access via VRM

Three panels — the flow editor, the Node-RED dashboard and the Signal K administration panel — are also available remotely, through the VRM portal.

  1. VRM setup. The GX device must send data to the VRM portal — how to connect it: VRM monitoring.
  2. Venus OS Large menu. Log in to VRM, choose the installation and click the Venus OS Large menu. The editor and Signal K tiles appear there after those functions are enabled in the GX, and the dashboard tile appears after it is deployed.
  3. Login. Node-RED asks for the same password as locally — from Venus OS 3.50, this is the security profile password with the admin user (details).
  • It may run slowly. The manual warns that speed depends on the quality of the connection.
  • Only through VRM. The Victron manual describes remote access to Node-RED only via VRM; it does not describe port forwarding on the router.

VRM data in flows

Some flows need data that is not on the GX device itself, such as solar production forecasts or irradiance. These are fetched from the VRM portal database via the VRM API.

  1. Access token. In the VRM portal, in the Access tokens section, add a new token. Once generated, it cannot be read again — save it immediately in a password manager.
  2. VRM API node. The Victron VRM API node makes it easier to use the API in flows. Full API description: VRM API documentation.
  3. Forecasts. Use the stats call with one of the attributes in the table; the manual notes that there may be more useful attributes.
IDAttributeData
1220vrm_pv_charger_yield_fcsolar charge controller (MPPT) production forecast
1221vrm_pv_inverter_yield_fcPV inverter production forecast
1173vrm_solar_irradiance_fcsolar irradiance forecast
1172vrm_solar_irradiancesolar irradiance

Ready-made solution: Dynamic ESS — it fetches from VRM the optimal ESS setpoint, calculated from dynamic energy prices and the solar production forecast. Its flow is also a good example of using the VRM API.

The token is the key to the account. Treat it like a password: before sharing a flow, for example on the Victron Community forum, check whether the token is entered directly in a function, change or inject node.

Memory: /data partition

Palettes, flows, credentials and saved context are stored on the GX device data partition. That means they survive a Venus OS update, but space is limited, and Node-RED and Signal K can fill the partition completely.

  • At least 30 MB free — always, according to the Venus OS Large manual.
  • Warning #46. When free space falls below 5%, the GX reports #46 Data partition full. The exact value is shown in the Settings → General → Modifications menu.
  • Effects of a full partition. Venus OS stops working properly, Node-RED or Signal K does not start — the system is not designed for running out of space.
  • No large files on /data. Do not store large photos, videos or logs there. Keep this data outside GX — in a database, cloud, via MQTT or FTP — and reference it by URL.
  • Only the palettes you need. Each extra palette takes up space. Remove unused ones with the remove button in Manage palette.

When the partition is already full — in order, from the least drastic:

  1. Signal K logs. If you use Signal K, the manual recommends starting by deleting its logs, then checking whether the “Keep only most recent data log files” option is enabled in Signal K → Server → Settings (enabled by default).
  2. Flows and palettes. Remove flows and added palettes. If the editor does not start, the venus-data-20-node-red-reset.tgz file on the USB stick deletes all contents of /data/home/nodered/ — all flows and palettes — and lets you start from scratch. Make a backup first: venus-data-00-backup-data-partition.tgz copies the whole /data partition to the USB stick (how it works).
  3. Factory reset of GX — according to the GX device manual. The drawback is that you must configure the whole device again.

You can also monitor partition usage in flows — the Victron wiki has two examples: “Monitor disk usage” (a chart on the old dashboard, see the discrepancy above) and “Using MQTT to monitor disk space”, which requires enabling the MQTT on LAN (Plaintext) service in the GX menu and shows free space only in the debug window.

Context variables and flash memory

Context variables (context, flow, global) let flows remember values, for example a counter or the last state. By default they are stored only in the GX device RAM — they disappear after a restart or power loss.

To make them survive a restart, you must save them to disk — in the settings-user.js file (see configuration files):

module.exports = {
  contextStorage: {
    default: {
      module: "localfilesystem",
      config: {
        // save every 5 minutes
        flushInterval: 300
      }
    }
  }
}
  • Do not save too often. The manual warns that frequent writes wear out flash memory — the example saves the context every 300 s, that is every 5 minutes.
  • Only small data. Do not keep large or binary data in the context — it ends up on the same small /data partition.
  • After changing it, restart Node-RED (restart).

Configuration files — when to edit them

The vast majority of Node-RED installations do not need — and should not — change these files. Venus OS Large is designed so you do not have to drop to the command line. Editing requires root access via SSH (Victron instructions).

FileWhat it is forEdit
/usr/lib/node_modules/node-red/venus-settings.jsbase settings, read firstnever — overwritten by a Venus OS update
/data/home/nodered/.node-red/settings-venus.jscompletes the first file; remains after an updateno — it is for Victron
/data/home/nodered/.node-red/settings-user.jsyour settings: ports, security, editor, contextStorage; remains after an updateyes, carefully — a syntax error stops Node-RED from starting, and after an update the setting may stop working
flows.jsonall flows (the same as export from the menu)not manually — risk of corruption
flows_cred.jsonencrypted credentials from flows (logins, passwords)no — a manual change may break decryption
.config.*.jsonNode-RED settings themselvesno; flow export does not include them
lib/subflow and function librarysafe for advanced users
  • One block. Settings in these files must be inside the module.exports = {} block. Several settings — for example port 1880 and contextStorage — go in the same block, separated by a comma.
  • settings.js is ignored. The /data/home/nodered/settings.js file is not read, even if you create it — only settings-user.js in the .node-red directory works.
  • Images in the dashboard. To make Node-RED serve, for example, the dashboard background, add httpStatic: "/data/home/nodered/www" to settings-user.js, create that directory, assign it to the nodered user (chown -R nodered:nodered) and place a file there, for example image.png. In the dashboard you refer to it relatively: background-image: url(/image.png);. This also takes up space on /data — only small files.

Restart after changing settings. The easiest way is in the GX menu: Venus OS Large Features → Node-RED — turn it off and on again. From the command line:

# stop
svc -d /service/node-red-venus
# start
svc -u /service/node-red-venus
# restart
svc -t /service/node-red-venus

If something stops working after a change, run Node-RED in safe mode — it starts without running flows (safe mode).

Security and permissions

  • Password. From Venus OS 3.50, access to Node-RED is protected by the security profile password (Settings → General → Security Profile) with the admin user; in older versions — the Remote Console password. Details: editor password.
  • Encrypted connection. The editor runs over https on port 1881. The certificate is self-signed — hence the browser warning — but the login and password are not sent in plain text over the network.
  • Port 1880 only if needed. Some nodes connect only over http. For them you can additionally enable port 1880 on all interfaces — in settings-user.js, then you must restart Node-RED:
    module.exports = {
      // also http on port 1880
      uiHost: "::"
    }
    This is plain http, without the encryption provided by port 1881 — so enable it only if a node requires it.
  • EACCES error when saving a file. From Venus OS 2.90, Node-RED runs as the nodered user, not root, so flows can only read and write that user’s files — usually under /data/home/nodered/. Instead of a different path, use for example /data/home/nodered/storage.txt.
  • VRM token and passwords in flows. Credentials that nodes save as login data go into the encrypted flows_cred.json. Do not enter a token or password directly in function, change or inject nodes — they would end up in the normal flows.json file and in every export.
Before changing files — make a copy

Export all flows (menu → Export → all flows) and keep the flows.json file. The export does not include Node-RED settings from .config.*.json files — a full copy of the /data partition is made by the venus-data-00-backup-data-partition.tgz file on the USB stick.

Devices this applies to

Sources

Content checked against Victron Energy documentation (datasheets and manuals) — as of 22 September 2026. Report a content error · Revision log