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.
    • 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

                            906
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

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