FHEM als Modbus Slave

Begonnen von SkyFox, 25 Januar 2016, 23:24:22

Vorheriges Thema - Nächstes Thema

monty_burns_007

Hallo Chris,

Ich habe gerade das Update installiert und es funktioniert! ;-)

Getestet mit Modbus Tools & mit einem echten SCADA IO-Treiber von Wonderware HMI.
Der MBBTCP DA-Server des Wonderware IO-Treibers kann ohne Verwendung von FC22 keine separaten Bits in den Halteregistern schreiben.
Eine andere funktionierende Lösung bestand in der Verwendung eines Modbus-OPC-Servers (wie Kepware), bei dem es eine Option gibt, ob der harware-Slave auf FC22-Anforderungen antworten kann.

FHEM als Modbus-Slave kann jetzt auf FC22 antworten. :-)

Ich verwende die FHEM auch als Modbus-Master in Verbindung mit einer SPS. Ist der FC22-Code auch da?
Es spielt keine Rolle, da meine SPS nicht auf FC22-Modbus-Anforderungen antworten kann ... (günstige Version mit eingeschränkter Modbus-Protokollfunktionalität)

Schönes Wochenende noch....

SandroK

Muss mal Fragen, ob das Thema noch aktuell ist:

Mein Problem:

Ich bekomme ein "Connection refused from the non-local address XXX.XXX.XXX.XXX:YYYY, as there is no working allowed instance defined for it"
beim Versuch mit einem Modbus Client auf die FHEM-Anwendung von extern zu zugreifen.

Habe schon einiges nachgelesen, aber nichts passenden gefunden: Ich benutze den Port 10502 und FHEM läuft nicht als root !

Was kann nich noch tun ?

VG Sandro

ChrisD

Hallo,

Der Zugriff erfolgt wahrscheinlich von einem Client der keine private IP-Adresse verwendet (127/8, 10/8, 192.168/16, 172.16/12, 169.254/16). In dem Fall blockiert FHEM den Zugriff.

Du kannst versuchen durch Eingabe von
{$attr{'NameDerModbusClientInstanz'}{allowfrom} = ".*"}
in der Kommandozeile den Zugriff freizuschalten.

Grüße,

ChrisD

SandroK

Hallo Chris,

genau das war es, vielen Dank und viele Grüße

Sandro

SandroK

Hallo Chris,

ein ganz großes Lob, funktioniert einwandfrei.

Habe dennoch eine Frage, Real/Floatwerte kann ich mit dem Suffix "F" im comment
adressieren, wie geht das mit Double (32Bit) Werten ? Im Quellcode habe ich
ein "FB" gefunden, das dreht scheinbar die Float-Register, dann habe ich noch "T"
gefunden, damit kann ich gar nichts anfangen.

Danke für eine kurze Rückinfo.

VG Sandro

ChrisD

Hallo,

Mit 'F' werden Real-Zahlen aus FHEM als Single-Gleitkommazahlen (32 Bit) interpretiert und auf 2 aufeinanderfolgenden Registern zurückgeliefert. Mit 'FB' lässt sich die Reihenfolge von Low/High-Word invertieren.

Wenn du die Zahlen als Double (64 Bit) haben möchtest (auf 4 Registern) muss ich das Modul anpassen.

Mit 'T' lässt sich festlegen dass eine 16-Bit Integerzahl im 2-Komplement übertragen wird.

Grüße,

ChrisD

SandroK

Hallo Chris,

nein 64Bit Double benötige ich nicht, lediglich 32Bit als Double.

Habe des jetzt erstmal als Real/Float gelöst, jedoch gibts da scheinbar einen kleinen Rundungsfehler.

Grüße

Sjae

Hallo Gemeinde,

ich kämpfe nun schon viele Tagen mit dem ModbusSlave aber es will einfach nix an Daten austauschen. Ich gebe aber zu, so die Ahnung von FHEM hab ich nicht, brauchte aber vor ca. einem halben Jahr eine Möglichkeit 2 Modbus Master zu verbinden. IP-Symcon und C.M.I., was dank Anleitung und einigem probieren hin und her dann auch seitdem Störungsfrei läuft.

FHEM läuft bei mir auf einem win10 Laptop in der Version 5.9 mit strawberry-perl-5.30.0.1-64bit-portable.

Wie bereits erwähnt nur als Brücke zwischen den Mastern. Nun habe ich noch einen SDM630 Zähler angeschafft, dieser wird mittels RS485 USB Adapter von IP-Symcon ausgelesen.

