FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jhohloch am 01 Februar 2021, 15:49:40

Titel: Shell Skript über Fhem ausführen
Beitrag von: jhohloch am 01 Februar 2021, 15:49:40
Hallo zusammen,

Im Rahmen unserer Studentenprojekts müssen wir in Fhem einige Anforderungen unseres Dozenten realisieren. Nun haben wir aber ein Problem mit unserer Zisternen-Steuerung. Wir haben einen Ultraschallsensor (HR-SR04) an den Raspberry Pi (GPIO Pins) angeschlossen. Um eine Messung des aktuellen Zisternenfüllstands durchzuführen, haben wir ein Python Skript entwickelt, welcher momentan noch händisch über die Konsole gestartet werden muss. Das Skript sendet den aktuellen Füllstand der Zisternen an einen Dummy in Fhem. Nun wollen wir einen das Skript über einen Knopf auf der FTUI starten. Ich habe mal im Forum geschaut nach dummys, die automatisch ein Shell oder ein Pythonskript ausführen (https://forum.fhem.de/index.php?topic=17613.0) (https://forum.fhem.de/index.php?topic=35632.0). Ich habe nun ein bisschen rumprobiert und war bis dato leider wenig erfolgreich. Hier meine aktuelle Konfiguration:

define SkriptStarter dummy
attr SkriptStarter webCmd on:off
define zisterne_on notify SkriptStarter:on {system('sudo sh /opt/fhem/zisterne.sh&');;}

Über ein paar Tipps oder Ratschläge würde ich mich sehr freuen :)

viele Grüße,
Jannik
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: betateilchen am 01 Februar 2021, 15:55:17
Zitat von: jhohloch am 01 Februar 2021, 15:49:40
Über ein paar Tipps oder Ratschläge würde ich mich sehr freuen

Mehr Doku lesen.

Vor allem auch das eigentliche Problem beschreiben, das Du aktuell hast.
Logausgaben sind beispielsweise immer hilfreich.




Zitat von: jhohloch am 01 Februar 2021, 15:49:40
Wir haben einen Ultraschallsensor (HR-SR04) an den Raspberry Pi (GPIO Pins) angeschlossen. Um eine Messung des aktuellen Zisternenfüllstands durchzuführen, haben wir ein Python Skript entwickelt, welcher momentan noch händisch über die Konsole gestartet werden muss.

GPIO geht doch grundsätzlich auch aus FHEM direkt?
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: jhohloch am 01 Februar 2021, 15:58:44
Naja mein Problem ist kurz gesagt, dass aktuell der Dummy nicht das ShellSkript ausführt, sonst würden sich die Werte in der Zisterne ja aktualisieren. Fhem kann also wahrscheinlich noch nicht auf das ShellSkript zisterne.sh durchgreifen und es ausführen. Im Log konnte ich keine Meldungen finden...
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: Otto123 am 01 Februar 2021, 16:17:58
Hi,

Was gibt denn dieser Befehl in der fhem Kommando Zeile zurück?
{qx(ls -lha /opt/fhem/zisterne.sh)}
Warum sudo?
Darf der user fhem denn sudo? Was hast du dafür eingerichtet?
Wie wird den vom Shell Script Python aufgerufen?
Warum dieser doppelte Umweg?
Darf denn user fhem auf das Python Script zugreifen?
Darf user fhem den auf gpio zugreifen? Da gibt es doch ne extra Gruppe gpio? Ist der da drin?

Gruß Otto
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: jhohloch am 01 Februar 2021, 16:26:21
Hey :)

vielen Dank für die schnelle Antwort. Ich glaube schon, dass Fhem Sudo Recht hat. Ich habe fhem  mit "sudo usermod -a -G root fhem" die passenden Rechte gegeben. Dein Befehl hat mit folgendes zurückgegeben (siehe Anhang). Denkst du es liegt ein Problem mit den Berechtigungen vor?
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: Wernieman am 01 Februar 2021, 16:55:04
sudo usermod -a -G root fhem"
Du hast fhem NICHT in sudo aufgenommen, sondern der Gruppe root zugehörig gemacht. MACH ES RÜCKGANGING!

Eine gute Möglichkeit, um ein System zu ........
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: mumpitzstuff am 01 Februar 2021, 17:10:17
define zisterne_on notify SkriptStarter:on {"sudo sh /opt/fhem/zisterne.sh"}

So sollte das Script ebenfalls non blocking durch FHEM ausgeführt werden... Rechte müssen natürlich passen.
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: jhohloch am 01 Februar 2021, 17:21:20
Hey vielen Dank für deine Antwort :)

Ich habe das nun einmal genauso umgesetzt wie du das beschrieben hattest. Leider hat sich da nichts getan... (siehe Anhang) kann es eventuell sein, dass ich mit chmod dem Shellskript mehr Recht geben muss?
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: Otto123 am 01 Februar 2021, 19:01:55
keine Fotos bitte! https://forum.fhem.de/index.php/topic,71806.0.html

Solange wie Du sudo nicht eingerichtet hast, wird es nicht gehen - wenn es sudo braucht (wobei ich denke diese Annahme ist die "des dünnen Brettes bohren")

zu sudo: vielleicht hilft das https://heinz-otto.blogspot.com/2017/08/raspberry-ausschalten-mit-fhem.html
Titel: Antw:Shell Skript über Fhem ausführen
Beitrag von: Wernieman am 01 Februar 2021, 20:53:08
Ich möchte nochmals darauf hinweisen, was ich geschrieben habe. So bitte nicht!

Ist das Script eigentlich Ausführbar?