Mit notify ein Python Skript ausführen

Begonnen von Ruben, 29 März 2015, 21:11:35

Vorheriges Thema - Nächstes Thema

Ruben

Ok, danke, so hat es funktioniert die Dateien in /opt/fhem/FHEM abzuspeichern.

Hab alle rechte eingestellt mit chmod 777 und das folgende eingegeben in der Kommandozeile

define act_on_door1 notify door1:open {system('/opt/fhem/FHEM/test_signalspeichern.py&')}

Aber da hat sich leider immer noch nichts getan.. ich hab verschiedene Syntax ausprobiert und mit sudo und alles, aber da hat nichts geholfen.  :-[

Gibt es sonst noch etwas das ich ausprobieren könnte?

Otto123

naja den ersten Teil, das notify hatten wir ja verifiziert.
Jetzt testet Du einfach Dein Script. Am besten erstmal im Terminal:
/opt/fhem/FHEM/test_signalspeichern.py
Solange bis DU weißt ob und warum es geht.
Dann in der Befehlszeile von FHEM:
{system('/opt/fhem/FHEM/test_signalspeichern.py&')}
Oder einfach
{system("echo Bla >/opt/fhem/Bla.txt")}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ruben

Danke für diese Hinweise Otto.

Ich werde sie ausprobieren sobald ich wieder auf das Raspberry zugreifen kann.
Zurzeit bekomme ich den Error 404 Not Found wenn ich mich verbinden will mit dem <IP>:8083/fhem
Zwischendurch klappts dann wieder, aber meistens nicht..

Ich hab noch auf der folgenden Seite einen Hinweis gefunden, dass ich evtl noch die /ect/sudoers bearbeiten muss?
http://forum.fhem.de/index.php/topic,17613.0.html

Ich hab da leider keinen zugriff habe ich gesehen, wenn ich da mit "cat" reinschauen wollte. Kann ich das auch wider irgendwie mit sudo aufrufen?

Otto123

Ich wäre da jetzt einfach mal vorsichtig mit diesem Beitrag, da steht so viel drin. Test doch erstmal ob Du überhaupt ein Script aufrufen kannst.
Wenn Du Dein FHEM dann sudo laufen lassen willst/musst kannst Du Dir immer noch alles zerbasteln.

Versuch es erstmal ohne sudo und wenn dann gib nur minimale Rechte.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

pole23

#19
Hallo,

da scheint es irgendein Berechtigungsproblem zu geben, auf deinem System. Was du auch testen könntest, wenn die das Skript ins /tmp Verzeichnis kopierst. Da solltest du auf jeden Fall Rechte haben. Und dann natürlich wieder den Pfad im FHEM anpassen.

Ruben

Ahh super, es funktioniert jetzt!! :) :)

Vielen Dank erst mal für eure Hilfe und für eure Geduld  :)

Also ich hab das /etc/sudoers noch bearbeiten müssen, so wie im link beschrieben war den ihr mit angegeben habt..
http://forum.fhem.de/index.php/topic,17613.0.html

Hab die rechte eingestellt mit chmod 777 /pfad/zum/skript.py
und danach folgendes in die Kommandozeie vom Fhem eingegeben:

define act_on_door1 notify door1:open {system("sudo /home/pi/test_signalspeichern.py &")}

Jetzt klappt es wunderbar, Danke noch mal allen, bin so froh dass es jetzt klappt :)

Liebe Grüsse


pole23

Hallo,

das schon mal nicht schlecht. Aber ich jetzt trotzdem mal versuchen, das Skript nach /opt/fhem/FHEM zu kopieren und dann mit dem normalen fhem User zu arbeiten, ohne sudo.

Ruben

Hallo pole23,

hab das jetzt ausprobiert und das file nach /opt/fhem/FHEM kopiert.

Hmm ohne sudo hat es aber nicht funktioniert, nur mit sudo..

Otto123

Hallo Ruben,

bevor Du dir mit FHEM einen abbrichst: hast Du denn mal untersucht, unter welchen Bedingungen Dein Script einfach in der Systemumgebung läuft - wie ich empfohlen hatte?
Also einfach Terminal und Script in einem Pfad wo dein User Zugriff hat und dann ohne oder mit sudo?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ruben

Hallo Otto

Ich hab mich langsam angefreundet mit FHEM, da es ja jetzt funktioniert hat :)

Aber jetzt geht es noch um den aufruf ohne sudo mit fhem.

Ich kann das skript ohne sudo auch im terminal nicht aufrufen. Und hab alle rechte vergeben mit chmod 777.
18638 4 -rwxrwxrwx 1 pi pi 284 Apr  1 10:46 /home/pi/test_signalspeichern.py
Genauso wie es mit fhem in der Kommandozeile dann logischerweise auch nicht geht.

Aber mit sudo funktioniert es bei beiden Varianten.
Also sehe ich es richtig dass ich nicht drum herum komme es im fhem mit sudo laufen zu lassen?
Ich hoffe ich habe keine tipps von euch übersehen..

Otto123

Hallo Ruben,

dann wird es so sein. Dann macht Dein Script etwas, was root Rechte erfordert. Und logischerweise muss es dann von FHEM aus auch mit root Rechten laufen.
Aber Du hast es gelöst :) und weißt jetzt auch warum.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ruben

ok danke, und ich bin so froh dass es jetzt klapp, Danke noch mal euch allen!