User Tools

Site Tools


venus-os:large

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
venus-os:large [2025-07-15 23:17] – [5.12 Node-RED FAQ] mvadervenus-os:large [2025-08-29 09:09] (current) – support edit warwickchapman
Line 7: Line 7:
 **Node-RED** offers PLC like programming for connecting hardware devices, APIs and online services. It provides a browser-based editor that makes it easy to wire together flows. With it, one can for example program a functionality such as activating a relay based on a temperature measurement combined with time. Or make far more complex algorithms, tying relays, measurements, or other data available from Venus OS or elsewhere together. All without having to write real source code. Node-RED is also called Low-code programming for event-driven applications. **Node-RED** offers PLC like programming for connecting hardware devices, APIs and online services. It provides a browser-based editor that makes it easy to wire together flows. With it, one can for example program a functionality such as activating a relay based on a temperature measurement combined with time. Or make far more complex algorithms, tying relays, measurements, or other data available from Venus OS or elsewhere together. All without having to write real source code. Node-RED is also called Low-code programming for event-driven applications.
  
-Also Node-RED features a [[https://flows.nodered.org/node/node-red-dashboard|fully customisable dashboard]], viewable in a webbrowser - both locally but also remotely, via the VRM Servers.+Also Node-RED features a [[https://flows.nodered.org/node/node-red-dashboard|fully customisable dashboard]], viewable in a web browser - both locally but also remotely, via the VRM Servers.
  
 To get a good idea of its possibilities, see the [[https://github.com/victronenergy/node-red-contrib-victron/wiki/Example-Flows|example flows]]. To get a good idea of its possibilities, see the [[https://github.com/victronenergy/node-red-contrib-victron/wiki/Example-Flows|example flows]].
Line 26: Line 26:
 ===== 2. Where to find support ===== ===== 2. Where to find support =====
  
-There is and will be no official support on the functionalities of Venus OS large.+Node-RED and SignalK are a stable and reliable features in Venus OS Large for GX devices.  There are tens of thousands of systems running Node-RED or SignalK in the field.  However, Victron does not provide support for systems which make use of these extended features to implement advanced solutions.
  
-For support, turn to the [[https://community.victronenergy.com/c/modifications/5 |Modifications Space on Victron Community]]. Another good resource is [[https://community.victronenergy.com/tag/node-red|all posts tagged as Node-RED]].+**Node-RED support** 
 +The Victron Community is a good place to ask questions and get answers: 
 +  * [[https://community.victronenergy.com/c/modifications/5 |Modifications Space on Victron Community]] 
 +  * [[https://community.victronenergy.com/tag/node-red|All posts tagged as Node-RED]]
  
 On Community, first search if someone else had a similar question already. And if you can’t find such, then create a new question. Make sure to tag it with Node-RED. On Community, first search if someone else had a similar question already. And if you can’t find such, then create a new question. Make sure to tag it with Node-RED.
  
 **Signal K community** **Signal K community**
-For support on SignalK, the largest crowd of helpful people can be found in the Signal K Discord & Signal K github discussions forum. Both are best found here: https://signalk.org/community/+For support on Signal K, the largest crowd of helpful people can be found in the Signal K Discord & Signal K GitHub discussions forum. Both are best found here: https://signalk.org/community/ 
 ===== 3. Requirements ===== ===== 3. Requirements =====
  
Line 39: Line 43:
  
 The compatible GX devices are: The compatible GX devices are:
- +  * Ekrano GX (fastest processor) 
-  * Ekrano GX +  * Cerbo GX (second-fastest processor)
-  * Cerbo GX+
   * Cerbo-S GX   * Cerbo-S GX
-  * Venus GX+  * Venus GX (slowest processor)
   * Octo GX   * Octo GX
-  * MultiPlus-II GX +  * MultiPlus-II GX (fastest processor) 
-  * EasySolar-II GX+  * EasySolar-II GX (fastest processor) 
 + 
 +The Color Control GX (CCGX) and the CanVU GX are not able to run Venus OS Large.
  
 +Venus OS large is also available for certain RaspberryPi models. Installation files below, and installation & other RaspberryPi specific instructions [[https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image|here]].
  
-The Color Control GX (CCGX) as well as the CanVU GX are unfortunately not able to run Venus OS Large.+==== 3.2 CPU & memory resources ====
  
-Venus OS large is also available for certain RaspberryPi models. Installation files below, and installation & other raspberrypi specific instructions [[https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image|here]].+Both Signal K as well as Node-RED are resource intensive software applications relative to the CPU and memory of most GX devices.
  
-==== 3.2 CPU & Memory resources ====+The level of intensity largely depends on the system's specific configuration - whether it's the type of flows in Node-RED or the volume and processing requirements of messages in Signal K.
  
-Both SignalK as well as Node-RED are rather resource intensive software applications to run on the GX Device. From a CPU usage point of view as well as RAM memory.+**WARNING: Venus GX** 
 +The Venus GX is the slowest GX-device still supported by Victron. Running both Signal K and Node-RED at the same time will very likely overload the device and may result it in becoming unstable.
  
-The level of intensity largely depends on the system's specific configuration - whether it's the type of flows in node-red or the volume and processing requirements of messages in SignalK.+If a GX-device runs out of memory or the load on the CPU becomes too high, the device will eventually reboot which may render a system unstable.
  
-From a GX device point of view, from the support models the Venus GX is the one with the least resources. Running both SignalK and Node-RED at the same time will be "pushing it" to say it simply. The Cerbo GX is already much faster, as it has a dual core CPU as well as much more RAM. More details about CPU & RAM differences are in this document: https://github.com/victronenergy/venus/wiki/machines.+More details about CPU & RAM differences is available [[https://www.victronenergy.com/live/venus-os:start|here]].
  
-When running out of RAM or CPU, the device will slow down. And eventually also reboot by itself due to the watchdog. 
  
 ===== 3. How to install and update ===== ===== 3. How to install and update =====
Line 76: Line 82:
 Note, when installing on a RaspberryPi, do make sure to familiarise with [[https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image|the Venus OS for raspberrypi documentation]] as well. Note, when installing on a RaspberryPi, do make sure to familiarise with [[https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image|the Venus OS for raspberrypi documentation]] as well.
  
-=== Step 2. Update to the latest firmware version (v2.90 or later) ===+=== Step 2. Update to the latest firmware version ===
  
-See Settings -> Firmware -> Online updates. For more information, refer to the user the manual of your GX device.+See Settings -> General -> Firmware -> Online updates (previously, Settings -> Firmware -> Online updates). For more information, refer to the user the manual of your GX device.
  
 === Step 3. Set the image type Venus OS Large === === Step 3. Set the image type Venus OS Large ===
  
-Go to Settings -> Firmware -> Online updates -> Image type:+In the Online updates menu:
 {{ :venus-os:venus-os_image_type_selector_v2.png?nolink&500 |}} {{ :venus-os:venus-os_image_type_selector_v2.png?nolink&500 |}}
  
-Now, change the Image type to Large. Then go one menu up, and Check for a new version and install that. +Set the Image type to 'Large', navigate one level back in the menu and check for a new version and install that. 
-This typically takes about 2 minutes.+ 
 +The firmware will take some time to download depending on the speed of your Internet connection, after which the GX-device will reboot for the installation which typically takes about 2 minutes.
  
 === Step 4. Verify and enable === === Step 4. Verify and enable ===
  
   - Verify that the image was successfully installed: go to the Settings menu, and check that under the integrations for availability.   - Verify that the image was successfully installed: go to the Settings menu, and check that under the integrations for availability.
-  - Enable either Signal K or Node-RED. Note that though its possible to enable both, doing that on a Venus GX is "pushing it", the system might become slow. This is less of a problem on a Cerbo GX or an Ekrano GX, as it has more resources (faster CPU). Installer access level is required to enable/disable these settings.+  - Enable either Signal K or Node-RED. Installer access level is required to enable/disable these settings.
  
 Visible once successfully installed, the integration settings: Visible once successfully installed, the integration settings:
Line 99: Line 106:
 === How to update === === How to update ===
  
-Both online and offline update methods can be used. The Image type setting, see the How to install chapter, defines what image type is being updated. See the GX manual for more details.+Both online and offline update methods can be used. The Image type setting, see the How to install chapter, defines what image type is being updated. See the manual of your GX-device for more details. 
 ===== 4. Accessing Node-RED and Signal K ====== ===== 4. Accessing Node-RED and Signal K ======
  
-After installing and then enabling either one or both of the features, they need to be configured through a website in your browser. +After installing and enabling Node-RED or Signal K, they need to be configured through a website in your browser.
- +
-To access the Node-RED flow editor, type https://venus.local:1881/. Note that it might be necessary to replace venus.local by an IP address, for example like this: https://192.168.178.224:1881/. It is normal for the browser to show a security warning. Proceed according to browsers instructions. +
- +
-See [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/accessing-the-gx-device.html#UUID-a007e0de-85f1-a53f-550b-25f0ed46ac1f|the Remote Console on LAN chapter on our GX manual]] for how to find the IP address. +
- +
-To access the Signal K admin panel, type http://venus.local:3000/. Just like Node-RED above, note that it might be necessary to replace venus.local in that URL by an IP address. For example like this: http://192.168.178.224:3000/+
  
-These two screenshots show what you will see after successfully accessing the pages:+To access the Node-RED flow editor, type https://venus.local:1881. Note that it might be necessary to replace venus.local with an IP address on your LAN, for example: https://192.168.178.224:1881. The web browser will show a security warning (from using HTTPS on a local IP address), which must be accepted.
  
 === Node-RED flow editor === === Node-RED flow editor ===
  
 {{ :venus-os:node-red_flow_editor.png?nolink |}} {{ :venus-os:node-red_flow_editor.png?nolink |}}
 +
 +To access the Signal K admin panel, type http://venus.local:3000. Just like Node-RED above, note that it might be necessary to replace venus.local in that URL by an IP address. For example: http://192.168.178.224:3000/
  
 === Signal K admin panel === === Signal K admin panel ===
  
 {{ :venus-os:signal_k_admin_panel.png?nolink |}} {{ :venus-os:signal_k_admin_panel.png?nolink |}}
 +
 +See [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/accessing-the-gx-device.html#UUID-a007e0de-85f1-a53f-550b-25f0ed46ac1f|the Remote Console on LAN chapter on our GX manual]] for how to find the IP address on the GX-device.
  
 ===== 5. Node-RED ===== ===== 5. Node-RED =====
  
 {{ https://raw.githubusercontent.com/victronenergy/node-red-contrib-victron/master/docs/images/node-palette.png?nolink |}} {{ https://raw.githubusercontent.com/victronenergy/node-red-contrib-victron/master/docs/images/node-palette.png?nolink |}}
 +
 ==== 5.1 Introduction ==== ==== 5.1 Introduction ====
  
 Node-RED is a tool for connecting hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows. With it, one can for example program a functionality such as activating a relay based on a temperature measurement. Or make far more complex algorithms, tying relays, measurements, or other data available from Venus OS or elsewhere together. All without having to write real source code, as Node-RED calls Low-code programming for event-driven applications. Node-RED is a tool for connecting hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows. With it, one can for example program a functionality such as activating a relay based on a temperature measurement. Or make far more complex algorithms, tying relays, measurements, or other data available from Venus OS or elsewhere together. All without having to write real source code, as Node-RED calls Low-code programming for event-driven applications.
  
-Also Node-RED features a [[https://flows.nodered.org/node/node-red-dashboard|fully customisable dashboard]], viewable in a webbrowser - both locally but also remotely, via the VRM Servers.+Also Node-RED features a [[https://flows.nodered.org/node/node-red-dashboard|fully customisable dashboard]], viewable in a web browser - both locally but also remotely, via the VRM Servers.
  
 A good tutorial on how to work with Node-RED is here: https://nodered.org/docs/tutorials/first-flow. On https://github.com/victronenergy/node-red-contrib-victron/wiki/Example-Flows you can find example flows that use the Victron Energy nodes. Searching for [[https://flows.nodered.org/search?term=victron|Victron]] on [[https://flows.nodered.org/search?term=victron|https://flows.nodered.org/]] will give all community flows that have been tagged "victron". A good tutorial on how to work with Node-RED is here: https://nodered.org/docs/tutorials/first-flow. On https://github.com/victronenergy/node-red-contrib-victron/wiki/Example-Flows you can find example flows that use the Victron Energy nodes. Searching for [[https://flows.nodered.org/search?term=victron|Victron]] on [[https://flows.nodered.org/search?term=victron|https://flows.nodered.org/]] will give all community flows that have been tagged "victron".
Line 227: Line 234:
 === Charger relays === === Charger relays ===
 The only charger which has a relay that is controllable is the Smart IP43 Charger. To use that for remote control, set its mode, using the VictronConnect app, to be remote controllable. Note that its use is limited: the relay is only powered (and thus only controllable) when the charger is switched on. It doesn't work when it's turned off with AC connected. This limitation applies to the 230V models as well as the later 120V/240V models. The only charger which has a relay that is controllable is the Smart IP43 Charger. To use that for remote control, set its mode, using the VictronConnect app, to be remote controllable. Note that its use is limited: the relay is only powered (and thus only controllable) when the charger is switched on. It doesn't work when it's turned off with AC connected. This limitation applies to the 230V models as well as the later 120V/240V models.
-==== 5.8 Node-RED Dashboard ====+ 
 +==== 5.8 Virtual devices ==== 
 + 
 +Virtual devices make it possible to connect equipment and data sources that are not natively supported by Victron to a GX device. Once created in Node-RED, these devices appear on the GX-device and behave like real Victron-supported hardware, becoming part of the larger Victron-based solution. 
 + 
 +=== Purpose and Examples === 
 + 
 +Virtual devices are ideal for integrating third-party or DIY equipment: 
 +  * **Virtual meteo** – weather data from an unsupported or custom weather system with an API can be injected into a virtual meteo device. The data (e.g. wind speed, temperature, humidity) then becomes visible to the GX and in VRM. 
 +  * **Virtual grid meter** – calculated grid import/export values can be published to the GX device, allowing systems without a supported grid meter to present grid data. 
 +  * **Virtual GPS** – GPSd or another data sources can be used to provide live positional data. 
 +  * **Virtual tank/temperature sensor** – integrate LoRa, MQTT, or custom sensors. 
 + 
 +=== Supported Virtual Devices === 
 + 
 +Currently supported device types include: 
 +  * **Battery** 
 +  * **Generator** 
 +  * **GPS** 
 +  * **Grid meter** 
 +  * **Meteo** (eg. weather station data) 
 +  * **Motor drive** (eg. electric boats) 
 +  * **PV inverter** 
 +  * **Tank sensor** 
 +  * **Temperature sensor** 
 + 
 +=== Setup === 
 + 
 +  - Update to the latest version of Venus OS. 
 +  - Add the relevant **Virtual Device node** in the Node-RED flow. 
 +  - Configure the device type. 
 +  - Connect it to a data source or control logic. 
 + 
 +==== 5.9 Node-RED Dashboard ====
  
 Besides the flow and automation functionally, Node-RED also offers a fully customisable dashboard. Including graphs, indicators as well as controls such as switches and sliders. Besides the flow and automation functionally, Node-RED also offers a fully customisable dashboard. Including graphs, indicators as well as controls such as switches and sliders.
Line 240: Line 280:
 {{ :venus-os:vrm_node_red_ui_step_3.png?direct&600 |VRM Node-RED UI - Step 3}} {{ :venus-os:vrm_node_red_ui_step_3.png?direct&600 |VRM Node-RED UI - Step 3}}
  
-==== 5.Configuration files ====+==== 5.10 Configuration files ====
  
 WARNING: the vast majority of systems using Node-RED will not, and should not (!), have to modify any of the files here described. Venus OS itself, including Venus OS large and Node-RED, is made such that its not necessary to dive into the command line. WARNING: the vast majority of systems using Node-RED will not, and should not (!), have to modify any of the files here described. Venus OS itself, including Venus OS large and Node-RED, is made such that its not necessary to dive into the command line.
Line 259: Line 299:
 For more information on such Node-RED configuration customisations, see https://nodered.org/docs/user-guide/runtime/configuration. For more information on such Node-RED configuration customisations, see https://nodered.org/docs/user-guide/runtime/configuration.
  
-==== 5.10 Ready-to-use solutions ====+==== 5.11 Ready-to-use solutions ====
  
 Node-RED can also be used for doing more advanced tasks. Some examples of ready-to-use solutions are: Node-RED can also be used for doing more advanced tasks. Some examples of ready-to-use solutions are:
Line 265: Line 305:
   * [[https://flows.nodered.org/node/node-red-contrib-eskomsepush|EskomSePush]] - use Node-RED for charging the batteries before the next load shedding happens (for South African users)   * [[https://flows.nodered.org/node/node-red-contrib-eskomsepush|EskomSePush]] - use Node-RED for charging the batteries before the next load shedding happens (for South African users)
  
-==== 5.11 Using data from VRM  ====+==== 5.12 Using data from VRM  ====
  
 For some flows it can be useful to retrieve data from the VRM Portal Database. For example to retrieve de Solar irradiation or yield forecasts. For some flows it can be useful to retrieve data from the VRM Portal Database. For example to retrieve de Solar irradiation or yield forecasts.
Line 290: Line 330:
 The [[https://flows.nodered.org/node/victron-vrm-api|Victron VRM API node]] makes it easy to use the VRM API from a Node-RED flow. Alternatively take a look at above mentioned Dynamic-ESS flow. The [[https://flows.nodered.org/node/victron-vrm-api|Victron VRM API node]] makes it easy to use the VRM API from a Node-RED flow. Alternatively take a look at above mentioned Dynamic-ESS flow.
  
-==== 5.12 Node-RED FAQ ====+==== 5.13 Node-RED files, folders & settings  ==== 
 + 
 +On GX devices, the ''nodered'' system user has its home in ''/data/home/nodered/''. The actual Node-RED runtime (flows, nodes, configuration, and ''settings-user.js'') lives in ''/data/home/nodered/.node-red/''
 + 
 +All files or folders below are in ''/data/home/nodered/.node-red/'': 
 + 
 +| File / Folder | Purpose | Notes / Caution | 
 +| ''settings-user.js'' | Main Node-RED config. See [[https://nodered.org/docs/user-guide/runtime/configuration|here]]. | Controls ports, security, editor options, and contextStorage. Syntax errors here will break startup. | 
 +| ''flows.json'' | Flow definitions | Do not hand-edit unless necessary. Corruption risk. | 
 +| ''flows_cred.json'' | Encrypted flow credentials | Same as above. Hand-editing may break decryption. | 
 +| ''context'' | Stores persistent variables | Only used if explicitly enabled in ''settings.js''. Don't store large or binary data. | 
 +| ''lib'' | Optional library for subflows/functions | Safe for advanced users. Persistent and editable. | 
 + 
 +Note: If created, ''/data/home/nodered/settings.js'' will be ignored by Node-RED on GX devices.  Only ''/data/home/nodered/.node-red/settings-user.js'' will be processed. 
 + 
 +To serve media files (like images) from Node-RED on a GX device, create and edit the file ''/data/home/nodered/.node-red/settings-user.js'' and add: 
 + 
 +<code> 
 +module.exports = { 
 +  httpStatic: "/data/home/nodered/www" 
 +
 +</code> 
 + 
 +Then create a subfolder such as ''/data/home/nodered/www'', make sure it is owned by the ''nodered'' user (''chown -R nodered:nodered''), and place your media files there, for example ''image.png''. The image can be referenced in dashboards using relative URLs like: 
 + 
 +<code>background-image: url(/image.png);</code> 
 + 
 +Restart Node-RED to apply the changes: 
 + 
 +**Stop**   
 +<code>svc -d /service/node-red-venus</code> 
 + 
 +**Start**   
 +<code>svc -u /service/node-red-venus</code> 
 + 
 +**Restart**   
 +<code>svc -t /service/node-red-venus</code> 
 + 
 +NOTE: All files are stored on ''/data'', which has limited space. Do not store large media files, logs, or large images in ''/data''. Consider hosting such data externally and reference via URL or another Node-RED supported external storage mechanism (database, cloud storage, MQTT, FTP, etc). 
 + 
 +==== 5.14 Node-RED FAQ ====
  
 === Q1: Write/read file gives "Error: EACCESS: permission denied' === === Q1: Write/read file gives "Error: EACCESS: permission denied' ===
venus-os/large.1752614268.txt.gz · Last modified: by mvader

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki