Command Button Linux Script ausführen

Begonnen von Maxl, 03 Januar 2015, 18:02:24

Vorheriges Thema - Nächstes Thema

Maxl

Hallo,

ich möchte mir einen Button ein Linux-File ausführen, aber leider mache ich irgendetwas falsch.
Ich hätte es so versucht in die fhem.cfg einzutragen; die Files werden aber irgendwie nicht ausgeführt. Fehler bekomme ich keine.

define EMA dummy
attr EMA room Experiment
attr EMA eventMap /on:Activ/off:Inactiv/
attr EMA webCmd on:off

define Dummy_Schalten notify EMA:webCmd.* {\
if ("%" eq "on"){ fhem `/opt/fhem/./rr_start`;;\
}else{ fhem `/opt/fhem/./rr_stop`;;\
}}

attr Dummy_Schalten room Experiment

in den Files steht:

>> rr_start.bat
sudo /etc/init.d/./rocraild start

bzw.

>> rr_stop.bat
sudo /etc/init.d/./rocraild stop

hätte es auch mit direktem Aufruf versucht --> system(sudo /etc/init.d/./rocraild stop);; geht ebenfalls nicht, die Rechte in diesem Verzeichnis sind für alle freigegeben

Kann mir jemand weiterhelfen?

Gruß
maha04
FHEM auf Raspberry mit HM, HMC und AVR Netios.

Puschel74

Hallo,

versuch statt dem
EMA:webCmd
das
EMA:on.*
Und lass die Finger von der fhem.cfg  ;)

Versuch mal das im DEF deines notify:
EMA:on.* {
if ($EVENT eq "on"){
  fhem `/opt/fhem/./rr_start`;
}
else {
  fhem `/opt/fhem/./rr_stop`;
}
}

Das $EVENT eq "on" kannst du dir auch sparen da das notify nur auf on hört.

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.

Maxl

#2
Hallo,

nun abgeändert:

define Dummy_Schalten notify EMA:on.* {\
if ("%"){ system(sudo /etc/init.d/./rocraild start);;\
}else{ system(sudo /etc/init.d/./rocraild stop);;\
}}


es kommt kein Fehler, nur die scripts welche gestartet werden sollen werden trotzdem nicht ausgeführt.

Was soll heißen
ZitatUnd lass die Finger von der fhem.cfg  ;)

Gruß

FHEM auf Raspberry mit HM, HMC und AVR Netios.

der-Lolo


Maxl

#4
Hallo,

es funktioniert zum Teil mit

define Dummy_Schalten notify EMA:on.* { if("%" eq "on"){ fhem `/etc/init.d/./rocraild start`;; } else { fhem `/etc/init.d/./rocraild stop`;; } }
attr Dummy_Schalten room Experiment


oder auch so

define Dummy_Schalten notify (EMA:on.*|EMA:off.*) {if ("%") {system("/etc/init.d/./rocraild start");;} else {system("/etc/init.d/./rocraild stop");;} }


ich bekomme nur die Fehlermeldung im log-File

2015.01.03 21:05:29 3: Starting Rocrail (> /opt/rocrail/nohup.out)
: Unknown command Starting, try help.
2015.01.03 21:05:29 3: Dummy_Schalten return value: Unknown command Starting, try help.

bzw.

2015.01.03 21:20:57 3: Dummy_Schalten return value: -1

wenn ich wieder auf AUS schalte passiert leider aber nichts

Grüße
FHEM auf Raspberry mit HM, HMC und AVR Netios.