[G E L Ö S T] Shell in FHEM

Begonnen von kblc, 25 April 2017, 21:44:30

Vorheriges Thema - Nächstes Thema

kblc

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
SPS, Arduino, Controllino, Sensortechnik, Elektronik

justme1968

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'"
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kblc

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.
SPS, Arduino, Controllino, Sensortechnik, Elektronik

justme1968

hat der user unter dem fhem läuft sudo rechte?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kblc

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.

SPS, Arduino, Controllino, Sensortechnik, Elektronik

CoolTux

Sicher das FHEM als User pi läuft? Das wäre ungewöhnlich da FHEM im Normalfall als User fhem läuft
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mitch

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)
FHEM im Proxmox Container

kblc

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
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Mitch

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
FHEM im Proxmox Container

kblc

Danke,

große Hilfe! Ich bin Euch sehr dankbar.

Alles funktioniert, wie es soll.

Vielen vielen Dank


Kai
SPS, Arduino, Controllino, Sensortechnik, Elektronik