question

matesh avatar image
matesh asked

MK3 USB 'S' (State) command does not change panel switch state

Hi everyone,

I implemented the VE.Bus/MK2 protocol following "Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf" and using a MK2 USB device. All commands and functions work as described.

However switching over to an MK3 USB device, the three Quattros i'm testing with do not react to command 'S' as expected. Using the same commands, the MK2 does the job.

The whitepaper mentions certain jumper settings in the MK2 (which i never touched, the S command worked with a standard MK2 device) however when I opened the MK3 device there were no jumpers inside to play around with.

I have not seen any mention in the whitepaper regarding this. Is there a specific command to issue or a flag I need to set in the MK3 for this command to work properly?

Thank you forward for any responses!

MK3
2 |3000

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

7 Answers
jpasop (Victron Energy Staff) avatar image
jpasop (Victron Energy Staff) answered ·

Hi Matesh,

For the MK3 the jumpers where replaced by software control of the VE.Bus standby and panel detect lines. Unfortunately this was not mentioned in the "Interfacing with VE.Bus products - MK2 Protocol" documentation. We will add it.

To get you going, here is the command description.

Command: 'H' <Line state>

Reply: 'H' <Line sate>


<Line state> is specified as follows. Setting a bit pulls the line to GND

Bit number

Meaning

0
Panel detect

1

Standby


The above command is supported by the MK3 only.

Please note that the MK3 chip in the USB dongle is powered through the VE.Bus, when loosing VE.Bus power the above lines will become floating again.

2 comments
2 |3000

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

dkalwitzki avatar image dkalwitzki commented ·

so it should be 04 FF 48 01 B4 and 04 FF 48 00 B5. Correct?


Best Regards

0 Likes 0 ·
mvader (Victron Energy) avatar image mvader (Victron Energy) ♦♦ dkalwitzki commented ·

Hi Daniel; pls try: if it works; its correct.

0 Likes 0 ·
mvader (Victron Energy) avatar image
mvader (Victron Energy) answered ·

Hi, my first advise is: have you super accurately read the documentation 3 times or more?

There is very little people that can help with this; (which is why all our documentation states that we can’t support anyone working with it..). And, the (Victron) people that do know have work for them from here to the end of the world.

2 |3000

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

mvader (Victron Energy) avatar image
mvader (Victron Energy) answered ·

Ps. Check ccgx manual, section MultiPlusses, and then the notes about in what system types it’s (unfortunately! I don’t like it either!) not possible to control the inverter/charger.


I’m not sure if this is mentioned in the mk2 documentation. (?) If not we should add it.

2 |3000

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

matesh avatar image
matesh answered ·

Hello Matthijs,

Thank you for your response.

I indeed have read the documentation thoroughly, probably a couple dozen times more than 3.

I read the CCGX manual as well, however those sections refer to in what situations (other devices in the system) the panel switch wouldn't work.

In my case, i have 3X Quattros connected in three phase, lead acid configuration, plugged into a MK2 USB, nothing else in the system. Switching the Quattros via the 'S' command works. Then I connect a MK3 USB in the MK2s place, and everything else (parameter reads, device detection, etc.) works just as well, but switching using the 'S' command does not anymore. I feel this related to the MK3 device itself rather than the system configuration, because the function works fine with the MK2 in the same system.


2 |3000

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

matesh avatar image
matesh answered ·

Hello @jpasop,

Thank you very much for your response! That right there was the last missing piece of the puzzle. One line of code later everything is honky dory!

2 |3000

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

dakoal avatar image
dakoal answered ·

@matesh I am trying to connect to a Multiplus II with an MK3USB directly. I read the documentation many times and got the serial read in python to show me some hex values coming from the Multiplus. But I don't get it to send a simple "V" and the response. Can you guide me in some direction, maybe with some lines of code?

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.

Mike Dorsett avatar image Mike Dorsett commented ·

@dakoal If you look in the back section of the interfacing document, you will find several examples of strings with calculated CRC's. These should work - when I was first trying this, I used a serial loop back instead f the Mk2, just to check that the sent bytes were encoded properly. Once this was done, it all worked fine.

This comment might be a bit slow or late, but I've only just got back round to trying the S command, and found this thread.

0 Likes 0 ·
Mike Dorsett avatar image
Mike Dorsett answered ·

I've just bought a new Multipplus and Mk3 interface, and the inverter will not respond to the S command. An Earlier compact Multi and Mk2 also don't respond to the command - though in this case, the dip switch settings may be prohibiting this. I've tried it with H set to both 1 and to 0.

@mvader (Victron Energy) The documentation is NOT clear on how to set this up.

Device on/off switching, low power mode.

This paragraph refers to "the device" and "the unit". Which of these terms refer to the Mk2/3 and which to the inverter? If I read this paragraph right, one can only turn the inverter on remotely if both the "panel detect" and "Standby" lines are both grounded.(and any dip switch settings internal to the unit.)[and if the inverter is on, the OFF command will float the standby line unless this is permanently grounded - thus locking the remote command out with the inverter in the off state.]

A "Truth table" of states would make a good addition to this section.


If the Mk2 or Mk3 is connected and issues an "S" command then this did not ought to be masked by an internal setting of the inverter.

The Front panel switch and the remote loop ought to be able to turn the inverter on or off regardless of any VE Bus command.

Once the Front Panel switch and the remote loop are "ON", then the unit ought to respond to VE Bus commands.

The "S" Command:

It would be a good improvement if the Mk2/3 could reply to the command with the actual "switch state" as opposed to just "S".

i.e. reply 'S3'

I also note that the documentation refers to the automatic sending of panel state to VE bus every 0.5 seconds (flag 0 =1). Is it a requirement of the Mk2/3 that the S command is issued at at least this frequency for the inverter to follow the S command (assuming that flag0 = 0)?

Flags:

Flag0 Auto send panel state

Flag4 do not send panel state

Are these mutually exclusive?

******

Finally got this to work with 'H'=0, 'S' flags 0=1 4=0.

However, the inverter won't respond to the front panel switch unless the VE bus is unplugged. Once unplugged, the inverter can be switched back on, and the Mk3 plugged back in. The inverter remains on until the program is running again.

**********

Note: USB identification:

If auto scanning ports to identify Mk2 or Mk3: the Mk2 responds with "MK2USB" at the beginning of the string, while the Mk3 responds with "MK3-USB" at the beginning of the string.

2 |3000

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

Related Resources

Additional resources still need to be added for this topic