SmartSolar 150/45 won't communicate with Cerbo over VE.Direct, but will over usb

To the experts;

I have a SmartSolar 150/45, which worked for me out of the box while connected to my Raspberry Pi venus OS.

I configured it, and sent to the customer.
The customer tried various VE.Direct cables, but couldn’t get it to communicate. The MPPT worked, it just wouldn’t talk to the GX, and therefore wouldn’t show up on the VRM.

The customer sent it device back, and it worked for me, i did an upgrade of the FW, and sent it back.

It still worked for the customer (from an MPPT pov) but didn’t communicate.

I went to site, replaced the cerbo first (cerbo s-gx, replaced with cerbo gx) which I considered was the most likely fault, but no resolution to the issue. Then i replaced the SmartSolar, and the replacement worked fine.

Back at the factory; factory reset the cerbo S-GX, and set it up again, plugged in a 150/35, which showed up in the device list. Plugged in the suspect 150/45, and it doesn’t show up. SSH into the cerbo, and nothing shows in the logs at all when plugging in the suspect 150/45. Plugging in the known-good 150/35 causes logging on a bunch of logs in /var/log/vedirect*/current , so i know i’m watching in the right places. For completeness, i watched all the logs;

tail -f /var/log/*/current

Here’s the strange thing; the same suspect device comes up happily using a USB-serial VE Direct cable. This is the reason that it all looked fine to me , but not for the customer … I was using a Raspberry Pi, which requires me to use the USB-serial cable.

What could be going on, and is this an RMA or can i resolve this in software?

Just to be sure;

  • The VE.Direct cable is fine - tested this on other systems, and always works, plus i tried 4 different VE.Direct cables
  • The Cerbo S-GX is fine, as was the Cerbo GX - talks to all the other devices, including a MP and 2 other SmartSolar MPPT units.
  • The suspect SmartSolar 150/45 is mostly fine - its never skipped a beat on the MPPT side.
  • The fault is easily repeatable, and ultra consistant.
  • There is no issue with the VE.Direct socket that i can see - no damage, and the plug is firm, no issue with the pins being bent or missing, and anyway this same port works fine when the USB-serial VE.Direct cable is used.

This one has me stumped.

I have SSH access, so i can run any diagnostic commands y’all recommend.

Hi Rob

Have you put a multimeter between pins 1 & 4 on the VE.Direct connector to check the voltage, i believe it should be 5v on this MPPT.

This might help to if not already checked

Thanks for your reply Dave.

Both controllers (the perfect 150/35, and the suspect 150/45) have 5.58v between pins 1 & 4

I’ll read that VE.Direct protocol FAQ.

Hi Rob

To quickly rule out any obvious grounding issues, could you please check the ground pin on the VE.Direct connector and the following connections?

Disconnect the power ( i know you will just for anyone else reading this)

  • Connection to the ground screw on the side of the MPPT

  • Connection to the battery negative terminal

  • Connection to the PV negative terminal

Are both MTTP,s the same.

After checking these, could you measure the resistance from each of these points to the power on the VE.Direct connector?

Are the resistance (hopefully none) measurements the same on both MPPT,s?

After this we’re just down to the communication.

MPPT 150/35

VE.Direct pin 1 to bat neg = 0.3ohms
VE.Direct pin 1 to PV neg = 0.3ohms
VE.Direct pin 1 to chassis earth = inf. ohms

MPPT 150/45

VE.Direct pin 1 to bat neg = 0.4ohms
VE.Direct pin 1 to PV neg = 0.4ohms
VE.Direct pin 1 to chassis earth = inf. ohms

My multimeter leads are not perfect, 0.2 ohms with the probes shorted, so 0.3 vs 0.4 is actually probably 0.1 to 0.2 ohms. Either way, the response is the same for each MPPT.

Given that the VE.Direct cable doesn’t work, but VE.Direct via usb-serial works (which transfer data on the same pins 2 & 3 of the ve.direct sockat), and the data paths for ve.direct vs ve.direct via usb-serial are different in the cerbo (for example, at least the logging is different; vedirect.ttySx/current vs vedirect.ttyUSB0/current)
my conclusion is that something in the bad mppt is not connecting the data from the vedirect.ttySx device to whatever in the dbus stuff. My instinct is to look at udev rules but stepping back, this all happens in the cerbo which is not the suspect device - its the MPPT that has proven to be at fault?

So what happens differently on the MPPT when a usb-serial used vs a plain ve.direct cable?
One thing might be that the mppt is auto detecting the voltage on the tx/rx pins (pins 2 & 3) and auto-selecting something based on 3.3 vs 5v, so does ve.direct-usb-serial use a different signal voltage from plain ve.direct?

It seems, I have an almost identical problem with a MPPT 250/60 TR. I was messing around, trying to squeeze some helpful debugging information out of my CerboGX, since there are absolutely 0 possibilities to debug vedirect with “consumer”-level access:

I have not yet tried another MPPT or CerboGX or cable. However, looking at the log, some data was clearly transmitted correctly (Battery Voltage).

There also appear to be some settings generated for that device:

I hope someone can take a look at this and make some sense of it.

I guess there is a way by using the debug section on the UI V2. It seems to match the problem from the logs, detecting the device as “unknown”.


SIGH.. a firmware update of the cerbo did the trick.

1 Like

Fabian; what is the script that you are sudo running in your first post?

I dont really know, these are the contents:


You don’t need sudo to run it.

I have the same issue. 250/60 mppt TR - won’t communicate at all with the cerbo GX. Brand new mppt, but cerbo is 18 months old. The other older 250/60 mppt communicates fine. Tried switching cables, tried different ve ports, tried reset of settings and tried switching whole system off and on again. Just won’t even appear in cerbo menu list or show wattage in yellow pages box.
Wonder if its a firmware incompatibility.

Seth: Do you have a USB->VE.Direct cable you can try? If that works, it will be a good situation because we will then have 2 units with the same symptoms.

Hi @Everest15

Wat is the firmware version running on the Cerbo GX?

With kind regards,
Thiemo van Engelen

No I don’t have such a cable. However as the twin 250/60 mppt works absolutely fine, I’m guessing the only part of the equation that is not right is the new 250/60 mppt which must somehow differ from the other. I suspect the most likely culprit is the firmware, as Victron stuff does seem to have some major issues with firmware updates that cause more problems than they fix (I remember when one of the cerbo firmware updates caused all battery ESS systems to stop working with random BMS error #67 which went on for months until they finally released a fix to the buggy cerbo firmware. (sighs)

I’m not sure which version, as the Cerbo was installed about 14 months ago by me (along with the original mppt). The customer lives quite some way away. But I’ll get them to connect up the wifi so I can remotely login and check. The firmware will be still on the same version it was when installed.

For a point of reference; my customer’s Cerbo-S, and later upgraded to a Cerbo-GX mk2 (both had the issue of seeing the mppt over USB-Serial-to-VE.Direct, but not over VE.Direct) were at the latest FW versions.

I have the Cerbo-S in the workshop, and the problematic MPPT, so i can carry out any tests you want.

Hi @Everest15

The new MPPT is probably a newer REV3 model. This has a different identifier (product id), which is not recognized by Cerbo GX firmware version 3.40 and lower.

Kind regards,
Thiemo van Engelen

Thank you for your answer to my issue Thiemo. Yes I’ve just checked and the Cerbo firmware is v3.21, so I imagine that is the reason why the new mppt refuses to communicate with it.
(I do wish that Victron would do less firmware updates and try to maintain compatibility between devices and firmware more. Many of my customers are totally off-grid with no internet access and live far away, so its a lot of travelling to update their firmwares, or explaining how to do it themselves if they add another MPPT themselves (as happened in this case).
Glad it is now solved though, thanks.

My customer’s Cerbo-S (HQ2235T3AMW) is on v3.55, and will talk to the SmartSolar Charger MPPT 150/45 rev3 (Firmware version v1.64, serial HQ2233JTQN9) over USB-serial-ve.direct but wont talk over ve.direct.

Thiemo; are there any other tests or details that would help diagnose this for my customer?

Just an update for anyone reading this: Thiemo has solved my question - I simply needed to update the cerbo to latest firmware and then all worked fine with comms over ve.direct