Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] SSH-Befehle per Blockly absetzen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [GELÖST] SSH-Befehle per Blockly absetzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      T-147 last edited by T-147

      Hallo zusammen,

      ich möchte gerne per zB Blockly eine SSH-Verbindung zu meinen Mikrotik-Switches aufbauen, um dort beispielsweise WoL-Befehle senden zu lassen oder auch PoE auf einzelnen Ports abzuschalten (oder Ports komplett zu deaktivieren).
      SSH-Verbindung zu den Switches auf Putty zB funktioniert und auch die Befehle sind korrekt und funktionieren.

      Jetzt möchte ich das ganze aber auch über den ioBroker ansprechen, um Vorgänge zu automatisieren (Abschalten einzelner WLAN-APs im Garten (oder) bei Abwesenheit beispielsweise).
      Nur irgendwie komm ich da auf keinen grünen Faden.

      Gibt es da irgendwo ne vernünftige Anleitung? Oder kann mir wer kurz Beschreiben, was ich alles dafür tun/haben muss?
      Habs bisher mit Javascript Funktionen über simple-ssh und ssh2 versucht, hat aber genausowenig funkitoniert wie mein exec-Befehl.

      Besten Dank und Grüße
      Marian

      wendy2702 1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 @T-147 last edited by

        @t-147 Was genau funktioniert denn nicht?

        Vielleicht zeigst du mal dein Script und die dazugehörigen Fehlermeldungen

        Wenn Putty per SSH auf den Switch geht, mal SSH von IOB auf den Switch probiert?

        T 1 Reply Last reply Reply Quote 0
        • T
          T-147 @wendy2702 last edited by

          @wendy2702
          Erster Versuch war

          var SSH = require('simple-ssh');
          var ssh = new SSH({
              host: 'XXX.XXX.XXX.XXX',
              port: 22,
              user: 'admin',
              pass: '***'
          });
          
          ssh.exec('/tool/wol interface=vlan100 mac=XX:XX:XX:XX:XX:XX').start();
          

          Danach hab ich simple-ssh mit ssh2 ersetzt, beides jeweils als zusätzliches NPM-Modul im Adapter angegeben.

          Direkte Verbindung vom iob zum Switch hab ich noch gar nicht getestet, zu anderen Geräten wie das NAS oder meine RPi's gehts...

          wendy2702 1 Reply Last reply Reply Quote 0
          • falke69
            falke69 last edited by falke69

            @t-147

            ich habe es bei mir so gelöst:

            // bei Änderung "0_userdata.0.Test.blub" wird Pi neu gestartet
            on({id: '0_userdata.0.Test.blub', change: "any"}, function (obj) {
            
             // SSH fährt Raspberry PI herunter
            
               const node_ssh = require('node-ssh').NodeSSH;
               const ssh = new node_ssh();
            
               ssh.connect({
            
               host: '192.168.xxx.xxx',
               username: 'Benutzer',
               password: 'password'
            
               }).then(() => {
            
               ssh.execCommand("sudo reboot");
            
            });
            
            });
            

            eventuell mal hier schauen:

            https://forum.iobroker.net/topic/28617/anderen-raspberry-herunterfahren

            T 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 @T-147 last edited by

              @t-147 sagte in SSH-Befehle per Blockly absetzen:

              Direkte Verbindung vom iob zum Switch hab ich noch gar nicht getestet,

              Eventuell muss erst noch der SSH Key vom Switch auf dem iob Host akzeptiert werden .

              T 1 Reply Last reply Reply Quote 0
              • T
                T-147 @wendy2702 last edited by

                @wendy2702
                Danke für den Hinweis, das werd ich nachher als erstes mal testen.

                OliverIO 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @T-147 last edited by

                  @t-147

                  Und zwar für den User Iobroker, da der Iobroker als User Iobroker läuft.

                  1 Reply Last reply Reply Quote 0
                  • T
                    T-147 @falke69 last edited by

                    Herzlichen Dank für eure Hilfe!

                    Das Script von @falke69 hat mir sehr geholfen und auf dieser Grundlage funktioniert es jetzt.

                    Ein Problem hatte ich unterdessen noch beim Switch gefunden: Hier war die IP einem falschen Interface zugewiesen und daher war der Switch darüber gar nicht zu erreichen, bzw. nur per MAC über upd ansprechbar/konfigurierbar.
                    Zusätzlich dazu habe ich den ioBroker in das gleiche VLAN umgezogen wie das NAS, weil WoL ja nicht netzwerkübergreifend geht - das hatte ich gar nicht bedacht. Hat aber auch nicht geholfen, da der ioB in Docker läuft und daher eh ein anderes Netzwerk hat.

                    Ein SSH-Key war hier mit dem Script gar nicht nötig, zumindest in Bezug auf diesen Switch.
                    Jetzt hab ich schon mal eine funktionierende Grundlage und kann damit weiter testen und Funktionen ausarbeiten.

                    Beste Grüße
                    Marian

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    1.1k
                    Online

                    31.7k
                    Users

                    79.7k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    507
                    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