FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: StefanStrobel am 17 Juni 2015, 19:31:07

Titel: Parity für serielle Kommunikation über DevIO setzen
Beitrag von: StefanStrobel am 17 Juni 2015, 19:31:07
Hallo,

Ein Anwender des Modbus-Moduls hat sich mit dem Problem gemeldet, dass sein Gerät "Even" Parity benötigt. Leider ist das Ändern der Parity in DevIO momentan nicht vorgesehen. Bevor ich hier einen Patch vorschlage würde ich gerne die Syntax abstimmen. Was haltet Ihr davon wenn man Hash->DeviceName nicht nur als z.B. /dev/ttyUSB1@9600 spezifizieren kann sondern auch /dev/ttyUSB1@9600:8N1 oder eben hinten dran :8E1?

Gruß
    Stefan
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: rudolfkoenig am 17 Juni 2015, 20:00:59
Man kann sowas relativ einfach mit dem eigenen InitFn (Argument #3 bei DevIo_OpenDev) erledigen.
Wenn mehr als ein Modul sowas braucht, dann koennen wir das auch in DevIo unterbringen. Das Problem mit der DevIo Loesung ist, dass es potentiell alle betrifft, und einen groesseren Testaufwand nach sich zieht.
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: Dr. Boris Neubert am 17 Juni 2015, 22:39:33
Hallo,

m.E. grundsätzlich gute Erweiterung,  z.B. für ECMD nützlich. Sollte aber durch Komma getrennt und optional sein. Als optionaler Parameter ist der Testaufwand m.E. minimal und die Änderung risikoarm.

Viele Grüße
Boris
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: rudolfkoenig am 18 Juni 2015, 08:04:29
Na wenn ECMD das auch haben will, dann haetten wir ja schon 2 Module. D.h. der Syntax ist device@Baudrate,nrDatabits,ParityType,nrParityBits und jede Angabe hinter Baudrate ist optional. Der Regexp koennte so aussehen:
% perl -e '"38400,8,N,1" =~ m/(\d+)(,([78])(,([NE])(,([012]))?)?)?/; print "$1/$3/$5/$7/\n"'
38400/8/N/1/
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: StefanStrobel am 18 Juni 2015, 21:39:12
Hallo,

anbei ein Entwurf.

Gruss
    Stefan
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: rudolfkoenig am 21 Juni 2015, 10:44:06
Musste den Patch anpassen, sonst gab es Fehler beim Aufruf ohne Baudrate.
Habs etwas getestet und eingecheckt.
Titel: Antw:Parity für serielle Kommunikation über DevIO setzen
Beitrag von: StefanStrobel am 21 Juni 2015, 22:30:05
Vielen Dank !!

Gruss
   Stefan