OpenEMS Modbus Communication Fails on RevPi 4 with Standard RS485 Interface

Hello OpenEMS community!

I’m currently working with a RevPi 4 where OpenEMS is deployed and running. I’ve encountered a communication issue that I hope someone might help clarify — or has already experienced and resolved.

Initially, we tested our setup on a RevPi SE Connect`to communicate with a piece of hardware as slave, and everything worked flawlessly. Both the standard RS485 interface and a USB serial converter were able to communicate with our Modbus slave device using:

  • modpoll (command-line tool)
  • OpenEMS Modbus RTU integration

However, after switching to the RevPi 4, the behavior changed:

  • Using modpoll: Communication still works perfectly with both the standard RS485 and the USB serial converter.
  • Using OpenEMS: Communication only works with the USB converter, but fails with the standard RS485 interface, showing the error:
    “Modbus Communication failed!”

What We’ve Checked So Far:

  • The RS485 device node exists and is correctly listed under /dev.
  • modpoll succeeds using the same device name OpenEMS is configured to use.
  • The serial port appears available (no other process using it).
  • Permissions seem correct, and OpenEMS user has access to the device.

Question:

Has anyone experienced this specific issue with OpenEMS and the RevPi 4’s native RS485 interface?
Could this be related to how OpenEMS handles RTS/CTS or RS485 direction control on the RevPi 4 vs. SE?

Any advice, insights, or troubleshooting suggestions would be highly appreciated!

Thanks in advance!
— Khalid

1 Like

Hi @kmaruani ,

With version 2024.2.0 the j2mod dependency was updated to version 3.2.0. I’ve also encountered some issues with this version.

To verify whether your problem is related to this upgrade, it would be helpful if you could test your Modbus communication using OpenEMS 2024.1.0 or an earlier version. Please let me know if it works for you.

2 Likes

yeah that solved the problem thank you so much for your help you saved my day, appreciated !