Appearance
Commissioning
The gateway identifies what is on each port on its own. Commissioning is therefore short: address the box, check that the four ports found what you expect, then settle the numbering and the battery parcs.
Everything below is run on the boat's Brain.
1. Wire it and check it lives
CAN to the MUXEN bus, one VE.Direct cable per Victron device, power on. The system LED must blink once a second. Anything else: see Common mistakes.
2. Find it on the bus
sh
muxen-uds -i can0 uid --scanA factory box has no instance number yet (InstanceNum = 255) and publishes nothing until it gets one. This scan finds it anyway.
Once the gateway is running, a UID scan answers several times with the same UID: once for the box itself, and once for every port that has a recognised device on it. They are all the same physical box.
3. Give the box its own identity
Only one device needs to be addressed by hand: the box itself, as a generic I/O device, function 17. The four ports number themselves.
sh
muxen-uds -i can0 uid --uid <the-box-uid> --instance 4 --preferred-function-code 17--preferred-function-code is not optional here: this box answers on several functions, and without it the tool does not know which one you are numbering.
Instance numbers run 0…62 and must be unique per function on the boat. Do this one box at a time — two unconfigured boxes on the bus at once collide on the parking address.
4. Ask what is on the four ports
sh
muxen-uds -i can0 -F 17 -I <io-instance> routine --action 1 --routine 2The answer starts with 4 — the number of ports — then three bytes per port, in port order:
| Bytes | Meaning |
|---|---|
| 1 – 2 | the Victron product identifier read on that port, FFFF if the port is silent |
| 3 | the MUXEN function code the gateway gave it, FF if the port is silent or the device is not recognised |
A port that shows a product identifier but FF as function code is the case to watch: something is talking, and the gateway does not know what it is. A port that shows FFFF is not receiving anything at all.
5. Watch them on the Brain
sh
mosquitto_sub -h 127.0.0.1 -t 'device/5/#' -v # batteries and shunts
mosquitto_sub -h 127.0.0.1 -t 'device/6/#' -v # inverters, chargers, DC/DC
mosquitto_sub -h 127.0.0.1 -t 'device/10/#' -v # solar chargers6. Settle the instance numbers
Each device came up numbered after its port: port 1 → instance 0, port 2 → instance 1, and so on. Decide whether that is the numbering the boat should use, because it is the numbering the screens will use. muxen-uds -i can0 scan shows the whole MUXEN bus; each function + instance pair must appear once.
To renumber a device:
sh
muxen-uds -i can0 -F 10 -I 0 writeconfig --name InstanceNum --value 5WARNING
Do not give a device a number that is also a port number used by another device of the same kind on this box. Ports claim their storage by port number, so a solar charger renumbered to 1 blocks the solar charger on port 2 from ever appearing. Number them 0…3 as delivered, or move them well clear — 4 and up. This is explained in Common mistakes — VE.Direct gateway.
7. Tell each device which battery parc it belongs to
Every device carries a BindToParc parameter, and it decides two things: which parc a battery monitor reports into, and which parc's charge request a charger obeys.
Left on its default the gateway detects the parc from the first battery voltage the device reports, writes the result and never revisits it:
| Voltage read | Parc |
|---|---|
| 43.0 – 60.0 V | 1 |
| 10.0 – 16.0 V | 2 |
| 20.0 – 30.0 V | 3 |
| anything else | 255 — standalone |
Set it by hand when the automatic answer is wrong:
sh
muxen-uds -i can0 -F 10 -I 0 writeconfig --name BindToParc --value 28. Shunts and battery monitors: give them their limits
A Victron battery monitor reports voltage, current, temperature and state of charge, but it has no idea what the battery bank will accept. The gateway publishes the charge and discharge limits written into that device's own configuration, so they must be set:
sh
muxen-uds -i can0 -F 5 -I 0 writeconfig --name VChargeMax --value 285 # 28.5 V
muxen-uds -i can0 -F 5 -I 0 writeconfig --name IChargeMax --value 500 # 50.0 A
muxen-uds -i can0 -F 5 -I 0 writeconfig --name IDischMax --value 500 # 50.0 A
muxen-uds -i can0 -F 5 -I 0 writeconfig --name VDischMax --value 240 # 24.0 VVoltages are in 0.1 V, currents in 0.1 A. The defaults are a 24 V bank at 50 A; on a 12 V or 48 V bank they are wrong and the rest of the boat will believe them.
While you are there, set AlertVmin and AlertVmax — they raise the under- and over-voltage alarms, and AlertVmax is also what makes the battery stop asking for charge.
9. Decide who switches the chargers
By default the gateway switches every solar charger, charger and converter on and off by itself, following the charge request of the parc it is bound to. That is usually what you want, and there are two cases where it bites:
- A device bound to a parc that has no battery monitor on it is switched off and stays off. Either put a battery on that parc, or bind the device to parc 255 (standalone), which lets it run permanently.
- A DC/DC converter that steps a high bank down to a low one has the opposite logic — it should run when the low bank is not being charged. For a device published as a solar charger, set
RevertControlto 1.
A MUXEN screen can always take over: a command frame forces the device on or off and suspends the automatic behaviour until the command is released.
10. Keep a copy
sh
muxen-uds -i can0 -F 17 -I <io-instance> readconfig --save-as-csv vedirect-gateway.csvRead out each of the four devices too. A factory reset erases the instance numbers, the parc bindings and the battery limits; the gateway rediscovers the equipment, but not the choices you made about it.
