Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Script um Befehl auf Synology ausführen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Script um Befehl auf Synology ausführen

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gürol last edited by

      Hier hat seit 6 Monaten keine mehr etwas geschrieben. :shock:

      Da ich Threads nicht mag, wo am Ende keine Lösung steht (und diese Thread mir trotzdem geholfen hat das Problem zu lösen) dachte ich, daß ich hier meine Lösung präsentiere. 😉

      Ich fange mal mit der Beschreibung des Problems an.

      Synology hat inzwischen (aus Sicherheitsgründen) die Anmeldung als root mit einem Passwort gesperrt. :shock:

      So funktionieren alle alten Shutdown scripte nicht mehr, die sich als root einloggen und den Synology NAS herunterfahren. 😢

      Ich hatte vor einige Zeit eine Lösung dafür unter Windows ausgetüftelt gehabt und wußte daher, daß sich das Problem grundsätzlich lösen läßt. 😉

      Die Lösung von damals hier zu implementieren war mir jedoch zu aufwändig, da ich das damals so gelöst hatte, daß sich meine Batch Datei mittels eines Zertifikats als root einloggt um den NAS herunterfahren zu können. :roll:

      Die Lösung hier basiert auf den Tipp von Bluefox (weiter oben hier im Thread) mit dem "simple-ssh" Modul, daher bitte erst diesen Modul dazu nehmen, bevor man weiter macht. (Im Javascript-Konfig als zusätzliche NPM-Modul eintragen.)

      Als ich das Problem gelöst hatte, war ich doch verwundert, warum niemand den Syntax des sudo Befehls nachgeschlagen hatte. :shock:

      "-i" öffnet z.B. eine interaktive sudo Session, das nützt hier aber nichts, weil kein Mensch da ist um interaktiv etwas machen zu können.

      Vielmehr wird hier ein "-S" benötigt, damit das Passwort via stdin eingelesen werden kann.

      var SSH = require('simple-ssh');
      
      var ssh = new SSH({
          host: '192.168.xx.aa',
          port: bbbb,
          user: 'admin',
          pass: 'password_here'
      });
      
      ssh.exec('echo "password_here"|sudo -S shutdown -h now').start();
      
      ````(xx, aa, bbbb sowie password_here müssen durch die eigenen Werte ersetzt werden.)
      
      Da ich inzwischen drei Synology NAS Systeme hier stehen habe, habe ich das ganze an die vis Oberfläche eingebunden.
      
      (Anbindung an vis via hqwidgets On/Off Button)
      
      Die Buttons sind jeweils mit "Auslöser.EinAus216", "Auslöser.EinAus1512" etc. verbunden.
      
      Hier ist mein Blockly Script, das sich um das Ein- und Ausschalten aller Synologys kümmert:
      
      (Eine zentrale Schaltung habe ich nicht eingebaut. Man kann die Synologys nur einzeln ein- und ausschalten.)
       ![1929_blockly1.png](/assets/uploads/files/1929_blockly1.png) 
      Hier ist "DS_EinAus":
      

      if (ds.state.val) {
      if (ds.name=="Auslöser.EinAus216") {
      require('wake_on_lan').wake("aa:aa:aa:aa:aa:aa");
      } else if (ds.name=="Auslöser.EinAus1512") {
      require('wake_on_lan').wake("bb:bb:bb:bb:bb:bb");
      } else if (ds.name=="Auslöser.EinAus214") {
      require('wake_on_lan').wake("cc:cc:cc:cc:cc:cc");
      }
      } else {
      var SSH = require('simple-ssh');
      if (ds.name=="Auslöser.EinAus216") {
      var ssh = new SSH({
      host: '192.168.xx.a1',
      port: a2,
      user: 'admin',
      pass: 'password_here'
      });
      } else if (ds.name=="Auslöser.EinAus1512") {
      var ssh = new SSH({
      host: '192.168.xx.b1',
      port: b2,
      user: 'admin',
      pass: 'password_here'
      });
      } else if (ds.name=="Auslöser.EinAus214") {
      var ssh = new SSH({
      host: '192.168.xx.c1',
      port: c2,
      user: 'admin',
      pass: 'password_here'
      });
      }
      ssh.exec('echo "password_here"|sudo -S shutdown -h now').start();
      }

      
      Diese Status stimmt aber nur, wenn die Synologys immer via ioBroker ein- und ausgeschaltet werden. Damit die jeweilige Status auch dann richtig angezeigt wird, wenn die Synologys anderweitig ein- und ausgeschaltet werden, habe den folgenden Blockly Script hinzugefügt. (Den iobroker.radar Modul vorher installieren.) So weiß man, ob die Synologys noch laufen oder nicht.
       ![1929_blockly2.png](/assets/uploads/files/1929_blockly2.png) Gruß
      
      Gürol
      1 Reply Last reply Reply Quote 0
      • K
        Kuddel last edited by

        Hallo zusammen,

        ich habe auch versucht mein Synology NAS per Skript herunterzufahren. Leider ohne Erfolg. Es tut sich nichts.

        Hier mein Skript:

        on({id: "javascript.0.Shutdown_Synology", change: 'any'}, function (obj) {
        
        var SSH = require('simple-ssh');
        
        var ssh = new SSH({
            host: '192.168.4.12',
            port: 22,
            user: 'admin',
            pass: '**********'
        });
        
        ssh.exec('echo "password_here"|sudo -S shutdown -h now').start();   
        
             }
        );
        
        

        Per Blockly Skript checke ich ein Paar Geräte auf Ping. Wenn alle Geräte offline sind, schaltet Blockly die Variable Shutdown_Synology um.

        Ich weiß nicht ob ich irgendein Fehler gemacht habe.

        Im Javascript-Adapter habe ich folgendes eingetragen:
        3467_javascript.png

        Jemand eine Idee, warum sich nichts tut?

        Vielen Dank schon einmal

        1 Reply Last reply Reply Quote 0
        • Peoples
          Peoples last edited by

          HI,

          ich glaube auf der Seite von Synology gelesen zu haben dass seit DSM6 der SSH-Zugang standardmäßig deaktiviert ist. Und wohl auch nach dem Neustart wieder deaktiviert wird sofern man nur den SSH - Zugang über Putty ändert. Ich such mal den Artikel und hänge ihn hier an wenn ich ihn finde.

          Gruß

          Steffen

          1 Reply Last reply Reply Quote 0
          • K
            Kuddel last edited by

            @peoples:

            HI,

            ich glaube auf der Seite von Synology gelesen zu haben dass seit DSM6 der SSH-Zugang standardmäßig deaktiviert ist. Und wohl auch nach dem Neustart wieder deaktiviert wird sofern man nur den SSH - Zugang über Putty ändert. Ich such mal den Artikel und hänge ihn hier an wenn ich ihn finde.

            Gruß

            Steffen `

            Also ich komme auch nach einen Reboot weiterhin per SSH auf das NAS

            1 Reply Last reply Reply Quote 0
            • G
              Gürol last edited by

              @Kuddel:

              on({id: "javascript.0.Shutdown_Synology", change: 'any'}, function (obj) {
                  
              var SSH = require('simple-ssh');
               
              var ssh = new SSH({
                  host: '192.168.4.12',
                  port: 22,
                  user: 'admin',
                  pass: '**********'
              });
              
              ssh.exec('echo "password_here"|sudo -S shutdown -h now').start();   
                  
                  
                   }
              );
              
              ```` `  
              

              Hallo Kuddel,

              ich würde erstmal die üblichen Verdächtigen überprüfen. 😉

              Stimmt die IP?

              Stimmt die Portadresse?

              Hast du an beiden Stellen, den Passwort eingesetzt?

              (Also einmal, wo du die "****" hast und das zweite mal, wo du "password_here" hast.)

              Gruß

              Gürol

              1 Reply Last reply Reply Quote 0
              • K
                Kuddel last edited by

                Ja das war der Fehler. Habe das zweite PW vergessen. Jetzt geht es perfekt 🙂

                1 Reply Last reply Reply Quote 0
                • Peoples
                  Peoples last edited by

                  @Kuddel:

                  Also ich komme auch nach einen Reboot weiterhin per SSH auf das NAS `

                  Dann muss ich mal schauen weil bei mir geht das nicht :lol:

                  Gruß

                  Steffen

                  1 Reply Last reply Reply Quote 0
                  • lobomau
                    lobomau last edited by

                    Habt den Synology Adapter schon probiert?

                    Der hat die Befehle für Ausschalten und Neustarten.

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kuddel last edited by

                      @lobomau:

                      Habt den Synology Adapter schon probiert?

                      Der hat die Befehle für Ausschalten und Neustarten. `

                      Welcher?

                      Ich hatte einen getestet aber der kann nur per SNMP auslesen

                      1 Reply Last reply Reply Quote 0
                      • Dutchman
                        Dutchman Developer Most Active Administrators last edited by

                        Verwahrungsort auf latest stellen und synonology Adapter installieren (nicht den snmp)

                        –-----------------------

                        Send from mobile device

                        Das schöne ios hat Auto Korrektur zum k****

                        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                        1 Reply Last reply Reply Quote 0
                        • lobomau
                          lobomau last edited by

                          @Kuddel:

                          @lobomau:

                          Habt den Synology Adapter schon probiert?

                          Der hat die Befehle für Ausschalten und Neustarten. `

                          Welcher?

                          Ich hatte einen getestet aber der kann nur per SNMP auslesen `
                          Probier mal aus. Kannst deine Erfahrungen hier unten schildern 😉

                          http://forum.iobroker.net/viewtopic.php … gy#p112046

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          493
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          7
                          15
                          8589
                          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