Hallo
würde gerne mit Value die Variable V_dummy1 übergeben.
{system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 ".Value("V_dummy1")."')}
Leider wird sie so nicht aufgelöst.
enthalten ist es im Define:
defmod ReStart_Temp_Rpi51_V notify ssh_exe:ReStart_Temp_Rpi51_V {system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 ".Value("V_dummy1")."')}
Was mache ich falsch? Danke
update
im log steht
ReStart_Temp_Rpi51_V exec {system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 ".Value("V_dummy1")."')}
Hi,
die Funktion da direkt reinschreiben, keine Ahnung ob und wie das geht.
Ich würde so versuchen (für die DEF):
{my $val = Value("V_dummy1"); system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 '.$val)}
Gruß Otto
Zitat von: Otto123 am 13 August 2018, 12:02:19
Hi,
die Funktion da direkt reinschreiben, keine Ahnung ob und wie das geht.
Ich würde so versuchen (für die DEF):
{my $val = Value("V_dummy1"); system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 '.$val)}
Gruß Otto
ok, danke, werde ich mal versuchen
Hallo Otto, im Log steht,
kann man sie die aufgelösten Variablen ausgeben lassen?
Verbose = 5
ReStart_Temp_Rpi51_V exec {my $val = Value("V_G_Thingspeak_TS");; system('ssh -t pi@192.168.0.51 python.sh pi w1_test_dht22_fhem_TS_1.4.py 91 12 $val Temp_Buero_RPI no &')}
2018.08.13 12:56:20.498 3 : ReStart_Temp_Rpi51_V return value: -1
?
Zitat von: Otto123 am 13 August 2018, 12:02:19
Hi,
die Funktion da direkt reinschreiben, keine Ahnung ob und wie das geht.
Ich würde so versuchen (für die DEF):
{my $val = Value("V_dummy1"); system('ssh -t pi@192.168.0.51 python.sh pi v1 v2 '.$val)}
Gruß Otto
Top, geht! Danke
Hi,
das hier ist normal
Zitat2018.08.13 12:56:20.498 3 : ReStart_Temp_Rpi51_V return value: -1
bei system Aufrufen.
Könntest Du verhindern durch
ZitatBeim system() Aufruf kann man die Ausgabe im Logfile durch eine Umleitung beim Aufruf mit >/dev/null verhindern.
Quelle (https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html)
Gruß Otto
Hallo Otto,
scheinbar war es doch nicht gelöst. Die Variablen kommen nicht an bei dem SSH.
{my $v_TS_TS = Value("V_G_Thingspeak_TS") ;
my $testvarzahl = 1234;
my $vdebug = Value("V_G_Python_Debug");
my $py_verbose = 123;
my $py_temp_filename = Value("V_G_Python_File_Temperatur");
my $py_rpi_user = "v_user";
system('ssh -t pi@192.168.0.51 test_python_1.sh p testsshvarv2 $v_TS_TS py_rpi_user viafhemssh &')}
Die kommen irgendwie nicht an.
log:
2018.08.15 08:26:28.580 4: dummy set ssh_exe testsshvarv2
2018.08.15 08:26:28.601 5: Triggering testsshvarv2
2018.08.15 08:26:28.601 4: testsshvarv2 exec {my $v_TS_TS = Value("V_G_Thingspeak_TS") ;;
my $testvarzahl = 1234;;
my $vdebug = Value("V_G_Python_Debug");;
my $py_verbose = 123;;
my $py_temp_filename = Value("V_G_Python_File_Temperatur");;
my $py_rpi_user = "v_user";;
system('ssh -t pi@192.168.0.51 test_python_1.sh p testsshvarv2 $v_TS_TS py_rpi_user viafhemssh &')}
2018.08.15 08:26:28.611 3: testsshvarv2 return value: -1
Pseudo-terminal will not be allocated because stdin is not a terminal.
1 p
2 testsshvarv2
3 py_rpi_user
4 viafhemssh
5
6
7
8
hier z.B. kommt:
$v_TS_TS
nicht an.
Inhalt ist: 33 als Zahl.
setstate V_G_Thingspeak_TS 33
Hast du hier einen Tipp
Moin,
weil Du nun etwas völlig anderes machst als wir besprochen haben. Zwischen ' ' werden Variablen Namen nicht aufgelöst sondern einfach als Text übernommen.
Ich hatte mir das mal für mich aufgeschrieben (https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html), vielleicht hilft Dir das.
Gruß Otto
Zitat von: Otto123 am 15 August 2018, 09:04:55
...Ich hatte mir das mal für mich aufgeschrieben, vielleicht hilft Dir das....
danke , super Beitrag, das mit den Ebenen ist echt kompliziert.....
eventuell mache ich lieber eine Scriptaufruf auf dem Fhem server und rufe dort ssh auf und reiche die Variablen so durch .
Bin am probieren.
Danke
Zitat von: Otto123 am 15 August 2018, 09:04:55
...Zwischen ' ' werden Variablen Namen nicht aufgelöst sondern einfach als Text übernommen.... für mich aufgeschrieben (https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html)...
Gruß Otto
...so nun hat es geklappt. die kleinen '' waren schuld.....also eigentlich ich!!
Danke für den tollen Artikel Otto und die Hilfe.
VG T