Engine integration

Hi all,

In the latest release (see attached image), I noticed there’s now an engine integration feature available.

My engine and Cerbo are both connected to the NMEA 2000 (N2K) network, and I can already see the engine/battery data on my Raymarine Axiom chartplotter.

How can I get this N2K engine data to show up on the Cerbo GX and in the VRM portal?
Is any additional configuration needed?

Thanks in advance!

The boat page picks up info from an electric motor, but you will not have an electric motor in your devices. The way I have populated my boat page is load the large image, activate Node-RED and create a virtual motor. Then I read in the required info into Node-RED such as engine rpm and output that to the virtual motor. The boat page then picks up my diesel engine rpm.

2 Likes

There is info in the V3.60 slide pack.

Creating a digital twin seems like an interesting and promising solution. I have lots of sensors—maybe I should build a digital twin of the yacht as well! :wink: I’ll need to read up on how and what kind of data can be displayed locally on the Cerbo and what can be viewed remotely via VRM.

After learning some lessons from (#46 Data partition full), I’m wondering: how much can I really load onto the Cerbo? Would it be possible to run Node-RED alongside the standard Victron software?

There are people who run Node-RED on a separate unit such as a Raspberry Pi and transfer info with the Cerbo rather than on the Cerbo but that is outside my knowledge. There are posts in the Modifications Section on this such as the one below if searched for

That only works with NMEA2000 data though, yes?

In theory it should also be possible with CANopen data (e.g. from the SEVCON motor controllers which are widely used) but Victron don’t support this… :frowning:

(unless this can be done somehow using Node Red?)

What’s missing is how to push the info to a Virtual Device.

I have a VETUS E-line electric motor. The motor itself is not NMEA 2000 compatible, but VETUS supplies a bridge device as part of their touchscreen offering, converting some messages from VE.Can to NMEA2000. The screen has an NMEA 2000 input.

Unfortunately, it does not work out of the box, perhaps some misalignment in PGNs, who knows? But there is another route; I also installed SignalK on my CerboGX, and I can see the motor data, such as revolutions, gear position, and temperature of the motor and controller.

So I first created the Virtual Device and set it to Motor, and marked RPM.

I then added a SignalK subscribe node and added the path to the Motor RPM, and then Publish. Unfortunately, in my case, Node-Red becomes unresponsive, but I was able to do some more research in Node Red safe mode.

I did find a Victron Input node, I can’t recall the exact name; I need to go back to the boat then. However, I was unable to find the Virtual Motor to push the Signalk data to. Curious to learn how others did it.

edit: I think not being able to find the virtual motor may have to do with this thread, I ran into the same issues and warnings with Node Red on 3.6. Will try again this week!

Sorted @sandervd00 ?

@mpvader We are on our way there, I will have a look at this system soon.

1 Like

Ha Matthijs, thanks for checking in;

Yes, working with @ptrenz on the Vetus E-Line N2K messages.

I also did fiddle around a bit more with NodeRed and Virtual Devices but got stuck with this “DBus Connection Closed” message on the Virtual Device (Node Red via SignalK install). See: [BUG]Virtual device: Dbus connection closed on 3.62 · Issue #246 · victronenergy/node-red-contrib-victron · GitHub

I was not able to set the environment variable PERSISTED_STATE_LOCATION and will need to check if node-red-contrib-victron 1.6.34 fixes this for me. Will try to check tonight.

1 Like

Managed to get it all working via SignalK + NodeRed. It did require the fix in 1.6.34.

Created some conversions from Hz to RPM, K to Celsius, and Text (Gears) to numbers. Works quite nicely. I use the GPS from Victron’s LTE modem as the speed source on the Boat Page; it’s quite bouncy and can benefit from a filter. I also started working on some efficiency calculations in Node-RED. W/km for the last x seconds, for example. I plan to use KIP to display these.

I did run into a new issue, though. I was charging the boat today, and while working on the Cerbo GX at the same time, I kept receiving messages that the connection to the BMS had been lost. I had to reboot a couple of times. I did not make any changes to the wiring. Could a higher CPU load cause these?

The ideal situation would be if the N2K PGN’s from my VETUS E-line motor are recognized. Will capture some logs next week with @ptrenz

I forgot to take some screenshots, but I will do so in the next few days.

I love to see some screenshots of how you did this.
I see the Venus OS 3.70-26 supports PGNs 127488, 127489 and 127493.
I dont know how to get them into Venus OS.
Cerbo is connected to N2K network and I have NodeRed running. I would prefer not to use Signal-K if possible.

Hi Slapperia,

I abandoned the NodeR + SignalK route. It increases the CPU load to such a level that sometimes the connection to my MG BMS drops.

In the meantime, I worked with Victron Support (thanks both!), and they have been in contact with VETUS. Victron reached out to me last week, and I was able to test the beta firmware you mentioned with the PGNs spit out by the VETUS CAN bridge. For one reason or another VETUS chose a set of PGNs related to combustion engines. Long story short, the new firmware automatically takes the data from the N2K bus and displays it on the new boat page. No need to configure anything.

As you can see, all data is displayed. Speed was zero because I hit the throttle while still being moored. Great interface, and this could easily function as the prime display for any electric boat.

Wishlist for future developments:

  1. The forward and reverse positions are inverse. I first need to figure out if this can be configured in the VETUS system. If it is hard-coded, being able to transpose the position would be a nice addition.
  2. Less jittery GPS. I use an external Bingfu GPS SMA antenna connected to a Victron GX LTE 4G. It can be bouncy and could use a filter.
  3. And lastly, my friends who use the boat are not super up to speed on the power consumption, and because it is all so quiet and effortless, they tend to use way more energy (not a problem, but I can only charge in public places, so consumption = time). Power generally has a cubic relationship with speed, meaning doubling the speed requires approximately eight times the power. I use NodeR, SignalK, and KIP on an OpenMarine McArthur HAT connected to NMEA 2000 to calculate kWh/NM. This setup is obviously overkill and only serves my curiosities and tinkering. It would be great to enhance the Cerbo’s boat display with a power economy figure like kWh/NM.

Thanks for the support Team Victron.

1 Like

You might be interested in reading this topic:

Not mentioned there but visible in the Node-RED flow is how we override the RPM value (virtual motor) with a ‘consumption’ value in Ah/km.

I use Node-RED to manage lighting, Orion XS devices, and Multipus charging profiles based on state of charge and temperature. It also automatically stops charging at 80% to protect battery health.

I’ve integrated my NMEA GPS into Node-RED so I can track the boat’s location—especially useful in case of theft. Cerbo GX runs Node-RED reliably, as long as I avoid logging dashboard values, which strains performance.

I’d love for the boat control page to support selectable PNG for working with combustion engine layouts. With that capability, the Cerbo and its display could effectively replace traditional chart plotters for engine monitoring and diagnostics.

Nice idea!

1 Like

If we are doing the boat page whish list, I would like to put an emphasis on the separation of the propulsion system from the onboard power supply system. The current boat page feature is based on a hidden assumption that everything runs of a single primary battery where in reality the largest battery is most likely a separate 48V, 80V or 96V propulsion battery with several smaller batteries in use for 12V, 24V DC boardnet power and, for instance through a MultiPlus also 230V AC boardnet on its own 48V battery.

It would greatly enhance the useability of the VenusOS + display + I/O + VRM platform if boat page could be freed from that hidden assumption by means of:

  • Independent battery selection for boat page (separate BMV Smartshunt f.i.)
  • Independent display preference settings (re: amps versus watts discussion)
  • A page lock protection (block access to settings from the dashboard display)
  • (Nice to have: a Node-RED GPS ‘datastream’ node to allow adding a custom speed filter to smooth those jumps out)

And yes, a propulsion efficiency / economy feature is almost a must. We use a virtual motor to display ‘virtual Amperage’ for power and ‘virtual Ah/KM’ values (abusing the RPM display). Virtual Amperage meaning Power/nominal battery voltage, to stay linear with actual power over the full voltage range of the battery. This not only provides valuable information to the captain/skipper driving the boat but also allows direct logging of speed, power ánd propulsion efficiency to VRM which has proven to be very helpful for troubleshooting, ever had a plastic bag in your propellor and you’ll understand instantly.

If you’d want to shoot for a ‘near perfect’ boat page update, I would add the ability to run multiple displays from a single Cerbo: one dedicated to the boat page / propulsion system, the other(s) as regular display for the onboard energy and power systems.

And a final longshot: will there ever be a new BMV Smartshunt for 96V nominal batteries? To close the gap between the current LV and HV options.

Thanks @UpCycleElectric ; all noted

You’re welcome and feel free to contact me for details about our current GPS filter solution and what I meant with ‘datastream’ node. The short version is that the raw GPS datastream provides valuable hints about the reliability of the current readout. This allows for an efffective prefilter. Adding a simple postfilter and upscaler (1Hz to 5Hz) for speed and the speeddial stops ‘jittering’: an instant upgrade to the professional ‘look and feel’ of the boat page.

And then I left some nice to have’s out also, a multi temperature widget for instance, to see battery, motor ánd controller temps. Quite relevant since the CANopen update to include Sevcon connectivity. And averaging the logging data before sending them to VRM, engine power can vary quite a bit over a full minute, making the logging data very noisy. And and and but that won’t stop since we are just starting so I’ll leave it at this.

Hi @UpCycleElectric , would you be open to share your Node-RED flow for GPS smoothing? I’d like to take a look at it.