FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Rheingold am 08 Januar 2017, 16:56:44

Titel: Script auf Raspi von TabletUI aus starten
Beitrag von: Rheingold am 08 Januar 2017, 16:56:44
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?
Titel: Antw:Script auf Raspi von TabletUI aus starten
Beitrag von: luvat am 08 Januar 2017, 18:28:19
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)

Titel: Antw:Script auf Raspi von TabletUI aus starten
Beitrag von: Rheingold am 08 Januar 2017, 20:59:13
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