Rune Eilertsen avatar image
Rune Eilertsen suggested

Engine hours on console and VRM

Hi, would be nice to have motor hours in overview, dashboard and advanced pages (history).

And be able to define alarms on motor run hour. ( Maybe both warning and alarm. ( Yellow/ red motor status. )

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.

harold avatar image harold commented ·

For the generator you mean?

0 Likes 0 ·
laurenceh avatar image
laurenceh commented

Interesting idea, some thoughts and observations below do comment and I will have a look and see what I can get working.

1: this original idea may relate to a generator but I ( and I expect many others) would be interested in this for their narrowboats and RVs where how long we have run the engine is a useful metric - particularly for engine service intervals.

2: I am doing this currently from VRM logs. I download the logs in excel and count all the time the DC system is producing energy. This works because; (a) on my narrowboat the boat engine drives an alternator, and when on the alternator always generates more than the boat DC systems consume. (b) Venus OS already carefully calculate the impact of solar generation and multiplus inverter consumption, so the DC system power consumption is purely that and is -ve when the alternator is generating. ( The only case I would need to check is if I turn the engine on when connected to shore power but I expect that will probably also work)

3: I can easily write a service in Venus that locally counts all the time the engine is on using the same method, it’s probably a couple of hours work.

4: getting it into the VRM is the issue. I have used a trick before that any data which claims to be a temperature is automatically included in the local Venus UI and also on the VRM. So provided the VRM does not care how high the ‘temperature’ value is, it should be possible to fool the VRM to display the engine hours even though it will say “engine hours xxxx (deg) C” worst case I might have to scale the value so in my case 4,678 hours might be displayed as 4.678.

Once I have the data there are people on this forum who are better than me at modifying the system overview screens who can do that bit.

Please let me know any thoughts on this over the next few days and I will give it a go.

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.

Rune Eilertsen avatar image Rune Eilertsen commented ·
I think an official solution is what I am looking for. And how it counting motor hour can for me be selected from.

a: generator run hour.. (those are already present in venus device, so should be easy to collect… and those run hour would be even better if has a total hour and an trip counter that can be reset when do engine service. (As today)

b: input signal when engine is running…

Motor hour is of great importance for fleet operations.

0 Likes 0 ·
laurenceh avatar image
laurenceh commented


I would like to revisit this and see how this could be done, I have made quite a bit pf progress myself.

Version: Im now running on Venus OS 2.87 on a raspberry Pi

Objective: Have the Console display and the vRM display the total engine hours for my narrowboat engine.

I want to revisit this because the Tachometer + hours meter on my boat failed - no longer recording hours. I was able to download the logs from the portal and determine in excel the cruising time for each day for my trips this yer but the files were huge and the process was tedious.


1) I created a simple generator dubs service with these values/objects:

dbus -y com.victronenergy.genset.native_id00 / GetValue

{'Connected': 1,

'Dc/0/Power': 60,

'Dc/0/Voltage': 12,

'Dc/0/current': 5,

'DeviceInstance': 0,

'Engine/On': 1,

'Engine/OperatingHours': 60000,

'FirmwareVersion': 0,

'HardwareVersion': 0,

'HeatsinkTemperature': 35,

'IsDcGenset': 1,

'Mgmt/Connection': 'Ladys Smock',

'Mgmt/ProcessName': './',

'Mgmt/ProcessVersion': 'Unkown version, and running on Python 3.8.11',

'ProductId': 0,

'ProductName': '',

'Start': 1}

All values are static for now, but I can use the DC generation from the Alternator to determine when the engine is running (the alternator will always generate surplus DC power when running), and the alternator is the only DC generator on the DC circuit.

However, the generator is not visible in any setting on the Venus Console.

2) I found the generator on the VRM portal and made a widget which looks like what I want:screenshot-2022-07-22-at-123222.png

But does not show how I could get a numeric read of the current value.


a) Do I have to use a 'generator' type object or is there an easy way of creating an Object on the DBUS which is just engine hours?

So does anyone have any experience in creating an object just to display numbers against a device (other than temperature) that will show on the Venus console?

Otherwise how do I have to tweak my 'virtual' generator so that it will appear and show the engine hours value on the console.

b) How can I get a more informative display on the VRM that give me the figures not just the graph ?

Anyone who can post some examples screenshots from the Venus console or VRM showing how a real generator appears might give me some clues.

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.

laurenceh avatar image laurenceh commented ·

Right: pretty much got it working, screen shots here, code to follow.

I’m going to go for counting the time that the DC system is producing not consuming, there is too much opportunity to fry things connecting an alternator wire to my Rpi.

This approach means others can try it just with software without any extra wires. This is done as a pseudo 6th analogue interface so the console and the VRM both display the values. I had to tinker with the qml a bit to get it to say hours.

d0c6ca7f-8423-489d-bcd2-e0cbfbf0cb26.pngConsole engine hours

0 Likes 0 ·
johanndo avatar image
johanndo commented

It can be done easier and more accurate using digital inputs, and a signal like D+ from the alternator, that signals a running engine. No need to trust DC system loads are less then the Alternator output. Time Measuring is then easy, You just log the on and off and accumulate the on hours into a non-volatile settings variable.

2 |3000

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

Your Opinion Counts

Share your great idea, or help out by voting for other people's ideas.