Diese Daten werden dann per Modbus TCP an FHEM übertragen, mit ModbusTCP_CC. Nun müssen diese Daten bzw. eigentlich nur die Gesamtleistung, als Modbus Slave meinem PV Wechselrichter zur Verfügung gestellt werden, damit dieser sich so regeln kann das er etwa bei Nulleinspeisung liegt und der Rest zum Akku laden genutzt wird.

Nun der einzige Erfolg bisher, FHEM findet den Comport und öffnet ihn. Hab es ewig mit "define SDM630 ModbusSlave /dev/ttyS0@19200,8,N,1" und allen möglichen Varianten probiert, aber immer nur Fehler, nach einigen probieren und ewigem suchen mit Google und Co. Und dem Forum bin ich bei "define SDM630 ModbusSlave /com4@19200,8,N,1" gelandet, war nur ein kleiner Hinweis, irgendwo versteckt das es bei Windows anders aufgerufen wird, wobei ich das so nirgends gefunden habe immer mit ,,dev" davor nur kommt dann immer ,,Pfad nicht gefunden".

so sieht meine derzeitige Config aus:


define CMI ModbusTCP_CC 502
define SDM630 ModbusSlave /com4@19200,8,N,1


define SDM630_30049 dummy
attr SDM630_30049 comment MBR:1,49,H,,F
attr SDM630_30049 group SDM630
attr SDM630_30049 room SDM630

define SDM630_30053 dummy
attr SDM630_30053 comment MBR:1,52,H,,F
attr SDM630_30053 group SDM630
attr SDM630_30053 room SDM630

define SDM630_30057 dummy
attr SDM630_30057 comment MBR:1,56,H,,F
attr SDM630_30057 group SDM630
attr SDM630_30057 room SDM630



Mittels Modbus_CC wird die Leistung auch wie gewollt in SDM630_30053 dummy eingetragen.

Aber nun: der Wechselrichter senden ca. aller 1s die Anfrage zu: Daten lesen, aber es scheitert bei mir nun schon daran, dass irgendwie in FHEM zu erkennen wie und wo die Daten ankommen, geschweige dem, auszuwerten was er sendet. Dank HTerm weiß ich das der Wechselrichter ,,01 04 00 34 C7 91 17 72 63" sendet für die Abfrage der Gesamtleistung.
Den Beschreibungen nach habe ich es so verstanden, das der ModbusSlave sich um alles kümmert genau so wie es der ModbusTCP_CC macht (einfügen und läuft) und ich mich nicht erst darum kümmern muss zu verstehen was da alles abläuft im Hintergrund.

Die Kombination ModbusTCP_CC "verbose 5" und ModbusSlave "verbose 5" ergibt das in der LogDatei:


2019.10.02 07:21:40 1: Including C:/FHEM/fhem.cfg
2019.10.02 07:21:40 3: WEB: port 8083 opened
2019.10.02 07:21:40 2: eventTypes: loaded 89 events from ./log/eventTypes.txt
2019.10.02 07:21:41 3: CMI: port 502 opened
2019.10.02 07:21:41 1: Including ./log/fhem.save
2019.10.02 07:21:41 3: Opening SDM630 device /com4
2019.10.02 07:21:41 3: Setting SDM630 serial parameters to 19200,8,N,1
2019.10.02 07:21:41 3: SDM630 device opened


wenn ModbusSlave "verbose 5" allein läuft:

2019.10.02 07:23:18 1: Including C:/FHEM/fhem.cfg
2019.10.02 07:23:18 3: WEB: port 8083 opened
2019.10.02 07:23:18 2: eventTypes: loaded 89 events from ./log/eventTypes.txt
2019.10.02 07:23:18 1: Including ./log/fhem.save
2019.10.02 07:23:18 3: Opening SDM630 device /com4
2019.10.02 07:23:18 3: Setting SDM630 serial parameters to 19200,8,N,1
2019.10.02 07:23:18 3: SDM630 device opened


wenn ModbusTCP_CC "verbose 5" allein läuft:

