Appearance
Is the voltage sane? Is anything charging?
The energy page says the bank is at 40 % and falling, and nobody believes it. Or the solar is producing nothing on a bright day. Or a converter is reported in fault and no one can say which one.
muxen-diag-voltage puts every electrical device on the boat on one screen with the same four numbers — voltage in, current in, voltage out, current out — plus whatever else each family reports. It is the fastest way to see which device is the odd one out.
For an owner: this is the boat's whole electrical system in one table, read live off the bus. It changes nothing.
Running it
sh
muxen-diag-voltage # the local broker
muxen-diag-voltage -h 192.168.1.10 # a boat on the networkIt needs 87 columns.
Reading the table
MUXEN Voltage Explorer mqtt://127.0.0.1:1883 Connected
──────────────────────────────────────────────────────────────
DEVICE AGE VOLT(V) CURR(A) VOLT2(V) CURR2(A) EXTRA
──────────────────────────────────────────────────────────────
Bloc8 #1 * 12.7 4.2 - -
Battery #1 * 51.2 -80.1 - - OK SOC:78% T:24
Converter #1 * 51.0 12.4 230.1 2.7 BULK T:41
Solar #1 * 51.4 28.0 78.2 6.1 FLOAT T:35
Motor #1 * 50.8 -80.0 - - DRIVE T:52 1450rpm| Column | Meaning |
|---|---|
DEVICE | device family and displayed instance |
AGE | how long ago the row last had live data |
VOLT / CURR | the device's primary electrical side |
VOLT2 / CURR2 | its secondary side, where it has one |
EXTRA | state, state of charge, temperature, rpm, power — whatever the family reports |
D toggles the EXTRA column, which is on by default. ? opens a legend.
Which side is which
A converter has two electrical sides at once, and so do several other families. The second pair of columns is not "more of the same": it is the other side of the same device.
| Family | VOLT/CURR is | VOLT2/CURR2 is |
|---|---|---|
| Converter | the DC side | the AC / inverter side |
| Solar | the battery side | the panel side |
| Power source group | the bus side | the internal generator |
| CGS | the DC side | the motor windings |
Every other family has only one side, and its VOLT2/CURR2 read -.
A dash is not a zero. - means the tool has never received the data that fills that column — either the device does not report it, or the topic that carries it has not arrived. A device that genuinely measures 0.0 V shows 0.0. That distinction is deliberate: showing 0.0 for "unknown" on an inverter that is simply not reporting its AC side would look exactly like a dead inverter.
The same rule applies to the EXTRA column. A field that has never arrived leaves a gap rather than shifting the fields after it into the wrong place.
The families it shows
Twelve device families appear in this table:
| Shown as | Family |
|---|---|
Bloc8 | power output board — its bus voltage and total current |
Interco | interconnection |
Group | power source group (generator set) |
Battery | battery module |
Converter | converter / charger / inverter |
Motor | propulsion motor |
Solar | solar charge controller |
WindTurb | wind turbine |
MagicTrim | trim device |
CGS | combined generator set |
Alternat | alternator |
BatConc | battery concentrator |
Anything else on the broker is ignored — this table is deliberately the electrical picture and not the whole boat. Use muxen-diag-data-explorer for everything else.
Reading the state words
The EXTRA column starts with the device's own state, and the words differ by family because the state machines differ.
| Family | States |
|---|---|
| Battery, battery concentrator | OK, WARN, ALARM |
| Converter | OFF, BULK, ABSO, FLOAT, FAULT, INV |
| Solar | OFF, BULK, ABSO, FLOAT, FAULT |
| Power source group | OFF, CONTACT, START, ON, STOP, ERROR |
| Motor | OFF, REGEN, DRIVE, ERROR |
| Wind turbine | OFF, ON |
| Alternator | OFF, ON, FAULT, BULK, ABSO, FLOAT, STOR, EQUAL, ASSIST, LP |
A ? means the device sent a state number this tool has no name for, which is worth reporting.
The colour carries the same information faster: red is a fault (FAULT, ERROR, ALARM), yellow is a warning, green is any active non-off state, and a state of OFF is left plain. A single red word in a column of green is the answer to most "which one is broken" questions.
The CGS is the one family with no state word at all — it publishes no state code, so its EXTRA shows only temperature and rpm.
AGE, staleness and yellow lines
Exactly as in muxen-diag-io:
*in green — updated within the last second.Ns— seconds since the last live update.-— nothing since the tool started.- A whole line in yellow — nothing live for thirty seconds. The numbers on it are the last ones seen.
The two sides age independently. A converter whose DC side is live and whose AC side stopped reporting shows green VOLT/CURR and yellow VOLT2/CURR2 — which says the device is alive and one of its two reports has stopped, a far more specific fault than "the converter is offline".
Sign conventions
Current is signed, and the sign is the device's own. On a battery a negative current is discharge and a positive one is charge; on a motor, negative is drawing and positive is regenerating. The tool does not normalise anything — it shows what the device sends, which is what you want when the question is whether a device's sign convention is the problem.
If a number is right in magnitude and wrong in sign, that is a finding about the device, not about this tool.
Instance numbers are displayed from 1
Battery #1 is the battery at instance 0, published on device/5/0/…. The same convention as muxen-diag-io, and the same caution when cross-checking against muxen-diag-devices or the raw topic tree.
Filtering
F4 filters, Esc clears, with the same rules as muxen-diag-io: case-insensitive against the displayed name, and against the topic only for a needle containing / or device. batt selects the batteries; converter #2 selects one converter.
The footer counts the survivors, and reports in red if more than 64 devices were seen:
[!] table full (64 max) — some devices not shownAll twelve families share that budget.
Using it to answer the usual questions
"The state of charge is wrong." Look at every Battery row. A single module reporting an implausible SOC is the usual cause, and the zone summary computed from them inherits it. A module whose line is yellow is not reporting at all.
"Nothing is charging." Look at the EXTRA state of each source. A solar controller in OFF is not being asked to charge; one in BULK with 0.0 A on the panel side has no sun or no panel; one in FAULT has told you the answer.
"Which converter is faulty?" Filter on converter and look for the red word.
"The bank voltage on the screen does not match my meter." Compare the meter against the VOLT of the batteries here. If they agree, the fault is above the broker. If they do not, it is in the device or its shunt.
"A device is missing entirely." It is not publishing. Go back to muxen-diag-devices to find out whether it is even on the bus.
