Converting nmea2k GPS pngs

I am trying to get the geofence in Victron VRM to work. I have a Garmin MFD that is sending position data in a format that the cerbo does not understand. Victron team says they will look into it, but that it can take a long time… Is it possible to convert position data with signal k, and sent it out over NMEA 2000 so that the cerbo will understand it? https://www.victronenergy.com/media/pg/Cerbo_GX/en/connecting-supported-non-victron-products.html#UUID-ab1beab9-8e31-3274-57c5-c93b22c2aafb The NMEA 2000 device class must be 60, Navigation. The NMEA 2000 device function must be 145, Ownship Position (GNSS). Position (latitude, longtitude) must be transmitted in PGN 129025. Height, which is optional, must be transmitted in PGN 129029. Course and speed (both optional), must be transmitted in PGN 129026.
76 Replies
Kees
Kees5mo ago
Are you running node-red with victron nodes? If so; you can create a virtual GPS device on your cerbo gx and get the inputs from your signalk (that can get it from your NMEA). In that way, I've send the GPS position from my AIS to Cerbo.
Kees
Kees5mo ago
No description
håvard
håvardOP5mo ago
Interesting! No, I am not using node red on the cerbo. I am using it on my home assistant server, so I am familiar with it. Can you share that flow?
Kees
Kees5mo ago
håvard
håvardOP5mo ago
Hmm What is the signalk-subscribe? It appears as unknown in my install. I run signalk on a separate rpi
håvard
håvardOP5mo ago
No description
Kees
Kees5mo ago
These are nodes available only when you run node red as a plugin in signalk. So you should run there instead
håvard
håvardOP5mo ago
Yes I see that this is the embedded plugin. It will not help to run that plugin since my sk installation is running on a separate pi. I could however send data from signalk to cerbo using mqtt for example. Anyone has that up and running?
Kees
Kees5mo ago
you can run the signalk server on your raspberry pi, but you should run node-red on that same machine as plugin of sk. within there you can run the victron node pallet. then you can make a connection with cerbo through mqtt over lan to your raspberry to communicate with your victron. thats the setup i also have use the victron plugin on your signalk too so: raspberry pi with: signalk server signalk node-red plugin (includes the embedded nodes) node-red victron pallet install signalk victron plugin (and configure as mqtt over lan) cerbo with: mqtt over lan NO need for signalk node-red here
håvard
håvardOP5mo ago
Aha, I see. Thanks for the detailed explanation. I already have the victron/venus plugin installed to get data from the cerbo. Do you have to do a special configuration to get the mqtt part up and running or is that the default way of communicating with that plugin? Ok, getting closer, but I think I am missing something here. Getting an error on the custom control node on nodered on the pi. Unable to access the service endpoint:/pkugins/signalk-node-red… I think I need to configure something about where the cerbo is?
håvard
håvardOP5mo ago
No description
No description
No description
håvard
håvardOP5mo ago
@Kees , do you see any obvious reason for why this isn’t working? Or maybe this is now related to your plugin @Scott Bender ?
Kees
Kees5mo ago
what does your debug log in signalk looks like? I could remember I also manually needed to add this line to the signalk configure file in ~/.signalk/signalk-server export NODE_RED_DBUS_ADDRESS=venus.local:78
håvard
håvardOP5mo ago
Will need to check the logs later this week. Do you have any other config on node red config? Have you defined a flow file?
Kees
Kees5mo ago
Nope
No description
Kees
Kees5mo ago
No description
Kees
Kees5mo ago
I remember Venus MQTT host with venus.local did not work for me and needed to use the IP in that plugin
Scott Bender
Scott Bender5mo ago
This
håvard
håvardOP5mo ago
Log or IP?
Scott Bender
Scott Bender5mo ago
export NODE_RED_DBUS_ADDRESS=venus.local:78 assuming venus.local works but that has to be added to ~/.signalk/signalk-server
håvard
håvardOP5mo ago
I have now modified the file and changed to straight IP in the settings. Still not working. Getting this in the log: "May 29 00:00:25 Error setting value for com.victronenergy.gps/100 /Fix: Error: No services available yet. Try again later. May 29 00:00:26 Service com.victronenergy.gps/100 not found in cache. Publish may fail. May 29 00:00:26 Error in setValue: No services available yet. Try again later. May 29 00:00:26 Error setting value for com.victronenergy.gps/100 /Speed: Error: No services available yet. Try again later. May 29 00:00:26 Service com.victronenergy.gps/100 not found in cache. Publish may fail. May 29 00:00:26 Error in setValue: No services available yet. Try again later. May 29 00:00:26 Error setting value for com.victronenergy.gps/100 /Course: Error: No services available yet. Try again later. May 29 00:00:26 Service com.victronenergy.gps/100 not found in cache. Publish may fail. May 29 00:00:26 Error in setValue: No services available yet. Try again later. "
Scott Bender
Scott Bender5mo ago
Did you add the virtual device node? I don’t see it in the screenshot above Oh. I see it now.
håvard
håvardOP5mo ago
No description
håvard
håvardOP5mo ago
I just copied the flow from Kees
Scott Bender
Scott Bender5mo ago
The version of VenusOS matters, although I’m not sure which version this was added.
håvard
håvardOP5mo ago
I am on the latest beta
Scott Bender
Scott Bender5mo ago
I wonder if there could be an issue when importing. Try deleting the Virtual Device and re-creating it.
håvard
håvardOP5mo ago
I do have node red running on the cerbo device as well. To handle some sensors that I need when signalk is not running... Is that be an issue?
Scott Bender
Scott Bender5mo ago
That should be fine
håvard
håvardOP5mo ago
testing
Scott Bender
Scott Bender5mo ago
And you may need to go select the options for each of the other Victron nodes.
håvard
håvardOP5mo ago
No description
håvard
håvardOP5mo ago
tried to delete all the victron nodes and setting them in again
Scott Bender
Scott Bender5mo ago
Did you deploy after re-creating the virtual device? And it does have a connection, right? So other Victron nodes work?
håvard
håvardOP5mo ago
does not look like any of the victron nodes work May 29 00:19:44 29 May 00:19:44 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:19:45 29 May 00:19:45 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:19:46 29 May 00:19:46 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:19:47 29 May 00:19:47 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') Getting this in the log
håvard
håvardOP5mo ago
No description
håvard
håvardOP5mo ago
modified file in the signalk server file
Scott Bender
Scott Bender5mo ago
That export needs to be at the top. and make sure that is all one line
håvard
håvardOP5mo ago
like in the verry beginning?
Scott Bender
Scott Bender5mo ago
Yes, has the be before the server is executed Do another screenshot after you change it so I can verify
håvard
håvardOP5mo ago
is it safer to do the ip rather than venus.local?
Scott Bender
Scott Bender5mo ago
No Make sure you can ping venus.local As long as that works, I would use it. In theory, the ip could change
håvard
håvardOP5mo ago
ha@Havards-MacBook-Air ~ % ping venus.local PING venus.local (192.168.1.4): 56 data bytes 64 bytes from 192.168.1.4: icmp_seq=0 ttl=64 time=8.204 ms 64 bytes from 192.168.1.4: icmp_seq=1 ttl=64 time=2.914 ms 64 bytes from 192.168.1.4: icmp_seq=2 ttl=64 time=9.612 ms 64 bytes from 192.168.1.4: icmp_seq=3 ttl=64 time=3.557 ms 64 bytes from 192.168.1.4: icmp_seq=4 ttl=64 time=2.616 ms 64 bytes from 192.168.1.4: icmp_seq=5 ttl=64 time=8.126 ms ^X64 bytes from 192.168.1.4: icmp_seq=6 ttl=64 time=3.560 ms 64 bytes from 192.168.1.4: icmp_seq=7 ttl=64 time=2.830 ms then I am good
håvard
håvardOP5mo ago
No description
håvard
håvardOP5mo ago
like this then?
Scott Bender
Scott Bender5mo ago
Sorry, after the /bin/sh line
håvard
håvardOP5mo ago
ok
Scott Bender
Scott Bender5mo ago
And make sure “export NODE_RED…. Is one line, looks like it is two Discord may have been messing with our pastes above
håvard
håvardOP5mo ago
No description
Scott Bender
Scott Bender5mo ago
Looks good
håvard
håvardOP5mo ago
ok, will save and restart still getting the same strange
håvard
håvardOP5mo ago
No description
Scott Bender
Scott Bender5mo ago
That has nothing to do with this
håvard
håvardOP5mo ago
May 29 00:40:29 29 May 00:40:29 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:30 29 May 00:40:30 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:30 Error connecting to dbus: Error: connect ECONNREFUSED 192.168.1.4:78 May 29 00:40:31 29 May 00:40:31 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:32 29 May 00:40:32 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:33 29 May 00:40:33 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:34 29 May 00:40:34 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') May 29 00:40:35 29 May 00:40:35 - [error] [victron-output-custom:8cc50321315524e9] TypeError: Cannot read properties of undefined (reading 'disabled') logs
Scott Bender
Scott Bender5mo ago
Try to take a look at messages from node-red at startup
håvard
håvardOP5mo ago
May 29 00:41:38 29 May 00:41:38 - [info] Welcome to Node-RED =================== May 29 00:41:38 29 May 00:41:38 - [info] Node-RED version: v3.1.15 May 29 00:41:38 29 May 00:41:38 - [info] Node.js version: v18.20.8 May 29 00:41:38 29 May 00:41:38 - [info] Linux 6.12.20+rpt-rpi-2712 arm64 LE May 29 00:41:39 29 May 00:41:39 - [info] Loading palette nodes May 29 00:41:39 [object Object] May 29 00:41:40 29 May 00:41:40 - [info] Context store : 'default' [module=memory] May 29 00:41:40 29 May 00:41:40 - [info] User directory : /home/pi/.signalk/red May 29 00:41:40 29 May 00:41:40 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable May 29 00:41:40 29 May 00:41:40 - [warn] Flows file name not set. Generating name using hostname. May 29 00:41:40 29 May 00:41:40 - [info] Flows file : /home/pi/.signalk/red/flows_boatpi.json May 29 00:41:40 29 May 00:41:40 - [warn] Encrypted credentials not found May 29 00:41:40 29 May 00:41:40 - [info] Starting flows May 29 00:41:40 29 May 00:41:40 - [warn] [victron-virtual:Signalk GPS] Connecting to TCP address tcp:host=venus.local,port=78. May 29 00:41:40 29 May 00:41:40 - [info] Started flows May 29 00:41:40 Error: connect ECONNREFUSED 192.168.1.4:78 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '192.168.1.4', port: 78 } May 29 00:41:40 Error connecting to dbus: Error: connect ECONNREFUSED 192.168.1.4:78
Scott Bender
Scott Bender5mo ago
Ahh. Shoot!! We forgot one other thing
håvard
håvardOP5mo ago
🙂 well I cant think of it
Scott Bender
Scott Bender5mo ago
dbus needs to be enabled for TCP can't remember how to do it!!
håvard
håvardOP5mo ago
aha on the venus or signalk?
Scott Bender
Scott Bender5mo ago
that's on venus
# On the GX device
dbus -y com.victronenergy.settings /Settings/Services/InsecureDbusOverTcp SetValue 1
# Reboot required
# On the GX device
dbus -y com.victronenergy.settings /Settings/Services/InsecureDbusOverTcp SetValue 1
# Reboot required
håvard
håvardOP5mo ago
I see
Scott Bender
Scott Bender5mo ago
GitHub
node-red-contrib-victron/docs/INSTALL.md at master · victronenergy...
Contribute to victronenergy/node-red-contrib-victron development by creating an account on GitHub.
håvard
håvardOP5mo ago
aha so do I ssh and change that line?
Scott Bender
Scott Bender5mo ago
ssh in and just run on the command-line dbus -y com.victronenergy.settings /Settings/Services/InsecureDbusOverTcp SetValue 1
håvard
håvardOP5mo ago
aha
Scott Bender
Scott Bender5mo ago
then reboot the venus device
håvard
håvardOP5mo ago
do you know the login venus device? I have not been on that with ssh yet
Scott Bender
Scott Bender5mo ago
https://www.victronenergy.com/live/ccgx:root_access I have to head out, can help more later tonight or tomorrow…
håvard
håvardOP5mo ago
it is getting late here as well thanks a lot. Looks like the way to anable ssh access has changed with the new UI. Will need to see how this is enabled... Things are looking much better now. Getting the communication to work. But I am seeing some unstability. Getting some errors that the site has stopped reporting to vrm. And I am unable to connect to vrm through cloud. Could it be related?
håvard
håvardOP5mo ago
No description
håvard
håvardOP5mo ago
When I turn off the main switch for the signalk and mfd it starts to report again… Hmmm. Looks like it is related to the mfd and venus. They are connected to show the venus app on the mfd
Scott Bender
Scott Bender5mo ago
You have SignalK turned on in VenusOS?
håvard
håvardOP5mo ago
No And it starts to report when I turn off the mfd, so perhaps not related to the pi, but rather Venus <-> MFD?
Scott Bender
Scott Bender5mo ago
Sounds like it, but I have no idea.
håvard
håvardOP5mo ago
But thanks a lot on the help with getting the node red to work from signalk. I will continue to look at the VRM dropout, but maybe not related to this topic… The issue about VRM time out looks as it is addressed in the Venus beta: Networking Fix issues with feature that allows to have a WiFi and an Ethernet network connected at the same time and then wanting WiFi to be used for internet. This had issues, also in v3.55. Now fixed, and the way to make this happen is to configure the ethernet connection, which normally has priority over the WiFi connection, with a gateway of 0.0.0.0.

Did you find this page helpful?