Skip to content

Translating system components into the HTML5 app

Alex Imbrea edited this page Jul 14, 2021 · 9 revisions

This page lists what sort of Victron systems (= product combinations) are compatible with the html5 UI; and how the UI renders them in the various combinations.

1. Accepted device combinations

  • Battery (1 or more)
  • Inverter/charger (0 or 1)
  • Charger (0 or more)
  • Inverter (0 or more)
  • Solar (0 or 1)
  • Generators (0 or more)

Having a BMV or other battery monitor is mandatory; and relied upon in the design. For example the DC Loads box requires it.

Devices not shown are:

  • Tanks: they'll be already shown else where on a Marine MFD; mostly in the native MFD UI.
  • Digital inputs
  • Analog inputs (temperature measurements)

2. Devices; and how they translate into boxes

2.1 Inverter/charger

Information about the inverter/charger consists of three things:

  • The "Shore power / Generator" box shows info about the currently active source; When "Shore power" is active, the button to change the "shore power input limit" also becomes available
  • The "Shore power / Generator" box needs to be shown once for each configured input. The installer configures the inputs in Settings -> System Setup. And in localsettings its available as /settings/0/Settings/SystemSetup/AcInput1 and 2.
    • The name shown depends on how its been configured (as Generator, Shore, etc) in that system menu.
    • The input current limit needs to be always shown; when adjustable, it must be shown as a button that can be pressed to modify it. When not adjustable; just show the number.
    • When the Shore is not active; say Unplugged; when active; show Voltage, Current and Power.
    • When the Generator is not active; say Stopped; when active; show Voltage, Current and Power.
  • The "AC Loads" box shows info about the current consumption directly from the multi (i.e. not from system); If 3 phase current is used, it will show consumption per phases
  • The "Inverter/charger" box shows the state and the "On/Off/Charger only" switch. If the "ModeIsAdjustable" setting is disabled, then the buttons will be disabled as well.

More details about what topics are used for each setting are available in TOPICS.md.

2.2 Chargers

For every charger on D-Bus, show a box in the ui. Chargers can be found on D-Bus under com.victronenergy.charger. There is no information about chargers that you need to take from com.victronenergy.system.

D-Bus Spec is here: https://github.com/victronenergy/venus/wiki/dbus#ac-chargers

The box should contain this information:

  • The state (Off, Bulk, Absorption, and so forth)
  • The switch (on/off), if available on D-Bus (/Mode). There is no ModeIsAdjustable for chargers. It is always adjustable; as long as available on D-Bus: some models might not have an on/off switch.
  • The AC input current limit; if available on D-Bus. There is no IsAdjustable for this for chargers; it is always adjustable; as long as available on D-Bus.
  • Charge current (DC Amps), can be 1 or 3 currents to show. We have chargers with one output, and chargers with 3 outputs.
  • We're not going to show voltages; because its already part of the batteries box.

So, this means, depending on how many chargers are in the system; the user will see multiple boxes; one for each of them.

In case of advanced chargers like the Skylla-i; two physical devices be paralleld in their wiring: together charge one sept of batteries. This is handled in its driver on Venus; and on D-Bus they will shown as one.

2.3 Inverters

For each com.victronenergy.inverter and com.victronenergy.vebus, with /Ac/NumberOfInputs == 0 on the D-Bus, the app shows a box that has state and its switch. Details in the How to show an inverter issue.

2.4 Solar

Solar-charger: box that is present when there are one or more Solar-charger installed. Data is already available from System-calc: the total power coming from solar. Data to be shown is output power (/Dc/Pv/Power), and the output current (/Dc/Pv/Current).

3. Generic boxes that show conditionally

3.1 Batteries

A box that shows the main battery and, if available, also data from the rest of the batteries. Data is taken from the /Batteries path in systemcalc. Details in TOPICS.md and the dbus page on venus github wiki.

3.2 AC Loads

Is shown when there is an inverter/charger installed: com.victronenergy.vebus with /Ac/NumberOfInputs != 0.

3.3 DC Loads

Shows current & power.

Is shown when system /Dc/System/Power is available on D-Bus. Otherwise; hide it.

Current is calculated by dividing the power by the main battery voltage.

Todo: Systemcalc will need to get logic to either publish/not publish that path.

4. Custom names (labels)

  • Most devices can be given a name by the installer.
  • On D-Bus they are available on the /CustomName path.
  • Documentation is here and here

Logic to use: if there is a Custom name: show it. If not, show product name / generic title.

5. Small systems vs large systems

The role of the html5 app is to be a dependable simple mechanism to show the Victron system status.

And it needs to cater to different use cases. The two extremes:

For a small system, a privately owned small boat; the user is a consumer. Aesthetics is important (for example that boat photo at upper right in first design); and being able to understand it all at first glance, even if you only see it once a year on your summer holiday.

For large systems, the user is (typically) a power user and/or even professional crew. That will have, besides this app, a custom SCADA type designed system. Therefore: the aesthetics and keeping it simple and possible to understand at a first glance become less important. Having all the values (even if many) organised in one screen is the key for those users.