Hallo Karl,
also der Fehler im Log vom iobroker tritt dann auf, wenn der diagslave nicht läuft und der iobroker versucht einen connect zum diagslave aufzubauen.
Ich habe bei mir den Fehler nachstellen können, indem ich den diagslave mit Ctrl-C gestoppt habe und im iobroker die modbus-Instanz
nochmal durchgestartet habe, dann standen die gleichen Fehler bei mir auch im Log vom iobroker.
...
modbus.0 2021-11-20 12:41:39.259 error (2168) Socket Error
modbus.0 2021-11-20 12:40:38.255 error (2168) Client in error state.
modbus.0 2021-11-20 12:40:38.254 error (2168) Socket Error
modbus.0 2021-11-20 12:39:37.246 error (2168) Client in error state.
modbus.0 2021-11-20 12:39:37.244 error (2168) Socket Error
host.raspberrypi 2021-11-20 12:39:35.102 info instance system.adapter.modbus.0 started with pid 2168
...
Kontrollieren ob der diagslave läuft kannst im linux am einfachsten mit dem ps -e Befehl in der console.
Wenn der diagslave läuft, dann sollte er in der liste der Prozesse mit eine PID (Prozess-ID) erscheinen.
Das Beispiel von einer solchen Abfrage sieht so aus:
pi@raspberrypi:~ $ ps -e | grep -i "diagslave"
2325 pts/1 00:00:00 diagslave
pi@raspberrypi:~ $
Gruß
Jürgen