Script auf Raspi von TabletUI aus starten

Begonnen von Rheingold, 08 Januar 2017, 16:56:44

Vorheriges Thema - Nächstes Thema

Rheingold

Hallo zusammen,

ich habe schon viel gesucht nur leider bisher noch keine Antwort finden können. Ich möchte gern auf dem TabletUI zwei Buttons einbauen die jeweils ein anderes Script ausführen können. Das Script an sich funktioniert. Wenn ich es per Putty ausführe tut es was es soll. Wie binde ich es in FHEM ein, damit es auch klappt?

Hier ein Script (ambilight-on.py)
#! /usr/bin/python
import os
os.system("ssh osmc@192.168.178.75 'sudo systemctl start hyperion'")


Und so sieht die Config in FHEM aus:
define Ambilight dummy
attr Ambilight room 2.1 Wohnzimmer
attr Ambilight webCmd on:off
define sw_ll_off notify Ambilight:off {system('python /home/pi/ambilight-off.py&');;}
define sw_ll_on notify Ambilight:on {system('python /home/pi/ambilight-on.py&');;}

Variationen mit/ohne sudo bzw. python brachten auch nichts :(

Und ja, das Script funktioniert. In Putty ausgeführt erreicht es was es soll. Es hat aktuell chmod 777, sollte also keine Probleme machen.

Woran mag es liegen, dass es nicht ausgeführt wird?
Gibt es einen anderen/besseren Weg das Script über das TabletUI zu starten?
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

luvat

#1
Hi,

ich mache es wie folgt:

ich lege ein shell Skript unter /opt/fhem/FHEM ab. Beispiel: szene_tv.sh
Danach ist die Datei in Fhem unter Edit files zu sehen und kann auch von dort aus bearbeitet werden.

Aufrufen über Fhem kannst du sie dann mit: {system('/opt/fhem/FHEM/szene_tv.sh &')}

In der Tablet zu z. B. über einen Button:

<div data-type="button" class=""
data-fhem-cmd="{system('/opt/fhem/FHEM/szene_tv.sh &')}"
data-icon="fa-television"
data-on-color="#2A2A2A"
data-on-background-color="#7A5799">
        </div>


Ich könnte mit allerdings noch 2 anderen mögliche Probleme vorstellen:
- Entweder findet der Benutzer unter dem Fhem ausgeführt wird den phyton Befehl nicht. (ggf. mal mit ganzem Pfad angeben probieren)
- Oder der Benutzer hat kein Recht das zu tun. Ggf. mal die harte Tour mit sudo (vorher den Fhem user in /etc/sudoers eintragen)


Rheingold

Hm...

ich habe eine Bash-Datei auch mal in /opt/fhem/FHEM erstellt und diese auch ausführbar gemacht. Eingebunden habe ich nun auf dem TabletUI folgendes

<div data-type="button"
data-icon=" fa-minus"
data-background-icon="fa-square-o"
data-on-color="#aa6900"
data-fhem-cmd="{system('/opt/fhem/FHEM/ambilight-off.sh &')}" >
</div>


Allerdings führt es nicht zum gewünschten Ergebnis :(
Führe ich in Putty aber einfach folgendes aus
sh /opt/fhem/FHEM/ambilight-off.sh
Passiert genau das was auch passieren soll.

Wo liegt der Fehler?  :o
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy