Über Fhem einen Shell Script starten auf anderem Raspberry

Begonnen von vw2audi, 03 September 2015, 11:03:33

Vorheriges Thema - Nächstes Thema

vw2audi

Hallo zusammen,

ich versuche jetzt einen Shell script auf einam entfernten Raspberry zu starten.

Ich habe es jetzt auch direkt übers Terminal versucht.

wen ich dieses eingebe als user pi:
sshpass -p raspberry ssh pi@192.168.178.95 ./zu.sh
dann läuft der script und die GPIOs vom entferneten Raspberry werden gesteuert.

wenn ich mich als user fhem anmelde (habe ich auch zur Usergruppe sudo hinzugefügt).
gebe ich den Befehl ein
sshpass -p raspberry ssh pi@192.168.178.95 ./zu.sh
und es passier nichts!!!

Wer kann mir da helfen?
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

vw2audi


Juhu !!!!!!

kaum die Frage gestellt schon selbst die Lösung gefunden ......
habe mich vom User fhem aus mal nur mit ssh pi@192.168.178.95
angemelde,t da musste ich erst den ECDSA Key bestätigen.

Jetzt geht alles :-)
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

vw2audi

Zu früh gefreut.
Aus fhem selber kann ich den Befehl über die Eingabezeile senden und es geht, aber mein Schalter funktioniert noch nicht:

#Aktoren per SSH auf entfernten Geräten steuern.
define testSSH dummy
attr testSSH group SSH
attr testSSH room Garage
attr testSSH webCmd on:off

define n_testSSH notify testSSH{ if(VALUE($NAME) eq "on"){system("sudo sshpass -p raspberry ssh pi@192.168.178.95 ./auf.sh");;} else {system("sudo sshpass -p raspberry ssh pi@192.168.178.95 ./zu.sh");;}
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

Prof. Dr. Peter Henning

Nicht aus FHEM direkt aufrufen, sondern in ein Shellskript auslagern.

LG

pah

AHA1805

#4
Hallo,

konntest du das Problem lösen?
Ich habe so ein ähnliches Problem.
Ich möchte mit dem WOL Modul meinen QNAP starten und in sleep schicken.

Das Aufwecken funktioniert super
Das in S3 schicken funktioniert auch super wenn ich das Script von der root console ausführe

#!/bin/bash
echo "Starten des Scriptes" >/opt/fhem/log/test.log
sshpass -p password! ssh admin@tvs663 "/bin/echo mem > /sys/power/state 2>/dev/null"&
echo "Ende des Scriptes 3" >>/opt/fhem/log/test.log

exit


Versuche ich jedoch das script via fhem zu starten schreibt er zwar die beiden Zeilen in das test.log aber der QNAP macht nix und bleibt an.

Habe schon folgende Versuche durchgeführt.
Direkt im dem WOL Device mit
attr TVS663 shutdownCmd "/opt/fhem/addOns/tvs663_s3.sh"
In der FHEM Shell mit

{system('/opt/fhem/addOns/tvs663_s3.sh')}
{system('sshpass -p password! ssh admin@tvs663 "/bin/echo mem > /sys/power/state 2>/dev/null"')}
...


Aber Irgendwie will das Tool sshpass nicht von fhem aus gestartet werden wollen :-(
Die Rechte für das sshpass Tool sind auch auf x für alle Gruppen.

In der /etc/group habe ich fhem auch schon in x gruppen eingetragen, aber im Moment ist nur noch ein planlosen rumstochern :-(
Ich doktere jetzt schon seit Stunden rum und komme auf keine Nennen.

Wahrscheinlich ist es eine Rechte Problem, aber ich komme einfach nicht drauf wo ich noch rumdrehen könnte,
und ich wollte fhem eigentlich nicht mit root Rechten starten.

Vielleicht hat jemand eine Idee

Schöne Grüße und einen guten Rutsch ins neue Jahr
Hannes

GELÖST: http://forum.fhem.de/index.php?topic=46557.msg382971#msg382971

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)