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 -
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(); -
@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();
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden