2x ET340 losing communication

Hello,

I have 2x ET340 on the same RS485 bus, 120 ohm at both ends of the bus , CAT5E FTP for about 13meter with shielding connected to PE on one side.

a few times a day, sometimes multiple times an hour I saw the multiplus devices going into pass-through and the multiple error lines in the dbus-cgwacs log:

ERROR Lost connection to energy meter “052233X” @ “/dev/ttyUSB1” : 2
ERROR Lost connection to energy meter “052191X” @ “/dev/ttyUSB1” : 1

the meters where back in a few seconds and everything get’s back to normal.

today I decided to investigate a little more and increased the timeout for the dbus-cgwacs service from 250ms default to 500ms.

so far no more disconnects.

Anyone knows of any drawback of keeping this larger timeout value ?

I suspect OS running on the Cerbo devices not being a real time one (Linux) might introduce some small delays that can trigger the 250ms timeout.

OR

the ET340 are not consistent in always responding within 250ms

OR

the CAT5e FTP running along for 13m with the 3phase power cable might introduce some transient noise and communication can’t be resumed in 250ms but can in 500ms.

I’ve read all I could find on this forum about meters loosing connection, so far the timeout change is the only one that works so far, after different changes on the physical connection.

regards,

George

if I enable the debug in dbus-cgwacs I see the below debug messages but no disconnection with timeout 500ms

2026-01-08 11:04:49.155156500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 5 Timeout count: 0 Error count: 0
2026-01-08 11:04:49.825805500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 5 Timeout count: 0 Error count: 0
2026-01-08 11:04:50.825298500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 6 Timeout count: 0 Error count: 0
2026-01-08 11:04:51.359760500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 6 Timeout count: 1 Error count: 0
2026-01-08 11:04:51.888638500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 6 Timeout count: 2 Error count: 0
2026-01-08 11:04:52.464043500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 7 Timeout count: 0 Error count: 0
2026-01-08 11:04:53.298443500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 8 Timeout count: 0 Error count: 0
2026-01-08 11:04:54.162784500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 8 Timeout count: 0 Error count: 0
2026-01-08 11:04:54.737735500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 8 Timeout count: 1 Error count: 0
2026-01-08 11:04:55.439710500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 1 Timeout count: 0 Error count: 0
2026-01-08 11:04:56.193724500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 1 Timeout count: 0 Error count: 0
2026-01-08 11:04:56.769293500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 1 Timeout count: 1 Error count: 0
2026-01-08 11:04:57.359072500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 2 Timeout count: 0 Error count: 0
2026-01-08 11:04:58.015140500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 3 Timeout count: 0 Error count: 0
2026-01-08 11:04:59.232791500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 4 Timeout count: 0 Error count: 0
2026-01-08 11:04:59.808594500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 4 Timeout count: 1 Error count: 0
2026-01-08 11:05:00.397979500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 4 Timeout count: 0 Error count: 0
2026-01-08 11:05:01.152536500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 5 Timeout count: 0 Error count: 0
2026-01-08 11:05:01.918347500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 6 Timeout count: 0 Error count: 0
2026-01-08 11:05:02.623874500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 1 Acq State: 6 Timeout count: 0 Error count: 0
2026-01-08 11:05:03.280034500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 7 Timeout count: 0 Error count: 0
2026-01-08 11:05:03.825990500 DEBUG ModBus Error: 1 0 State: 12 Slave Address 2 Acq State: 7 Timeout count: 1 Error count: 0


after looking more at the dbug-cgwacs code it looks like the debug error messages above are for a timeout error.

enum ErrorType {
	CrcError,   /* 0 */
	Timeout,    /* 1  */  
	Exception,  /* 2 */ 
	Unsupported /* 3 */
};

would be nice if the debug code would translate this error code to something more explicit.

QLOG_DEBUG() << "ModBus Error:" << errorType << exception
			 << "State:" << mState << "Slave Address" << addr
			 << "Acq State:" << mAcquisitionIndex
			 << "Timeout count:" << mTimeoutCount
			 << "Error count:" << mErrorCount;

it seems that the 500ms value is at the limit,

with the timeout set to 500ms in 24h only one disconnect was detected, maybe it needs to be increased a little more.

regards

George