question

gvrutten avatar image
gvrutten asked

VRM: Remote firmware update for third party developers

Goodmorning,


I have created two devices drivers for Venus OS, a network based NMEA0183 parser for GPS location information and a Loxone API adapter to query tank / temperature levels. As these drivers will be used in a large number of installations I would like to be able to update the drivers remotely in case that's necessary for whatever reason (new functionality / bugs) and the VRM Remote Firmware Update looks like functionality that could solve the trick instead of having to write something new.

Documentation states the currently supported devices which do not include third party driver updates.

My question is the following: does Victron have plans to open this functionality up to third party developers? If so, could you provide a rough timeframe for this?

Thanks!

Regards,



Gjalt

VRMfirmware update
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

2 Answers
Daniël Boekel (Victron Energy Staff) avatar image
Daniël Boekel (Victron Energy Staff) answered ·

Hi @gvrutten

Sorry I was mistaken, it is not possible to do so.

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

gvrutten avatar image gvrutten commented ·

Hi Daniel, thanks, will do!

0 Likes 0 ·
jeroen avatar image
jeroen answered ·

Is this opensource code / generally useful? An option might be to include it in the Venus OS, but that also means a commitment to maintaining it / solving problems etc. And it would depend on what you wrote at all in the first place..

6 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

gvrutten avatar image gvrutten commented ·

Goodmorning Jeroen,


The NMEA driver is quite generic. It parses incoming NMEA sentences (over a UDP / TCP connection) and maps the relevant talker values to DBUS values. IP configuration & mapping values are currently stored in a configuration file. I could change that so that it uses localsettings and I guess it would be nice to have some GUI functionality to configure it. I've tested it with a couple of network based GPS devices (Teltonika / Sierra Wireless routers) and it works nicely.

The Loxone driver is currently tailored towards a specific solution but could be made generic. I'd be willing to spend some more time on that.

Both drivers can be open sourced and are written in Python.

What would be a next step? Are you in the Netherlands? Maybe a quick call?

Regards,


Gjalt

0 Likes 0 ·
jeroen avatar image jeroen ♦ gvrutten commented ·

Pitty you did the nmea 183 yet again, we already have our own, https://github.com/victronenergy/dbus_gps, we have optional support for gpsd, so this would be the third version and am not looking forward to support that.

The Loxone driver seems to be rather specific use case.

I do understand what you want to do though, and you can, but VRM won't provide it, you will have to come up with something yourself.


0 Likes 0 ·
gvrutten avatar image gvrutten jeroen ♦ commented ·

Hi Jeroen,

I know you already have the dbus_gps driver however documentation clearly states / starts with "Daemon on Venus OS that reads info from a usb/serial gps" which does not include any reference to network support. I did see the 2.40 release notes that mention gpsd but in my particular case that won't work either.

Noted updating 3rd party software on Venus OS won't be possible using "VRM Remote Firmware Update" so will look for alternatives.

Thank you!

0 Likes 0 ·
jeroen avatar image jeroen ♦ gvrutten commented ·

I am aware that that it uses usb/serial at the moment, but that can be changed of course. I don't know the details about gpds, but seems like a candidate to make dbus_gps just a simply wrapper to get the info on the dbus as Venus expects it and optional send it to the network. What is missing for you?

(I think the later should be a separate service though, it doesn't really matter where the gps info is coming from, might be NMEA2000 etc etc as well)

0 Likes 0 ·
huit avatar image huit jeroen ♦ commented ·

+1 for wanting to read NMEA0183 GPS data from the network stream (rather than a usb/serial) and publish it to the dbus for venus OS.

I am currently using signalk on my CerboGX to parse NMEA0183 sent as UDP (can also send TCP) packets from my router (Siretta quartz compact), which has its own GPS and handily supports this type of stream. SignalK is overkill for this purpose and I do prefer the venus OS display for the rest of the system data.

I read that we can't build dbus_gps ourselves as it contains proprietary libraries so I didn't bother looking at the source code. @gvrutten are you willing to share your driver and advice on loading it?

0 Likes 0 ·
pau1phi11ips avatar image pau1phi11ips gvrutten commented ·

Would be very interested in seeing your Teltonika implementation if you have it available on Github or something? I could work on the UI for adding the settings to it.

0 Likes 0 ·