FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: kblc am 25 April 2017, 21:44:30

Titel: [G E L Ö S T] Shell in FHEM
Beitrag von: kblc am 25 April 2017, 21:44:30
Hallo,

vermutlich ist es ein einfacher Fehler, den ich übersehe, aber ich komme nicht drauf.

Ich möchte die Helligkeit meines Displays über FHEM regulieren. Das soll dann irgendwann ein Helligkeitssensor für mich übernehmen. Allerdings scheitere ich schon am einfachsten Befehl.

Ich habe vom Mac aus über das Terminal mit ssh@<IP-Adresse> eine Verbindung zum Raspberry Pi aufgebaut. Auf dem Raspberry Pi ist auch FHEM. Nun gebe ich in das Terminal folgenden Befehl ein,
sudo sh -c "echo 100 >> /sys/class/backlight/rpi_backlight/brightness"
und das Display wird dunkler (oder heller, je nach Einstellung zuvor). Auf jeden Fall tut sich was.

Jetzt wollte ich den Befehl von FHEM aus probieren. Dazu gab ich in das Eingabefeld folgenden Befehl ein

system "sudo sh -c "echo 100 >> /sys/class/backlight/rpi_backlight/brightness""
oder
system (sudo sh -c "echo 100 >> /sys/class/backlight/rpi_backlight/brightness")


Von FHEM aus geht nichts. Was mache ich falsch?
Kann mir jemand einen Tipp geben?

Vielen Dank

Kai
Titel: Antw:Shell in FHEM
Beitrag von: justme1968 am 25 April 2017, 21:50:53
system ist ein perl kommando kein fhem kommando. um das zu verwenden musst du mit {...} auf die perl ebene wechseln und du kannst nicht die gleiche art anführungszeichen ineinander verschachteln ohne die inneren zu maskieren. also entweder so:{system "sudo sh -c \"echo 100 >> /sys/class/backlight/rpi_backlight/brightness\""}oder so:{system 'sudo sh -c "echo 100 >> /sys/class/backlight/rpi_backlight/brightness"'}oder wenn du auf der fhem ebene bist ohne system einfach nur so:"sudo sh -c 'echo 100 >> /sys/class/backlight/rpi_backlight/brightness'"
Titel: Antw:Shell in FHEM
Beitrag von: kblc am 25 April 2017, 21:55:06
Vielen Dank für die schnelle Antwort.
Danke. Ich habe mir die Fehler auch gleich notiert. Aus Fehlern lernt man.

Allerdings bekomme ich
-1

zurück und am Display tut sich nix. Muss ich noch etwas einstellen?

Danke nochmal.
Titel: Antw:Shell in FHEM
Beitrag von: justme1968 am 25 April 2017, 21:57:38
hat der user unter dem fhem läuft sudo rechte?
Titel: Antw:Shell in FHEM
Beitrag von: kblc am 25 April 2017, 22:00:03
Ja, der läuft unter Pi. Und im Terminal vom Macintosh mit ssh habe ich auch sudo- Rechte mit Pi

pi@raspberrypi:~ $ sudo sh -c "echo 0 >> /sys/class/backlight/rpi_backlight/brightness"

so klappt es vom Terminal aus.

Titel: Antw:Shell in FHEM
Beitrag von: CoolTux am 25 April 2017, 22:56:39
Sicher das FHEM als User pi läuft? Das wäre ungewöhnlich da FHEM im Normalfall als User fhem läuft
Titel: Antw:Shell in FHEM
Beitrag von: Mitch am 26 April 2017, 00:07:12
Ich glaube nicht, dass pi der user für fhem ist.
Und ich glaube, das system erwartet bei sudo das Passwort. Dies muß erst "ausgeschalten" werden (so mache ich das um shell Befehle mit sudo aus fhem auszuführen)
Titel: Antw:Shell in FHEM
Beitrag von: kblc am 26 April 2017, 18:38:18
OK, das wird dann so sein. Ich habe FHEM vom Benutzer Pi aus installiert. Ich wusste nicht, dass FHEM einen eigenen Benutzer erstellt.
Danke für die schnelle Info. Das werde ich mir selbstverständlich auch gleich notieren. Man lernt nie aus.


ZitatUnd ich glaube, das system erwartet bei sudo das Passwort. Dies muß erst "ausgeschalten" werden (so mache ich das um shell Befehle mit sudo aus fhem auszuführen)
Jetzt die Frage:
Wie mache ich das???
Ich kann das noch nicht oder nicht mehr. Das ist am Anfang doch etwas komplizierter als eine SPS. Daher bin ich für jede Hilfe sehr dankbar.


Vielen Dank

KBLc
Titel: Antw:Shell in FHEM
Beitrag von: Mitch am 26 April 2017, 18:57:36
Zitat von: kblc am 26 April 2017, 18:38:18
Jetzt die Frage:
Wie mache ich das???

sudo nano /etc/sudoers

# Allow members of group sudo to execute any command
fhem    ALL = NOPASSWD: /your_path/your_script


Alternativ auch
fhem    ALL = NOPASSWD:ALL
Titel: Antw:[G E L Ö S T] Shell in FHEM
Beitrag von: kblc am 26 April 2017, 19:58:36
Danke,

große Hilfe! Ich bin Euch sehr dankbar.

Alles funktioniert, wie es soll.

Vielen vielen Dank


Kai