Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Synology fernsteuern (reboot/shutdown) möglich?

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Synology fernsteuern (reboot/shutdown) möglich?

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

      Ich versuchte mit dem Synology-Adapter ein Reboot / Shutdown auszuführen und bin gescheitert. Da es scheint, dass der Adapter nicht mehr gewartet/weiterentwickelt wird (auf GitHub existiert dazu ein Issue seit längerer Zeit), die Frage an euch:
      Kennt ihr eine Möglichkeit die Synology vom ioBroker aus (in meinem Fall auf einem Pi) "fernzusteuern"?
      Vielen Dank für eure Rückmeldungen!

      Glasfaser 1 Reply Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @Latzi last edited by Glasfaser

        @Latzi

        Hier ein Skriptbaustein , womit ich ein Backup manuell ausführe , wenn ich am Basteln bin .
        Es wird auf der Synology ein Regel im Hyperbackup angestoßen , was ich auch dort eingetragen habe .

        ////@Glasfaser 2020
        //// createState("Synology.Backup.1");
         
        on({id: "javascript.0.Synology.Backup.1", change: 'ne', val: true }, function (obj) {
        
        log ("--> Update gestartet!");
        console.log('+++ Backup iobroker durchgeführt +++');
           setState('javascript.0.Synology.Backup.1', false);
           
        var SSH = require('simple-ssh');
         
        var ssh = new SSH({
            host: '192.168.178.11',
            user: 'XXXXXX',
            pass: 'XXXXXXX'
        });
         
        ssh.exec('/var/packages/HyperBackup/target/bin/dsmbackup --backup 10', {
            out: function(stdout) {
                console.log(stdout);     
        
            }
        }).start();
        
         }
        );
        
        //onEvent();
        
        
        

        im exec kann du dann jeden Befehl absetzen .

        z.b : ungetestet ......wollte jetzt nicht testen 🙂

        shutdown -h now
        
        Latzi 1 Reply Last reply Reply Quote 1
        • Latzi
          Latzi @Glasfaser last edited by Latzi

          @Glasfaser
          Super, vielen Dank - hat perfekt funktioniert! Ich musste nur den Befehl etwas abändern ('echo "password"|sudo -S shutdown -h now'). 👏

          Off Topic: Gibt es auch eine Möglichkeit, einen Adapter per JS zu stoppen? Ich möchte einige Adapter beenden, bevor ich die Synology herunterfahre. Unter system.adapter... kann man nur lesen, nicht schreiben 😞 und ich bin nicht sicher, ob das überhaupt die richtige Stelle ist.

          Edit: Hab´s gefunden - ich werde kein Freund der Suchfunktion 😉

          dslraser horos73 2 Replies Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @Latzi last edited by

            @Latzi

            Durch Zufall mal mit Blockly probiert.

            https://forum.iobroker.net/post/346833

            1 Reply Last reply Reply Quote 1
            • horos73
              horos73 @Latzi last edited by

              @Latzi Hallo Latzi, bin auch gerade dabei, einzurichten, meine Synology-NAS mittels Skript herunterfahren zu können.
              Könntest Du mir bitte Dein angepasstes Skript zur Verfügung stellen bzw. Dir meine Anpassung mal anschauen? Würde es gerne vergleichen mit "meinem": da hab ich einfach das von @Glasfaser verwendet und ein paar Stellen ersetzt. Bin mir allerdings nicht sicher, ob ich das so richtig gemacht habe:

              ////@Glasfaser 2020
              
              //// createState("MusikNAS.Shutdown");
              
               
              
              on({id: "javascript.0.MusikNAS.Shutdown", change: 'ne', val: true }, function (obj) {
              
               
              
              log ("--> Update gestartet!");
              
              console.log('+++ MusikNAS Shutdown durchgeführt +++');
              
                 setState('javascript.0.MusikNAS.Shutdown', false);
              
                 
              
              var SSH = require('simple-ssh');
              
               
              
              var ssh = new SSH({
              
                  host: '192.168.178.XX',
              
                  user: 'MeinNutzername',
              
                  pass: 'MeinPasswort'
              
              });
              
               
              
              ssh.exec('echo "MeinPasswort"|sudo -S shutdown -h now', {
              
                  out: function(stdout) {
              
                      console.log(stdout);     
              
               
              
                  }
              
              }).start();
              
               
              
               }
              
              );
              

              Danke schonmal!

              Schöne Grüße,
              Holger

              Neuschwansteini Latzi 2 Replies Last reply Reply Quote 0
              • Neuschwansteini
                Neuschwansteini @horos73 last edited by

                @horos73 vor ein paar Wochen wurde auch der Adapter komplett angepasst und der läuft jetzt super!
                nur mal so.. 😉

                horos73 1 Reply Last reply Reply Quote 1
                • Latzi
                  Latzi @horos73 last edited by Latzi

                  @horos73
                  skript passt so 👏 Verständnisfrage: Warum setzt du beim shutdown die Variable javascript.0.MusikNAS.Shutdown auf false?
                  Der synology-Adapter ist auf jeden Fall einen Blick wert, läuft anstandslos.

                  horos73 1 Reply Last reply Reply Quote 1
                  • horos73
                    horos73 @Neuschwansteini last edited by

                    @ilovegym Ja, hab ihn auch in Gebrauch. Aber: sowie das NAS aus ist, wird das LOG mit Polling-Error zugemüllt (klar: wenn NAS aus ist kann er nichts abrufen 😁 . Hab zwar auch schon mit dem Polling-Intervall experimentiert, hat aber nichts geholfen. Shutdown und Reboot via Adapter hatte funktioniert, nebenbei bemerkt.
                    Mein Ziel ist: die NASse wenn's arg heiß ist oder ordentlich gewittert, schnell via iQontrol-Button herunterfahren zu können bzw. auch mal zeitgesteuert. Bin da aber auch noch am herausbekommen, was ich wie genau machen will...

                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                    • horos73
                      horos73 @Latzi last edited by

                      @Latzi Hm, kommt davon wenn man ein Skript fast 1:1 übernimmt 😀
                      Ich werd das herausnehmen, danke für den Tip!

                      1 Reply Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini @horos73 last edited by

                        @horos73 hmm da würd ich in dem Script zum runterfahren den Adapter stoppen.
                        und beim script fürs Hochfahren ( per WOL ?) dann den Adapter wieder starten lassen.. 🙂

                        horos73 1 Reply Last reply Reply Quote 1
                        • horos73
                          horos73 @Neuschwansteini last edited by

                          @ilovegym Oh, ja, ist ne gute Idee!!! Hat ich gar nicht dran gedacht, danke, Bernd!
                          Wie müsste ich das Skript anpassen um die Adapter Instanz "synology.0" dann zu stoppen [und umkehrt im WOL-Skript wieder zu starten]?

                          Bin leider kein Skript-Experte und taste mich da langsam ran 😊

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

                            @ilovegym Mein WOL-Skript (hab ich hier aus dem Forum) sieht so aus:

                            createState("javascript.0.MusikDSstarten", 0);   // Generiert beim starten den Datenpunkt, wenn nicht vorhanden
                            var wol = require('wake_on_lan');         // Lädt von ioBroker die das nötige Paket
                            var MusikDS = "MeineMAC;         // MAC definieren
                            
                            
                            // Ab hier automatisch
                            on({id: "javascript.0.MusikDSstarten", change: 'any'}, function (obj) {
                               wol.wake(MusikDS);
                               log("Script WOL - MusikDS aufgeweckt", "info");
                                }
                            
                            );
                            
                            Neuschwansteini 1 Reply Last reply Reply Quote 0
                            • Neuschwansteini
                              Neuschwansteini @horos73 last edited by

                              @horos73
                              du musst nur ne Zeile zum starten oder stoppen einfügen.

                              setState("system.adapter.synology.0.alive"/*synology.0 alive*/, false);
                              

                              false stoppt, true startet den Adapter. Das geht mit jedem Adapter so, nur den Javascript würd ich nie stoppen, sonst gehen die Scripte nicht mehr 🙂 😄

                              Würd das zwischen Zeile 3 und 4 reinschieben, dann startet der Adapter schonmal.. halt später, sonst hast du vielleicht ein paar Fehlermeldungen, wenn das NAS noch nicht online ist...
                              je nachdem wie schnell es ist...

                              horos73 1 Reply Last reply Reply Quote 1
                              • horos73
                                horos73 @Neuschwansteini last edited by horos73

                                @ilovegym Super, ich danke DIr! Werde das nachher noch umsetzen. Wenn Du nicht mehrs von mir hörst, läuft alles 😊

                                Ja, den JS-Adapter anzuhalten fände ich auch keine gute Idee, sonst sind graue Haare vorprogrammiert 😝

                                EDIT: inwelcher Zeile beim Shutdown-Skript kann ich Deine Zeile einfügen?

                                Neuschwansteini 1 Reply Last reply Reply Quote 0
                                • Neuschwansteini
                                  Neuschwansteini @horos73 last edited by

                                  @horos73 Zeile 17, nach dem Logeintrag und bevor er das kommando schickt.. so solltest du keine Fehlermeldung im Log haben.

                                  horos73 1 Reply Last reply Reply Quote 1
                                  • horos73
                                    horos73 @Neuschwansteini last edited by

                                    @ilovegym Hmm, irgendwas stimmt nicht: das Skript wird nicht ausgelöst/der Adapter nicht gestoppt und das Nas auch nicht.

                                    Habe in Userdata einen Datenpunkt "button" erstellt

                                    {
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1593351799846,
                                      "common": {
                                        "name": "SHUTDOWN-MusikNAS-Button",
                                        "role": "button",
                                        "type": "boolean",
                                        "desc": "Manuell erzeugt",
                                        "read": true,
                                        "write": true,
                                        "def": false
                                      },
                                      "native": {},
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      },
                                      "_id": "0_userdata.0.Schalter.SHUTDOWN-MusikNAS-Button",
                                      "type": "state"
                                    }
                                    

                                    Dann ein Blockly erstellt, das auf Änderung des Buttons reagiert und das Skript startet:

                                    <xml xmlns="http://www.w3.org/1999/xhtml">
                                      <block type="on" id="m--eciX;Kl5HJ0iLhR@A" x="38" y="63">
                                        <field name="OID">0_userdata.0.Schalter.SHUTDOWN-MusikNAS-Button</field>
                                        <field name="CONDITION">gt</field>
                                        <field name="ACK_CONDITION"></field>
                                        <statement name="STATEMENT">
                                          <block type="control" id="oo_;TmwS[)/3j-%JP%EN">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">javascript.0.scriptEnabled.WOL-und-Shutdown-Skripte.MusikDS-Shutdown-Script</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="$hpt[hrR6,wS4rzy/T?S">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    Hier das Blockly als Bild:
                                    Screenshot_1.png

                                    Nur: es passiert nichts...

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @horos73 last edited by

                                      @horos73 huch, warum machst du ein Script, das ein Script startet? Das ist so nicht im Sinne des Erfinders 🙂

                                      horos73 1 Reply Last reply Reply Quote 0
                                      • horos73
                                        horos73 @Neuschwansteini last edited by horos73

                                        @ilovegym Ich hatte mal gelesen, dass man Skripte nie direkt ansteuern sollte.
                                        Edit: wäre möglich,d ass ich das mißverstanden habe..

                                        Wie würdest Du es lösen: möchte in iQontrol einen Button einfügen, der das (irgendein) Skript startet?

                                        Hast Du eine Idee, warum das Shutdown.Skript nichts stoppt? IP, Passwort etc sind korrekt..

                                        Neuschwansteini 1 Reply Last reply Reply Quote 0
                                        • Neuschwansteini
                                          Neuschwansteini @horos73 last edited by

                                          @horos73 Also von der Logik her macht man kein Script, das ein anderes startet oder stoppt..
                                          man baut im script den trigger ein, den man abfragt.

                                          D.h. du fragst in deinem script den Datenpunkt ab, den du mit iqontrol steuerst, und wenn der sich ändert, dann passiert dies oder jenes..

                                          Die funktion "erlaube exec" im Javascript enabled?
                                          Funktionieren die Befehle, wenn du sie selbst per konsole eingibst?

                                          horos73 1 Reply Last reply Reply Quote 0
                                          • horos73
                                            horos73 @Neuschwansteini last edited by

                                            @ilovegym Klingt logisch. Hab das so an anderer Stelle allerdings schon erfolgreich im Einsatz, werde mir diese aber demnächst nochmal anschauen.

                                            "Erlaube exec" im JS ist angehakt. Hab vorhin im JS-Adapter auch noch bei "zusätzl. NPM-Module" "simple-ssh" hinzugefügt.
                                            Den JS-Adapter hatte ich vorhin auch schonmal neu gestartet.

                                            Ich habe eben in Termius mich auf dem MusikNas eingeloggt und dort

                                            echo "MusikNASPasswort!"|sudo -S shutdown -h now
                                            

                                            eingegeben: das NAS fuhr herunter.

                                            Ich glaub ich mach hier für heute einen Punkt und schau mir das nächstes Wochenende nochmal an. Irgendwo ist da ein Fehler..

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            651
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            synology adapter fernsteuern
                                            5
                                            20
                                            2903
                                            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