Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Docker Container restart iobroker per script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Docker Container restart iobroker per script

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
62 Beiträge 11 Kommentatoren 7.0k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O oFbEQnpoLKKl6mbY5e13

    @fastfoot
    Fantastisch! :+1:

    F Offline
    F Offline
    fastfoot
    schrieb am zuletzt editiert von fastfoot
    #31

    @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

    @fastfoot
    Fantastisch! :+1:

    nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!
    qnap1.PNG

    /**
    * Zweck:           Infos über und Restart von Docker Containern auf QNAP NAS
    * Date:            13.09.2021
    * Author:          fastfoot
    * Forum:           https://forum.iobroker.net/topic/40916/restart-iobroker-per-script/31?_=1610918563284
    * Infos:           https://qnap-dev.github.io/container-station-api/container.html#list-containers
    * myHome
    */
    const axios = require('axios').default; // Muss in JS-Instanz unter NPM-Module eingetragen werden
    const dbg = !true;
    const username = 'admin';               // user mit Adminrechten auf der QNAP
    const password = 'ein_Passwort';        // Passwort für admin oder user der Admingruppe
    const server = 'qnapnas';               // Hostname oder IP der QNAP NAS
    //const server = '192.168.178.3';
    const port = '8080';                    // Port der QNAP NAS
    let fakeId = 'xxx';                     // FakeID, wird später ersetzt
    const containerName = 'iobroker';       //Containername, welcher neugestartet werden soll
    const urlLogin = `http://${server}:${port}/container-station/api/v1/login`;  // Anmelde-URL
    const urlInfo = `http://${server}:${port}/container-station/api/v1/container`; // Container Infos
    const urlRestart = `http://${server}:${port}/container-station/api/v1/container/docker/${fakeId}/restart`;
    const idBase = '0_userdata.0.QNAP';
    const idInfo = `${idBase}.info`;                // Originalantwort der API
    const idRestart = `${idBase}.Restart`;          // DP zum Auslösen des Restart
    const idJson = `${idBase}.json`;                // DP für Infos über Container
    let firstRun = true;
    
    setInterval(main,2000);
    
    on({id: idRestart, change:'any'},async () => {
       if(dbg) log('Restart')
       //restart(containerName);
    })
    
    async function main() {
       let json = [];
       firstRun = await createDatapoints();
       let session = await login(urlLogin, username, password);
       if(dbg) log(session)
       let container = await getInfos(urlInfo, session);
       setState(idInfo,JSON.stringify(container,null,4));
       container.forEach((rec)=>{
           let memory = 0, 
               cpu = 0;
           if('memory' in rec) memory = Math.round(rec.memory/1024/1024*1000)/1000;
           if('cpu' in rec) cpu = rec.cpu * 100;
           json.push({
               Name: rec.name,
               Image: rec.image,
               Memory:  memory,
               CPU: cpu,
               State: rec.state
               //Id: rec.id,
           })
       })
       setState(idJson, JSON.stringify(json,null,4));
    }
    
    async function login(url,username,password) {
       let session;
       let data = await axios.post(url,{username,password});
       if(data.status == 200){
           session = data.headers['set-cookie'][0].split(';')[0];
       }
       return session;
    }
    
    async function getInfos(url, session) {
       let data = (await axios.get(url, {headers: {Cookie: session}}));
       if(data.status == 200){
           return data.data;
       }
    }
    
    async function restart(containerName) {
       let session = await login(urlLogin, username, password);
       let container = await getInfos(urlInfo, session);
    
       container.forEach(async (rec)=> {
           if(rec.name == containerName) {
               let url = urlRestart.replace(fakeId,rec.id);
               if(!firstRun) {
                   let data = await axios.put(url,'',{headers: {Cookie: session}});
                   if(dbg) log(data.data);
               }
           }
       })
    }
    // create data points if not existing
    async function createDatapoints() {
       let dp,
           idKey,
           firstRun = false;
       
       const stateAttributes = {
           "Restart":{"name":"Container Restart","type":"boolean","role":"button","read":true,"write":true,"desc":"von Skript erstellt","def":false},
           "info":{"name":"Info original","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def": ""},
           "json":{"name":"Info Tabelle","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def":""}
       }
    
       for(let key in stateAttributes) {
    
           idKey = idBase + '.' + key;
    
           if (!(await existsStateAsync(idKey))) {
               dp = stateAttributes[key];
               firstRun = true;
               await createStateAsync(idKey, dp);
           }
       }
    
       return firstRun;
    
    }
    
    

    iobroker läuft unter Docker auf QNAP TS-451+
    SkriptRecovery: https://forum.iobroker.net/post/930558

    O F 2 Antworten Letzte Antwort
    1
    • F fastfoot

      @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

      @fastfoot
      Fantastisch! :+1:

      nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!
      qnap1.PNG

      /**
      * Zweck:           Infos über und Restart von Docker Containern auf QNAP NAS
      * Date:            13.09.2021
      * Author:          fastfoot
      * Forum:           https://forum.iobroker.net/topic/40916/restart-iobroker-per-script/31?_=1610918563284
      * Infos:           https://qnap-dev.github.io/container-station-api/container.html#list-containers
      * myHome
      */
      const axios = require('axios').default; // Muss in JS-Instanz unter NPM-Module eingetragen werden
      const dbg = !true;
      const username = 'admin';               // user mit Adminrechten auf der QNAP
      const password = 'ein_Passwort';        // Passwort für admin oder user der Admingruppe
      const server = 'qnapnas';               // Hostname oder IP der QNAP NAS
      //const server = '192.168.178.3';
      const port = '8080';                    // Port der QNAP NAS
      let fakeId = 'xxx';                     // FakeID, wird später ersetzt
      const containerName = 'iobroker';       //Containername, welcher neugestartet werden soll
      const urlLogin = `http://${server}:${port}/container-station/api/v1/login`;  // Anmelde-URL
      const urlInfo = `http://${server}:${port}/container-station/api/v1/container`; // Container Infos
      const urlRestart = `http://${server}:${port}/container-station/api/v1/container/docker/${fakeId}/restart`;
      const idBase = '0_userdata.0.QNAP';
      const idInfo = `${idBase}.info`;                // Originalantwort der API
      const idRestart = `${idBase}.Restart`;          // DP zum Auslösen des Restart
      const idJson = `${idBase}.json`;                // DP für Infos über Container
      let firstRun = true;
      
      setInterval(main,2000);
      
      on({id: idRestart, change:'any'},async () => {
         if(dbg) log('Restart')
         //restart(containerName);
      })
      
      async function main() {
         let json = [];
         firstRun = await createDatapoints();
         let session = await login(urlLogin, username, password);
         if(dbg) log(session)
         let container = await getInfos(urlInfo, session);
         setState(idInfo,JSON.stringify(container,null,4));
         container.forEach((rec)=>{
             let memory = 0, 
                 cpu = 0;
             if('memory' in rec) memory = Math.round(rec.memory/1024/1024*1000)/1000;
             if('cpu' in rec) cpu = rec.cpu * 100;
             json.push({
                 Name: rec.name,
                 Image: rec.image,
                 Memory:  memory,
                 CPU: cpu,
                 State: rec.state
                 //Id: rec.id,
             })
         })
         setState(idJson, JSON.stringify(json,null,4));
      }
      
      async function login(url,username,password) {
         let session;
         let data = await axios.post(url,{username,password});
         if(data.status == 200){
             session = data.headers['set-cookie'][0].split(';')[0];
         }
         return session;
      }
      
      async function getInfos(url, session) {
         let data = (await axios.get(url, {headers: {Cookie: session}}));
         if(data.status == 200){
             return data.data;
         }
      }
      
      async function restart(containerName) {
         let session = await login(urlLogin, username, password);
         let container = await getInfos(urlInfo, session);
      
         container.forEach(async (rec)=> {
             if(rec.name == containerName) {
                 let url = urlRestart.replace(fakeId,rec.id);
                 if(!firstRun) {
                     let data = await axios.put(url,'',{headers: {Cookie: session}});
                     if(dbg) log(data.data);
                 }
             }
         })
      }
      // create data points if not existing
      async function createDatapoints() {
         let dp,
             idKey,
             firstRun = false;
         
         const stateAttributes = {
             "Restart":{"name":"Container Restart","type":"boolean","role":"button","read":true,"write":true,"desc":"von Skript erstellt","def":false},
             "info":{"name":"Info original","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def": ""},
             "json":{"name":"Info Tabelle","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def":""}
         }
      
         for(let key in stateAttributes) {
      
             idKey = idBase + '.' + key;
      
             if (!(await existsStateAsync(idKey))) {
                 dp = stateAttributes[key];
                 firstRun = true;
                 await createStateAsync(idKey, dp);
             }
         }
      
         return firstRun;
      
      }
      
      

      O Abwesend
      O Abwesend
      oFbEQnpoLKKl6mbY5e13
      schrieb am zuletzt editiert von
      #32

      @fastfoot
      Wahnsinn! Vielen, vielen Dank!

      2021-01-18 20:09:22.686 - info: host.iobroker-d stopInstance system.adapter.javascript.0 (force=false, process=true)
      2021-01-18 20:09:22.697 - info: host.iobroker-d stopInstance system.adapter.javascript.0 send kill signal
      2021-01-18 20:09:22.698 - info: javascript.0 (5079) Got terminate signal TERMINATE_YOURSELF
      

      Daten sind auch alle da! Da mache ich mir doch glatt auch so eine View.

      Nach dem Start des Skripts wurde sofort neu gestartet. Normal?

      (TS-453 Pro)

      F 1 Antwort Letzte Antwort
      0
      • O oFbEQnpoLKKl6mbY5e13

        @fastfoot
        Wahnsinn! Vielen, vielen Dank!

        2021-01-18 20:09:22.686 - info: host.iobroker-d stopInstance system.adapter.javascript.0 (force=false, process=true)
        2021-01-18 20:09:22.697 - info: host.iobroker-d stopInstance system.adapter.javascript.0 send kill signal
        2021-01-18 20:09:22.698 - info: javascript.0 (5079) Got terminate signal TERMINATE_YOURSELF
        

        Daten sind auch alle da! Da mache ich mir doch glatt auch so eine View.

        Nach dem Start des Skripts wurde sofort neu gestartet. Normal?

        (TS-453 Pro)

        F Offline
        F Offline
        fastfoot
        schrieb am zuletzt editiert von
        #33

        @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

        Nach dem Start des Skripts wurde sofort neu gestartet. Normal?

        Nein, nicht normal. Das wird eigentlich durch die Variable firstRun verhindert, jedenfalls beim Erstellen der Datenpunkte passierte das und dann habe ich das eingebaut und es hat funktioniert.

        Passiert das bei jedem Neustart des Skripts oder war das eine einmalige Sache? Falls Letzteres passiert es beim Erstellen des Restart-DP und sollte durch die Variable verhindert werden. Gerade getestet und funktioniert wie beschrieben. Falls das bei dir anders ist, kannst du das on() in einen Timeout packen, dann sollte er auch nicht beim Erstellen gleich triggern.

        setTimeout(()=>{
            on({id: idRestart, change:'any'},async () => {
                if(dbg) log('Restart')
                restart(containerName);
            })
        },2000)
        

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        O 2 Antworten Letzte Antwort
        0
        • F fastfoot

          @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

          Nach dem Start des Skripts wurde sofort neu gestartet. Normal?

          Nein, nicht normal. Das wird eigentlich durch die Variable firstRun verhindert, jedenfalls beim Erstellen der Datenpunkte passierte das und dann habe ich das eingebaut und es hat funktioniert.

          Passiert das bei jedem Neustart des Skripts oder war das eine einmalige Sache? Falls Letzteres passiert es beim Erstellen des Restart-DP und sollte durch die Variable verhindert werden. Gerade getestet und funktioniert wie beschrieben. Falls das bei dir anders ist, kannst du das on() in einen Timeout packen, dann sollte er auch nicht beim Erstellen gleich triggern.

          setTimeout(()=>{
              on({id: idRestart, change:'any'},async () => {
                  if(dbg) log('Restart')
                  restart(containerName);
              })
          },2000)
          
          O Abwesend
          O Abwesend
          oFbEQnpoLKKl6mbY5e13
          schrieb am zuletzt editiert von
          #34

          @fastfoot
          War eine einmalige Sache. :+1:

          1 Antwort Letzte Antwort
          0
          • F fastfoot

            @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

            Nach dem Start des Skripts wurde sofort neu gestartet. Normal?

            Nein, nicht normal. Das wird eigentlich durch die Variable firstRun verhindert, jedenfalls beim Erstellen der Datenpunkte passierte das und dann habe ich das eingebaut und es hat funktioniert.

            Passiert das bei jedem Neustart des Skripts oder war das eine einmalige Sache? Falls Letzteres passiert es beim Erstellen des Restart-DP und sollte durch die Variable verhindert werden. Gerade getestet und funktioniert wie beschrieben. Falls das bei dir anders ist, kannst du das on() in einen Timeout packen, dann sollte er auch nicht beim Erstellen gleich triggern.

            setTimeout(()=>{
                on({id: idRestart, change:'any'},async () => {
                    if(dbg) log('Restart')
                    restart(containerName);
                })
            },2000)
            
            O Abwesend
            O Abwesend
            oFbEQnpoLKKl6mbY5e13
            schrieb am zuletzt editiert von
            #35

            @fastfoot
            Was müsste man tun, wenn man jetzt noch einen anderen Container neu starten möchte?

            F 1 Antwort Letzte Antwort
            0
            • O oFbEQnpoLKKl6mbY5e13

              @fastfoot
              Was müsste man tun, wenn man jetzt noch einen anderen Container neu starten möchte?

              F Offline
              F Offline
              fastfoot
              schrieb am zuletzt editiert von
              #36

              @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

              @fastfoot
              Was müsste man tun, wenn man jetzt noch einen anderen Container neu starten möchte?

              Die Variable containerName aus einem DP auslesen, anstatt fix festzulegen. Dann muss aber auch das const durch let ersetzt werden. Beim Erstellen des DP als default den Standardnamen angeben und die Zuweisung nach Aufruf von createDatapoints(). In der VIS dann setzen mit Buttons oder mit einem Select von MDW oder was es da sonst noch gibt

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              O 1 Antwort Letzte Antwort
              1
              • F fastfoot

                @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

                @fastfoot
                Was müsste man tun, wenn man jetzt noch einen anderen Container neu starten möchte?

                Die Variable containerName aus einem DP auslesen, anstatt fix festzulegen. Dann muss aber auch das const durch let ersetzt werden. Beim Erstellen des DP als default den Standardnamen angeben und die Zuweisung nach Aufruf von createDatapoints(). In der VIS dann setzen mit Buttons oder mit einem Select von MDW oder was es da sonst noch gibt

                O Abwesend
                O Abwesend
                oFbEQnpoLKKl6mbY5e13
                schrieb am zuletzt editiert von
                #37

                @fastfoot sagte in restart iobroker per script?:

                Die Variable containerName aus einem DP auslesen, anstatt fix festzulegen.

                Natürlich! :man-facepalming:

                Dann muss aber auch das const durch let ersetzt werden. Beim Erstellen des DP als default den Standardnamen angeben und die Zuweisung nach Aufruf von createDatapoints(). In der VIS dann setzen mit Buttons oder mit einem Select von MDW oder was es da sonst noch gibt

                Okay, danke!

                1 Antwort Letzte Antwort
                0
                • F fastfoot

                  @ofbeqnpolkkl6mby5e13 sagte in restart iobroker per script?:

                  @fastfoot
                  Fantastisch! :+1:

                  nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!
                  qnap1.PNG

                  /**
                  * Zweck:           Infos über und Restart von Docker Containern auf QNAP NAS
                  * Date:            13.09.2021
                  * Author:          fastfoot
                  * Forum:           https://forum.iobroker.net/topic/40916/restart-iobroker-per-script/31?_=1610918563284
                  * Infos:           https://qnap-dev.github.io/container-station-api/container.html#list-containers
                  * myHome
                  */
                  const axios = require('axios').default; // Muss in JS-Instanz unter NPM-Module eingetragen werden
                  const dbg = !true;
                  const username = 'admin';               // user mit Adminrechten auf der QNAP
                  const password = 'ein_Passwort';        // Passwort für admin oder user der Admingruppe
                  const server = 'qnapnas';               // Hostname oder IP der QNAP NAS
                  //const server = '192.168.178.3';
                  const port = '8080';                    // Port der QNAP NAS
                  let fakeId = 'xxx';                     // FakeID, wird später ersetzt
                  const containerName = 'iobroker';       //Containername, welcher neugestartet werden soll
                  const urlLogin = `http://${server}:${port}/container-station/api/v1/login`;  // Anmelde-URL
                  const urlInfo = `http://${server}:${port}/container-station/api/v1/container`; // Container Infos
                  const urlRestart = `http://${server}:${port}/container-station/api/v1/container/docker/${fakeId}/restart`;
                  const idBase = '0_userdata.0.QNAP';
                  const idInfo = `${idBase}.info`;                // Originalantwort der API
                  const idRestart = `${idBase}.Restart`;          // DP zum Auslösen des Restart
                  const idJson = `${idBase}.json`;                // DP für Infos über Container
                  let firstRun = true;
                  
                  setInterval(main,2000);
                  
                  on({id: idRestart, change:'any'},async () => {
                     if(dbg) log('Restart')
                     //restart(containerName);
                  })
                  
                  async function main() {
                     let json = [];
                     firstRun = await createDatapoints();
                     let session = await login(urlLogin, username, password);
                     if(dbg) log(session)
                     let container = await getInfos(urlInfo, session);
                     setState(idInfo,JSON.stringify(container,null,4));
                     container.forEach((rec)=>{
                         let memory = 0, 
                             cpu = 0;
                         if('memory' in rec) memory = Math.round(rec.memory/1024/1024*1000)/1000;
                         if('cpu' in rec) cpu = rec.cpu * 100;
                         json.push({
                             Name: rec.name,
                             Image: rec.image,
                             Memory:  memory,
                             CPU: cpu,
                             State: rec.state
                             //Id: rec.id,
                         })
                     })
                     setState(idJson, JSON.stringify(json,null,4));
                  }
                  
                  async function login(url,username,password) {
                     let session;
                     let data = await axios.post(url,{username,password});
                     if(data.status == 200){
                         session = data.headers['set-cookie'][0].split(';')[0];
                     }
                     return session;
                  }
                  
                  async function getInfos(url, session) {
                     let data = (await axios.get(url, {headers: {Cookie: session}}));
                     if(data.status == 200){
                         return data.data;
                     }
                  }
                  
                  async function restart(containerName) {
                     let session = await login(urlLogin, username, password);
                     let container = await getInfos(urlInfo, session);
                  
                     container.forEach(async (rec)=> {
                         if(rec.name == containerName) {
                             let url = urlRestart.replace(fakeId,rec.id);
                             if(!firstRun) {
                                 let data = await axios.put(url,'',{headers: {Cookie: session}});
                                 if(dbg) log(data.data);
                             }
                         }
                     })
                  }
                  // create data points if not existing
                  async function createDatapoints() {
                     let dp,
                         idKey,
                         firstRun = false;
                     
                     const stateAttributes = {
                         "Restart":{"name":"Container Restart","type":"boolean","role":"button","read":true,"write":true,"desc":"von Skript erstellt","def":false},
                         "info":{"name":"Info original","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def": ""},
                         "json":{"name":"Info Tabelle","type":"string","role":"state","read":true,"write":true,"desc":"von Skript erstellt","def":""}
                     }
                  
                     for(let key in stateAttributes) {
                  
                         idKey = idBase + '.' + key;
                  
                         if (!(await existsStateAsync(idKey))) {
                             dp = stateAttributes[key];
                             firstRun = true;
                             await createStateAsync(idKey, dp);
                         }
                     }
                  
                     return firstRun;
                  
                  }
                  
                  

                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von
                  #38

                  @fastfoot sagte in Docker Container restart iobroker per script:

                  nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!

                  Mit dem neuesten Update 2.4 der QNAP Containerstation hat es die verwendete REST API zerschossen, wer also das Skript hier nutzt, sollte nicht updaten und auf einen Fix warten, kann mir nicht vorstellen dass es diesen nicht geben wird. Wer ausserdem weiss wie man die Containerstation downgraden kann, bitte mal melden :-)

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  O F 2 Antworten Letzte Antwort
                  0
                  • F fastfoot

                    @fastfoot sagte in Docker Container restart iobroker per script:

                    nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!

                    Mit dem neuesten Update 2.4 der QNAP Containerstation hat es die verwendete REST API zerschossen, wer also das Skript hier nutzt, sollte nicht updaten und auf einen Fix warten, kann mir nicht vorstellen dass es diesen nicht geben wird. Wer ausserdem weiss wie man die Containerstation downgraden kann, bitte mal melden :-)

                    O Abwesend
                    O Abwesend
                    oFbEQnpoLKKl6mbY5e13
                    schrieb am zuletzt editiert von
                    #39

                    @fastfoot
                    Danke für die Info.

                    1 Antwort Letzte Antwort
                    0
                    • F fastfoot

                      @fastfoot sagte in Docker Container restart iobroker per script:

                      nun ja, von den Infos bin ich nicht soo sehr begeistert, aber immerhin. Ich frage ja aber auch nur die Containerinfos ab. Der Restart funktioniert einwandfrei, bin gespannt ob das auf anderen QNAP-Systemen auch so klappt. Ich habe die in den Dokus genannte curl Methode mit axios umgesetzt, weshalb das in der JS-Instanz eingetragen werden muss. Die Datenpunkte für die Tabelle und den Restart werden automatisch unter 0_userdata.0.QNAP angelegt. Vor dem Start sind User und Passwort sowie die IP Adresse und der Port der QNAP einzutragen. Happy Restart!

                      Mit dem neuesten Update 2.4 der QNAP Containerstation hat es die verwendete REST API zerschossen, wer also das Skript hier nutzt, sollte nicht updaten und auf einen Fix warten, kann mir nicht vorstellen dass es diesen nicht geben wird. Wer ausserdem weiss wie man die Containerstation downgraden kann, bitte mal melden :-)

                      F Offline
                      F Offline
                      fastfoot
                      schrieb am zuletzt editiert von
                      #40

                      Das Skript läuft jetzt wieder, die URL hatte sich geändert. Somit kann ich endlich die neueste Container-Station APP nutzten.

                      iobroker läuft unter Docker auf QNAP TS-451+
                      SkriptRecovery: https://forum.iobroker.net/post/930558

                      1 Antwort Letzte Antwort
                      1
                      • B Offline
                        B Offline
                        bug77
                        schrieb am zuletzt editiert von
                        #41

                        bei mir funktioniert das Script leider nicht.

                        Nachdem ich den Link im Script geändert habe in

                        http://${server}:${port}/containerstation/api/v1/login
                        

                        funktioniert die Abfrage.

                        Wenn ich aber Restart mache, passiert nichts, auch im Log steht nichts.

                        Habe User / Pass / IP / Containername (name oder Abbbild name?), FakeID bleibt xxx?,

                        F 2 Antworten Letzte Antwort
                        0
                        • B bug77

                          bei mir funktioniert das Script leider nicht.

                          Nachdem ich den Link im Script geändert habe in

                          http://${server}:${port}/containerstation/api/v1/login
                          

                          funktioniert die Abfrage.

                          Wenn ich aber Restart mache, passiert nichts, auch im Log steht nichts.

                          Habe User / Pass / IP / Containername (name oder Abbbild name?), FakeID bleibt xxx?,

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #42

                          @bug77 stimmt denn der Containername mit Zeile 17 überein?

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          B 1 Antwort Letzte Antwort
                          0
                          • F fastfoot

                            @bug77 stimmt denn der Containername mit Zeile 17 überein?

                            B Offline
                            B Offline
                            bug77
                            schrieb am zuletzt editiert von
                            #43

                            @fastfoot ja habe sowohl den Container Namen, als auch die Container ID probiert.
                            Er liest alles ein, sehe alle Container als html, aber auf restart wird nicht reagiert

                            F 1 Antwort Letzte Antwort
                            0
                            • B bug77

                              bei mir funktioniert das Script leider nicht.

                              Nachdem ich den Link im Script geändert habe in

                              http://${server}:${port}/containerstation/api/v1/login
                              

                              funktioniert die Abfrage.

                              Wenn ich aber Restart mache, passiert nichts, auch im Log steht nichts.

                              Habe User / Pass / IP / Containername (name oder Abbbild name?), FakeID bleibt xxx?,

                              F Offline
                              F Offline
                              fastfoot
                              schrieb am zuletzt editiert von
                              #44

                              @bug77 sagte in Docker Container restart iobroker per script:

                              Nachdem ich den Link im Script geändert habe in

                              jetzt muss da ein Bindestrich rein

                              iobroker läuft unter Docker auf QNAP TS-451+
                              SkriptRecovery: https://forum.iobroker.net/post/930558

                              1 Antwort Letzte Antwort
                              0
                              • B bug77

                                @fastfoot ja habe sowohl den Container Namen, als auch die Container ID probiert.
                                Er liest alles ein, sehe alle Container als html, aber auf restart wird nicht reagiert

                                F Offline
                                F Offline
                                fastfoot
                                schrieb am zuletzt editiert von
                                #45

                                @bug77 sagte in Docker Container restart iobroker per script:

                                @fastfoot ja habe sowohl den Container Namen, als auch die Container ID probiert.
                                Er liest alles ein, sehe alle Container als html, aber auf restart wird nicht reagiert

                                gerade getestet, läuft. Rufe die Restart Funktion mal ohne Button auf: restart(containerName);

                                iobroker läuft unter Docker auf QNAP TS-451+
                                SkriptRecovery: https://forum.iobroker.net/post/930558

                                B 1 Antwort Letzte Antwort
                                0
                                • F fastfoot

                                  @bug77 sagte in Docker Container restart iobroker per script:

                                  @fastfoot ja habe sowohl den Container Namen, als auch die Container ID probiert.
                                  Er liest alles ein, sehe alle Container als html, aber auf restart wird nicht reagiert

                                  gerade getestet, läuft. Rufe die Restart Funktion mal ohne Button auf: restart(containerName);

                                  B Offline
                                  B Offline
                                  bug77
                                  schrieb am zuletzt editiert von
                                  #46

                                  @fastfoot wie mach ich das?

                                  F 1 Antwort Letzte Antwort
                                  0
                                  • B bug77

                                    @fastfoot wie mach ich das?

                                    F Offline
                                    F Offline
                                    fastfoot
                                    schrieb am zuletzt editiert von
                                    #47

                                    @bug77 sagte in Docker Container restart iobroker per script:

                                    @fastfoot wie mach ich das?

                                    na zB in der letzten Zeile des Skripts eintragen.
                                    schedule('30 13 * * *', () => restart(containerName)) Das macht den Restart um 13:30Uhr. Wenn erfolgreich auskommentieren, dann liegt es am Button dass es vorher nicht geklappt hat.

                                    iobroker läuft unter Docker auf QNAP TS-451+
                                    SkriptRecovery: https://forum.iobroker.net/post/930558

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • F fastfoot

                                      @bug77 sagte in Docker Container restart iobroker per script:

                                      @fastfoot wie mach ich das?

                                      na zB in der letzten Zeile des Skripts eintragen.
                                      schedule('30 13 * * *', () => restart(containerName)) Das macht den Restart um 13:30Uhr. Wenn erfolgreich auskommentieren, dann liegt es am Button dass es vorher nicht geklappt hat.

                                      B Offline
                                      B Offline
                                      bug77
                                      schrieb am zuletzt editiert von
                                      #48

                                      @fastfoot ok damit funktioniert es. Also liegt es am Button? Und nun?

                                      F 1 Antwort Letzte Antwort
                                      0
                                      • B bug77

                                        @fastfoot ok damit funktioniert es. Also liegt es am Button? Und nun?

                                        F Offline
                                        F Offline
                                        fastfoot
                                        schrieb am zuletzt editiert von
                                        #49

                                        @bug77 sagte in Docker Container restart iobroker per script:

                                        @fastfoot ok damit funktioniert es. Also liegt es am Button? Und nun?

                                        zeig mal das RAW Objekt deines Button

                                        iobroker läuft unter Docker auf QNAP TS-451+
                                        SkriptRecovery: https://forum.iobroker.net/post/930558

                                        B 1 Antwort Letzte Antwort
                                        0
                                        • F fastfoot

                                          @bug77 sagte in Docker Container restart iobroker per script:

                                          @fastfoot ok damit funktioniert es. Also liegt es am Button? Und nun?

                                          zeig mal das RAW Objekt deines Button

                                          B Offline
                                          B Offline
                                          bug77
                                          schrieb am zuletzt editiert von bug77
                                          #50

                                          @fastfoot

                                          {
                                           "from": "system.adapter.javascript.0",
                                           "user": "system.user.admin",
                                           "ts": 1631647986751,
                                           "common": {
                                             "name": "Container Restart",
                                             "type": "boolean",
                                             "role": "button",
                                             "desc": "von Skript erstellt",
                                             "read": true,
                                             "write": true,
                                             "def": false
                                           },
                                           "native": {},
                                           "acl": {
                                             "object": 1636,
                                             "owner": "system.user.admin",
                                             "ownerGroup": "system.group.administrator",
                                             "state": 1636
                                           },
                                           "_id": "0_userdata.0.Netzwerk.QNAP.Restart",
                                           "type": "state"
                                          }
                                          
                                          F 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          880

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe