Hauptmenü

Fhem und System cmd

Begonnen von Knallkopp_02, 17 Oktober 2021, 14:02:37

Vorheriges Thema - Nächstes Thema

Knallkopp_02

Hallo liebe Community,

ich beschäftige mich grade mit dem System command. Folgendes habe ich aktuell umgesetzt, Funktioniert aber nicht


defmod test DOIF ([13:57:00]) ({system(' sudo ../hub-ctrl.c/hub-ctrl -h 1 -P 2 -p 0 &');;;; 0})


Folgender Befehl geht wenn ich im Root bin im PI


sudo ./hub-ctrl.c/hub-ctrl -h 1 -P 2 -p 0


als Ausgabe bekomme ich im Eventmonitor folgendes


2021-10-17 13:59:00 DOIF test cmd_nr: 1
2021-10-17 13:59:00 DOIF test cmd: 1
2021-10-17 13:59:00 DOIF test cmd_event: timer_1
2021-10-17 13:59:00 DOIF test cmd_1


Würde mich über Ideen zur Lösung freuen.

Gruß Knallkopp_02
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

MadMax-FHEM

#1
1. relative Pfade sind immer problematisch, weil: du ja u.U. nicht genau weißt wo das System bei Aufruf gerade steht -> Gesamtpfad.
(wenn ich richtig deute, also Root tatsächlich / ist und nicht "Root" von User pi also /home/pi dann ist das eh ein ungeeigneter Ort für eine Datei)

2. braucht das Script bzw. das was das Script intern tut (was macht das Script? also besser mal posten) wirklich sudo? Oder braucht es sudo nur, weil das Script da liegt wo es eben nur root ausführen darf?

3. wenn das Script also das was das Script tut wirklich sudo braucht (und deshalb mit sudo gestartet wird/werden muss), darf der User fhem überhaupt sudo? Und: darf der User fhem das denn auch OHNE Passworteingabe, weil die macht ja keiner ;)

Das erst mal soweit...
EDIT: evtl. das noch interessant https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Und warum ein DOIF? Das geht doch mit einem simplen at ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

betateilchen

Zitat von: MadMax-FHEM am 17 Oktober 2021, 14:27:31
Und warum ein DOIF? Das geht doch mit einem simplen at ;)

"Das Böse ist immer und überall..." (EAV)

Ich kenne Leute, die haben sich aus Excel eine Textverarbeitung gebaut...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Knallkopp_02

Hallo MadMax-FHEM,

habe jetzt etwas getestet und es zum laufen gebracht.

1. Problem war wirklich der relative Pfad, als ich den angepasst hatte ging es schon.
2. Problem habe ich dann auch noch behoben weil das Script wirklich an einem Platz gelegen hat, der wirklich Admin Rechte brauchte

Das Doif hatte ich nur zum testen genommen, das habe ich nun auch angepasst.

Danke für die vielen nützlichen Infos

Gruß Knallkopp_02
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

rudolfkoenig

Statt {system("programm&")} empfehle ich "programm", das ist die dritte Variante eines FHEM-Befehls.