Python Script auch FHEM aufrufen

Begonnen von kblc, 18 Januar 2015, 15:59:11

Vorheriges Thema - Nächstes Thema

JensS

Mach mal: "chown fhem /programme/led1.py" - danach noch mal per fhem testen.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

kblc

#16
Ja habe ich gleich gemacht. Ich habe dann auch wieder etwas herumprobiert. Aber die LED geht nicht an.

Die Eingabe von "chown fhem /programme/led1.py" kam im Terminal ohne Wiedergabe. Also es kam gleich wieder:

root@raspberrypi:/programme#

Kann es was ausmachen, dass ich das Programm unter root geschrieben habe im Python - Programm von Raspbian?

SPS, Arduino, Controllino, Sensortechnik, Elektronik

Rohan

#17
Moins,

ja, es gibt noch was: Dein Skript greift auf die GPIOs zu, welche normalerweise nur vom User root benutzt werden dürfen. Da könnte/wird das Problem liegen. Ich habe aber bisher noch nicht mit den GPIOs gearbeitet, daher müsste ich mich selbst erst da einlesen. Schmeiß mal in eine Suchmaschine deiner Wahl die Begriffe "raspberry gpio python rechte" rein und lies dich ein ;)

Das ganze ist (per Bash-Skript) auch im Wiki zu finden.

Edith ergänzt: Eingefallen ist mir das, weil ich noch in Erinnerung habe, dass du vor dem Editieren deines o.a. Beitrages noch etwas von "/dev/mem" dort stehen hattest  :-X

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

kblc

Vien lieben Dank nochmal.

Das ist echt toll. Ich werde mich gleich mal drüber machen und schauen, was ich finde und werde schauen.

Es ist immer gut zu wissen, nach was man suchen muss.

Ich werde dann mein Ergebnis/Lösungsweg (wenn es erfolgreich war) hier posten, damit Andere "Neulinge" oder Suchende das Endergebnis dann haben?

Ich bin echt sehr dankbar.

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

kblc

Hallo mal wieder.

Ich habe nun mich eingelesen, und den Benutzer fhem die python - Rechte zugewiesen. Nun kann ich auch ohne weiteres unter dem Benutzer fhem oder pi die LED zum leuchten bringen. Außerdem habe ich das Script erneut unter dem Benutzer pi geschrieben und in den Ordner /programme/ abgelegt. Den Schalter habe ich deaktiviert und habe die Schaltung an eine bereits vorhandene LED - Programmierung gesetzt (Die LED ist nicht angeschlossen und geht nicht, dennoch geht die Birne in FHEM an und ich kann damit ein notify programmieren). Wenn ich die LED einschalte sollte das Script ausgeführt werden. Eine funktionsfähige LED geht aus FHEM an. Jetzt muss nur noch die LED über das Script angehen. Das war das Ziel, das ich verfolgte. Aber es tut sich leider dennoch nichts. Ich habe keine Ahnung woran es liegen könnte. Mein Script sollte, so wie es ist auch jetzt, dank Euerer Hilfe, passen. Aber es geht nichts.

Ich bin am überlegen, ob ich das System Raspbian und FHEM erneut aufsetze und von "0" anfange. Dann kann ich immerhin ausschließen, dass in der Vergangenheit (seit Anfang Januar, denn solange habe ich das Ding erst) irgendetwas verstellt habe.

Ich werde mich dann hier wieder melden, ob sich was verändert hat.

zur Info:
in fhem.cfg steht nun:

define LED_1 FS20 11144444 2c
attr LED_1 dummy 1
define act_on_LED_1 notify LED_1 {\
if ("%" ne "off") {\
  system("sudo fhem-gpio.sh 22 1 &")\
} else {\
  system("sudo fhem-gpio.sh 22 0 &")\
}\
}
define MotionOn1 notify LED_1:on {system("sudo /usr/bin/python /programme/led1.py")}



Das Script led1.py steht in /programme/led1.py und ist (jetzt neu) von dem Benutzer "pi" aus geschrieben. An dem Script hat sich nichts (seit dem letzten Stand) geändert.


Sollte es noch einen Tipp geben, auch wenn er mir in diesem Fall nicht weiterhilft, bin ich sehr dankbar, denn durch solche Hinweise lernt man unheimlich schnell verstehen. Das ist echt super. Vielen Dank

Schönes Wochenende und leibe Grüße aus Oberfranken

Kai
SPS, Arduino, Controllino, Sensortechnik, Elektronik

kblc

Hallo mal wieder.

Ich habe nun alles neu installiert. Raspbian läuft. FHEM ist installiert.

Kann mir jemand sagen, wie ich weiter machen soll, ich möchte nun nichts verkehrt machen.

Ich vermute, dass ich das letzte mal irgendwelche Rechte verletzt habe. Daher muss es ja jetzt eigentlich gehen.

Kann ich das so machen:


  • Python Scrypt schreiben
  • abspeichern unter /programme/led.py
  • mit dem Befehl im Terminal: "chmod a+rwx /programme" eingeben
  • Raspbian neu starten
  • in FHEM den Befehl probieren: {system("sudo python /programme/led.py")}

Wäre schön, wenn jemand mal drüber schauen könnte, möchte keinen Fehler machen.

Vielen Dank


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