Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Befehl an Raspi

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    284

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] Befehl an Raspi

Scheduled Pinned Locked Moved Skripten / Logik
15 Posts 5 Posters 3.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #4

    Das sollte mit dem NPM-Modul https://www.npmjs.com/package/ssh2 funktionieren. Die Installation erfolgt, indem man das Modul ssh2 in der Konfiguration der Javascript-Instanz als zusätzliches NPM-Modul einträgt.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • foxriver76F Offline
      foxriver76F Offline
      foxriver76
      Developer
      wrote on last edited by
      #5

      @bahnuhr:

      Ne, das hilft mir nicht weiter.

      Das Raspi sh-Script hab ich doch schon. `

      Ja, nur um auf deinem anderen Rechner ein Befehl auszuführen, musst du diesen Befehl dorthin bringen.

      Im Falle eines Shell-Skripts ist die einfachste mir bekannte Lösung dich per SSH dorthin zu verbinden um den Skriptaufruf tätigen zu können.

      Die Variante von Paul basiert auch auf SSH, macht es für dich womöglich etwas anwenderfreundlicher - mit dem npm-Paket habe ich jedoch keine Erfahrung.

      Videotutorials & mehr

      Hier könnt ihr mich unterstützen.

      1 Reply Last reply
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #6

        @foxriver76:

        Im Falle eines Shell-Skripts ist die einfachste mir bekannte Lösung dich per SSH dorthin zu verbinden um den Skriptaufruf tätigen zu können. `

        Hallo, danke für den Input.

        Hast du rein zufällig noch ein Muster-Script wie das gehen könnte.

        Ich vermute, dass dies nicht so einfach ist.

        mfg

        Dieter


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #7

          Das Skript könnte dann etwa so aussehen (getestet):

          const idTrigger = '...'; // Datenpunkt-ID des Auslösers
          const Client = require('ssh2').Client;
          
          function execabc() {
            var conn = new Client();
            conn.on('ready', function() {
              conn.exec('sudo /etc/.../abc.sh', function(err, stream) {
                if (err) throw err;
                stream.on('close', function(code, signal) {
                  conn.end();
                }).on('data', function(data) {
                  log('Ausgabe: ' + data);
                }).stderr.on('data', function(data) {
                  log('Fehler: ' + data);
                });
              });
            }).connect({
              host: '192.168.100.100', // IP des RPi
              port: 22,
              username: 'pi',
              password: 'deinpasswort'
            });
          }
          
          on(idTrigger, execabc); // Wertänderung von Trigger startet execabc()
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • foxriver76F Offline
            foxriver76F Offline
            foxriver76
            Developer
            wrote on last edited by
            #8

            Also wie ich bereits sagte, wird Paul evtl eine nutzerfreundlichere Lösung in ioBroker haben.

            Mein Ansatz wäre in deinem Skript etwas in Richtung:

            Im JavaScript adapter:

            exec('ssh user@server /absoluterPfadZumSkriptordner/skript.sh')
            

            Das müsste eine Verbindung zu deinem Rechner herstellen, das Skript ausführen und die Verbindung wieder beenden.

            Allerdings müsstest du mal schauen, wie man die Authentifizierung handhabt, da du wahrscheinlich an deinem Pi noch ein Nutzerpasswort mitgeben musst. Ich habe in der Vergangenheit auch schon Packages für SSH-Anwendungen gehabt, wo man das Passwort hart mit in den Befehl schreiben kann (wie sinnvoll das ist, ist die andere Frage).

            Für den Standard-SSH Befehl müsstest du mal hier schauen bezüglich authentifizieren: https://wiki.ubuntuusers.de/SSH/

            Ah, ich sehe gerade dein Broker läuft auf Windows, dann muss ich dich ans NPM-Package verweisen. Sorry. :D

            Videotutorials & mehr

            Hier könnt ihr mich unterstützen.

            1 Reply Last reply
            0
            • bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              wrote on last edited by
              #9

              Vielen lieben Dank, Paul

              Das probier ich heute abend gleich aus.

              mfg

              Dieter


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              1 Reply Last reply
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                wrote on last edited by
                #10

                So, nochmals Danke an beide.

                Was brauche ich noch:

                Kann man das log in iobroker untersuchen?

                Genauer:

                Wenn ein bestimmer Adapter einen Fehler ist log schreibt, dann möchte ich darauf reagieren.

                Habt ihr auch sowas?

                Oder mal einen Link für mich.

                mfg

                Dieter

                P.S.

                Wenn ich dies zusammen habe probier ich dann mal ein Script zu unterstellen, das folgendes machen soll:

                • wenn von Adapter x Fehler im log, dann führe Befehl auf Raspi aus und starte danach den Adapter x neu

                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                1 Reply Last reply
                0
                • foxriver76F Offline
                  foxriver76F Offline
                  foxriver76
                  Developer
                  wrote on last edited by
                  #11

                  @bahnuhr:

                  Kann man das log in iobroker untersuchen? `
                  Weiß leider nicht obs da schon was in ioBroker gibt. Notfalls liegt die Log-Datei in iobroker/log/ (wird in Windows hoffentlich auch so sein).

                  Lässt sich mit Sicherheit einlesen mittels JS. ;)

                  Unter Linux könnte man es mit

                  var logfile = exec('cat absPath/logfile.log');
                  

                  in eine Variable schreiben

                  Windows äquivalent zu cat scheint der Befehl````
                  type

                  
                  Evtl. mal hier schauen: [https://www.forum.iobroker.net/viewtopic.php?t=4138](https://www.forum.iobroker.net/viewtopic.php?t=4138)

                  Videotutorials & mehr

                  Hier könnt ihr mich unterstützen.

                  1 Reply Last reply
                  0
                  • bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    wrote on last edited by
                    #12

                    Rückinfo zu pauls script:

                    Paul, das script läuft einwandfrei.

                    Vielen Dank für den Input.

                    mfg

                    Dieter


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    1 Reply Last reply
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #13

                      @bahnuhr:

                      das script läuft einwandfrei. `
                      Dann ersetze bitte im Betreff des ersten Beitrags [Frage] durch [gelöst].

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • U Offline
                        U Offline
                        uwe72
                        wrote on last edited by
                        #14

                        Bekomme folgenden Fehler:
                        20:48:13.373 error javascript.0 (1414) script.js.common.Sensoren.Taster.TasterYolo: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../ssh2'

                        Betrifft die erste Zeile des beispielcodes:
                        const Client = require('ssh2').Client;

                        Was muss ich hier tun? Kann mir jemand helfen?

                        U 1 Reply Last reply
                        0
                        • U uwe72

                          Bekomme folgenden Fehler:
                          20:48:13.373 error javascript.0 (1414) script.js.common.Sensoren.Taster.TasterYolo: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../ssh2'

                          Betrifft die erste Zeile des beispielcodes:
                          const Client = require('ssh2').Client;

                          Was muss ich hier tun? Kann mir jemand helfen?

                          U Offline
                          U Offline
                          uwe72
                          wrote on last edited by
                          #15

                          @uwe72 ok habe es selber gefunden, man muss "ssh2" noch eintragen, siehe Screenshot:
                          6a4fba3b-d013-4549-ad92-94685ed81139-image.png

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          570

                          Online

                          32.7k

                          Users

                          82.5k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe