(SOLVED)Globale Variable (Dummy) in System command übergeben Value?

Begonnen von riker1, 13 August 2018, 11:07:38

Vorheriges Thema - Nächstes Thema

riker1

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")."')}
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

riker1

#2
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


?
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Otto123

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

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

riker1

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Otto123

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, vielleicht hilft Dir das.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

riker1

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

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...

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
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox