Hi FHEM Gemeinde,
Ich habe FHEM 5.8 unter Windows 7 64bit laufen und will erstmal meine s7 1215c
in FHEM einbinden.
Nur bekomme ich immer einen Fehler (siehe Log)
2017.08.16 09:59:35 1: reload: Error:Modul 44_S7 deactivated:
Can't locate Device/SerialPort.pm in @INC (you may need to install the Device::SerialPort module) (@INC contains: . C:/FHEM/fhem-5.8/perl/site/lib C:/FHEM/fhem-5.8/perl/vendor/lib C:/FHEM/fhem-5.8/perl/lib ./FHEM) at FHEM/44_S7_S5Client.pm line 13.
BEGIN failed--compilation aborted at FHEM/44_S7_S5Client.pm line 13.
Compilation failed in require at ./FHEM/44_S7.pm line 12.
2017.08.16 09:59:35 0: Can't locate Device/SerialPort.pm in @INC (you may need to install the Device::SerialPort module) (@INC contains: . C:/FHEM/fhem-5.8/perl/site/lib C:/FHEM/fhem-5.8/perl/vendor/lib C:/FHEM/fhem-5.8/perl/lib ./FHEM) at FHEM/44_S7_S5Client.pm line 13.
BEGIN failed--compilation aborted at FHEM/44_S7_S5Client.pm line 13.
Compilation failed in require at ./FHEM/44_S7.pm line 12.
die 44_s7_s5client.pm habe ich schon angepasst laut dem Link hier
https://forum.fhem.de/index.php?topic=70817.0
Leider ohne Erfolg.
Ich hoffe jemand kann mir helfen?
Schöne Grüße
Stefan
you may need to install the Device::SerialPort module
Gelesen?
Aber frag mich nicht wie es auf einem Windows System läuft.
Bei Linux würde ich folgendes machen:
sudo apt-get install libdevice-serialport-perl
Man sollte selber natürlich auch erst richtig lesen ::)
Das S7 Modul wird laut MAINTAINER.txt (https://fhem.de/MAINTAINER.txt) hier im Forum im Bereich Sonstiges behandelt, vmtl. liest der Modulautor hier nicht mit.
Zitatdie 44_s7_s5client.pm habe ich schon angepasst laut dem Link hier
Ich gehe davon aus, dass die Aenderung nicht richtig erfolgt ist.
Fuer Windows sollte reichen, in der Datei FHEM/44_S7_S5Client.pm die Zeilen:
#if ( OS_Linux() ) {
use Device::SerialPort;
#}
#else {
# use Win32::SerialPort;
#}
durch
use Win32::SerialPort;
zu ersetzen.
Danke für den Tipp :)
Hab es abgeändert und dann udate all durchgeführt aber immer noch das selbe.
2017.08.17 23:10:27 1: reload: Error:Modul 44_S7 deactivated:
Can't locate Device/SerialPort.pm in @INC (you may need to install the Device::SerialPort module) (@INC contains: . C:/FHEM/fhem-5.8/perl/site/lib C:/FHEM/fhem-5.8/perl/vendor/lib C:/FHEM/fhem-5.8/perl/lib ./FHEM) at FHEM/44_S7_S5Client.pm line 13.
BEGIN failed--compilation aborted at FHEM/44_S7_S5Client.pm line 13.
Compilation failed in require at ./FHEM/44_S7.pm line 12.
2017.08.17 23:10:27 0: Can't locate Device/SerialPort.pm in @INC (you may need to install the Device::SerialPort module) (@INC contains: . C:/FHEM/fhem-5.8/perl/site/lib C:/FHEM/fhem-5.8/perl/vendor/lib C:/FHEM/fhem-5.8/perl/lib ./FHEM) at FHEM/44_S7_S5Client.pm line 13.
BEGIN failed--compilation aborted at FHEM/44_S7_S5Client.pm line 13.
Compilation failed in require at ./FHEM/44_S7.pm line 12.
Könnte man den Thread in den richtigen Bereich verschieben,
sodass der Modulautor mitlesen kann?
Update all wird dir deine Änderungen an der Datei aber wieder überschreiben. Probier es doch mal ohne Update.
Update wird auch gemeldet haben, dass diese Datei ueberschrieben wurde.
Falls man das vermeiden will, dann entweder kein update machen, oder
attr global exclude_from_update 44_S7_S5Client
setzen, und danach save ausfuehren.
Also nochmal die Reihenfolge:
- 44_S7_S5Client.pm aendern
- FHEM neu starten.
- exclude_from_update setzen
- save ausfuehren.
Jetzt funktioniert es, danke.