Modbus issue "Error processing function code 3", Cerbo and Charger

I have a Cerbo GC and a EV charger in the system. That’s it, no inverter, no battery, nothing else from the victron family at the moment. Will install the full battery later but wanted to get the charger up and running.

Also have a Homey Pro I want to use to plan when to charge my car and figured it would be easy peasy to set it up, how wrong I was.

What has been done.
Modbus TCP is activated in Cerbo. Only services that are listed are:

  • com.victronenergy.platform Unit ID 100
  • com.victronenergy.system Unit ID 100
  • com.victronenergy.evcharger Unit ID 40

Activated Communication in EV Charger, and set the correct IP address and VRM Portal ID for the Cerbo GX.

What happens when I then go into the Cerbo is that I get one error message every second, a few examples below. (10.2.50.134 is the IP of the EV Charger)

  • ERROR “Error processing function code 3, unit id 7, start address 4522, quantity 17, src::fff:10.2.50.134:Error finding service with device type multi at device instance 7”
  • ERROR “Error processing function code , unit id 227, start address 22, quantity 40, src::fff:10.2.50.134:Error finding service with device type vebus at device instance 276”
  • ERROR “Error processing function code , unit id 100, start address 4522, quantity 17, src::fff:10.2.50.134:Error finding service with device type multi at device instance 0”
  • ERROR “Error processing function code , unit id 242, start address 22, quantity 40, src::fff:10.2.50.134:Error finding service with device type vebus at device instance 261”

It seems that there are issues with the “multi” and “vebus” features but no messages regargind “evcharger”. Also, the communication between the Cerbo GX and the EV charger seems to work, at least I see data in the Cerbo from the EV Charger.

But trying to add the Cerbo GX or the EV Charger in Homey Pro will not work. I just get errors and nothing works in the smooth easy way is seems to do for everyone else.

I figureed that if I can resolve the errors in the Cerbo GX when activatid communication from EV Charger, that would be a good first step.

For information: the error I get when trying to add the Cerbo GX to Homey Pro is:

  • Error: Gateway Path Unavailable (The gateway was unable to establis a connection to the target device). Wrong unitId for this devive type.

The error I get trying to add the EV Charger to Homey Pro is:

  • Error: Illegal Data Address (The data address recieved in the query is not an allowable address for the slave).

Thankful for all help in this matter, I am lost…

com.victronenergy.evcharger Product ID 3800 uint16 1 0 to 65535 /ProductId no
com.victronenergy.evcharger Firmware version 3802 uint32 1 0 to 4294967295 /FirmwareVersion no
com.victronenergy.evcharger Serial 3804 string[6] 1 /Serial no
com.victronenergy.evcharger Model 3810 string[4] 1 /Model no
com.victronenergy.evcharger Maximum charge current 3814 uint16 1 0 to 65535 /MaxCurrent yes A
com.victronenergy.evcharger Mode 3815 uint16 1 0 to 65535 /Mode yes 0=Manual;1=Auto
com.victronenergy.evcharger Energy consumed by charger 3816 uint32 100 0 to 42949672.95 /Ac/Energy/Forward no kWh
com.victronenergy.evcharger L1 Power 3818 uint16 1 0 to 65535 /Ac/L1/Power no W
com.victronenergy.evcharger L2 Power 3819 uint16 1 0 to 65535 /Ac/L2/Power no W
com.victronenergy.evcharger L3 Power 3820 uint16 1 0 to 65535 /Ac/L3/Power no W
com.victronenergy.evcharger Total power 3821 uint16 1 0 to 65535 /Ac/Power no W
com.victronenergy.evcharger Charging time 3822 uint16 0.01 0 to 6553500 /ChargingTime no seconds
com.victronenergy.evcharger Charge current 3823 uint16 1 0 to 65535 /Current no A
com.victronenergy.evcharger Status 3824 uint16 1 0 to 65535 /Status no 0=Disconnected; 1=Connected; 2=Charging; 3=Charged; 4=Waiting for sun; 5=Waiting for RFID; 6=Waiting for start; 7=Low SOC; 8=Ground fault; 9=Welded contacts; 10=CP Input shorted; 11=Residual current detected; 12=Under voltage detected; 13=Overvoltage detected; 14=Overheating detected
com.victronenergy.evcharger Set charge current (manual mode) 3825 uint16 1 0 to 65535 /SetCurrent yes A
com.victronenergy.evcharger Start/stop charging (manual mode) 3826 uint16 1 0 to 65535 /StartStop yes 0=Stop;1=Start
com.victronenergy.evcharger Position 3827 uint16 1 0 to 65535 /Position yes 0=AC input 1;1=AC output;2=AC input 2
Above are the Modbus fields in the Cerbo relating to the EV charger, only 5 of these are writable.
If the Cerbo is reporting the UID of the EV charger as 40, then you should be able to establish control by writing to that uid at the cerbo’s IP address, similarly read data from the same ip/UID.
As far as I can work out, there is not actually any memory area allocated to a modbus data array in the cerbo, instead modbus requests are communicated directly to the D-bus service. This requires correct indexing by the UID to the dbus service. so as a modbus gateway device, whilst you use the Cerbo’s IP address, you need to use the target UID in the cerbo’s map for the data requests. The other errors would likely disappear if you had an inverter connected to the system, this seems to be a basic assumption of the cerbo system design…
Hope this helps.

@MikeD Yes, that did help.

What it made me realise was that I wanted to get in contact with the charger I still need to use the IP of the Cerbo but the UID for the charger. I had used the charger IP when trying to get in contact with it. When I tried with the correct address, it worked much better and I got the charger added to the Homey interface.

Much appreciated!