Autor Thema: <GELÖST> Script aus FHEM aus starten  (Gelesen 2880 mal)

Offline kblc

  • Full Member
  • ***
  • Beiträge: 271
<GELÖST> Script aus FHEM aus starten
« am: 18 Februar 2015, 17:28:13 »
Hallo ihr lieben,

ich habe eine Frage zu meinem Raspberry Pi. Ich habe sie schon einmal gestellt, viele hilfreiche Antworten erhalten, durch die ich viel dazu gelernt habe, aber mein Problem nicht gelöst wurde.

Ich möchte in Script aus FHEM heraus starten. Also wenn eine bestimmte Aktion stattfindet (Lampe1 on) dann soll das Script LED.py ausgeführt werden.

Ich habe also meinen Raspberry Pi komplett neu aufgesetzt. Ich habe eine neue Karte rein und Raspbian, FHEM und Perl installiert. Danach habe ich wieder alles versucht. Leider ohne Erfolg.

Ich gebe zum testen, bevor ich etwas in fhem.cfg schreibe, folgenden Befehl. Das sollte ja eigentlich das Script ausführen.

{system('python  /home/pi/led.py');;}


auch der Befehl
{system('sudo python  /home/pi/led.py');;}


oder
{system('sudo /usr/bin/python /home/pi/led.py'&);;}
bringen leider keinen Erfolg.

Ich komme leider nicht mehr weiter. Wenn ich im Terminal den Befehl eingebe (egal welchen), klappt es immer. Mein Script wird ausgeführt. Ich habe in Raspbian unter Eigenschaften - Berechtigungen (auf der grafischen Benutzeroberfläche) die Zugriffsrechte für Besitzer, Gruppe, Andere auf "Lesen und Schreiben" gesetzt. Allerdings alles ohne Erfolg.

Hier noch die led.py
Ich kenne die Möglichkeit, die LED über FHEM direkt zu schalten. Aber das ist nicht mein Ziel. Ich möchte die LED über das Script steuern, da ich danach das Script umschreibe und etwas anderes damit programmieren möchte. Im Moment soll durch das Script nur (als Indikator) die LED angehen.
#!/bin/sh
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(38,GPIO.OUT)
for x in range(0,3):
        GPIO.output(38,True)
        time.sleep(1)
        GPIO.output(38,False)


Kann mi jemand einen Tipp geben, wie ich das Script aus FHEM heraus gestartet bekomme?
Vielen Dank

Kai aus Oberfranken
« Letzte Änderung: 20 Februar 2015, 22:43:35 von kblc »
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15994
  • s/fhem\.cfg/configDB/g
Antw:Script aus FHEM aus starten
« Antwort #1 am: 18 Februar 2015, 18:20:45 »
Was steht denn im fhem Logfile, wenn Du das probierst?

Probiere mal:


{ qx(sudo /usr/bin/python /home/pi/led.py) }


Testweise kannst Du ein

 chmod 777 /home/pi/led.py
ausführen, um Berechtigungsprobleme auszuschließen.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.

Offline kblc

  • Full Member
  • ***
  • Beiträge: 271
Antw:Script aus FHEM aus starten
« Antwort #2 am: 18 Februar 2015, 18:39:43 »
Hallo,
vielen lieben Dank für die Antwort.

Ich habe folgendes herausgefunden:

In der Logfile steht nach allen (meinen) Eingaben nichts. Es ändert sich nichts.
In dem Eventmonitor steht
-1mehr nicht.

Wenn ich das von dir eingebe, dann steht in der Logfile ebenfalls nichts anderes als vorher.
Im Eventmonitor steht:
Error messages while initializing FHEM:
configfile: Pin33_Motion: can't export gpio13, no write access to /sys/class/gpio/export and file /usr/local/bin/gpio doesnt exist

Ich habe trotzdem die Logfile mit angegeben, da der letzte Eintrag sehr verdächtig erscheint:
2015.02.02 16:17:26 1: Including fhem.cfg
2015.02.02 16:17:26 3: telnetPort: port 7072 opened
2015.02.02 16:17:31 3: WEB: port 8083 opened
2015.02.02 16:17:31 3: WEBphone: port 8084 opened
2015.02.02 16:17:31 3: WEBtablet: port 8085 opened
2015.02.02 16:17:33 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2015.02.02 16:17:34 1: Pin33_Motion: can't export gpio13, no write access to /sys/class/gpio/export and file /usr/local/bin/gpio doesnt exist
2015.02.02 16:17:34 1: define Pin33_Motion Pin33_Motion RPI_GPIO 13: Pin33_Motion: can't export gpio13, no write access to /sys/class/gpio/export and file /usr/local/bin/gpio doesnt exist
2015.02.02 16:17:34 1: Including ./log/fhem.save
2015.02.02 16:17:34 1: configfile: Pin33_Motion: can't export gpio13, no write access to /sys/class/gpio/export and file /usr/local/bin/gpio doesnt exist
2015.02.02 16:17:34 1: usb create starting
2015.02.02 16:17:41 3: Probing CUL device /dev/ttyAMA0
2015.02.18 15:54:13 3: Can't open /dev/ttyAMA0: Permission denied
2015.02.18 15:54:13 1: usb create end
2015.02.18 15:54:13 2: Error messages while initializing FHEM: configfile: Pin33_Motion: can't export gpio13, no write access to /sys/class/gpio/export and file /usr/local/bin/gpio doesnt exist
2015.02.18 15:54:13 0: Server started with 10 defined entities (version $Id: fhem.pl 7771 2015-01-30 07:10:22Z rudolfkoenig $, os linux, user fhem, pid 2167)

