Neue Versionen und Support zum Modbus-Modul

Begonnen von StefanStrobel, 20 August 2017, 12:11:08

Vorheriges Thema - Nächstes Thema

Parallix

#1380
Aktuell beschäftigt mich folgendes Problem:

Vorliegend habe ich ein Modbus-Gerät, dass sich zickig verhält, wenn ich mehrere Holding-Register mit einem Block-Read (dev-h-combine > 1) lesen möchte, deren Adressen  nicht alle direkt hintereinander liegen. Verringere ich die Anzahl der mit einem Read zu lesenden Register, dann läuft die Request-Queue voll.

Helfen würde ein Block-Read, bei dem die Blockgröße automatisch so einstellt wird, dass nur Register mit direkt hintereinander liegenden Adressen gelesen wird. Da ich vermute, dass das aktuell im ModbusAttr-Modul nicht so gemacht wird, schlage ich die Einführung eines Attributs obj-h-combineOnlyStrictConsecutiveRegs vor, über das das Verhalten von Block-Reads gesteuert werden kann.

Edit: Die Erhöhung von queueMax und/oder Reduzierung von queueDelay führt - zumindest in meinem Fall - zu keiner zufriedenstellenden Lösung.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.62) und 7591 (8.25) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS