venus-os:large
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
venus-os:large [2022-09-08 09:18] – [5.6. Node-RED FAQ] dfaber | venus-os:large [2025-08-18 19:38] (current) – Added first draft of Virtual devices warwickchapman | ||
---|---|---|---|
Line 2: | Line 2: | ||
===== 1. Introduction ===== | ===== 1. Introduction ===== | ||
- | ==== 1.1 Venus OS Large, Node-RED and Signal K server? ==== | ||
- | This manual documents Venus OS Large, an extended build of Venus OS, that adds [[https:// | ||
- | **Node-RED** | + | This manual documents Venus OS Large. Venus OS is the the software running on our [[https:// |
- | Also Node-RED | + | **Node-RED** offers PLC like programming for connecting hardware devices, APIs and online services. It provides |
+ | Also Node-RED features a [[https:// | ||
- | **Signal K server** is aimed for yachts, and multiplexes data from NMEA0183, NMEA 2000, Signal K and other sensor inputs. It makes all that data available for Apps, such as [[https://www.wilhelmsk.com/|WilhelmSK]], | + | To get a good idea of its possibilities, see the [[https://github.com/ |
- | From VRM, a connection to Node-RED, the Node-RED dashboard and Signal K can be made. | + | **Signal K server** Signal K Server is a server application that runs on a central hub in a boat; in this case a Victron GX device. A few of its most used features are: |
- | {{ :venus-os: | + | |
- | Note that only the services that are enabled are shown in the VRM menu. | + | - WiFi navigation and AIS data server to charting apps such as iSailor, Navionics, iNavX, Aqua Map. |
- | ==== 1.2 Status | + | - The perfect Anchor alarm, for features |
+ | - Automatic log book | ||
+ | - Serve full featured marine instrumentation package such as the iOS [[https:// | ||
- | Currently, these images are available as beta versions. They work well, several users are using this without any issues; and are super happy with the provided functionality. | + | The [[https:// |
- | The remaining work are mostly small improvements, clean ups and testing. | + | For more information on Signal K on Venus OS, see below chapter. |
- | There will be two flavours of Venus OS to install: | ||
- | - the normal one as we've been building for years now. With all normal & supported functionality. | ||
- | - the large flavour. All the same as the normal one, but with addition of Signal K & Node-RED. | ||
- | Switching between them is easy: a simple switch in the gui, see Settings -> Firmware -> Online updates -> Image type. | + | ===== 2. Where to find support ===== |
- | Why are there two images, instead of just one? That is to save download and install time for the (vast majority) | + | Victron maintains |
- | ===== 2. Where to find support | + | **Node-RED |
+ | The Victron Community is a good place to ask questions and get answers: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | There is and will be **no official support** on the functionalities included in this image. | + | 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. |
- | For support, | + | **Signal K community** |
+ | For support | ||
- | There, first search if someone else had a similar question already. And if you can’t find such, then create a new question. | ||
- | |||
- | For support on SignalK, there is a #victron channel in [[http:// | ||
===== 3. Requirements ===== | ===== 3. Requirements ===== | ||
Line 45: | Line 43: | ||
The compatible GX devices are: | The compatible GX devices are: | ||
+ | * Ekrano GX (fastest processor) | ||
+ | * Cerbo GX (second-fastest processor) | ||
+ | * Cerbo-S GX | ||
+ | * Venus GX (slowest processor) | ||
+ | * Octo GX | ||
+ | * MultiPlus-II GX (fastest processor) | ||
+ | * EasySolar-II GX (fastest processor) | ||
- | * Cerbo GX | + | The Color Control |
- | * Venus GX | + | |
- | * Octo GX | + | |
- | * MultiPlus-II GX | + | |
- | * EasySolar-II GX | + | |
+ | Venus OS large is also available for certain RaspberryPi models. Installation files below, and installation & other RaspberryPi specific instructions [[https:// | ||
- | The CCGX and 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, | + | 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' |
- | 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 | ||
- | Ofcourse, how intensive depends on what kind of flows (node-red) or how many messages & handling | + | 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 |
- | 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 " | + | More details about CPU & RAM differences |
- | 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 ===== | + | ===== 3. How to install |
=== Step 1. Preparations === | === Step 1. Preparations === | ||
Line 75: | Line 77: | ||
* __MultiPlus-II GX__ - No preparations required. | * __MultiPlus-II GX__ - No preparations required. | ||
* __EasySolar-II GX__ - No preparations required. | * __EasySolar-II GX__ - No preparations required. | ||
- | * __RaspberryPi 3__ - No preparations required; unless the Pi is running a version prior to v2.70. In that case, the sdcard will first need to be reflashed with a v2.70 or later version, using a .wic.gz file, [[https:// | + | * __RaspberryPi 3__ - No preparations required. |
* __RaspberryPi 4__ - No preparations required. | * __RaspberryPi 4__ - No preparations required. | ||
Note, when installing on a RaspberryPi, | Note, when installing on a RaspberryPi, | ||
- | === Step 2. Update to the latest | + | === Step 2. Update to the latest |
- | (And once v2.90 is released officially, its no longer needed | + | See Settings -> General -> Firmware -> Online updates |
- | Instructions and details on installing | + | === Step 3. Set the image type Venus OS Large === |
- | === Step 3. Switch to Venus OS Large === | + | In the Online updates menu: |
+ | {{ : | ||
- | Go to Settings -> Firmware -> Online updates -> Image type. | + | Set the Image type to ' |
- | There select | + | The firmware will take some time to download depending on the speed of your Internet connection, after which the GX-device will reboot |
- | The change-log is embedded in the (rather long) [[https:// | + | === Step 4. Verify and enable === |
- | === Step 3. Verify and enable | + | - Verify |
+ | - Enable either Signal K or Node-RED. Installer access level is required to enable/disable these settings. | ||
- | - Verify that the image was successfully installed: go to the Settings menu, and check that the Venus OS Large menu is available. | + | Visible once successfully installed, the integration settings: |
- | - Enable either Signal K or Node-RED. Note that though its possible to enable both, doing that on a Venus GX is " | + | {{ :venus-os: |
- | Visible once successfully installed, the Venus OS Large menu: | ||
- | {{ : | ||
- | ===== 4. How to update | + | === How to update === |
- | v2.8x: updates can only be done using the offline update | + | Both online and offline update |
- | v2.90 and later: both online | + | ===== 4. Accessing Node-RED |
+ | |||
+ | After installing | ||
+ | |||
+ | To access the Node-RED flow editor, type https:// | ||
+ | |||
+ | === Node-RED flow editor === | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | To access the Signal K admin panel, type http:// | ||
+ | |||
+ | === Signal K admin panel === | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | See [[https:// | ||
===== 5. Node-RED ===== | ===== 5. Node-RED ===== | ||
+ | {{ https:// | ||
==== 5.1 Introduction ==== | ==== 5.1 Introduction ==== | ||
Line 115: | Line 134: | ||
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, | 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, | ||
- | Also Node-RED features a [[https:// | + | Also Node-RED features a [[https:// |
+ | |||
+ | A good tutorial on how to work with Node-RED is here: https:// | ||
+ | |||
+ | ==== 5.2 Three part introductory webinar ==== | ||
+ | |||
+ | This is a 3 part introductory webinar on Node-RED and Venus available at the Victron Tech YouTube channel: | ||
+ | |||
+ | [[https:// | ||
+ | | ||
+ | [[https:// | ||
+ | | ||
+ | [[https:// | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | The Node-RED editor can be accessed from your LAN at https:// | ||
+ | |||
+ | ==== 5.3 Node specifications ==== | ||
+ | |||
+ | Node-RED comes with a core set of useful nodes, and within the Venus OS large install there is a set of Victron nodes added to that: the Victron Pallet. All of the different nodes are described [[https:// | ||
+ | |||
+ | For developers: source code for the node-red-contrib-victron modules is [[https:// | ||
- | A good tutorial on how to work with Node-RED is here: https:// | + | ==== 5.4 Examples ==== |
- | The Node-RED editor | + | Our most up to date library of examples |
- | __Standard nodes + Victron nodes__ | + | {{ :venus-os:examples_node-red.png?direct |}} |
- | Node-RED comes with a core set of useful nodes, and within the Venus OS large install there is a set of Victron nodes added to that: the Victron Pallet. | + | |
- | For developers: source code for that is [[https:// | + | To see the examples when you don't have access to a Node-RED installation and flow-editor, |
- | note that updating the module is not possible from either the Node-RED editor as the commandline. The recommended way to get to the new node-red-contrib-victron version is to await a new Venus OS large build. | + | |
- | ==== 5.2 Back-up and restore ==== | + | ==== 5.5 Back-up and restore ==== |
Just as with other software it is important to keep your Node-RED flows save and secure. We advise you to periodically backup your flows using the palette manager "// | Just as with other software it is important to keep your Node-RED flows save and secure. We advise you to periodically backup your flows using the palette manager "// | ||
Line 137: | Line 177: | ||
Do note that the above instruction only makes a backup of your flows, not of the Node-RED configuration. The configuration is stored in '' | Do note that the above instruction only makes a backup of your flows, not of the Node-RED configuration. The configuration is stored in '' | ||
- | ==== 5.3 Installing extra nodes ==== | + | ==== 5.6 Installing extra nodes ==== |
Node-RED comes with a core set of useful nodes, but there are many more available from both the Node-RED project as well as the wider community. | Node-RED comes with a core set of useful nodes, but there are many more available from both the Node-RED project as well as the wider community. | ||
Line 155: | Line 195: | ||
Refer to the remove button in the palette manager to remove self-installed palettes. | Refer to the remove button in the palette manager to remove self-installed palettes. | ||
- | When installing a newer version of a palette than what is pre-installed in Venus OS, node-red will use that newer version. | + | When installing a newer version of a palette than what is pre-installed in Venus OS, Node-RED will use that newer version. |
Make sure that there is always 30MB of free space remaining on the data partition. One of the [[https:// | Make sure that there is always 30MB of free space remaining on the data partition. One of the [[https:// | ||
- | ==== 5.4 Controlling relays ==== | + | ==== 5.7 Controlling relays ==== |
+ | |||
+ | For a relay to be controllable via Node-RED, it needs to be switched to manual control first. In most cases this needs to be done by using [[https:// | ||
+ | |||
+ | ;#; | ||
+ | {{: | ||
+ | ;#; | ||
=== GX Device relays === | === GX Device relays === | ||
Line 176: | Line 222: | ||
=== SolarCharger MPPT Relay === | === SolarCharger MPPT Relay === | ||
- | Currently it is not possible | + | In order to switch |
Note that only the larger model solar chargers feature a relay. | Note that only the larger model solar chargers feature a relay. | ||
=== (VE.Bus connected-) Multi, Quattro and similar product relays === | === (VE.Bus connected-) Multi, Quattro and similar product relays === | ||
- | Its not possible to control the alarm relay nor the AC-out 2 contactor of our inverter/ | + | Its not possible to control the alarm relay nor the AC-out 2 contactor of our inverter/ |
=== RS series (inverter, multi) relays === | === RS series (inverter, multi) relays === | ||
- | Currently not controllable. Will be controllable in the future. | + | First set the relay to //manual control// using VictronConnect. Once that has been done, the relay can be controlled using Node-RED. |
=== Charger relays === | === Charger relays === | ||
- | The only charger which has a relay that is controllable is the Phoenix | + | 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' |
- | ==== 5.5 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 switch** – an IoT switch running Tasmota can be exposed in the GX New UI switch pane, and controlled in automation flows based on conditions such as battery state of charge. | ||
+ | * **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, | ||
+ | * **Virtual grid meter** – calculated grid import/ | ||
+ | * **Virtual GPS** – GPSd or another data sources can be used to provide live positional data. | ||
+ | * **Virtual tank/ | ||
+ | |||
+ | |||
+ | === 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** | ||
+ | * **Switch** | ||
+ | * **Tank sensor** | ||
+ | * **Temperature sensor** | ||
+ | |||
+ | > Support for additional devices may be added in the future depending on feedback and use cases. | ||
+ | |||
+ | === Virtual Switches === | ||
+ | |||
+ | Virtual Switches are a special class of virtual devices: | ||
+ | * They appear in the **Switch pane** of the **New GUI** in Venus OS. | ||
+ | * They can be controlled like a real digital switch — toggled on/off, queried from the GX, and automated via Node-RED flows. | ||
+ | * Their state is stored on the GX device and can survive reboots. | ||
+ | * They are useful for integrating third-party automation logic, external hardware, or remote control scenarios without requiring a physical relay. | ||
+ | |||
+ | === 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, | Besides the flow and automation functionally, | ||
Line 194: | Line 286: | ||
It is viewable in a web browser - both locally as well as remote, via the VRM Servers. See chapter 6.2 for how to see it remotely. | It is viewable in a web browser - both locally as well as remote, via the VRM Servers. See chapter 6.2 for how to see it remotely. | ||
- | The dashboard needs to be installed, just like other extra palettes, using the Manage Palette feature, on the right of the screen in the menus. | + | The [[https:// |
- | Once that is done, you can find the nodes in the palettes on the left. | + | Once that is done, you can find the nodes in the palettes on the left. Once the dashboard has been configured and deployed, an extra tile will appear in the //Venus OS Large// menu on VRM, allowing to connect to the dashboard via VRM. |
Example dashboard: | Example dashboard: | ||
{{ : | {{ : | ||
- | ==== 5.6. Node-RED FAQ ==== | + | ==== 5.10 Configuration files ==== |
- | === Q: Write/read file gives " | + | 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. |
+ | |||
+ | The information here provided is for the benefit of the (few) users that do need or want to change them. | ||
+ | |||
+ | On startup of Node-RED on Venus reads three settings files. | ||
+ | - ''/ | ||
+ | - ''/ | ||
+ | - ''/ | ||
+ | When using these files, make sure that the configuration is enclosed within a '' | ||
+ | |||
+ | There are more configuration files in ''/ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | For more information on such Node-RED configuration customisations, | ||
+ | |||
+ | ==== 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: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== 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. | ||
+ | |||
+ | To access data from the VRM API, a VRM access token is needed. This is done by going to the [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Thereafter, that token can be used to retrieve data from the VRM Portal API. | ||
+ | |||
+ | Full portal API documentation is here: https:// | ||
+ | |||
+ | To, for example, retrieve Solar Irradiation forecasts, see the [[https:// | ||
+ | |||
+ | 1221 vrm_pv_inverter_yield_fc 7 PV Inverter - Yield Forecast | ||
+ | 1220 vrm_pv_charger_yield_fc 4 Solar Charger - Yield Forecast | ||
+ | 1173 vrm_solar_irradiance_fc 0 Solar Irradiance Forecast | ||
+ | 1172 vrm_solar_irradiance 0 Solar Irradiance | ||
+ | |||
+ | Note that there could be more relevant attributes, see VRM documentation for that. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | The [[https:// | ||
+ | |||
+ | ==== 5.13 Node-RED files, folders & settings | ||
+ | |||
+ | On GX devices, the '' | ||
+ | |||
+ | All files or folders below are in ''/ | ||
+ | |||
+ | | File / Folder | Purpose | Notes / Caution | | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | Note: If created, ''/ | ||
+ | |||
+ | To serve media files (like images) from Node-RED on a GX device, create and edit the file ''/ | ||
+ | |||
+ | < | ||
+ | module.exports = { | ||
+ | httpStatic: "/ | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Then create a subfolder such as ''/ | ||
+ | |||
+ | < | ||
+ | |||
+ | Restart Node-RED to apply the changes: | ||
+ | |||
+ | **Stop** | ||
+ | < | ||
+ | |||
+ | **Start** | ||
+ | < | ||
+ | |||
+ | **Restart** | ||
+ | < | ||
+ | |||
+ | NOTE: All files are stored on ''/ | ||
+ | |||
+ | ==== 5.14 Node-RED FAQ ==== | ||
+ | |||
+ | === Q1: Write/read file gives " | ||
Since Venus OS 2.90 and on wards, Node-RED no longer runs as user '' | Since Venus OS 2.90 and on wards, Node-RED no longer runs as user '' | ||
- | === Q: How can I update the Victron node pallette === | + | === Q2: How can I update the Victron node pallette === |
As that pallette is part of the total Venus OS large package, it can only be updated by installing a newer Venus OS large version. | As that pallette is part of the total Venus OS large package, it can only be updated by installing a newer Venus OS large version. | ||
Line 213: | Line 395: | ||
In case you see that there is a newer version Victron pallette available online, and thats not yet shipping in a Venus OS Large version, then the only option is to wait: a new Venus OS Large version is usually made available shortly after updating that pallette. | In case you see that there is a newer version Victron pallette available online, and thats not yet shipping in a Venus OS Large version, then the only option is to wait: a new Venus OS Large version is usually made available shortly after updating that pallette. | ||
- | === Q: How can I password protect Node-RED === | + | === Q3: How can I password protect Node-RED |
+ | |||
+ | __Venus OS v3.50 and later__ | ||
+ | |||
+ | For systems that have a security profile set (under Settings -> General -> Security Profile), the password protection is linked to the chosen security profile. The password that has been set for either security profile " | ||
+ | |||
+ | __ Venus OS versions prior to v3.50__ | ||
- | Password protection of Node-Red is linked | + | The Node-RED's password protection |
- | === Q: How do I restart Node-RED from the Venus GUI? === | + | === Q4: How do I restart Node-RED from the Venus GUI? === |
In order to restart Node-RED you need to disable and enable it from the menu. You can find this under //Venus OS Large Features -> Node-RED//. | In order to restart Node-RED you need to disable and enable it from the menu. You can find this under //Venus OS Large Features -> Node-RED//. | ||
- | === Q: How does safe mode work and what is it? === | + | === Q5: How does safe mode work and what is it? === |
From the Venus GUI you can select Node-RED to be enabled in "safe mode". This means that Node-RED will start without starting the flows. This allows you to open the flows in the editor and make changes without the flows running. When you deploy your changes, the flows are then started. The safe mode can be handy if one of the flows has an error that causes high CPU loads on the Venus device or other issues. | From the Venus GUI you can select Node-RED to be enabled in "safe mode". This means that Node-RED will start without starting the flows. This allows you to open the flows in the editor and make changes without the flows running. When you deploy your changes, the flows are then started. The safe mode can be handy if one of the flows has an error that causes high CPU loads on the Venus device or other issues. | ||
- | === Q: Can I install the @signalk/ | + | === Q6: Can I install the @signalk/ |
No, at least not into the node-red instance which comes as part of Venus OS Large. To @signalk/ | No, at least not into the node-red instance which comes as part of Venus OS Large. To @signalk/ | ||
Line 233: | Line 421: | ||
- install the Victron pallette into the Node-RED thats part of SignalK server | - install the Victron pallette into the Node-RED thats part of SignalK server | ||
- | === Q: I get the error: Failed to remove, unrecognised module === | + | === Q7: I get the error: Failed to remove, unrecognised module === |
This is seen when trying to remove a module that has been previously uninstalled, | This is seen when trying to remove a module that has been previously uninstalled, | ||
Line 244: | Line 432: | ||
After following these steps Node-RED should know about the module again and you should be able to remove or upgrade it. | After following these steps Node-RED should know about the module again and you should be able to remove or upgrade it. | ||
+ | |||
+ | === Q8: The browser complains about non private connection === | ||
+ | |||
+ | Node-RED on Venus now uses SSL for its connection. As the certificate is signed by a "self signed certificate", | ||
+ | |||
+ | Another implication might be that you need to prepend the connection with '' | ||
+ | |||
+ | Finally, if you want to use the Node-RED command line interface for administration, | ||
+ | |||
+ | export NODE_EXTRA_CA_CERTS=/ | ||
+ | | ||
+ | === Q9: How often do the Victron input nodes send a msg? === | ||
+ | |||
+ | The input nodes send out a message on each value change. If the ‘//only changes// | ||
+ | |||
+ | === Q10: How can I get Node-RED to also listen to http port 1880 === | ||
+ | |||
+ | There are some nodes that are only able to connect to a http site. In that case you probably also want to enable http on port 1880. This can be achieved by creating (or adding to) a user configuration file ''/ | ||
+ | |||
+ | module.exports = { | ||
+ | /* Make sure that we also listen on port 1880 on all interfaces */ | ||
+ | | ||
+ | } | ||
+ | |||
+ | And restart Node-RED. | ||
+ | |||
+ | === Q11: Is there a way to have the context survive reboots? === | ||
+ | |||
+ | By default the context is stored in RAM memory of the GX device only. When the GX device reboots or loses lower, the context information is lost. | ||
+ | |||
+ | In order to keep the context data, it is needed to [[https:// | ||
+ | |||
+ | module.exports = { | ||
+ | contextStorage: | ||
+ | default: { | ||
+ | module: " | ||
+ | config: { | ||
+ | flushInterval: | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | With the above settings, context files will get created periodically in ''/ | ||
===== 6. Signal K ===== | ===== 6. Signal K ===== | ||
Line 250: | Line 482: | ||
=== 6.1.1 Why have Signal K on your GX Device? === | === 6.1.1 Why have Signal K on your GX Device? === | ||
- | By adding Signal K, the GX device becomes a data hub for all marine electronics on your yacht. For example | + | By adding Signal K, the GX device becomes a data hub for all marine electronics on your yacht. For example |
Also, there are SignalK plugins to forward the data to influxdb & Grafana. | Also, there are SignalK plugins to forward the data to influxdb & Grafana. | ||
Line 256: | Line 488: | ||
Popular Apps compatible with Signal K: | Popular Apps compatible with Signal K: | ||
+ | * Auqua Map | ||
+ | * iNavX | ||
+ | * iSailor | ||
+ | * Navionics | ||
* [[https:// | * [[https:// | ||
* ... (welcome to add more here) | * ... (welcome to add more here) | ||
Line 273: | Line 509: | ||
Signalk-server is a software application that, in the context of this manual, runs on your GX Device and interface to all Victron protocols and more. It uses plugins, and there is a large community of enthusiasts around it, making it one of the most flexible and complete pieces of software that understands the plethora of protocols of all different manufacturers that make marine electronics. | Signalk-server is a software application that, in the context of this manual, runs on your GX Device and interface to all Victron protocols and more. It uses plugins, and there is a large community of enthusiasts around it, making it one of the most flexible and complete pieces of software that understands the plethora of protocols of all different manufacturers that make marine electronics. | ||
- | For more information on Signal K, read [[http://signalk.org/overview.html|the Signal K website]]. And our blog post of a while ago. | + | For more information on Signal K, read the [[https://github.com/SignalK/ |
Note that Signal K is not a Victron project. At Victron, we are great fans of sailing, open source as well as community driven projects. And Signal K is a perfect example of such project. And when running on a GX Device its a perfect marriage. | Note that Signal K is not a Victron project. At Victron, we are great fans of sailing, open source as well as community driven projects. And Signal K is a perfect example of such project. And when running on a GX Device its a perfect marriage. | ||
- | === 6.1.4 Signal K - the data format | + | === 6.1.3 Considerations on how to install |
- | Strictly speaking, Signal K is not software but a data format. And Signalk-server is the name of the software. | + | The type of install described in this document, running Venus OS including SignalK, has these advantages: no need to use a rapsberrypi, |
- | This section explains | + | The other common type of Signal K Server install, installed on a RaspberryPi running Raspbian, has the advantages of more flexibility, |
- | Signal K is a modern and open data format | + | There is no one right way for everyone to do this; the best solution will depend on the requirement. |
- | - create a shared data model for marine related data | + | For raspberrypi owners, note that its very easy to try both methods |
- | - make marine related data easy to access, handle | + | |
- | The shared data model allows you to handle the data in a uniform way independent of how the data is produced. In practice this means that you can refer to your battery voltage with `electrical/ | + | ==== 6.2 Documentation |
- | Easy access means that you can use modern standards like HTTP, WebSockets and JSON that are in widespread. There is a wealth of knowledge and skilled people are easy to find, with no special | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
- | In Venus OS it brings all the data available in the GX system, including NMEA 2000 data, to a single data model and programming interface. | + | Do not contact normal Victron support for any help on SignalK. Its based on community support, not official support. |
- | === 6.1.3 Considerations on how to install Signal K === | ||
- | The type of install described in this document, running Venus OS including SignalK, has these advantages: TODO elaborate. Doing this was born out of a wish to make SignalK more mainstream, less of a rapsberrypi / hobbieists/ | + | ==== 6.3 First use & configuring ==== |
- | The other common type of SignalK install, installed on a RaspberryPi running Raspbian, has the advantages of more flexibility, | + | Follow these steps to turn your GX into a NMEA to WiFi gateway within 5 minutes. |
- | There is no one right way for everyone to do this; the best solution will depend on the requirement. | + | These instructions assume that your GX device has already been set-up with Venus OS Large, and Signal K is enabled. |
+ | |||
+ | === Step 1. Signal K Admin page === | ||
- | For raspberrypi owners, note that its very easy to try both methods | + | Open a web browser, and go to the Signal K admin page by navigating to http:// |
- | ==== 6.2 Where to find support? ==== | + | {{ : |
- | As above already introduced, use [[https:// | + | === Step 2. Set the admin password |
- | Do not contact normal Victron support | + | Go to Security -> Users and create an admin user for Signal K and protect it with a secure password. |
- | ==== 6.3 Signal K details ==== | + | {{ : |
- | TODO: remove these versions, and replace by a link to the change-log. | + | === Step 3. Vessel information === |
- | And instead add information | + | Go to Settings and enter some basic information |
- | | + | {{ :venus-os:img_9926.png |}} |
- | - Victron Venus Plugin, v1.22.0 | + | |
- | ==== 6.4 First use & configuring ==== | + | === Step 4. NMEA2000 Can-bus connection |
- | === Step 1. Opening | + | For NMEA2000 networks, its recommended to have all connected devices use isolated connections. Therefore, when connecting |
- | Open a web browser, and go to the SignalK Dashboard by navigating to http:// | + | Signal K is preconfigured |
- | Further documentation about that is ... (some link to signalk-node documentation? | + | Here is how you can see the preconfigured connection in the Signal K Dashboard: |
- | === Step 2. Configure serial connections === | + | ;#; |
+ | {{: | ||
+ | ;#; | ||
- | Use this to, for example, configure | + | Note that, to keep that operational, that port must remain configured as a 250kbit VE.Can & NMEA2000 port in the Remote Console: |
- | Make sure to not add a connection using any of the built-in serial ports (/ | + | ;#; |
+ | {{: | ||
+ | ;#; | ||
+ | |||
+ | For more information on CAN-busses, see chapter 6.4. | ||
+ | |||
+ | === Step 5. Optional: Configure NMEA0183 serial connections === | ||
+ | |||
+ | Use this to, for example, configure a USB-connected NMEA0183 connection in SignalK. Go to Server -> Connections. | ||
+ | |||
+ | Make sure to not add a connection using any of the built-in serial ports (/ | ||
Note that once configured in SignalK, for example a USB-serial port, that port is no longer normally available in Venus OS. For example, when plugging in a USB-GPS; and then adding a connection for its corresponding tty in the SignalK, makes for that GPS to be no longer be recognised and available in Venus OS. | Note that once configured in SignalK, for example a USB-serial port, that port is no longer normally available in Venus OS. For example, when plugging in a USB-GPS; and then adding a connection for its corresponding tty in the SignalK, makes for that GPS to be no longer be recognised and available in Venus OS. | ||
- | === Step 3. Configure can-bus connections | + | === Step 6. Verify received data === |
- | For the Venus GX, SignalK comes pre-configured with a NMEA2000 listener for the VE.Can ports, its named " | + | Go to the Databrowser to see the data now available to Signal K, and to tablets and nav. apps on WiFi: |
- | ;#; | + | {{ :venus-os:img_2578.png |}} |
- | {{: | + | |
- | ;#; | + | |
+ | === Step 7. Configure your nav app === | ||
- | Note that, to keep that operational, | + | Steps needed here will differ per app. The key required data is: |
- | ;#; | + | * Host/IP address: **venus.local** |
- | {{: | + | * Protocol: **TCP** |
- | ;#; | + | * Port: **10110** |
+ | |||
+ | === Done! === | ||
+ | |||
+ | Now you should have all your data such as position from the boat’s GPS, speed, wind data, as well as AIS targets in your favourite nav app. Like here in Navionics: | ||
+ | |||
+ | {{ :venus-os:img_2581.jpeg?nolink | ||
+ | |||
+ | === Where to go from here? Anchor alarms, trip recording, automatic log books and more === | ||
+ | |||
+ | * Anchor alarm: https:// | ||
+ | * Automatic log book & trip recording: https:// | ||
+ | ==== 6.4 CAN-bus ports ==== | ||
+ | |||
+ | Below lists documents the mapping from physical ports on the device to the interface within Venus OS. This information is needed when you want to deviate from the standard configuration. | ||
+ | |||
+ | === Cerbo GX === | ||
+ | |||
+ | ^ Enclosure label ^ Interface ^ Notes ^ | ||
+ | | VE.Can 1 | can0 | Non-isolated and default enabled in SignalK | | ||
+ | | BMS-Can | can1 | Non-isolated, | ||
+ | |||
+ | Within the Victron product range, CAN-bus ports that are labelled BMS-Can are limited in their functionality due to hardware constraints. Their only use is to connect to a managed battery such as BYD and Pylontech, used in landbased ESS & Off-grid systems - not in the marine market. | ||
+ | === Cerbo GX MK2 === | ||
- | === Step 4. Adding Signalk Plugins or Webapps === | + | ^ Enclosure label ^ Interface ^ Notes ^ |
+ | | VE.Can 1 | vecan0 | Isolated and default enabled in SignalK | | ||
+ | | VE.Can 2 | vecan1 | Non-isolated | | ||
- | TODO: explain & warn about data partition size & space (since thats where plugins are installed by signalk on Venus OS). Filling up the datapartition can corrupt Venus OS. More information about data partition on Venus OS here: https:// | + | === Ekrano GX === |
+ | ^ Enclosure label ^ Interface ^ Notes ^ | ||
+ | | VE.Can 1 | vecan0 | Isolated and default enabled in SignalK | | ||
+ | | VE.Can 2 | vecan1 | Non-isolated | | ||
==== 6.5 Signal K FAQ ==== | ==== 6.5 Signal K FAQ ==== | ||
- | === Q1 How to best handle & install a GPS === | + | === Q1 - How to best handle & install a GPS === |
You want the data available in SignalK and in Venus OS, so that it gets to VRM. And preferably a quality GPS. | You want the data available in SignalK and in Venus OS, so that it gets to VRM. And preferably a quality GPS. | ||
Line 381: | Line 657: | ||
Tbd. Actually a NMEA0183-network is probably something that doesnt exist: you can't have NMEA0183 in a network, its point to point. | Tbd. Actually a NMEA0183-network is probably something that doesnt exist: you can't have NMEA0183 in a network, its point to point. | ||
+ | |||
+ | === Q2 - What happens when I updated a pre-installed Plugin? === | ||
+ | |||
+ | A few plugins are installed by default on Venus OS Large. These include FreeboardSK, | ||
+ | |||
+ | When a newer version of such plugin is available, it is still possible to install the update - by pressing the Update button in the Signal K Admin UI -> Appstore -> Installed page. | ||
+ | |||
+ | The newer version of the plugin gets installed onto the data partition. And Signal K server will use that, as it prioritises the version of the plugins installed there over the one included in the image. | ||
+ | |||
+ | WARNING: above also means that once Venus OS ships with a newer version of the plugin than the version installed manually, Signal K Server will keep using that older one. To get out of such situation, remove the plugin by using the Appstore -> Installed page, and then the trash icon. | ||
+ | |||
+ | Note that the same icon is also available for the pre-installed plugins. Pressing it does nothing - since they can't be removed. | ||
+ | |||
+ | === Q3 - Can I update signalk-server? | ||
+ | |||
+ | Signal K Server comes preinstalled with Venus OS. And except by " | ||
+ | |||
+ | The normal -and recommended- method to get a newer version of Signal K Server is to wait for Victron to release a newer version of Venus OS. | ||
+ | |||
+ | In case you can’t wait, and don’t mind the extra work as well as risks, here is how to update it yourself. | ||
+ | |||
+ | Be warned, this method might or might not remain working | ||
+ | |||
+ | Note that all changes made to the rootfs will be overwritten the next time you do a Venus OS update. | ||
+ | |||
+ | Step 1: Get yourself [[https:// | ||
+ | |||
+ | Step 2: Follow this procedure: | ||
+ | |||
+ | < | ||
+ | ## Change the rootfs from read-only to read/write, as well as increase file system size | ||
+ | ## to use the complete partition. | ||
+ | / | ||
+ | |||
+ | ## Backup a file you'll need to restore later | ||
+ | # dev-tip: a list of especially installed files on a Victron install is here: | ||
+ | # https:// | ||
+ | # in that folder, open the .bb file and read the do_install function | ||
+ | cp / | ||
+ | |||
+ | ## See version as well as install location for signalk-server | ||
+ | npm list -g | ||
+ | |||
+ | # output will be something like this: | ||
+ | # /usr/lib | ||
+ | # ├── @victronenergy/ | ||
+ | # ├── corepack@0.17.0 | ||
+ | # ├── node-red@3.1.0 | ||
+ | # ├── npm@9.5.1 | ||
+ | # └── signalk-server@1.46.3 | ||
+ | |||
+ | ## Stop signalk-server | ||
+ | svc -d / | ||
+ | |||
+ | ## Update to a newer version, here is how to update to last released version: | ||
+ | npm install -g signalk-server | ||
+ | |||
+ | # And to update to a more specific version, do something similar to this: | ||
+ | # npm install -g signalk-server@2.3.0-beta.2 | ||
+ | |||
+ | # Output will be something like this: | ||
+ | # added 120 packages, removed 179 packages, and changed 586 packages in 6m | ||
+ | # | ||
+ | # 57 packages are looking for funding | ||
+ | # run `npm fund` for details | ||
+ | |||
+ | ## Restore that file | ||
+ | mv / | ||
+ | |||
+ | ## Install the signalk-venus-plugin in same place where it normally is on Venus OS | ||
+ | cd / | ||
+ | npm install signalk-venus-plugin | ||
+ | |||
+ | ## If you want, see updated version: | ||
+ | npm list -g | ||
+ | |||
+ | # output will be similar as above, but then with newer version | ||
+ | |||
+ | ## start signalk-server again, and see log output: | ||
+ | svc -u / | ||
+ | |||
+ | ## press CTRL-C to stop seeing the log. signalk-server will keep running in the background. | ||
+ | </ | ||
===== 7. Remote access via VRM ===== | ===== 7. Remote access via VRM ===== | ||
- | ==== 7.1 Node-RED flow editor and Signal K ==== | ||
- | It it possible to access Node-RED flow editor and Signal K remotely via VRM - the interface and functionality is identical to access via LAN (ie. via **http:// | ||
- | === Step by step instructions === | + | The three available web interfaces, |
- | * **Step 1.** Log into/ | + | |
- | {{ :venus-os: | + | |
- | * **Step 2.** Modify the URL to include **/proxy/** after the site URL ID number (note that the last **/** is required) | + | After enabling them, to the VRM, and there click the Venus OS Large menu. Note that this might be slow, depending on the quality of the connection. |
- | As an example: **https:// | + | |
- | + | ||
- | {{ : | + | |
- | * **Step 3.** Click on the **Node-RED** or **Signal K** button in the Proxy relay screen; depending on location and the speed of internet connection, there may be a short delay while loading | + | {{ :venus-os:venus_os_large_menu2.png?nolink |
- | {{ :venus-os:vrm_node_red_step_3a.png?direct& | + | |
- | {{ : | + | |
- | * **Step 4.** The Node-RED flow editor or Signal K interface screen will appear | + | ===== 8. Troubleshooting ===== |
- | {{ : | + | |
- | ==== 7.2 Node-RED Dashboard/User Interface | + | ==== 8.1 Disk space issues |
- | It it also possible to access the Node-RED dashboard/ | + | |
- | === Step by step instructions === | + | Using both Signal K Server, as well as Node-RED, |
- | * **Step 1.** Install the Node-RED | + | |
- | * **Step 2.** Follow steps #1 to 4 in section 6.1 above in order to ' | + | The GX device will issue a warning, |
- | * **Step 3.** The ' | + | To see the exact free space, go to Settings |
- | As an example: **https:// | + | |
- | {{ :venus-os: | + | |
- | | + | Having the data partition full will lead to unexpected results. The system is not built to be resilient for that. Some examples: |
- | {{ :venus-os:vrm_node_red_ui_step_3.png? | + | |
+ | - Venus OS itself no longer working correctly, | ||
+ | - Signal K Server refuses to start / no longer works, | ||
+ | - Node-RED refuses to start, | ||
+ | - and similar. | ||
+ | |||
+ | Depending on what the issue is, there are a few things you can do: | ||
+ | |||
+ | - Remove all Node-RED flows and installed node palettes. See next chapter on how to do that. | ||
+ | - Remove all Signal K Server log files. In case you're using SignalK, then we recommend to try that option first. See next chapter on how to do that (requires a USB stick or SD Card), and once done make sure to double check you're Signal K log setup; Most importantly, | ||
+ | - Do full GX factory reset, as per the instructions in the GX user manuals. This includes downloading a file called venus-data.tgz; | ||
+ | - A more detailed approach is logging into the SSH console, and checking for disk space: | ||
+ | |||
+ | **Tips and tricks to login a diagnose disk space** | ||
+ | |||
+ | Require root access: https:// | ||
+ | |||
+ | The '' | ||
+ | |||
+ | < | ||
+ | root@einstein:/ | ||
+ | Filesystem | ||
+ | / | ||
+ | devtmpfs | ||
+ | tmpfs | ||
+ | tmpfs | ||
+ | / | ||
+ | tmpfs | ||
+ | overlay | ||
+ | </ | ||
+ | |||
+ | The '' | ||
+ | |||
+ | < | ||
+ | root@Cerbo:/ | ||
+ | 1103640 / | ||
+ | 1099352 / | ||
+ | 1099276 / | ||
+ | 87048 / | ||
+ | 65732 / | ||
+ | 7188 / | ||
+ | 3920 / | ||
+ | 744 / | ||
+ | 164 / | ||
+ | 160 / | ||
+ | 116 / | ||
+ | 116 / | ||
+ | </ | ||
+ | |||
+ | This is a view of a more healthy tree: | ||
+ | < | ||
+ | root@Cerbo:/ | ||
+ | 164608 / | ||
+ | 160312 / | ||
+ | 160240 / | ||
+ | 87048 / | ||
+ | 65732 / | ||
+ | 7188 / | ||
+ | 3924 / | ||
+ | 744 / | ||
+ | </ | ||
+ | |||
+ | ==== 8.2 Backup / Reset to factory defaults | ||
+ | |||
+ | There are scenarios where you want to make a backup of your data or when you want to clear logging or even start all over and go back to factory defaults. In order to make this process easy, you can put one (or more) of the following files on an USB stick and reboot your device. The files will be unpacked and the scripts within will execute. Once the script is ready with its tasks, a notification of 3 beeps can be heard (on a Multiplus-II GX the notification will be shown in the display). After which the USB stick can be removed. | ||
+ | |||
+ | | ||
+ | | ||
+ | * [[https:// | ||
+ | * [[https://www.victronenergy.com/ | ||
+ | See [[https:// |
venus-os/large.1662621527.txt.gz · Last modified: by dfaber