FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: G.Ruetten am 05 September 2014, 18:22:33

Titel: Shellskript ausführen
Beitrag von: G.Ruetten am 05 September 2014, 18:22:33
Hallo,

folgendes Phänomen :

möchte bei Tastendruck ein Shellscript ausführen. Bin ich zusätzlich per ssh auf Server angemeldet funktioniert alles einwandfrei, bin ich mit keinem User eingelooged, bekomme ich ein "not found", anbei ein paar Infos :

Server : Linux, ubuntu, aktuelles fhem, wird mit User (non root) Rechten per r.koenig startscript beim booten gestartet

folgendes ist in der fhem.cfg enthalten :

define EG_WIFI_TOGGLE notify EG_SW_WIFI.Short.* "/home/gently/woggle.sh  2>&1"

Inhalt des woggle.sh Scripts :

#!/bin/bash
ssh -l root 192.168.1.198 'woggle'


bei ssh angemeldeten User kommt folgender Log Eintrag :

2014.09.05 18:18:14 5: Notify loop for EG_SW_WIFI Short (to broadcast)
2014.09.05 18:18:14 5: Triggering EG_WIFI_TOGGLE
2014.09.05 18:18:14 4: EG_WIFI_TOGGLE exec "/home/gently/woggle.sh  2>&1"
2014.09.05 18:18:14 5: Cmd: >"/home/gently/woggle.sh  2>&1"<
Wifi disabled
<?xml version="1.0" encoding="UTF-8"?>
<e2simplexmlresult>
        <e2state>True</e2state>
        <e2statetext>Message sent successfully!</e2statetext>
</e2simplexmlresult>[/i]

bin ich nicht zusätzlich angemeldet :

2014.09.05 18:20:37 5: Notify loop for EG_SW_WIFI Short (to broadcast)
2014.09.05 18:20:37 5: Triggering EG_WIFI_TOGGLE
2014.09.05 18:20:37 4: EG_WIFI_TOGGLE exec "/home/gently/woggle.sh  2>&1"
2014.09.05 18:20:37 5: Cmd: >"/home/gently/woggle.sh  2>&1"<
sh: 1: /home/gently/woggle.sh: not found

Was mache ich falsch ? Das Script selber funktioniert von der Kommandozeile natürlich einwandrei.

Danke,

Gereon
Titel: Antw:Shellskript ausführen
Beitrag von: fiedel am 06 September 2014, 20:53:58
Hi Gereon,

klingt nach Berechtigungsproblem. Der Benutzer FHEM muss zu verschiedenen Gruppen hinzugefügt werden um bestimmte Dinge unter Linux ausführen zu können (Forensuche Benutzer FHEM, Rechte, Owner). Probiere mal zuerst, das Script in den Ordner /opt/fhem/ zu stecken. Dateirechte auf 755 setzen. Vielleicht reicht das schon.

Gruß

Frank