2019.10.02 07:27:15 1: Including C:/FHEM/fhem.cfg
2019.10.02 07:27:15 3: WEB: port 8083 opened
2019.10.02 07:27:15 2: eventTypes: loaded 89 events from ./log/eventTypes.txt
2019.10.02 07:27:16 3: CMI: port 502 opened
2019.10.02 07:27:16 1: Including ./log/fhem.save
2019.10.02 07:27:18 4: Connection accepted from CMI_192.168.2.11_50421
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: received [00 00 00 00 00 06] 14 03 00 14 00 01
2019.10.02 07:27:18 4: ModbusTCP_CC_Parse(CMI_192.168.2.11_50421) : caching devspec2array
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: sending [00 00 00 00 00 05] 14 03 02 01 97
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: received [00 00 00 00 00 06] 14 03 00 15 00 01
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: sending [00 00 00 00 00 05] 14 03 02 5C 08
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: received [00 00 00 00 00 06] 14 03 00 16 00 01
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: sending [00 00 00 00 00 05] 14 03 02 01 F4
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: received [00 00 00 00 00 06] 0A 06 00 01 00 7B
2019.10.02 07:27:18 5: ModbusTCP_CC_Parse: sending [00 00 00 00 00 06] 0A 06 00 01 00 7B



Ich hoffe nun auf viele Vorschläge und am besten wäre es natürlich wenn ich es daduch zum laufen bekomme.


ChrisD

Hallo,

Die Anfrage vom Wechselricher (01 04 00 34 C7 91 17 72 63) ist nicht richtig. Die ersten vier Bytes sehen noch gut aus (lesen von Slave 1 ab Adresse 52), der Rest ist aber falsch. Insgesamt dürfen es nur 8 Bytes sein.

Eventuell stimmt das Datenformat nicht oder es gibt Störungen bei der seriellen Übertragung. Die Anfrage für z.B. 2 Worte müsste 01 04 00 34 00 02 30 05 lauten.

Bei verbose 5 sollte ModbusSlave auch anzeigen dass die Daten fehlerhaft sind. Hast du schon versucht die Definition in
define SDM630 ModbusSlave com4@19200,8,N,1
zu ändern ? Der / am Anfang sollte nicht nötig sein.

Grüße,

ChrisD

Sjae

Hallo,

danke für die Tipps,

hier nochmal der Empfangene Satz, ist natürlich nur 8bytes lang, so kommt es bei IP-Symcom rein.


01 04 00 34 00 02 30 05

es war mein Fehler, ich habe den falchen Satz eingefügt, das tut mir sehr leid.

Ohne "/" funktioniert es auch, leider aber weder besser noch schlechter.


define SDM630 ModbusSlave com4@19200,8,N,1


Lagdatei:

2019.10.02 14:34:26 1: Including C:/FHEM/fhem.cfg
2019.10.02 14:34:26 3: WEB: port 8083 opened
2019.10.02 14:34:26 2: eventTypes: loaded 89 events from ./log/eventTypes.txt
2019.10.02 14:34:26 3: CMI: port 502 opened
2019.10.02 14:34:26 1: Including ./log/fhem.save
2019.10.02 14:34:26 3: Opening SDM630 device com4
2019.10.02 14:34:26 3: Setting SDM630 serial parameters to 19200,8,N,1
2019.10.02 14:34:26 3: SDM630 device opened


Viele Grüße
Sven

ChrisD

Hallo,

Ich habe nicht verstanden wieso die Daten vom Wechselrichter jetzt bei IP-Symcon ankommen.

In deinem 1. Beitrag steht dass der SDM von IP-Symcon ausgelesen wird und die Daten per ModbusTCP an FHEM übertragen werden (was auch funktioniert). Der Wechselrichter ist direkt mit dem Rechner auf dem FHEM läuft verbunden und diese Verbindung scheint nicht zu gehen.

Kannst du nochmal mit HTerm prüfen was der Wechselrichter auf COM4 sendet ?

Grüße,

ChrisD

Sjae

Ja Okay ist etwas Verwirrend, ich versuche das mal besser zu beschreiben:

Auf dem Win10 Rechner läuft IP-Symcon und FHEM parallel.

