Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Batchdatei ausführen??

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Batchdatei ausführen??

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

      Moin,

      Bin neu hier im Forum und möchte mich erstmal für die coole Arbeit bedanken, die diejenigen leisten und Iobroker auf die Beine gestellt haben 😛 😛

      Super Sache und bei mir läuft alles so wie es soll im Moment.

      Nun zu meinen Anliegen.

      Ich habe ein Batch Datei die von dem Windows Aufgabeplaner immer Nachts ausgeführt wird. Iobroker Stop Backup aufs NAS und Iobroker wieder starten.

      Das funktioniert soweit super.

      Nun kam mir diese Idee das ganze auf UPDATES zu erweitern. Die Datei ist soweit fertig und funktioniert auch.

      Das was ich möchte wäre diese Datei über ein script oder ähnliches auszuführen soweit dieses irgendwie möglich ist.

      Das heißt ich lasse mir auf dem Tablet anzeigen wie viel Updates anstehen.Dann möchte ich eine Taste drücken und dann soll die Datei ausgeführt werden.

      Iobroker stop Backup NAS Upgrade und dann wieder starten

      Weiß nicht ob sowas möglich ist.Habe auch schon gegoggelt aber nichts passendes gefunden.

      Auf diesem Weg schon mal vielen Dank

      Mfg 8-)

      Ps. Das ganze läuft auf einer Win10 Maschine (Wintel W8 Box) NodeV4

      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Aus einem Script heraus kannst du eine Batch-Datei mit

        exec ausführen:

        exec (cmd, callback)
        

        Exec tut so, wie wenn du etwas in einem Terminal eingibst.

        Und dieses exec kannst du über Lauschen auf einen Taster, den du per VIS ansteuerst, ausführen.

        Hilft das als Ansatz?

        1 Reply Last reply Reply Quote 0
        • L
          Loomii last edited by

          Hi Solear,

          Danke für die schnelle Antwort.

          Hilft mir in dem Sinne weiter das ich weiss das es

          Funktioniert 😄

          Habe bloss keine Ahnung vom scripten.ausser ein paar alte dos Befehle ist nicht mehr da. 😛 vielleicht existiert

          Ja schon irgendwo so ein Script und man kann das hier reinstellen.

          Werde mich aber auch mal reinlesen und mit dem Befehl

          Exec mal bissel rumprobieren.oder einer kann schnell eins schreiben weiss ja nicht wie aufwendig so was ist 😉

          Habe ja ein paar scripte laufen da kann man ja bestimmt was draus lernen und probieren 😉

          Aber erstmal vielen dank für deine mühe

          Mfg sven

          1 Reply Last reply Reply Quote 0
          • B
            Brati last edited by

            Geht das ganze auch auf einer Linux Maschine? Also dortige sh Dateien ausführen?

            Grüße

            Brati

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

              @Brati:

              Geht das ganze auch auf einer Linux Maschine? Also dortige sh Dateien ausführen? `
              Ja, natürlich.

              exec('/Pfad_zum_Script/mein_script.sh', function(err, stdout, stderr) {
                  if (err) {
                     log(stderr,'error');
                     return;
                  }
                  Mach was mit stdout;
              });
              
              1 Reply Last reply Reply Quote 0
              • L
                Loomii last edited by

                Hallo Paul53,

                Danke für die Vorlage habe es ein "wenig" umgebaut und es funktioniert zumindest auf meinen

                Testsystem. 8-)

                exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) {
                    if (err) {
                       log(stderr,'error');
                       return;
                    }
                
                });
                

                Also nochmal danke an Euch für die schnellen Antworten.

                Fragen kommen bestimmt noch 😄

                Mfg

                Sven

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

                  Wenn keine Rückgabe über stdout erfolgt, geht es auch mit weniger Zeilen:

                  exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) {
                      if (err) log(stderr,'error');
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • L
                    Loomii last edited by

                    Danke Paul53.

                    Habe ich übernommen 8-) Danke

                    Nur noch ne frage,kann man das irgendwie machen/einstellen das das script bei einem

                    Neustart nicht gestartet wird sondern erst wenn ich den Taster drücke???

                    So wird´s ja immer neu gestartet beim Neustart und Iobroker läuft in einer schleife :?

                    Vielleicht habe ich es auch übersehen??

                    Hoffe ihr versteht was ich meine!!

                    Mfg

                    Sven

                    1 Reply Last reply Reply Quote 0
                    • L
                      Loomii last edited by

                      Moin,

                      So habe ihr was gefunden im Forum was ich für umgebaut habe.

                      Ich glaube es kam von Blufox(Danke).

                      createState('javascript.0.Backup', false, {name: 'Skript bei VIS Tastendruck starten'});
                      
                      on('javascript.0.Backup', function (obj) {
                          if (!obj.state.ack && obj.state.val) {
                          exec("cmd.exe /c start D:backup.bat", function(err, stdout, stderr) {
                          if (err) log(stderr,'error');
                      });
                          }
                      });
                      

                      So funktioniert es wie ich es will :geek: Geilomat

                      Man versteht immer mehr!!

                      Mfg

                      Sven

                      1 Reply Last reply Reply Quote 0
                      • B
                        Brati last edited by

                        Von mir auch vielen Dank, hab es jetzt auch eingebaut. Kann ich mir auch den cronjob sparen :

                        createState('javascript.0.System.Backup', false, {name: 'Backup Skript bei VIS Tastendruck starten'});
                        createState('javascript.0.System.Update', false, {name: 'Update Skript bei VIS Tastendruck starten'});
                        
                        setState('javascript.0.System.Backup', false);
                        setState('javascript.0.System.Update', false);
                        
                        on ({
                        id: "javascript.0.System.Update",
                        change: 'ne',
                        val: true
                        },
                        function(){
                           log ("--> Update gestartet!");
                           exec('/opt/update.sh', function(err, stdout, stderr) {
                            if (err) {
                               log(stderr,'error');
                               return;
                                }
                            });
                        });
                        
                        on ({
                        id: "javascript.0.System.Backup",
                        change: 'ne',
                        val: true
                        },
                        function(){
                           log ("--> Backup gestartet!");
                           exec('/opt/backup.sh', function(err, stdout, stderr) {
                            if (err) {
                               log(stderr,'error');
                               return;
                                }
                            });
                        });
                        
                        

                        Grüße

                        Brati

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

                          Hallo zusammen,

                          welches Widget ist hierfür am besten geeignet?

                          Finde leider nicht das passende, welches den Wert wieder auf false automatisch zurück setzt.

                          Über einen Tip äwre ich sehr dankbar 😄

                          mfg

                          1 Reply Last reply Reply Quote 0
                          • B
                            Brati last edited by

                            Nabend, mach das doch einfach am Ende vom Script. Grüße Brati

                            von unterwegs gesendet.

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

                              @Brati:

                              Nabend, mach das doch einfach am Ende vom Script. Grüße Brati `

                              Danke für den Tipp… bin ich als Anfänger nicht drauf gekommen 🙂

                              hab es jetzt wie folgt gelöst:

                                  setState('javascript.0.RaspiReboot', false);  
                              

                              und siehe da schon klappt es 😄

                              Danke

                              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

                              500
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              5
                              13
                              4711
                              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