NEWS
[gelöst] Blockly Skript mit Javaskript-Funktion Simple-SSH
-
Hallo,
ich stehe wie ein "Ochs vorm Berg" und komme nicht weiter.
Ich will remote via SSH einen Befehl ausführen und die Ausgabe in einen Datenpunkt schreiben.
So sieht mein Script aus:
var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.2.200', user: 'abc', pass: 'password' }); var statusVM = "5"; //TEST -> result von ssh.exec('virsh domstate BlueIris').start(); ssh.exec('virsh domstate BlueIris', {out: function(stdout) {console.log(stdout);}},).start();
Ich kann mir das Ergebnis in der Konsole anzeigen lassen, aber nicht via
setState('0_userdata.0.test', VARNAME);
setzen, da ich das Result nicht in eine "lokale" Variable bekomme. Habt Ihr ggf. einen Denkanstoß für mich?
Ich habe auch schon versucht den 'ssh.exec' Teil in den setState zu setzen, aber das funktioniert leider ebenfalls nicht...
Liebe Grüße,
goeste -
@goeste
Ich bekomme den VARNAME aus dem 2.Kasten nicht mit dem ersten Kasten in Überdeckung.
Der kommt da gar nicht vor.Wenn du den SSH-Befehl ausführst, dann erhältst du doch die Konsolenausgabe auf dem entfernten Rechner in der variable stdout zurück.
Dort wo jetzt console.log(stdout) steht, musst du das was in stdout drin steht interpretieren und dann in einen Datenpunkt schreiben. Also im einfachsten Fall (keine ahnung was da zurückkommt);.
ssh.exec('virsh domstate BlueIris', { out: function (stdout) { console.log(stdout); setState('0_userdata.0.test', stdout); } }, ).start();
-
@oliverio Vielen Dank!
Keine Ahnung warum es bei mir so nicht bei den ersten drölf malen Funktioniert hat.
Das VARNAME sollte nur als ein Platzhalter dienen.
Danke!!!