Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.0k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

[gelöst] Befehl an Raspi

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 5 Kommentatoren 3.1k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #1

    Hallo,

    Ausgangslage:

    iobroker läuft auf win Laptop

    zusätzlich

    Raspi (im Heimnetzwerk erreichbar)

    Ich möchte nun per Script in iobroker eine Datei auf dem Raspi aufrufen.

    Genauer; Auf dem Raspi soll eine …sh-Datei aufgerufen werden.

    Der Befehl auf dem Raspi heißt: "sudo /etc/.../abc.sh"

    Könnt ihr mir mal einen script-schnipsel geben wie das funktioniert.

    Danke im Voraus.

    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 Antwort Letzte Antwort
    0
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      schrieb am zuletzt editiert von
      #2

      https://forum.ubuntuusers.de/topic/conn … l-per-ssh/

      .. das dürfte dir weiterhelfen. ;)

      Gruß

      1 Antwort Letzte Antwort
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        Ne, das hilft mir nicht weiter.

        Das Raspi sh-Script hab ich doch schon.

        Ich brauche nun ein iobroker-Script das dieses Raspi-Script aufruft.

        Von iobroker aus.

        mfg


        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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • foxriver76F Offline
            foxriver76F Offline
            foxriver76
            Developer
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • foxriver76F Offline
                  foxriver76F Offline
                  foxriver76
                  Developer
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • foxriver76F Offline
                        foxriver76F Offline
                        foxriver76
                        Developer
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • U Offline
                              U Offline
                              uwe72
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #15

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

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                774

                                Online

                                32.5k

                                Benutzer

                                81.6k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe