Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Blockly Skript mit Javaskript-Funktion Simple-SSH

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    [gelöst] Blockly Skript mit Javaskript-Funktion Simple-SSH

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      goeste last edited by 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

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @goeste last edited by OliverIO

        @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();
        
        G 1 Reply Last reply Reply Quote 0
        • G
          goeste @OliverIO last edited by

          @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!!!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          849
          Online

          32.0k
          Users

          80.5k
          Topics

          1.3m
          Posts

          2
          3
          234
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo