Fernotron-Steuerung mittels GenShellSwitch - Vermutlich Rechteproblem

Begonnen von carlo.notz@cagano.de, 05 Oktober 2017, 09:22:59

Vorheriges Thema - Nächstes Thema

carlo.notz@cagano.de

Hallo Forum,

ich möchte meine Fernotron-Jalousien mittels FHEM und 433 MHz-Modul steuern. Die Schaltung funktionierte auf Anhieb und das Auslesen der Codes war ein Fleißaufgabe. Dies war die Vorlage: https://github.com/dasoho/fernotron-control

Realisiert habe ich das Ganze auf einem Raspberry Pi 3. Sowohl bei Linux, als auch bei FHEM bin ich Anfänger.

Meiner Meinung scheint das Hauptproblem bei den Rechten zu liegen.
Mir das Zusammenspiel zwischen Rechten und Usern ('root', 'pi' und 'fhem') bezüglich FHEM noch nicht ganz klar.

Die Pfadangaben stimmen. Je nach vergebener Dateieigenschaft wird die Datei 'FernotronRemote.sh' nicht gefunden, oder es sind keine Berechtigungen vergeben.

Den Hinweis aus der oben genannten Anleitung habe ich auch schon umgesetzt, leider ohne Erfolg:
ZitatUm die Rechteproblematik im Zusammenhang mit wiringPi zu umgehen kann man Eigentümer und Rechte
des Programms *FernotronSend* wie folgt abändern:
- sudo chown root ./FernotronSend
- sudo chmod 4711 ./FernotronSend

Ein paar Denkanstöße aus dem Forum wären super! Dank Euch!

Gruß
Carlo

Hier ein Auszug der FHEM-Logfile:

2017.10.05 08:13:35 1: PERL WARNING: Subroutine GenShellSwitch_Initialize redefined at ./FHEM/00_GenShellSwitch.pm line 36.
2017.10.05 08:13:35 1: PERL WARNING: Subroutine GenShellSwitch_Set redefined at ./FHEM/00_GenShellSwitch.pm line 47.
2017.10.05 08:13:35 1: PERL WARNING: Subroutine GenShellSwitch_on_timeout redefined at ./FHEM/00_GenShellSwitch.pm line 98.
2017.10.05 08:13:35 1: PERL WARNING: Subroutine GenShellSwitch_execute redefined at ./FHEM/00_GenShellSwitch.pm line 113.
2017.10.05 08:13:35 1: PERL WARNING: Subroutine GenShellSwitch_Define redefined at ./FHEM/00_GenShellSwitch.pm line 148.
sh: 1: /home/pi/Fernotron/FernotronRemote.sh: not found
sh: 1: /home/pi/fernotron-control/FernotronRemote.sh: Permission denied
sh: 1: /home/pi/fernotron-control/FernotronRemote.sh: Permission denied
sh: 1: /home/pi/fernotron-control/FernotronRemote.sh: not found
sh: 1: /home/pi/fernotron-control/FernotronRemote.sh: not found
2017.10.05 08:42:50 1: PERL WARNING: Can't exec "/home/pi/fernotron-control/FernotronRemote.sh": Datei oder Verzeichnis nicht gefunden at ./FHEM/00_GenShellSwitch.pm line 131.
2017.10.05 08:42:50 2: GenShellSwitch set Rolladen_WZ1 on
2017.10.05 08:42:52 1: PERL WARNING: Can't exec "/home/pi/fernotron-control/FernotronRemote.sh": Datei oder Verzeichnis nicht gefunden at ./FHEM/00_GenShellSwitch.pm line 131.
2017.10.05 08:42:52 2: GenShellSwitch set Rolladen_WZ1 off
2017.10.05 09:01:06 1: PERL WARNING: Can't exec "/home/pi/fernotron-control/FernotronRemote.sh": Datei oder Verzeichnis nicht gefunden at ./FHEM/00_GenShellSwitch.pm line 131.
2017.10.05 09:01:06 1: stacktrace:
2017.10.05 09:01:06 1:     main::__ANON__                      called by ./FHEM/00_GenShellSwitch.pm (131)
2017.10.05 09:01:06 1:     main::GenShellSwitch_execute        called by ./FHEM/00_GenShellSwitch.pm (81)
2017.10.05 09:01:06 1:     main::GenShellSwitch_Set            called by fhem.pl (3443)
2017.10.05 09:01:06 1:     main::CallFn                        called by fhem.pl (1746)
2017.10.05 09:01:06 1:     main::DoSet                         called by fhem.pl (1778)
2017.10.05 09:01:06 1:     main::CommandSet                    called by fhem.pl (1174)
2017.10.05 09:01:06 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2504)
2017.10.05 09:01:06 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (865)
2017.10.05 09:01:06 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (551)
2017.10.05 09:01:06 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.05 09:01:06 1:     main::CallFn                        called by fhem.pl (692)
2017.10.05 09:01:06 1: PERL WARNING: readline() on closed filehandle DATA at ./FHEM/00_GenShellSwitch.pm line 132.
2017.10.05 09:01:06 1: stacktrace:
2017.10.05 09:01:06 1:     main::__ANON__                      called by ./FHEM/00_GenShellSwitch.pm (132)
2017.10.05 09:01:06 1:     main::GenShellSwitch_execute        called by ./FHEM/00_GenShellSwitch.pm (81)
2017.10.05 09:01:06 1:     main::GenShellSwitch_Set            called by fhem.pl (3443)
2017.10.05 09:01:06 1:     main::CallFn                        called by fhem.pl (1746)
2017.10.05 09:01:06 1:     main::DoSet                         called by fhem.pl (1778)
2017.10.05 09:01:06 1:     main::CommandSet                    called by fhem.pl (1174)
2017.10.05 09:01:06 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2504)
2017.10.05 09:01:06 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (865)
2017.10.05 09:01:06 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (551)
2017.10.05 09:01:06 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.05 09:01:06 1:     main::CallFn                        called by fhem.pl (692)
2017.10.05 09:01:06 2: GenShellSwitch set Rolladen_WZ1 off
2017.10.05 09:01:07 1: PERL WARNING: Can't exec "/home/pi/fernotron-control/FernotronRemote.sh": Datei oder Verzeichnis nicht gefunden at ./FHEM/00_GenShellSwitch.pm line 131.
2017.10.05 09:01:07 1: stacktrace:
2017.10.05 09:01:07 1:     main::__ANON__                      called by ./FHEM/00_GenShellSwitch.pm (131)
2017.10.05 09:01:07 1:     main::GenShellSwitch_execute        called by ./FHEM/00_GenShellSwitch.pm (81)
2017.10.05 09:01:07 1:     main::GenShellSwitch_Set            called by fhem.pl (3443)
2017.10.05 09:01:07 1:     main::CallFn                        called by fhem.pl (1746)
2017.10.05 09:01:07 1:     main::DoSet                         called by fhem.pl (1778)
2017.10.05 09:01:07 1:     main::CommandSet                    called by fhem.pl (1174)
2017.10.05 09:01:07 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2504)
2017.10.05 09:01:07 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (865)
2017.10.05 09:01:07 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (551)
2017.10.05 09:01:07 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.05 09:01:07 1:     main::CallFn                        called by fhem.pl (692)
2017.10.05 09:01:07 1: PERL WARNING: readline() on closed filehandle DATA at ./FHEM/00_GenShellSwitch.pm line 132.
2017.10.05 09:01:07 1: stacktrace:
2017.10.05 09:01:07 1:     main::__ANON__                      called by ./FHEM/00_GenShellSwitch.pm (132)
2017.10.05 09:01:07 1:     main::GenShellSwitch_execute        called by ./FHEM/00_GenShellSwitch.pm (81)
2017.10.05 09:01:07 1:     main::GenShellSwitch_Set            called by fhem.pl (3443)
2017.10.05 09:01:07 1:     main::CallFn                        called by fhem.pl (1746)
2017.10.05 09:01:07 1:     main::DoSet                         called by fhem.pl (1778)
2017.10.05 09:01:07 1:     main::CommandSet                    called by fhem.pl (1174)
2017.10.05 09:01:07 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2504)
2017.10.05 09:01:07 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (865)
2017.10.05 09:01:07 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (551)
2017.10.05 09:01:07 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.05 09:01:07 1:     main::CallFn                        called by fhem.pl (692)
2017.10.05 09:01:07 2: GenShellSwitch set Rolladen_WZ1 on

Thorsten Pferdekaemper

Hi,
versuch doch mal testweise

chmod a+x /home/pi/fernotron-control/FernotronRemote.sh

...dann darf das Ding erstmal jeder ausführen.
Alternativ kannst Du auch mal versuchen, FHEM als root zu starten, um Rechteprobleme auszuschließen, also in etwa:
In FHEM:

shutdown

...dann auf Linux:

sudo su
cd /opt/fhem
perl fhem.pl fhem.cfg

Wenn es dann auch nicht klappt, ist es kein Problem mit Rechten.
Gruß,
   Thorsten
FUIP

carlo.notz@cagano.de

Danke für die Lösungsvorschläge Thorsten - leider alle bislang ohne Erfolg.

Die Fehlermeldung bleibt. Habe den Raspi auch schonmal neu aufgesetzt und "frisch konfiguriert" - unverändert.

Ärglich, da der Aufbau der Schaltung und das Auslesen der Fernotron-Codes in einer Stunde erledigt war.
Stunden habe ich jetzt schon mit der FHEM-Konfiguration experimentiert - ohne irgendeinen Fortschritt.

Noch weitere Ideen hier im Forum?

Gruß
Carlo