IP-Symcom kümmert sich um die ganzen Steuer- und Regelungsaufgaben:
- Heizung
- thermische Solaranlage 
- PV Anlage -> Wechselrichter per USB - RS232 -> COM2
- PV Anlage -> Batteriemanagmantsystem per USB - RS232 -> COM1
- PV Anlage -> Wechselrichter Modbus Karte USB - RS485 -> COM4 (um die geht es, darüber Regel der WR seine Ausgangsleistung, liest aber dabei nur die Gesamtleistung vom SDM630 aus, ich möchte und benötige aber mehr Daten vom SDM630, daher mein Umweg über
- SDM630 PER USB - RS485 -> COM3 am PC.

FHEM kümmert sich um:
- Datenaustausch zwischen IP-Symcon und dem C.M.I. über ModbusTCP_CC, da IP-Symcon und das C.M.I. beide nur als ModbusMaster arbeiten.
- Datenaustausch zwischen IP-Symcon und Wechselrichter per ModbusSlave über USB - RS485 -> COM4 da beide nur als ModbusMaster arbeiten,

dazu
lese ich die Daten des SDM630 mit IP-Symcon aus dem SDM630 aus (funktioniert)
übergebe die Gesamtleistung mit ModbusTCP_CC von IP-Symcon an FHEM (funktioniert)

Variable in FHEM:

define SDM630_30053 dummy
attr SDM630_30053 comment MBR:1,52,H,,F
attr SDM630_30053 group SDM630
attr SDM630_30053 room SDM630


und nun kommt der Teil wo ich nicht weiter komme, es aber auch keine Fehlermeldung gibt, das diese Variable mit ModbusSlave dem Wechselrichter zur Verfügung gestellt wird.

Der WR sendet:


01 04 00 34 00 02 30 05


und erwartet, vom Aufbau her diese Antwort:


01 04 04 43 FD 91 13 53 AD


wobei 43 FD 91 13 die Gesamtleistung ist wie sie auch in der Variable steht.


Statt mit HTerm habe ich mit IP-Symcon geguckt was der WR sendet,

mit HTerm kommt aber das gleiche:


01 04 00 34 00 02 30 05



Viele Grüße
Sven

Sjae

Kam gerade beim wieder öffnen von COM4


2019.10.03 01:25:14 3: Opening SDM630 device com4
2019.10.03 01:25:14 3: Setting SDM630 serial parameters to 19200,8,N,1
2019.10.03 01:25:14 3: SDM630 device opened
2019.10.03 01:25:27 1: PERL WARNING: Subroutine CloseHandle redefined at ./FHEM/99_CommPort.pm line 170.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine CreateFile redefined at ./FHEM/99_CommPort.pm line 175.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommState redefined at ./FHEM/99_CommPort.pm line 180.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetCommState redefined at ./FHEM/99_CommPort.pm line 184.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetupComm redefined at ./FHEM/99_CommPort.pm line 188.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine PurgeComm redefined at ./FHEM/99_CommPort.pm line 192.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine CreateEvent redefined at ./FHEM/99_CommPort.pm line 196.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommTimeouts redefined at ./FHEM/99_CommPort.pm line 200.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetCommTimeouts redefined at ./FHEM/99_CommPort.pm line 204.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommProperties redefined at ./FHEM/99_CommPort.pm line 208.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ReadFile redefined at ./FHEM/99_CommPort.pm line 212.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine WriteFile redefined at ./FHEM/99_CommPort.pm line 216.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine TransmitCommChar redefined at ./FHEM/99_CommPort.pm line 220.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ClearCommBreak redefined at ./FHEM/99_CommPort.pm line 224.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetCommBreak redefined at ./FHEM/99_CommPort.pm line 229.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ClearCommError redefined at ./FHEM/99_CommPort.pm line 234.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine EscapeCommFunction redefined at ./FHEM/99_CommPort.pm line 238.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommModemStatus redefined at ./FHEM/99_CommPort.pm line 242.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetOverlappedResult redefined at ./FHEM/99_CommPort.pm line 246.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommConfig redefined at ./FHEM/99_CommPort.pm line 250.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine GetCommMask redefined at ./FHEM/99_CommPort.pm line 254.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetCommConfig redefined at ./FHEM/99_CommPort.pm line 258.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine SetCommMask redefined at ./FHEM/99_CommPort.pm line 262.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine WaitCommEvent redefined at ./FHEM/99_CommPort.pm line 266.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ResetEvent redefined at ./FHEM/99_CommPort.pm line 270.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine OS_Error redefined at ./FHEM/99_CommPort.pm line 505.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine get_tick_count redefined at ./FHEM/99_CommPort.pm line 507.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine set_no_messages redefined at ./FHEM/99_CommPort.pm line 510.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine nocarp redefined at ./FHEM/99_CommPort.pm line 515.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine internal_buffer redefined at ./FHEM/99_CommPort.pm line 517.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine yes_true redefined at ./FHEM/99_CommPort.pm line 519.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine new redefined at ./FHEM/99_CommPort.pm line 525.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine fetch_DCB redefined at ./FHEM/99_CommPort.pm line 1029.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine init_done redefined at ./FHEM/99_CommPort.pm line 1121.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine update_DCB redefined at ./FHEM/99_CommPort.pm line 1128.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine initialize redefined at ./FHEM/99_CommPort.pm line 1312.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_status redefined at ./FHEM/99_CommPort.pm line 1352.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine reset_error redefined at ./FHEM/99_CommPort.pm line 1380.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_baud redefined at ./FHEM/99_CommPort.pm line 1387.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_databits redefined at ./FHEM/99_CommPort.pm line 1392.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_stopbits redefined at ./FHEM/99_CommPort.pm line 1397.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_dtrdsr redefined at ./FHEM/99_CommPort.pm line 1402.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_handshake redefined at ./FHEM/99_CommPort.pm line 1407.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_parity_check redefined at ./FHEM/99_CommPort.pm line 1412.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_parity_config redefined at ./FHEM/99_CommPort.pm line 1417.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_parity_enable redefined at ./FHEM/99_CommPort.pm line 1422.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_rlsd_config redefined at ./FHEM/99_CommPort.pm line 1427.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_rlsd redefined at ./FHEM/99_CommPort.pm line 1432.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_16bitmode redefined at ./FHEM/99_CommPort.pm line 1437.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_ioctl redefined at ./FHEM/99_CommPort.pm line 1442.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_rs232 redefined at ./FHEM/99_CommPort.pm line 1447.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_modem redefined at ./FHEM/99_CommPort.pm line 1452.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_rtscts redefined at ./FHEM/99_CommPort.pm line 1457.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_xonxoff redefined at ./FHEM/99_CommPort.pm line 1462.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_xon_char redefined at ./FHEM/99_CommPort.pm line 1467.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_spec_char redefined at ./FHEM/99_CommPort.pm line 1472.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_interval_timeout redefined at ./FHEM/99_CommPort.pm line 1477.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine can_total_timeout redefined at ./FHEM/99_CommPort.pm line 1482.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_handshake redefined at ./FHEM/99_CommPort.pm line 1487.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_handshake redefined at ./FHEM/99_CommPort.pm line 1499.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_baudrate redefined at ./FHEM/99_CommPort.pm line 1506.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_baudrate redefined at ./FHEM/99_CommPort.pm line 1518.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_parity redefined at ./FHEM/99_CommPort.pm line 1525.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_parity redefined at ./FHEM/99_CommPort.pm line 1537.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_databits redefined at ./FHEM/99_CommPort.pm line 1544.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_databits redefined at ./FHEM/99_CommPort.pm line 1556.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_stopbits redefined at ./FHEM/99_CommPort.pm line 1563.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_stopbits redefined at ./FHEM/99_CommPort.pm line 1575.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_read_buf redefined at ./FHEM/99_CommPort.pm line 1583.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_write_buf redefined at ./FHEM/99_CommPort.pm line 1590.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_buffers redefined at ./FHEM/99_CommPort.pm line 1596.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine read_bg redefined at ./FHEM/99_CommPort.pm line 1610.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine write_bg redefined at ./FHEM/99_CommPort.pm line 1641.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine read_done redefined at ./FHEM/99_CommPort.pm line 1675.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine write_done redefined at ./FHEM/99_CommPort.pm line 1697.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine purge_all redefined at ./FHEM/99_CommPort.pm line 1719.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine purge_rx redefined at ./FHEM/99_CommPort.pm line 1734.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine purge_tx redefined at ./FHEM/99_CommPort.pm line 1748.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine are_buffers redefined at ./FHEM/99_CommPort.pm line 1762.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine buffer_max redefined at ./FHEM/99_CommPort.pm line 1768.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine suspend_tx redefined at ./FHEM/99_CommPort.pm line 1774.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine resume_tx redefined at ./FHEM/99_CommPort.pm line 1780.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine xmit_imm_char redefined at ./FHEM/99_CommPort.pm line 1786.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_xon_char redefined at ./FHEM/99_CommPort.pm line 1797.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_xoff_char redefined at ./FHEM/99_CommPort.pm line 1809.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_eof_char redefined at ./FHEM/99_CommPort.pm line 1821.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_event_char redefined at ./FHEM/99_CommPort.pm line 1833.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_error_char redefined at ./FHEM/99_CommPort.pm line 1845.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_xon_limit redefined at ./FHEM/99_CommPort.pm line 1857.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_xoff_limit redefined at ./FHEM/99_CommPort.pm line 1872.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_read_interval redefined at ./FHEM/99_CommPort.pm line 1887.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_read_char_time redefined at ./FHEM/99_CommPort.pm line 1904.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_read_const_time redefined at ./FHEM/99_CommPort.pm line 1916.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_write_const_time redefined at ./FHEM/99_CommPort.pm line 1928.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_write_char_time redefined at ./FHEM/99_CommPort.pm line 1940.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine update_timeouts redefined at ./FHEM/99_CommPort.pm line 1952.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_binary redefined at ./FHEM/99_CommPort.pm line 2015.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_parity_enable redefined at ./FHEM/99_CommPort.pm line 2028.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ignore_null redefined at ./FHEM/99_CommPort.pm line 2039.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine ignore_no_dsr redefined at ./FHEM/99_CommPort.pm line 2060.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine subst_pe_char redefined at ./FHEM/99_CommPort.pm line 2081.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine abort_on_error redefined at ./FHEM/99_CommPort.pm line 2102.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine output_dsr redefined at ./FHEM/99_CommPort.pm line 2123.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine output_cts redefined at ./FHEM/99_CommPort.pm line 2144.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine input_xoff redefined at ./FHEM/99_CommPort.pm line 2165.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine output_xoff redefined at ./FHEM/99_CommPort.pm line 2186.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine tx_on_xoff redefined at ./FHEM/99_CommPort.pm line 2207.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine dtr_active redefined at ./FHEM/99_CommPort.pm line 2228.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine rts_active redefined at ./FHEM/99_CommPort.pm line 2235.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine pulse_dtr_off redefined at ./FHEM/99_CommPort.pm line 2244.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine pulse_rts_off redefined at ./FHEM/99_CommPort.pm line 2254.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine pulse_break_on redefined at ./FHEM/99_CommPort.pm line 2264.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine pulse_dtr_on redefined at ./FHEM/99_CommPort.pm line 2274.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine pulse_rts_on redefined at ./FHEM/99_CommPort.pm line 2284.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine break_active redefined at ./FHEM/99_CommPort.pm line 2294.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine xon_active redefined at ./FHEM/99_CommPort.pm line 2301.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine xoff_active redefined at ./FHEM/99_CommPort.pm line 2307.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine is_modemlines redefined at ./FHEM/99_CommPort.pm line 2313.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine debug_comm redefined at ./FHEM/99_CommPort.pm line 2325.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine close redefined at ./FHEM/99_CommPort.pm line 2340.
2019.10.03 01:25:27 1: PERL WARNING: Subroutine DESTROY redefined at ./FHEM/99_CommPort.pm line 2389.
2019.10.03 01:25:27 1: Including C:/FHEM/fhem.cfg
2019.10.03 01:25:27 3: WEB: port 8083 opened
2019.10.03 01:25:27 2: eventTypes: loaded 89 events from ./log/eventTypes.txt
2019.10.03 01:25:27 3: CMI: port 502 opened
2019.10.03 01:25:27 1: Including ./log/fhem.save
2019.10.03 01:25:28 3: Opening SDM630 device com4
2019.10.03 01:25:28 3: Setting SDM630 serial parameters to 19200,8,N,1
2019.10.03 01:25:28 3: SDM630 device opened

ChrisD

Hallo,

Danke für die Erklärungen.

Ich habe Strawberry Perl installiert und festgestellt dass FHEM keine Daten von der seriellen Schnittstelle liest. An der Perl-Version liegt es nicht, ein kleines Perl-Testprogramm zeigt Daten an.

Ich muss mir ansehen wo die Daten in FHEM hängen bleiben.

Woher kommt das Modul 99_CommPort ? Es gehört nicht zu zur Standard FHEM-Installation.

Grüße,

ChrisD

Sjae

Vielen Dank das Du dir das ansiehst,

ich habe viel rumprobiert und versucht, bewusst genutzt wird das Modul 99 von mir nicht. Ich nehmean das ist durch meine vielen versuche dazu gekommen. wie bekomme ich das wieder weg?

VG
Sven