Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Instanz per Script neu starten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    878

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Instanz per Script neu starten

Scheduled Pinned Locked Moved Skripten / Logik
19 Posts 11 Posters 15.6k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BaumertB Offline
    BaumertB Offline
    Baumert
    wrote on last edited by
    #1

    Hallo, ich habe ab und zu das problem, dass eine Instanz (Milight und Sonoff) die Verbindung verliert. Nach einem Neustart (Button 'Neu Laden') läuft die entsprechende Instanz dann wieder. Kann ich den Neustart (Neu Laden) auch per Script realisieren? Wenn ja, könnte ich den Neustart automatisieren.

    Grüße Baumert

    1 Reply Last reply
    0
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #2

      Hallo,

      hab ich hier mal gemacht:

      viewtopic.php?f=21&t=13193&p=138842&hil … en#p138842

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #3

        Zur Überwachung können entweder der Datenpunkt "system.adapter.sonoff.0.alive" oder der Datenpunkt "system.adapter.sonoff.0.connected" dienen, was zu testen wäre (oder vorher loggen). Mit "alive" könnte es dann so funktionieren (nicht getestet):

        const idInst = 'system.adapter.sonoff.0';
        const idAlive = idInst + '.alive';
        const idAuto = 'javascript.0.Autostart_Sonoff'; // Datenpunkt zur Freigabe von Autostart, da sonst nicht mehr per Hand zu stoppen
        
        var obj = getObject(idInst);
        
        on({id: idAlive, change: 'ne', val: false}, function() {
           if(getState(idAuto).val) {
              obj.common.enabled = false;
              setObject(idInst, obj, function() {
                 obj.common.enabled = true;
                 setObject(idInst, obj);
              });
           }   
        });
        

        In der Konfiguration der Javascript-Instanz muss setObject freigegeben werden !

        Alternativ zur Autostart-Freigabe per Datenpunkt kann zum manuellen Stopp der Instanz auch das Script vorher gestoppt werden.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • J Offline
          J Offline
          Jan1
          wrote on last edited by
          #4

          Man kann doch jede Instanz direkt über den IOBroker neu starten lassen wie man Lust und Laune hat. Wieso sollte man da noch extra ein Script dazu verwenden wollen, wenn diese Funktion schon direkt implementiert ist? Man muss dazu nur unter Instanzen den Expertenmodus aktivieren.

          1 Reply Last reply
          -1
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            wrote on last edited by
            #5

            @Jan1:

            Man kann doch jede Instanz direkt über den IOBroker neu starten lassen wie man Lust und Laune hat. Wieso sollte man da noch extra ein Script dazu verwenden wollen, wenn diese Funktion schon direkt implementiert ist? Man muss dazu nur unter Instanzen den Expertenmodus aktivieren. `

            Um es zu automtisieren oder per vis aus zu führen zB…


            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
            0
            • J Offline
              J Offline
              Jan1
              wrote on last edited by
              #6

              Ah jetzt hab ich's verstanden, ein Neustart nur wenn die Instanz abgestürzt ist. OK, mach dann Sinn.

              1 Reply Last reply
              0
              • BaumertB Offline
                BaumertB Offline
                Baumert
                wrote on last edited by
                #7

                Hallo, vielen Dank für die Rückmeldungen - ich werde es testen und mich dann wieder melden.

                Grüße Baumert

                1 Reply Last reply
                0
                • metaxaM Offline
                  metaxaM Offline
                  metaxa
                  wrote on last edited by
                  #8

                  @Jan1:

                  Man kann doch jede Instanz direkt über den IOBroker neu starten lassen wie man Lust und Laune hat. Wieso sollte man da noch extra ein Script dazu verwenden wollen, wenn diese Funktion schon direkt implementiert ist? Man muss dazu nur unter Instanzen den Expertenmodus aktivieren. `

                  Also ich finde im Expertenmodus keine passende Einstellung. Kann man mir das bitte zeigen? (autom. Neustart nach Absturz) 488_instanzen_expertenmodus.jpg
                  Danke im Voraus!

                  mxa

                  1 Reply Last reply
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    wrote on last edited by
                    #9

                    Im experten modus gibt es keine option zum Neustart mach Absturz nur cron alle x Zeit Neustart

                    Sent from my iPhone using Tapatalk

                    1 Reply Last reply
                    0
                    • DiginixD Offline
                      DiginixD Offline
                      Diginix
                      wrote on last edited by
                      #10

                      Ich starte bei mir mittels exec in Blockly Instanzen bei Bedarf neu.
                      6549_adapter_restart.jpg

                      Es muss ja nicht zwingend dauerhaft per Cron sein. Der exec Block sitzt natürlich in einem Skript mit Trigger und Bedingungen.

                      ..:: So long! Tom ::..

                      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                      ostseereiterO R 2 Replies Last reply
                      4
                      • DiginixD Diginix

                        Ich starte bei mir mittels exec in Blockly Instanzen bei Bedarf neu.
                        6549_adapter_restart.jpg

                        Es muss ja nicht zwingend dauerhaft per Cron sein. Der exec Block sitzt natürlich in einem Skript mit Trigger und Bedingungen.

                        ostseereiterO Offline
                        ostseereiterO Offline
                        ostseereiter
                        wrote on last edited by ostseereiter
                        #11

                        @Diginix sagte in Instanz per Script neu starten:

                        Ich starte bei mir mittels exec in Blockly Instanzen bei Bedarf neu.
                        Hallo Freunde,
                        Hier wurde ja schon lange nichts mehr geschrieben Folgendes ich nehme meinen Onkyo-Receiver wenn ich diesen nicht brauche vom Strom. So weit so gut. Starte ich diesen dann kommt leider erst nach einen Neustart des Adapters eine Verbindung zu Stande.

                        Screenshot (151).png

                        Bekommt man den Neustart nicht in ein Script eingebunden?Das mit den exec Block habe ich nicht begriffen.

                        Gruß OSR

                        Plattform
                        Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                        DiginixD 1 Reply Last reply
                        1
                        • ostseereiterO ostseereiter

                          @Diginix sagte in Instanz per Script neu starten:

                          Ich starte bei mir mittels exec in Blockly Instanzen bei Bedarf neu.
                          Hallo Freunde,
                          Hier wurde ja schon lange nichts mehr geschrieben Folgendes ich nehme meinen Onkyo-Receiver wenn ich diesen nicht brauche vom Strom. So weit so gut. Starte ich diesen dann kommt leider erst nach einen Neustart des Adapters eine Verbindung zu Stande.

                          Screenshot (151).png

                          Bekommt man den Neustart nicht in ein Script eingebunden?Das mit den exec Block habe ich nicht begriffen.

                          DiginixD Offline
                          DiginixD Offline
                          Diginix
                          wrote on last edited by
                          #12

                          @ostseereiter Was für ein Skript?
                          Und was soll dein Screenshot zeigen?

                          ..:: So long! Tom ::..

                          NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            Superdad
                            wrote on last edited by
                            #13

                            Ich hatte mir das Script von @pix genommen und meine Datenpunkte eingetragen.
                            Dann in Vis einen Button anlegen.
                            Und bei Bedarf draufklicken.

                            /* tuya adapter neu starten
                            {1}
                            erzeugt Objekt, das in VIS geschaltet werden kann
                            Schaltung triggert Neustart eines Adapters
                            {1}
                            28.03.2018 erstellt von pix
                            {1}
                            */
                            
                            const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.
                            const instanz = "javascript." + instance;
                            const fC = false; // force Create
                            const idSchalter = instanz + ".tuya.Adapter.Schalter";
                            const adapter = "tuya.0"; // Name und Instanz des Adapters
                            
                            // Ab hier nix mehr ändern
                            
                            if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");
                            var idAdapter = "system.adapter." + adapter;
                            
                            createState(idSchalter, false, fC, {
                                name: adapter + " Adapter neu starten", 
                                type: "boolean", 
                                desc: "Schaltet den <" + adapter +  "> Adapter per Skript zB aus VIS",
                                role: "switch"
                            });
                            
                            // Neustart triggern
                            
                            on({
                                id: idSchalter,
                                change: "ne",
                                from: "system.adapter.web.0" // Schaltung nur aus VIS möglich
                            }, function (dpobj) {
                                var obj = getObject(idAdapter);
                                if (dpobj.state.val) {
                                    obj.common.enabled = true;  // Adapter einschalten
                                } else if (!dpobj.state.val) {
                                    obj.common.enabled = false;  // Adapter ausschalten
                                }
                                setObject(idAdapter, obj);
                                if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");
                            });
                            

                            CCU3

                            iOBroker auf IntelNUC Proxmox

                            ostseereiterO 1 Reply Last reply
                            2
                            • S Superdad

                              Ich hatte mir das Script von @pix genommen und meine Datenpunkte eingetragen.
                              Dann in Vis einen Button anlegen.
                              Und bei Bedarf draufklicken.

                              /* tuya adapter neu starten
                              {1}
                              erzeugt Objekt, das in VIS geschaltet werden kann
                              Schaltung triggert Neustart eines Adapters
                              {1}
                              28.03.2018 erstellt von pix
                              {1}
                              */
                              
                              const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.
                              const instanz = "javascript." + instance;
                              const fC = false; // force Create
                              const idSchalter = instanz + ".tuya.Adapter.Schalter";
                              const adapter = "tuya.0"; // Name und Instanz des Adapters
                              
                              // Ab hier nix mehr ändern
                              
                              if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");
                              var idAdapter = "system.adapter." + adapter;
                              
                              createState(idSchalter, false, fC, {
                                  name: adapter + " Adapter neu starten", 
                                  type: "boolean", 
                                  desc: "Schaltet den <" + adapter +  "> Adapter per Skript zB aus VIS",
                                  role: "switch"
                              });
                              
                              // Neustart triggern
                              
                              on({
                                  id: idSchalter,
                                  change: "ne",
                                  from: "system.adapter.web.0" // Schaltung nur aus VIS möglich
                              }, function (dpobj) {
                                  var obj = getObject(idAdapter);
                                  if (dpobj.state.val) {
                                      obj.common.enabled = true;  // Adapter einschalten
                                  } else if (!dpobj.state.val) {
                                      obj.common.enabled = false;  // Adapter ausschalten
                                  }
                                  setObject(idAdapter, obj);
                                  if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");
                              });
                              
                              ostseereiterO Offline
                              ostseereiterO Offline
                              ostseereiter
                              wrote on last edited by
                              #14

                              @Superdad sagte in Instanz per Script neu starten:

                                                                                                                                                          /* tuya adapter neu starten                                                                                                                                                                            {1}                                                                                                                                                                            erzeugt Objekt, das in VIS geschaltet werden kann                                                                                                                                                                            Schaltung triggert Neustart eines Adapters                                                                                                                                                                            {1}                                                                                                                                                                            28.03.2018 erstellt von pix                                                                                                                                                                            {1}                                                                                                                                                                            */                                                                                                                                                                                                                                                                                                                                                         const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.                                                                                                                                                                            const instanz = "javascript." + instance;                                                                                                                                                                            const fC = false; // force Create                                                                                                                                                                            const idSchalter = instanz + ".tuya.Adapter.Schalter";                                                                                                                                                                            const adapter = "tuya.0"; // Name und Instanz des Adapters                                                                                                                                                                                                                                                                                                                                                         // Ab hier nix mehr ändern                                                                                                                                                                                                                                                                                                                                                         if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");                                                                                                                                                                            var idAdapter = "system.adapter." + adapter;                                                                                                                                                                                                                                                                                                                                                         createState(idSchalter, false, fC, {                                                                                                                                                                                name: adapter + " Adapter neu starten",                                                                                                                                                                                 type: "boolean",                                                                                                                                                                                 desc: "Schaltet den <" + adapter +  "> Adapter per Skript zB aus VIS",                                                                                                                                                                                role: "switch"                                                                                                                                                                            });                                                                                                                                                                                                                                                                                                                                                         // Neustart triggern                                                                                                                                                                                                                                                                                                                                                         on({                                                                                                                                                                                id: idSchalter,                                                                                                                                                                                change: "ne",                                                                                                                                                                                from: "system.adapter.web.0" // Schaltung nur aus VIS möglich                                                                                                                                                                            }, function (dpobj) {                                                                                                                                                                                var obj = getObject(idAdapter);                                                                                                                                                                                if (dpobj.state.val) {                                                                                                                                                                                    obj.common.enabled = true;  // Adapter einschalten                                                                                                                                                                                } else if (!dpobj.state.val) {                                                                                                                                                                                    obj.common.enabled = false;  // Adapter ausschalten                                                                                                                                                                                }                                                                                                                                                                                setObject(idAdapter, obj);                                                                                                                                                                                if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");                                                                                                                                                                            });
                              

                              Danke ja damit kann ich arbeiten super.

                              Gruß OSR

                              Plattform
                              Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                              ostseereiterO 1 Reply Last reply
                              0
                              • ostseereiterO ostseereiter

                                @Superdad sagte in Instanz per Script neu starten:

                                                                                                                                                            /* tuya adapter neu starten                                                                                                                                                                            {1}                                                                                                                                                                            erzeugt Objekt, das in VIS geschaltet werden kann                                                                                                                                                                            Schaltung triggert Neustart eines Adapters                                                                                                                                                                            {1}                                                                                                                                                                            28.03.2018 erstellt von pix                                                                                                                                                                            {1}                                                                                                                                                                            */                                                                                                                                                                                                                                                                                                                                                         const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.                                                                                                                                                                            const instanz = "javascript." + instance;                                                                                                                                                                            const fC = false; // force Create                                                                                                                                                                            const idSchalter = instanz + ".tuya.Adapter.Schalter";                                                                                                                                                                            const adapter = "tuya.0"; // Name und Instanz des Adapters                                                                                                                                                                                                                                                                                                                                                         // Ab hier nix mehr ändern                                                                                                                                                                                                                                                                                                                                                         if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");                                                                                                                                                                            var idAdapter = "system.adapter." + adapter;                                                                                                                                                                                                                                                                                                                                                         createState(idSchalter, false, fC, {                                                                                                                                                                                name: adapter + " Adapter neu starten",                                                                                                                                                                                 type: "boolean",                                                                                                                                                                                 desc: "Schaltet den <" + adapter +  "> Adapter per Skript zB aus VIS",                                                                                                                                                                                role: "switch"                                                                                                                                                                            });                                                                                                                                                                                                                                                                                                                                                         // Neustart triggern                                                                                                                                                                                                                                                                                                                                                         on({                                                                                                                                                                                id: idSchalter,                                                                                                                                                                                change: "ne",                                                                                                                                                                                from: "system.adapter.web.0" // Schaltung nur aus VIS möglich                                                                                                                                                                            }, function (dpobj) {                                                                                                                                                                                var obj = getObject(idAdapter);                                                                                                                                                                                if (dpobj.state.val) {                                                                                                                                                                                    obj.common.enabled = true;  // Adapter einschalten                                                                                                                                                                                } else if (!dpobj.state.val) {                                                                                                                                                                                    obj.common.enabled = false;  // Adapter ausschalten                                                                                                                                                                                }                                                                                                                                                                                setObject(idAdapter, obj);                                                                                                                                                                                if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");                                                                                                                                                                            });
                                

                                Danke ja damit kann ich arbeiten super.

                                ostseereiterO Offline
                                ostseereiterO Offline
                                ostseereiter
                                wrote on last edited by ostseereiter
                                #15

                                Hat zweimal hingehauen und nun wird nicht mehr geschallten. Habe mich zu früh gefreut.

                                Update ich habe festgestellt das ich das nur per VIS schalten kann über Blockly wird zwar von false auf true geschallten aber der Adapter reagiert nicht.Machen wir es halt händisch.

                                Gruß OSR

                                Plattform
                                Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                                1 Reply Last reply
                                0
                                • DiginixD Diginix

                                  Ich starte bei mir mittels exec in Blockly Instanzen bei Bedarf neu.
                                  6549_adapter_restart.jpg

                                  Es muss ja nicht zwingend dauerhaft per Cron sein. Der exec Block sitzt natürlich in einem Skript mit Trigger und Bedingungen.

                                  R Offline
                                  R Offline
                                  RainerHp
                                  wrote on last edited by
                                  #16

                                  @Diginix script.js.yeelight_neustart: exec is not available. Please enable "Enable Exec" option in instance settings

                                  Wie mache ich das? Finde nicht wo ich das auf enabel setzen kann?

                                  DiginixD 1 Reply Last reply
                                  0
                                  • R RainerHp

                                    @Diginix script.js.yeelight_neustart: exec is not available. Please enable "Enable Exec" option in instance settings

                                    Wie mache ich das? Finde nicht wo ich das auf enabel setzen kann?

                                    DiginixD Offline
                                    DiginixD Offline
                                    Diginix
                                    wrote on last edited by
                                    #17

                                    @RainerHp Steht doch genau da: In den Einstellungen der javascript Instanz. Da kannst du einstellen was alles in Skripten genutzt werden darf, u.a. eben auch exec.

                                    b910cb16-437b-4bce-9db9-c7e04e1d8c83-image.png

                                    ..:: So long! Tom ::..

                                    NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                    R 1 Reply Last reply
                                    0
                                    • DiginixD Diginix

                                      @RainerHp Steht doch genau da: In den Einstellungen der javascript Instanz. Da kannst du einstellen was alles in Skripten genutzt werden darf, u.a. eben auch exec.

                                      b910cb16-437b-4bce-9db9-c7e04e1d8c83-image.png

                                      R Offline
                                      R Offline
                                      RainerHp
                                      wrote on last edited by
                                      #18

                                      @Diginix Ach in der Javainstannz jau habs. gleich nochmal testen.

                                      1 Reply Last reply
                                      0
                                      • T Offline
                                        T Offline
                                        Tobi75
                                        wrote on last edited by
                                        #19

                                        Hallo,

                                        mein milight verliert nach ca. 20 sekunden die Verbindung.
                                        Habt Ihr hier schon eine Lösung gefunden?
                                        Mfg
                                        Tobias

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        685

                                        Online

                                        32.6k

                                        Users

                                        82.1k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Home
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe