Hobohome avatar image

Open Victron Data - What would you like to see?

I was very pleased to see the comment made by @mvader when launching this MODs space about a more open Victron - this is really great news.

I think that one of the best ways to demonstrate this intent and to encourage the development of great mods, is for Victron to make more data available to people who are developing intergrations and external solutions. By data I mean real time data about what is happening internally in their equipment.

The inclusion of an MQTT broker in the Venus OS is a fantastic step in the right direction. For those who have not been exposed to MQTT, it is a very lightweight protocol that has been around for a long time and has recently been adopted as the protocol of choice for many home automation hubs and systems - and it is now built into the VenusOS devices!

Venus OS includes a Python script that creates a bridge between the Victron D-Bus and MQTT - this means that for the first time tons of real-time data points are now available to external systems. But not everything we need is made available.

The purpose of this post is to invite Moders to add to a wish list of data we would like to see published via MQTT. If the powers at Victron can see value in making this data available, they may make the necessary changes to make this happen.

To get us started, here is my wish list...

  • The controller mode (BULK, Adsorb, Float, EQL etc) (I have found a work-around for this, but it would be good to have the real data published)
  • The target voltage (if the controller is in constant voltage mode - what is the target voltage?)
  • The target current (if the controller is in constant current mode - what is the target current?)
  • Battery Temperature being used by the controller in calculating temperature compensation.
  • The duty cycle used for PWM when the controller is not in MPPT mode. This would be a great starting point for external load-dump calculations for making use of excess solar energy.
  • Number of days since the last equalise cycle - this could be used to trigger a reminder.
  • The heat-sync temperatures - this could trigger a warning message before it gets critical.

I'm sure I'll think of other things in time and I hope others will also add their wish list.

Venus GX - VGXVenus OSAGM BatteryMQTT
10 |3000 characters needed characters left characters exceeded

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

Good idea.

  • Quattro has some kind of temperature probe inside that it uses to make decisions about cooling fan, derating, overload shutdown, etc. I would like to be able to see this temperature.
  • It would be nice to be able to see what is left on the absorption timer, when applicable.
  • There are many values that I would like to be writeable rather than just information-only.
  • It would be nice if D-Bus and MQTT values were entirely 1:1, so that there would be no difference in using either protocol.

By the way, I think "controller mode" is already available on MQTT, with no workaround required?

The absorption time remaining is a really good one! That would be so useful for external systems to make intelligent decisions.

I have spent a lot of time looking for the controller mode in MQTT and I have not found it. When the system is in DVCC mode, I have found a topic that show that, but not which mode the controller has been instructed to be in. I find this odd as the VRM portal graphs this info. If anyone knows what the topic is for this, I would really like to know.

Can you not see, for example, a path like:


Both my MPPT and inverter have this path available. However, maybe I am misunderstanding what you are looking for.

Yep, I can see that topic - but the value returned is "252" no matter what state the controller is in.

I can't find any documentation on this - but I'm guessing that it is a bit-mapped value '11111100' - I have no clue as to what those bits represent. If anyone knows where this is documented, please let me know.

For my devices, that path resolves to a regular, non-bitmapped integer that maps into the table of values documented on the D-Bus paths page. Most of those integers are values between 0 and 9.

So, it may be that something is wrong (or your device is unsupported) since you are seeing a weird value.

The value 252 in that table says "External control" - This of course means DVCC is controlling the device.

That of course leaves you with no idea what state the device is in (it clearly knows as its LED shows the state).

Given that the d-bus path "/MppOperationMode" is not passed to MQTT (at least on my system), this seems like an intended omission.

Show more comments
1 Answer
basreflex avatar image

the dutycycle of an MPPT or PWM solar charger does tell you the ratio of input and output voltage as they are of the synchronous type for best efficiency. as the Si solarcell MPP voltage is dependent on current and temperature, it is hard to derive an excess available power measure out of that. sofar only thin film panels of the CGIS mature have a stable MPP voltage, independent of solarisation, but there is still a temperature coefficient on that. you can check for example the Solar Frontiers panel data for that.

10 |3000 characters needed characters left characters exceeded

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