Vielen Dank für jeden Hinweis. Ich habe das schon mal hier im Forum geschrieben. Ich bin gerade sehr willig das zu lernen und bin daher sehr dankbar, für jeden Hinweis und Tipp, auch wenn es mich erst mal nicht weiterbringt. Aber ich lerne immer dazu. Daher Vielen Dank

Kai

N A C H T R A G :
Ich habe etwas rausgefunden. Der letzte Eintrag bezieht sich bestimmt auf einen Eintrag in fhem.cfg wo ich bereits einen Taster erstellen wollte. Dieser Kurzhubtaster (angeschlossen an GPIO 33) soll dann das Script auslösen. Daher trage ich hier noch die FHEM.cf g nach.

attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global verbose 3
attr global updateInBackground

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create





define Pin33_Motion RPI_GPIO 13
attr Pin33_Motion direction input
attr Pin33_Motion interrupt rising
attr Pin33_Motion pud_resistor up
attr Pin33_Motion toggletostate yes
define n_Pin33_MotionOn1 notify Pin33_Motion:on {system('python  /home/pi/led.py');;}

"Ach mano!" Vermutlich habe ich da nach dem neu"aufsetzen" meines RasPi auch schon einen Fehler gemacht oder irgendwas vergessen.
« Letzte Änderung: 18 Februar 2015, 18:47:43 von kblc »
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4182
  • jetzt DBLog befreit
Antw:Script aus FHEM aus starten
« Antwort #3 am: 18 Februar 2015, 19:10:22 »
Zitat
2015.02.18 15:54:13 3: Can't open /dev/ttyAMA0: Permission denied

Da hast du ein Berechtigungsproblem und nimm das usb create mal raus, da es Probleme verursachen kann.

VG
Frank
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink

Offline kblc

  • Full Member
  • ***
  • Beiträge: 271
Antw:Script aus FHEM aus starten
« Antwort #4 am: 19 Februar 2015, 18:42:06 »
Hallo nochmal,

also ich habe die alte Karte wieder in das System gesteckt. Mit der Berechtigung sollte nun alles passen. Allerdings wird mein Script immernochnichüt ausgeführt. Ich verstehe einfach nicht warum. Ich gebe genau das an, was ich auch im Terminal angebe. Das "gebettet" in
{system('    hier hin   ');;}Im Terminal geht es. Ich habe auch den Rat von betateilchen angewendet:
Zitat

{ qx(sudo /usr/bin/python /home/pi/led.py) }

und habe es auch umgeändert in
{ qx(sudo /usr/bin/python /programme/led.py) }

Ich habe das Script in den Ordner Programme kopiert. Und habe auch dort das:
Zitat
chmod 777 /programme/led.py
angewendet.

Leider klappt nichts.

Es wäre schön, wenn mir noch jemand einen Tipp geben könnte. Ich habe auch die Vermutung, dass es was mit den Rechten zu tun haben könnte.

Im Event Monitor steht immer nur:
-1Ich habe irgendwo bei uns im Forum gelesen, dass es normal ist, dass es dort steht. Also muss ja der "Befehl" FHEM verlassen und irgendwo ankommen.

Vielen Dank für Euere Hilfe.

Kai aus Oberffranken
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Offline kblc

  • Full Member
  • ***
  • Beiträge: 271
Antw:Script aus FHEM aus starten
« Antwort #5 am: 20 Februar 2015, 22:43:12 »
Hallo nochmal.

Ich habe tatsächlich eine Lösung für mein Problem gefunden.
Es befand sich auf dieser Seite bei uns im Forum:
http://forum.fhem.de/index.php?topic=17613.0

Es waren die Rechte des Benutzers FHEM. Ich habe es mit dem alten System zum laufen gebracht.

Ich möchte an dieser Stelle allen Helfern, Tipp-gebern, Kommentatoren und Moderatoren  ein herzliches

"Danke schön"

aussprechen.


Es funktioniert das ist für mich wirklich ein großer Meilenstein.



Kai aus Oberfranken
SPS, Arduino, Controllino, Sensortechnik, Elektronik

 

decade-submarginal