Shell Script über Fhem starten

Begonnen von cerberus, 01 Mai 2013, 23:02:07

Vorheriges Thema - Nächstes Thema

Puschel74

Hallo,

danke für den Tipp.

Sudoers ohne Passwort confen - ok, meine liebste Suchmaschine hat mir ein paar Links ausgespuckt.
Ich kann mich aber nicht erinnern das ich in dieser Datei Einträge gemacht hätte - zumal ich nichtmal weiß was ich dort eintragen soll da sich die Links nicht auf i2c beziehen.

Und bei den Rückgabewerten ...
Da schlägt mein Englisch wieder voll zu *autsch*

Auf der Kommandozeile kann ich die Befehle zum abfragen der Sensoren ausführen und bekomme hexadezimal die Temperatur zurück.
Ich will ja nicht den
Zitatexit status
des Programms sondern den hex-Wert der Temperatur in meiner *.pm haben.

Wenigstens ahne ich schonmal das eine -1 nicht gut ist da wohl ein Fehler vorliegt/vorliegen muss.
Das hat aber auch Rudi schonmal hier gepostet das sudo ab und zu das Passwort verlangt und dieses natürlich nicht angegeben ist und daher der Aufruf einen Fehler liefert - was mir durchaus auch klar ist.

Aber seit wann ist das so?

Ich habe 3 I2C-Temperatursensoren (LM75) an einem meiner RasPi hängen und konnte diese wunderbar bis 10.04.2013 (über 6 Monate) alle 10 Minuten in FHEM mit meiner 99_I2C_GetValue.pm auslesen und die hex-Werte nach dezimal umrechnen und die Temperaturen in FHEM anzeigen und loggen.
Seit 10.04.2013 bekomme ich einfach keine Werte mehr in meine 99_I2C_GetValue.pm
Und ich habe keine Ahnung warum.

Außer die fhem-updates und die üblichen RasPi-Updates habe ich nichts gemacht/geändert.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Icebear

Moin,

an die /etc/sudoers anhängen

fhem ALL=(ALL) NOPASSWD: ALL

damit darf user fhem alles per sudo ausführen ohne nach einem passwort zu fragen.

und wech
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

Puschel74

Hallo,

dem englischen nicht mächtig und ein kompletter Linux-Dau.
Ich weiß, das ist eine fatale Kombination ;-)

Vielen Dank Icebear für die Zeile.
Ich werd heute mal in die sudoers einbauen und berichten.

Grüße

Edith: Wie sicher nicht anders zu erwarten bekomme ich nun auch den Temperaturwert hexadezimal.
Nun kann ich endlich mein Skript wieder laufen lassen - Vielen Dank!!
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

mcbain2k

Sicherer ist es die scripte die vom user fhem mit sudo ausgeführt werden müssen
einzeln in die /etc/sudoers einzutragen

fhem ALL=NOPASSWD: /root/script/script1.sh, /root/script/script2.sh

dann in fhem

define START dummy

define START_notify notify (START:on) {\
{fhem("set START off")}\
{system('sudo /root/script/script1.sh&');;}\
}

im Script selbst können dann Befehle mit "sudo Befehl" oder "sudo -u andereruser Befehl" stehen.

Wie man oben sieht liegen bei mir solche scripte im /root ordner und können auch nur von user root geändert werden.

Auf diese Sicherheitsmaßnahmen kann  verzichtet werden wenn User fhem eh schon Rootrechte besitzt.

chr2k

Zitat von: Icebear am 17 Mai 2013, 14:17:00
Und zu den Rückgabewerten..
RETURN VALUES
       Upon successful execution of a program, the exit status from sudo will
       simply be the exit status of the program that was executed.

       Otherwise, sudo quits with an exit value of 1 if there is a
       configuration/permission problem or if sudo cannot execute the given
       command.


"Otherwise, sudo quits with an exit value of 1 if there is a"

Bedeutet das dan im Umkehrschluss, wenn da "-1" steht, dass der Befehl ausgeführt wurde?