FHEM Forum
FHEM - Hardware => Server - Linux => Thema gestartet von: TomHB am 01 Dezember 2019, 16:34:42
-
Hallo Zusammen,
ich habe mit FHEM-weblink eine Befehlsezusammenstellung gebaut.
Die Befehle für FHEM werden auch korrekt ausgeführt (war ja auch so in der Hilfe beschrieben ;) )
Nur meine Befehle für mein Ubuntu werden nicht ausgeführt, gibt bei der Ausführung die Fehlermeldung "Unknown command {system("sudo, try help." und auch die Darstellung ist nicht korrekt.
Ein {system("sudo shutdown &")} wird von FHEM direkt in der Kommandozeile ausgeführt.
define systemBefehle weblink cmdList Restart:FHEM-Neustart:shutdown+restart Restart:Odroid-Neustart:{system("sudo reboot &")}
Wie macht Ihr das?
-
- bei weblink cmdList werden die Gruppen durch Leerzeichen getrennt, deswegen darf im Befehlsteil kein Leerzeichen sein. Da das auch im URL verpoent ist, ersetzt man das durch %20 oder plus-Zeichen (+, beides "standard" URL/CGI escape)
- die Parameter bekommt FHEM per CGI, da ist & der Trenner, das muss man also auch anders schreiben, als %26
- {system("blabla &")} sollte man in FHEM als "blabla" schreiben, da wird naemlich STDOUT/SDERR ins FHEM-Log umgeleitet.
Hier ist eine korrigierte Variante:defmod systemBefehle weblink cmdList Restart:FHEM-Neustart:shutdown+restart Restart:FHEM-Herunterfahren:shutdown unknown:FHEM-Aktualisierungsprüfung:update+check Update:FHEM-Aktualisierung:update Restart:Odroid-Neustart:"sudo+reboot" Restart:Odroid-Herunterfahren:"sudo+shutdown"
Wie macht Ihr das?
Ich wuerde nie auf die Idee kommen, ein Unix System ueber FHEM zu rebooten, sowas macht man aus der Konsole.
-
Vielen Dank für die Hilfe.
Es ist auch eher die Notfall-Variante, bevor die Partner mal wieder einfach nur den Stecker zieht...
-
Hallo,
Auf meinem Raspberry funktioniert das weder mit
define systemBefehle weblink cmdList Restart:Raspi-Neustart:"sudo+reboot+now"
noch mit
define systemBefehle weblink cmdList Restart:Raspi-Neustart:"sudo%20reboot%20now"
weil vermutliche ein wirkliches Leerzeichen benötigt wird.
Gibt es hierfür eine Lösung?
-
Darf denn bei dir der User fhem "sudo"?
EDIT: ohne entsprechende Einträge in sudoers bzw. (besser!) anlegen einer eigenen sudoers darf der User fhem das nämlich nicht! (zumindest nicht ohne Passworteingabe, die keiner macht/machen kann und fhem User ja auch erst mal kein PW hat/hätte)...
Steht etwas im Log?
Funktioniert denn:
"sudo reboot now"
MIT den Anführungszeichen in FhemWeb-cmd?
Gruß, Joachim
-
Hallo MadMax,
danke für die rasche Antwort.
"sudo reboot now" mit Anführungszeichen funktioniert nicht (es kommt keine Fehlermeldung in Fhem).
Wie geht das mit den Einträgen in sudoers?
-
Hi,
ich hatte hier mal was aufgeschrieben: https://heinz-otto.blogspot.com/2017/08/raspberry-ausschalten-mit-fhem.html
Gruß Otto
-
Danke für die Hilfe, mit Otto´s Aufzeichnung konnte ich das lösen !