Hast du den Timeout eingestellt? Der Dongle ist da ziemlich empfindlich…
Siehe hier Modbus abfragen und über weiteres Gerät verteilen - #57 von M70
Bei mir hat das Script wie folgt ausgesehen, welches man einmalig ausführen musste (zumindest in der 7.2. Vermutlich dann in der 8.0 nicht mehr nötig per Script…):
<?php
// muss nur einmal ausgeführt werden; in 8.0 sollte diese Einstellung auch via Eigenschaften-Seite einstellbar sein
IPS_SetProperty(23736, "TimeoutTime", 30);
IPS_ApplyChanges(23736);
IPS_SetProperty(48263, "TimeoutTime", 30);
IPS_ApplyChanges(48263);
IPS_SetProperty(13255, "TimeoutTime", 30);
IPS_ApplyChanges(13255);
Es sind die Einstellungen bei den Modbus-Gateways von Dongle und Master (resp. auch der Slave WR bei mir). Ganz weg bekommt man die Fehler nicht… zumindest habe ich es nicht geschafft. Erhalte nur noch so 6 Stk pro Tag; immer um die gleiche Zeit.
Die Fehlermeldung „ILLEGAL_RESPONSE_LENGTH“ erhalte ich aber nie.