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