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. Blockly - exec Befehl mit ssh

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Blockly - exec Befehl mit ssh

Scheduled Pinned Locked Moved Skripten / Logik
33 Posts 7 Posters 6.4k Views 6 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.
  • SegwayS Offline
    SegwayS Offline
    Segway
    wrote on last edited by
    #1

    Hallo an Alle,

    ich muss nun doch nochmal hier nachfragen (habe den Thread herausgelöst und nun separat hier gepostet), da ich den einen Wert einfach nicht ausgelesen bekommen obwohl es auf der Konsole einwandfrei klappt !

    In Blockly habe ich per exec Befehl auf einem anderen Rechner die Temperatur abgefrgat (private key erstellt).

    Der Einfachheit halber habe ich eine Datei in /tmp abgelegt um diese zu lesen. Anbei Screenshots - vielleicht hat einer eine Idee warum es nicht klappt per Blockly aber per console schon (der Wert bleibt NULL):
    1043_variable.jpg
    1043_javascript.jpg
    1043_blockly.jpg
    1043_konsole.jpg

    Gruß Dirk
    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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

      Du solltest einen Debug-Block für result einfügen, um zu sehen, was zurück kommt. Wird ein richtiger Log-Eintrag erzeugt, dann liegt result als String vor und muss erst in eine Zahl gewandelt werden, um damit rechnen zu können.

      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
      • SegwayS Offline
        SegwayS Offline
        Segway
        wrote on last edited by
        #3

        Ich hoffe ich habe den debug Block richtig eingefügt:

        1043_blockly1.jpg

        1043_log.jpg

        Gruß Dirk
        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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

          1. Den Loglevel bei exec solltest Du auf keins stellen.

          2. Den Loglevel bei debug output solltest Du auf info stellen.

          3. Poste bitte den Javascript-Code (Zeige Code) ohne die letzte Zeile in Code tags, damit man sieht, welches Statement die Warnung erzeugt.

          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
          • SegwayS Offline
            SegwayS Offline
            Segway
            wrote on last edited by
            #5

            Habe die Loglevel mal umgestellt. Hier der Code aus dem Blockly:

            var result;
            schedule("* * * * *", function () {
              exec('ssh dirk@192.168.40.6 cat /tmp/temp', function (error, result, stderr) {
                  setState("javascript.0.scriptEnabled.UserDefined.Tests.Variable"/*Variable*/, (result / 100));
                console.log(result);
              });
            });
            
            

            Gruß Dirk
            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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

              Was gibt das Log aus ?

              Bitte keine eigenen Datenpunkte unter javascript.0.scriptEnabled anlegen, sondern direkt unter javascript.0.

              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
              • SegwayS Offline
                SegwayS Offline
                Segway
                wrote on last edited by
                #7

                Also mit den Einstellungen im Blockly sowie debug des javascript Adapters kommt das hier - lediglich die Warnung

                javascript.0	2019-01-23 14:55:00.186	info	script.js.UserDefined.Tests.Skript1:
                javascript.0	2019-01-23 14:55:00.186	info	script.js.UserDefined.Tests.Skript1: setForeignState(id=javascript.0.TestVar, state=0)
                javascript.0	2019-01-23 14:55:00.186	warn	at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
                javascript.0	2019-01-23 14:55:00.186	warn	at maybeClose (internal/child_process.js:915:16)
                javascript.0	2019-01-23 14:55:00.186	warn	at ChildProcess.emit (events.js:214:7)
                javascript.0	2019-01-23 14:55:00.186	warn	at emitTwo (events.js:126:13)
                javascript.0	2019-01-23 14:55:00.186	warn	at ChildProcess.exithandler (child_process.js:288:5)
                javascript.0	2019-01-23 14:55:00.186	warn	at script.js.UserDefined.Tests.Skript1:6:7
                javascript.0	2019-01-23 14:55:00.185	warn	Wrong type of javascript.0.TestVar: "number". Please fix, while deprecated and will not work in next versions.
                javascript.0	2019-01-23 14:55:00.123	info	script.js.UserDefined.Tests.Skript1: exec: ssh dirk@192.168.40.6 cat /tmp/temp
                javascript.0	2019-01-23 14:54:37.100	info	script.js.UserDefined.Tests.Skript1: registered 0 subscriptions and 1 schedule
                javascript.0	2019-01-23 14:54:37.100	info	script.js.UserDefined.Tests.Skript1: schedule(cron=* * * * *)
                javascript.0	2019-01-23 14:54:37.100	info	Start javascript script.js.UserDefined.Tests.Skript1
                javascript.0	2019-01-23 14:54:35.179	info	Stop script script.js.UserDefined.Tests.Skript1
                javascript.0	2019-01-23 14:54:19.791	info	script.js.UserDefined.Tests.Skript1: registered 0 subscriptions and 1 schedule
                javascript.0	2019-01-23 14:54:19.790	info	script.js.UserDefined.Tests.Skript1: schedule(cron=* * * * *)
                javascript.0	2019-01-23 14:54:19.769	info	Start javascript script.js.UserDefined.Tests.Skript1
                

                Gruß Dirk
                Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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

                  @Segway:

                  javascript.0 2019-01-23 14:55:00.186 info script.js.UserDefined.Tests.Skript1:
                  ```` `  
                  

                  Das ist offenbar das Log des Debug-Blocks: result liefert nichts.

                  @Segway:

                  javascript.0 2019-01-23 14:55:00.185 warn Wrong type of javascript.0.TestVar: "number". Please fix, while deprecated and will not work in next versions.
                  ```` `  
                  

                  Der Datenpunkt "javascript.0.TestVar" sollte vom Typ "Zahl" ("number") sein.

                  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
                  • SegwayS Offline
                    SegwayS Offline
                    Segway
                    wrote on last edited by
                    #9

                    Hallo Paul,

                    das result anscheinend nichts liefert, dass weiß ich ja nur warum ist das so, wenn ich in der Konsole den Befehl eingebe und etwas wiederbekommen.

                    Den Typ des Datenpunktes habe ich bereits geändert, aber hat nicht die erhoffte Lösung gebracht.

                    Ich steh da voll auf dem Schlauch warum da nichts kommt ???

                    Gruß Dirk
                    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

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

                      @Segway:

                      warum da nichts kommt ??? `
                      :?: Vielleicht liefern error, stderr die Antwort (Debug-Blöcke) ?

                      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
                      • SegwayS Offline
                        SegwayS Offline
                        Segway
                        wrote on last edited by
                        #11

                        Ich habe mal auf error gestellt und siehe da:

                        Host key verification failed
                        

                        Mhhh, User "dirk" und "root" ist definitiv eingetragen. Kann es sein dass über iobroker er mit einem anderen user kommt obwohl der Befehl ja mit dirk@ ist ???

                        Gruß Dirk
                        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                        1 Reply Last reply
                        0
                        • SegwayS Offline
                          SegwayS Offline
                          Segway
                          wrote on last edited by
                          #12

                          Obwohl ich nochmal die Authentifizierung gemacht habe geht es nicht. Fehlermeldung:

                          script.js.UserDefined.Tests.Skript1: Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password). 
                          

                          Gruß Dirk
                          Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                          1 Reply Last reply
                          0
                          • SegwayS Offline
                            SegwayS Offline
                            Segway
                            wrote on last edited by
                            #13

                            @Segway:

                            Mhhh, User "dirk" und "root" ist definitiv eingetragen. Kann es sein dass über iobroker er mit einem anderen user kommt obwohl der Befehl ja mit dirk@ ist ??? `

                            Hier bräuchte ich einmal Hilfe.

                            Wenn ich per exec Befehl im Blockly den ssh Befehl absetze, komme ich dann mit den angegebenen User auch rüber auf dem entfernten Rechner, so wie ich es über die Konsole auch machen würde, oder macht der javascript-Adapter "etwas anderes daraus", sprich ich komme mit dem user iobroker rüber oder wie auch immer ?

                            Per Konsole geht es per root und username einwandfrei allerdings per Blockly NICHT !

                            Ja, es ist ein Rechteproblem wohl, daher die Frage wie der Befehl letztendlich abgesetzt wird ?

                            Gruß Dirk
                            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Smolo
                              wrote on last edited by
                              #14

                              Hallo,

                              hat jemand mittlerweile eine reproduzierbare Methode zum Ausführen eines Scripts aus ioBroker per ssh auf einen anderen Rechner hinbekommen? (Blocky oder JavaScript etc. ist egal wenigstens es funktioniert.

                              also sowas wie

                              ssh pi@x.x.x.x uptime ??

                              Ich hatte jetzt schon diverse Lösungen am Start aber nach einem Neuaufbau geht wieder mal gar nichts mehr :-(

                              AlCalzoneA 1 Reply Last reply
                              0
                              • S Smolo

                                Hallo,

                                hat jemand mittlerweile eine reproduzierbare Methode zum Ausführen eines Scripts aus ioBroker per ssh auf einen anderen Rechner hinbekommen? (Blocky oder JavaScript etc. ist egal wenigstens es funktioniert.

                                also sowas wie

                                ssh pi@x.x.x.x uptime ??

                                Ich hatte jetzt schon diverse Lösungen am Start aber nach einem Neuaufbau geht wieder mal gar nichts mehr :-(

                                AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                wrote on last edited by
                                #15

                                @Smolo Es gibt das Paket node-ssh. Damit kannst du aus einem Skript heraus eine Verbindung mit Passwort oder Key herstellen und mehrere Befehle ausführen, Dateien kopieren etc.

                                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                1 Reply Last reply
                                0
                                • E Offline
                                  E Offline
                                  el_malto
                                  wrote on last edited by
                                  #16

                                  @Segway @Smolo warum macht ihr nicht den umgekehrten Weg und führt ein Skript auf den SSH Host aus und übergibt die Daten mit Hilfe des simple-api Adapters zu ioBroker?
                                  Anonsten in anlehnung an @AlCalzone Vorschlag habe ich hier mal AlCalzone Skript benutzt um eine ssh Verbindung zum iPad aufzubauen. Vielleicht hilft das ja sonst auch weiter.

                                  1 Reply Last reply
                                  1
                                  • liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    wrote on last edited by liv-in-sky
                                    #17

                                    wenn das fixer script gelaufen ist, muss man mit sudo arbeiten, damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist) - damit das funktioniert muss im ordner /etc/sudoers.d ein neues file angelegt werden - name ist egal - und dies sieht dann folgendermaßen aus:

                                    Image 9.png

                                    damit lassen sich dann die befehle richtig ausführen
                                    will man etwas mit root direkt im exec-blockly ausführen: sudo -u root .......

                                    beispiel:

                                    Image 10.png

                                    hier noch ein wenig info in einem anderen thread:
                                    https://forum.iobroker.net/topic/9405/offen-root-rechte-für-exec/33
                                    https://forum.iobroker.net/post/269945

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    AlCalzoneA 1 Reply Last reply
                                    1
                                    • liv-in-skyL liv-in-sky

                                      wenn das fixer script gelaufen ist, muss man mit sudo arbeiten, damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist) - damit das funktioniert muss im ordner /etc/sudoers.d ein neues file angelegt werden - name ist egal - und dies sieht dann folgendermaßen aus:

                                      Image 9.png

                                      damit lassen sich dann die befehle richtig ausführen
                                      will man etwas mit root direkt im exec-blockly ausführen: sudo -u root .......

                                      beispiel:

                                      Image 10.png

                                      hier noch ein wenig info in einem anderen thread:
                                      https://forum.iobroker.net/topic/9405/offen-root-rechte-für-exec/33
                                      https://forum.iobroker.net/post/269945

                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      wrote on last edited by
                                      #18

                                      @liv-in-sky sagte in Blockly - exec Befehl mit ssh:

                                      damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist)

                                      Nur solche Befehle, die root-Rechte benötigen. Und dann bitte auch nur die Befehle die tatsächlich benötigt werden und nicht alles mögliche. swapfind ist für ssh z.B. nicht nötig ;)

                                      Für SSH ist es tatsächlich unnötig, da man prima wie oben geschrieben auch mit verminderten Rechten SSH-Befehle absetzen kann.

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      liv-in-skyL MartinK.M 2 Replies Last reply
                                      0
                                      • AlCalzoneA AlCalzone

                                        @liv-in-sky sagte in Blockly - exec Befehl mit ssh:

                                        damit z.b. ein exec() befehl läuft (indem ein ssh befehl ist)

                                        Nur solche Befehle, die root-Rechte benötigen. Und dann bitte auch nur die Befehle die tatsächlich benötigt werden und nicht alles mögliche. swapfind ist für ssh z.B. nicht nötig ;)

                                        Für SSH ist es tatsächlich unnötig, da man prima wie oben geschrieben auch mit verminderten Rechten SSH-Befehle absetzen kann.

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        wrote on last edited by
                                        #19

                                        @AlCalzone

                                        swapfind ist ein bash datei - die alle laufenden processe als tabelle in die vis bringt - ohne root geht da garnichts

                                        ssh - habe ich nicht getestet - da hast du wohl recht - um auf andere server zuzugreifen nutze ich auch bashscripts (kommt noch von früher - nutzen sshpass) - diese können tatsächlich ohne sudo oder root laufen

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        AlCalzoneA 1 Reply Last reply
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @AlCalzone

                                          swapfind ist ein bash datei - die alle laufenden processe als tabelle in die vis bringt - ohne root geht da garnichts

                                          ssh - habe ich nicht getestet - da hast du wohl recht - um auf andere server zuzugreifen nutze ich auch bashscripts (kommt noch von früher - nutzen sshpass) - diese können tatsächlich ohne sudo oder root laufen

                                          AlCalzoneA Offline
                                          AlCalzoneA Offline
                                          AlCalzone
                                          Developer
                                          wrote on last edited by
                                          #20

                                          @liv-in-sky Ich meinte das als Hinweis für alle die möglicherweise nur deine Datei abtippen.

                                          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                          liv-in-skyL 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

                                          694

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          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