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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

NEWS

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

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

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

Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

Geplant Angeheftet Gesperrt Verschoben Tester
appdark-modeiqontrolresponsivevisvisualisierungvisualizationwidget
7.6k Beiträge 296 Kommentatoren 7.0m Aufrufe 201 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.
  • da_WoodyD da_Woody

    @ldittmar mir fällt im mom nichts besseres ein, als eventuell Badge für die Version zu nehmen, oder CPU und RAM in InfoA als Arrey zu packen, dann wäre InfoB frei für Version.

    ldittmarL Offline
    ldittmarL Offline
    ldittmar
    Developer
    schrieb am zuletzt editiert von
    #5557

    @da_woody Ja... ich habe es jetzt so gelöst, dass ich die CPU in den "Weiteren Infos" gepackt habe und dafür die aktuell installierte Version in Info A rein. Dann habe ich noch den ERROR Icon missbraucht um anzuzeigen, falls ein Adapter nicht auf Stable läuft (hab ein paar Adapter, die auf Latest laufen). Ich wollte noch, bei möglichen Updates, dass die mögliche Version noch angezeigt wird. Diese würde ich dann auch zu Info A packen, nur dass das Feld meistens leer ist, denn meistens sind die Adapter Uptodate. Es müsste also so sein, dass wenn der Wert eines Feldes leer ist, die Info nicht angezeigt wird.

    30-07-_2021_16-42-54.png

    Aber so langsam wirds... :-)

    da_WoodyD 1 Antwort Letzte Antwort
    1
    • ldittmarL ldittmar

      Hi,

      ich bin gerade dabei meine Instanzen ins iQontrol zu packen:

      29-07-_2021_15-30-12.png

      Dabei werden Adapter die aktualisiert werden können grün dargestellt, CPU und RAM werden angezeigt und oben ein Badge mit Anzahl der Logmeldungen (warn/error)

      Wenn man es öffnet...

      29-07-_2021_15-33-05.png

      ...kann man Adapter ein-/ausschalten, Logeinträge löschen, die aktuellen Versionen (installiert, stable, latest und auf Github) sehen und die letzten 100 Logeinträge (warn/error) lesen.

      Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

      Und wenn ich schon dabei bin: Hat jemand noch eine Idee man noch als Info oder Funktion zu den Instanzen hinzufügen kann? Ich will mein Template fertig machen, bevor ich alle Instanzen hinzufüge :smirk:

      S Offline
      S Offline
      SiKo
      schrieb am zuletzt editiert von
      #5558

      @ldittmar schick gemacht 👍.
      Hab versucht das ähnlich abzubilden.
      Habe aber nicht alle Informationen gefunden. Oder zumindest nicht in der Form.
      Über welche Datenpunkte gehst du hier?

      1 Antwort Letzte Antwort
      0
      • ldittmarL ldittmar

        @meerkat Das wäre wirklich gut, denn ich habe 9 Alexas schon fetig eingestellt und es wäre echt cool, wenn ich diese Arrays einfach rein pasten könnte. Und nochmal kurz die Frage: Wie hast du das gemacht, dass man auf dem Button klickt und Alexa darauf reagiert bzw den richtigen Sender auswählt?

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von dslraser
        #5559

        @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

        dass man auf dem Button klickt und Alexa darauf reagiert bzw den richtigen Sender auswählt?

        ich habe mir eigene Datenpunkte als Button angelegt, die sind wiederum in iot eingefügt. Ich schalte meine Sender über zwei VU. iQontrol als Fernbedienung und Alexa als Sprachbedienung zum Sender schalten (auch Lautstärke/Menüs der VU's usw)

        Bildschirmfoto 2021-07-30 um 16.48.14.png

        Bildschirmfoto 2021-07-30 um 16.48.25.png

        Bildschirmfoto 2021-07-30 um 16.48.41.png

        Bildschirmfoto 2021-07-30 um 17.01.51.png

        Bildschirmfoto 2021-07-30 um 16.56.07.png

        Alexa, schalte a. r. d. an

        oder

        Alexa, a. r. d. an reicht auch

        schalten übernimmt ein Blockly. Das Blockly unterscheidet welche Alexa angesprochen wurde (Wohnzimmer oder Schlafzimmer) und schaltet dann das dazugehörige Gerät (VU) in diesem Raum. Ich möchte z.B. nicht, das einer im Gästezimmer sagt: Alexa, a. r. d. an und dann alle Geräte umschalten würden.

        EDIT: ich sehe gerade Du meinst Alexa Sender, oder ? Das Prinzip ginge da auch, nur Du schreibst über ein Script/Blockly in den Alexa2 Adapter.

        1 Antwort Letzte Antwort
        2
        • ldittmarL ldittmar

          @da_woody Ja... ich habe es jetzt so gelöst, dass ich die CPU in den "Weiteren Infos" gepackt habe und dafür die aktuell installierte Version in Info A rein. Dann habe ich noch den ERROR Icon missbraucht um anzuzeigen, falls ein Adapter nicht auf Stable läuft (hab ein paar Adapter, die auf Latest laufen). Ich wollte noch, bei möglichen Updates, dass die mögliche Version noch angezeigt wird. Diese würde ich dann auch zu Info A packen, nur dass das Feld meistens leer ist, denn meistens sind die Adapter Uptodate. Es müsste also so sein, dass wenn der Wert eines Feldes leer ist, die Info nicht angezeigt wird.

          30-07-_2021_16-42-54.png

          Aber so langsam wirds... :-)

          da_WoodyD Offline
          da_WoodyD Offline
          da_Woody
          schrieb am zuletzt editiert von
          #5560

          @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

          die CPU in den "Weiteren Infos" gepackt habe und dafür die aktuell installierte Version in Info A rein

          warum dann nicht CPU und RAM ins InfoB Array? wird sanft hin und her geblendet...
          die idea mit dem Error hab ich auch in der linse gehabt... mir ist aber nicht ganz klar, wo du die infeos alle her hast...
          denk aber mal, wenn dein template ready ist, wirst du uns das vorstellen... ;)

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          metaxaM 1 Antwort Letzte Antwort
          1
          • da_WoodyD da_Woody

            @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

            die CPU in den "Weiteren Infos" gepackt habe und dafür die aktuell installierte Version in Info A rein

            warum dann nicht CPU und RAM ins InfoB Array? wird sanft hin und her geblendet...
            die idea mit dem Error hab ich auch in der linse gehabt... mir ist aber nicht ganz klar, wo du die infeos alle her hast...
            denk aber mal, wenn dein template ready ist, wirst du uns das vorstellen... ;)

            metaxaM Offline
            metaxaM Offline
            metaxa
            schrieb am zuletzt editiert von
            #5561

            @da_woody sagte in Test Adapter iQontrol 1.8.x Vis:

            @ldittmar ......
            wenn dein template ready ist, wirst du uns das vorstellen...

            :+1: :+1: :+1: :+1:

            1 Antwort Letzte Antwort
            1
            • ldittmarL Offline
              ldittmarL Offline
              ldittmar
              Developer
              schrieb am zuletzt editiert von ldittmar
              #5562

              @Siko @da_Woody @metaxa

              Soo... Ihr wollt wissen, woher die Datenpunkte für die Instanzen kommen - nun gut: Einige Datenpunkte sind total einfach unter system.adapter.[adaptername].[instanz] zu finden, aber das kennt ihr alle bestimmt.

              Screenshot 2021-07-31 135323.png

              Die Logeinträge bekomme ich aus dem Logparser, aber das ist bestimmt auch nicht das Problem.

              Screenshot 2021-07-31 135536.png

              Ihr wollt bestimmt wissen, woher ich die Versionen der installierte Adapter usw. haben... Dafür habe ich ein Javascript gebaut. Das Ding läuft bei mir 2 mal am Tag (02:35 und 14:35) und holt sich alle Daten aus dem Netz. Man muss nur noch die installierte Adaptern und den Host-Link angeben.

              const semver = require('semver');
              
              /** AB HIER BEARBEITEN */
              
              //Bezeichung der installierte Adaptern
              const installierteAdapter = ["js-controller", "admin", "info"];
              //Den richtigen Host angeben
              const controller = "system.host.prod-ioBroker";
              
              schedule("35 2,14 * * *", function () {    
                  doIt();
              });
              
              /** AB HIER NICHTS MEHR MACHEN*/
              
              async function doIt(){
                  await startInstanzenRead();
                  await wait(10000);
                  checkUpdate();
              }
              
              function getPosition(string, subString, index) {
                return string.split(subString, index).join(subString).length;
              }
              
              async function startInstanzenRead(){
                  try {
                      require("request")('https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist-stable.json', async function (error, response, result) {
                          const stableList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();            
                          installierteAdapter.forEach(async function(adapter) {
              
                              //stable version
                              createState("0_userdata.0.Instanzen.stable." + adapter, async function () {
                                  setState("0_userdata.0.Instanzen.stable." + adapter, stableList[adapter]?stableList[adapter].version:"not stable", true);
                              });
                              
                              //latest version
                              try {
                                  require("request")('https://api.npms.io/v2/package/iobroker.' + adapter, async function (error, response, result) {
                                      const latestList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                      createState("0_userdata.0.Instanzen.latest." + adapter, async function () {
                                          setState("0_userdata.0.Instanzen.latest." + adapter, latestList.collected.metadata.version, true);
                                      });
                                  }).on("error", function (e) {console.error(e);});
                              } catch (e) { console.error(e); }
                              
              
                              //installed version
                              getObject (adapter === "js-controller" ? controller : 'system.adapter.' + adapter + '.0', async function (err, obj) {
                                  createState("0_userdata.0.Instanzen.installiert." + adapter, async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter, adapter === "js-controller" ? obj.common.installedVersion : obj.common.version, true);
                                      //github version
                                      let lastestLink;
                                      if(adapter === "js-controller"){
                                          lastestLink = "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/io-package.json";
                                      }else{
                                          lastestLink = obj.common.extIcon;
                                          lastestLink = lastestLink.slice(0, getPosition(lastestLink, "/", 6) + 1);
                                          lastestLink = lastestLink + "io-package.json";
                                      }
                                      try {
                                          require("request")(lastestLink, async function (error, response, result) {
                                              const gitList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                              createState("0_userdata.0.Instanzen.github." + adapter, async function () {
                                                  setState("0_userdata.0.Instanzen.github." + adapter, gitList.common.version, true);
                                              });
                                          }).on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }   
                                  });
                              });
              
                          });
                      }).on("error", function (e) {console.error(e);});
                  } catch (e) { console.error(e); }    
              };
              
              async function checkUpdate(){
              
                  installierteAdapter.forEach(async function(adapter) {
                      const installed = getState("0_userdata.0.Instanzen.installiert." + adapter).val;
                      const stableVersion = getState("0_userdata.0.Instanzen.stable." + adapter).val;
                      const latestVersion = getState("0_userdata.0.Instanzen.latest." + adapter).val;
                      const githubVersion = getState("0_userdata.0.Instanzen.github." + adapter).val;
              
                      //gibt es ein Update?
                      if (installed != stableVersion && installed != latestVersion && installed != githubVersion) {
                          createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                              setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '#009900', true);                
                              //welche Version kann installiert werden?
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                  let updateVersion = "";
                                  try{semver.lt(installed, stableVersion) && (updateVersion = stableVersion)} catch (e) {}
                                  if(updateVersion === ""){
                                      try{semver.lt(installed, latestVersion) && (updateVersion = latestVersion)} catch (e) {}
                                  }
                                  if(updateVersion === ""){
                                      try{semver.lt(installed, githubVersion) && (updateVersion = githubVersion)} catch (e) {}
                                  }    
                                  
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", updateVersion, true);
                              });
                          });
                      } else {
                          createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                              setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '', true);
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", "", true);
                              });
                          });
                      }
              
                      //ist Adapter in eine nicht stable Version installiert?
                      try{
                          if(semver.gt(installed, stableVersion)){
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                              });
                          }else{
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", false, true);
                              });
                          }
                      } catch (e) { 
                          createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                              setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                          });
                      }
                      
                  });
              
              }
              
              doIt();
              

              Alle Ergebnisse werden dann unter 0_userdata.0.Instanzen gepeichert:

              Screenshot 2021-07-31 140547.png

              da_WoodyD K ldittmarL 3 Antworten Letzte Antwort
              5
              • ldittmarL ldittmar

                @Siko @da_Woody @metaxa

                Soo... Ihr wollt wissen, woher die Datenpunkte für die Instanzen kommen - nun gut: Einige Datenpunkte sind total einfach unter system.adapter.[adaptername].[instanz] zu finden, aber das kennt ihr alle bestimmt.

                Screenshot 2021-07-31 135323.png

                Die Logeinträge bekomme ich aus dem Logparser, aber das ist bestimmt auch nicht das Problem.

                Screenshot 2021-07-31 135536.png

                Ihr wollt bestimmt wissen, woher ich die Versionen der installierte Adapter usw. haben... Dafür habe ich ein Javascript gebaut. Das Ding läuft bei mir 2 mal am Tag (02:35 und 14:35) und holt sich alle Daten aus dem Netz. Man muss nur noch die installierte Adaptern und den Host-Link angeben.

                const semver = require('semver');
                
                /** AB HIER BEARBEITEN */
                
                //Bezeichung der installierte Adaptern
                const installierteAdapter = ["js-controller", "admin", "info"];
                //Den richtigen Host angeben
                const controller = "system.host.prod-ioBroker";
                
                schedule("35 2,14 * * *", function () {    
                    doIt();
                });
                
                /** AB HIER NICHTS MEHR MACHEN*/
                
                async function doIt(){
                    await startInstanzenRead();
                    await wait(10000);
                    checkUpdate();
                }
                
                function getPosition(string, subString, index) {
                  return string.split(subString, index).join(subString).length;
                }
                
                async function startInstanzenRead(){
                    try {
                        require("request")('https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist-stable.json', async function (error, response, result) {
                            const stableList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();            
                            installierteAdapter.forEach(async function(adapter) {
                
                                //stable version
                                createState("0_userdata.0.Instanzen.stable." + adapter, async function () {
                                    setState("0_userdata.0.Instanzen.stable." + adapter, stableList[adapter]?stableList[adapter].version:"not stable", true);
                                });
                                
                                //latest version
                                try {
                                    require("request")('https://api.npms.io/v2/package/iobroker.' + adapter, async function (error, response, result) {
                                        const latestList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                        createState("0_userdata.0.Instanzen.latest." + adapter, async function () {
                                            setState("0_userdata.0.Instanzen.latest." + adapter, latestList.collected.metadata.version, true);
                                        });
                                    }).on("error", function (e) {console.error(e);});
                                } catch (e) { console.error(e); }
                                
                
                                //installed version
                                getObject (adapter === "js-controller" ? controller : 'system.adapter.' + adapter + '.0', async function (err, obj) {
                                    createState("0_userdata.0.Instanzen.installiert." + adapter, async function () {
                                        setState("0_userdata.0.Instanzen.installiert." + adapter, adapter === "js-controller" ? obj.common.installedVersion : obj.common.version, true);
                                        //github version
                                        let lastestLink;
                                        if(adapter === "js-controller"){
                                            lastestLink = "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/io-package.json";
                                        }else{
                                            lastestLink = obj.common.extIcon;
                                            lastestLink = lastestLink.slice(0, getPosition(lastestLink, "/", 6) + 1);
                                            lastestLink = lastestLink + "io-package.json";
                                        }
                                        try {
                                            require("request")(lastestLink, async function (error, response, result) {
                                                const gitList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                                createState("0_userdata.0.Instanzen.github." + adapter, async function () {
                                                    setState("0_userdata.0.Instanzen.github." + adapter, gitList.common.version, true);
                                                });
                                            }).on("error", function (e) {console.error(e);});
                                        } catch (e) { console.error(e); }   
                                    });
                                });
                
                            });
                        }).on("error", function (e) {console.error(e);});
                    } catch (e) { console.error(e); }    
                };
                
                async function checkUpdate(){
                
                    installierteAdapter.forEach(async function(adapter) {
                        const installed = getState("0_userdata.0.Instanzen.installiert." + adapter).val;
                        const stableVersion = getState("0_userdata.0.Instanzen.stable." + adapter).val;
                        const latestVersion = getState("0_userdata.0.Instanzen.latest." + adapter).val;
                        const githubVersion = getState("0_userdata.0.Instanzen.github." + adapter).val;
                
                        //gibt es ein Update?
                        if (installed != stableVersion && installed != latestVersion && installed != githubVersion) {
                            createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '#009900', true);                
                                //welche Version kann installiert werden?
                                createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                    let updateVersion = "";
                                    try{semver.lt(installed, stableVersion) && (updateVersion = stableVersion)} catch (e) {}
                                    if(updateVersion === ""){
                                        try{semver.lt(installed, latestVersion) && (updateVersion = latestVersion)} catch (e) {}
                                    }
                                    if(updateVersion === ""){
                                        try{semver.lt(installed, githubVersion) && (updateVersion = githubVersion)} catch (e) {}
                                    }    
                                    
                                    setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", updateVersion, true);
                                });
                            });
                        } else {
                            createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '', true);
                                createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                    setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", "", true);
                                });
                            });
                        }
                
                        //ist Adapter in eine nicht stable Version installiert?
                        try{
                            if(semver.gt(installed, stableVersion)){
                                createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                    setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                                });
                            }else{
                                createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                    setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", false, true);
                                });
                            }
                        } catch (e) { 
                            createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                            });
                        }
                        
                    });
                
                }
                
                doIt();
                

                Alle Ergebnisse werden dann unter 0_userdata.0.Instanzen gepeichert:

                Screenshot 2021-07-31 140547.png

                da_WoodyD Offline
                da_WoodyD Offline
                da_Woody
                schrieb am zuletzt editiert von
                #5563

                @ldittmar :+1: ok, ich muss gestehn, mit dem logparser hab ich micht noch nicht wirklich beschäftigt...
                werd mich da wohl bissl schlau machen müssen. :face_with_rolling_eyes:

                gruß vom Woody
                HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                1 Antwort Letzte Antwort
                0
                • ldittmarL ldittmar

                  @Siko @da_Woody @metaxa

                  Soo... Ihr wollt wissen, woher die Datenpunkte für die Instanzen kommen - nun gut: Einige Datenpunkte sind total einfach unter system.adapter.[adaptername].[instanz] zu finden, aber das kennt ihr alle bestimmt.

                  Screenshot 2021-07-31 135323.png

                  Die Logeinträge bekomme ich aus dem Logparser, aber das ist bestimmt auch nicht das Problem.

                  Screenshot 2021-07-31 135536.png

                  Ihr wollt bestimmt wissen, woher ich die Versionen der installierte Adapter usw. haben... Dafür habe ich ein Javascript gebaut. Das Ding läuft bei mir 2 mal am Tag (02:35 und 14:35) und holt sich alle Daten aus dem Netz. Man muss nur noch die installierte Adaptern und den Host-Link angeben.

                  const semver = require('semver');
                  
                  /** AB HIER BEARBEITEN */
                  
                  //Bezeichung der installierte Adaptern
                  const installierteAdapter = ["js-controller", "admin", "info"];
                  //Den richtigen Host angeben
                  const controller = "system.host.prod-ioBroker";
                  
                  schedule("35 2,14 * * *", function () {    
                      doIt();
                  });
                  
                  /** AB HIER NICHTS MEHR MACHEN*/
                  
                  async function doIt(){
                      await startInstanzenRead();
                      await wait(10000);
                      checkUpdate();
                  }
                  
                  function getPosition(string, subString, index) {
                    return string.split(subString, index).join(subString).length;
                  }
                  
                  async function startInstanzenRead(){
                      try {
                          require("request")('https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist-stable.json', async function (error, response, result) {
                              const stableList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();            
                              installierteAdapter.forEach(async function(adapter) {
                  
                                  //stable version
                                  createState("0_userdata.0.Instanzen.stable." + adapter, async function () {
                                      setState("0_userdata.0.Instanzen.stable." + adapter, stableList[adapter]?stableList[adapter].version:"not stable", true);
                                  });
                                  
                                  //latest version
                                  try {
                                      require("request")('https://api.npms.io/v2/package/iobroker.' + adapter, async function (error, response, result) {
                                          const latestList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                          createState("0_userdata.0.Instanzen.latest." + adapter, async function () {
                                              setState("0_userdata.0.Instanzen.latest." + adapter, latestList.collected.metadata.version, true);
                                          });
                                      }).on("error", function (e) {console.error(e);});
                                  } catch (e) { console.error(e); }
                                  
                  
                                  //installed version
                                  getObject (adapter === "js-controller" ? controller : 'system.adapter.' + adapter + '.0', async function (err, obj) {
                                      createState("0_userdata.0.Instanzen.installiert." + adapter, async function () {
                                          setState("0_userdata.0.Instanzen.installiert." + adapter, adapter === "js-controller" ? obj.common.installedVersion : obj.common.version, true);
                                          //github version
                                          let lastestLink;
                                          if(adapter === "js-controller"){
                                              lastestLink = "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/io-package.json";
                                          }else{
                                              lastestLink = obj.common.extIcon;
                                              lastestLink = lastestLink.slice(0, getPosition(lastestLink, "/", 6) + 1);
                                              lastestLink = lastestLink + "io-package.json";
                                          }
                                          try {
                                              require("request")(lastestLink, async function (error, response, result) {
                                                  const gitList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                                  createState("0_userdata.0.Instanzen.github." + adapter, async function () {
                                                      setState("0_userdata.0.Instanzen.github." + adapter, gitList.common.version, true);
                                                  });
                                              }).on("error", function (e) {console.error(e);});
                                          } catch (e) { console.error(e); }   
                                      });
                                  });
                  
                              });
                          }).on("error", function (e) {console.error(e);});
                      } catch (e) { console.error(e); }    
                  };
                  
                  async function checkUpdate(){
                  
                      installierteAdapter.forEach(async function(adapter) {
                          const installed = getState("0_userdata.0.Instanzen.installiert." + adapter).val;
                          const stableVersion = getState("0_userdata.0.Instanzen.stable." + adapter).val;
                          const latestVersion = getState("0_userdata.0.Instanzen.latest." + adapter).val;
                          const githubVersion = getState("0_userdata.0.Instanzen.github." + adapter).val;
                  
                          //gibt es ein Update?
                          if (installed != stableVersion && installed != latestVersion && installed != githubVersion) {
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '#009900', true);                
                                  //welche Version kann installiert werden?
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                      let updateVersion = "";
                                      try{semver.lt(installed, stableVersion) && (updateVersion = stableVersion)} catch (e) {}
                                      if(updateVersion === ""){
                                          try{semver.lt(installed, latestVersion) && (updateVersion = latestVersion)} catch (e) {}
                                      }
                                      if(updateVersion === ""){
                                          try{semver.lt(installed, githubVersion) && (updateVersion = githubVersion)} catch (e) {}
                                      }    
                                      
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", updateVersion, true);
                                  });
                              });
                          } else {
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '', true);
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", "", true);
                                  });
                              });
                          }
                  
                          //ist Adapter in eine nicht stable Version installiert?
                          try{
                              if(semver.gt(installed, stableVersion)){
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                                  });
                              }else{
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", false, true);
                                  });
                              }
                          } catch (e) { 
                              createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                  setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                              });
                          }
                          
                      });
                  
                  }
                  
                  doIt();
                  

                  Alle Ergebnisse werden dann unter 0_userdata.0.Instanzen gepeichert:

                  Screenshot 2021-07-31 140547.png

                  K Offline
                  K Offline
                  Kueppert
                  schrieb am zuletzt editiert von
                  #5564

                  @ldittmar
                  kannst du das Skript ggf noch als txt mit anhängen? Copy-Paste mit den Browsern macht bei dem einen oder anderen Probleme...mir zB ^^

                  UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                  da_WoodyD 1 Antwort Letzte Antwort
                  0
                  • K Kueppert

                    @ldittmar
                    kannst du das Skript ggf noch als txt mit anhängen? Copy-Paste mit den Browsern macht bei dem einen oder anderen Probleme...mir zB ^^

                    da_WoodyD Offline
                    da_WoodyD Offline
                    da_Woody
                    schrieb am zuletzt editiert von da_Woody
                    #5565

                    @kueppert mit chrome gibts eigentlich keine probs... FF fügt leerzeilen ein. bitteschön...
                    instanzen.txt

                    gruß vom Woody
                    HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                    1 Antwort Letzte Antwort
                    1
                    • ldittmarL ldittmar

                      @Siko @da_Woody @metaxa

                      Soo... Ihr wollt wissen, woher die Datenpunkte für die Instanzen kommen - nun gut: Einige Datenpunkte sind total einfach unter system.adapter.[adaptername].[instanz] zu finden, aber das kennt ihr alle bestimmt.

                      Screenshot 2021-07-31 135323.png

                      Die Logeinträge bekomme ich aus dem Logparser, aber das ist bestimmt auch nicht das Problem.

                      Screenshot 2021-07-31 135536.png

                      Ihr wollt bestimmt wissen, woher ich die Versionen der installierte Adapter usw. haben... Dafür habe ich ein Javascript gebaut. Das Ding läuft bei mir 2 mal am Tag (02:35 und 14:35) und holt sich alle Daten aus dem Netz. Man muss nur noch die installierte Adaptern und den Host-Link angeben.

                      const semver = require('semver');
                      
                      /** AB HIER BEARBEITEN */
                      
                      //Bezeichung der installierte Adaptern
                      const installierteAdapter = ["js-controller", "admin", "info"];
                      //Den richtigen Host angeben
                      const controller = "system.host.prod-ioBroker";
                      
                      schedule("35 2,14 * * *", function () {    
                          doIt();
                      });
                      
                      /** AB HIER NICHTS MEHR MACHEN*/
                      
                      async function doIt(){
                          await startInstanzenRead();
                          await wait(10000);
                          checkUpdate();
                      }
                      
                      function getPosition(string, subString, index) {
                        return string.split(subString, index).join(subString).length;
                      }
                      
                      async function startInstanzenRead(){
                          try {
                              require("request")('https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist-stable.json', async function (error, response, result) {
                                  const stableList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();            
                                  installierteAdapter.forEach(async function(adapter) {
                      
                                      //stable version
                                      createState("0_userdata.0.Instanzen.stable." + adapter, async function () {
                                          setState("0_userdata.0.Instanzen.stable." + adapter, stableList[adapter]?stableList[adapter].version:"not stable", true);
                                      });
                                      
                                      //latest version
                                      try {
                                          require("request")('https://api.npms.io/v2/package/iobroker.' + adapter, async function (error, response, result) {
                                              const latestList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                              createState("0_userdata.0.Instanzen.latest." + adapter, async function () {
                                                  setState("0_userdata.0.Instanzen.latest." + adapter, latestList.collected.metadata.version, true);
                                              });
                                          }).on("error", function (e) {console.error(e);});
                                      } catch (e) { console.error(e); }
                                      
                      
                                      //installed version
                                      getObject (adapter === "js-controller" ? controller : 'system.adapter.' + adapter + '.0', async function (err, obj) {
                                          createState("0_userdata.0.Instanzen.installiert." + adapter, async function () {
                                              setState("0_userdata.0.Instanzen.installiert." + adapter, adapter === "js-controller" ? obj.common.installedVersion : obj.common.version, true);
                                              //github version
                                              let lastestLink;
                                              if(adapter === "js-controller"){
                                                  lastestLink = "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/io-package.json";
                                              }else{
                                                  lastestLink = obj.common.extIcon;
                                                  lastestLink = lastestLink.slice(0, getPosition(lastestLink, "/", 6) + 1);
                                                  lastestLink = lastestLink + "io-package.json";
                                              }
                                              try {
                                                  require("request")(lastestLink, async function (error, response, result) {
                                                      const gitList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                                      createState("0_userdata.0.Instanzen.github." + adapter, async function () {
                                                          setState("0_userdata.0.Instanzen.github." + adapter, gitList.common.version, true);
                                                      });
                                                  }).on("error", function (e) {console.error(e);});
                                              } catch (e) { console.error(e); }   
                                          });
                                      });
                      
                                  });
                              }).on("error", function (e) {console.error(e);});
                          } catch (e) { console.error(e); }    
                      };
                      
                      async function checkUpdate(){
                      
                          installierteAdapter.forEach(async function(adapter) {
                              const installed = getState("0_userdata.0.Instanzen.installiert." + adapter).val;
                              const stableVersion = getState("0_userdata.0.Instanzen.stable." + adapter).val;
                              const latestVersion = getState("0_userdata.0.Instanzen.latest." + adapter).val;
                              const githubVersion = getState("0_userdata.0.Instanzen.github." + adapter).val;
                      
                              //gibt es ein Update?
                              if (installed != stableVersion && installed != latestVersion && installed != githubVersion) {
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '#009900', true);                
                                      //welche Version kann installiert werden?
                                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                          let updateVersion = "";
                                          try{semver.lt(installed, stableVersion) && (updateVersion = stableVersion)} catch (e) {}
                                          if(updateVersion === ""){
                                              try{semver.lt(installed, latestVersion) && (updateVersion = latestVersion)} catch (e) {}
                                          }
                                          if(updateVersion === ""){
                                              try{semver.lt(installed, githubVersion) && (updateVersion = githubVersion)} catch (e) {}
                                          }    
                                          
                                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", updateVersion, true);
                                      });
                                  });
                              } else {
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '', true);
                                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", "", true);
                                      });
                                  });
                              }
                      
                              //ist Adapter in eine nicht stable Version installiert?
                              try{
                                  if(semver.gt(installed, stableVersion)){
                                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                                      });
                                  }else{
                                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", false, true);
                                      });
                                  }
                              } catch (e) { 
                                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                                  });
                              }
                              
                          });
                      
                      }
                      
                      doIt();
                      

                      Alle Ergebnisse werden dann unter 0_userdata.0.Instanzen gepeichert:

                      Screenshot 2021-07-31 140547.png

                      ldittmarL Offline
                      ldittmarL Offline
                      ldittmar
                      Developer
                      schrieb am zuletzt editiert von
                      #5566

                      @da_Woody @Kueppert @SiKo @metaxa

                      Ich hatte ein Denkfehler im JS Code. Habe es oben gefixt - Es ging um die Versionsnummer des vorhandenen Updates. Jetzt stimmt alles :-) - hoffe ich :rolling_on_the_floor_laughing:

                      da_WoodyD 1 Antwort Letzte Antwort
                      0
                      • ldittmarL ldittmar

                        @da_Woody @Kueppert @SiKo @metaxa

                        Ich hatte ein Denkfehler im JS Code. Habe es oben gefixt - Es ging um die Versionsnummer des vorhandenen Updates. Jetzt stimmt alles :-) - hoffe ich :rolling_on_the_floor_laughing:

                        da_WoodyD Offline
                        da_WoodyD Offline
                        da_Woody
                        schrieb am zuletzt editiert von
                        #5567

                        @ldittmar öchl, hab jetzt mal alle instanzen eingetragen :face_with_head_bandage: , gestartet und bekomm:

                        13:58:00.133	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                        13:58:00.134	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                        13:58:00.145	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                        13:58:00.146	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                        13:58:00.148	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                        13:58:00.148	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                        13:58:00.307	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'version' of undefined
                        13:58:00.308	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:65:105)
                        

                        einträge sind aber vorhanden...
                        ddcaab26-173c-42ac-9350-c705378fcc47-grafik.png

                        gruß vom Woody
                        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                        ldittmarL 1 Antwort Letzte Antwort
                        0
                        • da_WoodyD da_Woody

                          @ldittmar öchl, hab jetzt mal alle instanzen eingetragen :face_with_head_bandage: , gestartet und bekomm:

                          13:58:00.133	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                          13:58:00.134	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                          13:58:00.145	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                          13:58:00.146	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                          13:58:00.148	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'metadata' of undefined
                          13:58:00.148	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:42:103)
                          13:58:00.307	error	javascript.0 (440) script.js.common.iQontrol.Instanzen: TypeError: Cannot read property 'version' of undefined
                          13:58:00.308	error	javascript.0 (440) at Immediate.<anonymous> (script.js.common.iQontrol.Instanzen:65:105)
                          

                          einträge sind aber vorhanden...
                          ddcaab26-173c-42ac-9350-c705378fcc47-grafik.png

                          ldittmarL Offline
                          ldittmarL Offline
                          ldittmar
                          Developer
                          schrieb am zuletzt editiert von
                          #5568

                          @da_woody Mein Hauptsystem läuft auf stable - da kommen keine Fehlermeldungen. Ich lasse mein Script mal auf dem Testsystem laufen und werde wahrscheinlich die gleiche Meldungen bekommen. Mit JS-Controller 3.3.x hat sich bestimmt was geändert... ich schaue mal nach :-)

                          da_WoodyD 1 Antwort Letzte Antwort
                          1
                          • ldittmarL ldittmar

                            @da_woody Mein Hauptsystem läuft auf stable - da kommen keine Fehlermeldungen. Ich lasse mein Script mal auf dem Testsystem laufen und werde wahrscheinlich die gleiche Meldungen bekommen. Mit JS-Controller 3.3.x hat sich bestimmt was geändert... ich schaue mal nach :-)

                            da_WoodyD Offline
                            da_WoodyD Offline
                            da_Woody
                            schrieb am zuletzt editiert von
                            #5569

                            @ldittmar kein stress, ist auch der einzige fehler. bei mir ist alles auf latest...
                            welches gerät verwendest du eigentlich zur anzeige? denk mal schalter...
                            uff, die ganzen logos muss ich ja auch reinoperieren...

                            gruß vom Woody
                            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                            ldittmarL 1 Antwort Letzte Antwort
                            0
                            • da_WoodyD da_Woody

                              @ldittmar kein stress, ist auch der einzige fehler. bei mir ist alles auf latest...
                              welches gerät verwendest du eigentlich zur anzeige? denk mal schalter...
                              uff, die ganzen logos muss ich ja auch reinoperieren...

                              ldittmarL Offline
                              ldittmarL Offline
                              ldittmar
                              Developer
                              schrieb am zuletzt editiert von
                              #5570

                              @da_woody Jepp... sind Schalter und ja... die ganze Icons müssen noch rein. Aber das Kopieren der einzelnen Kacheln wird bald viel einfacher werden...

                              https://github.com/sbormann/ioBroker.iqontrol/issues/193

                              Dann wird es viel schneller gehen... :-)

                              1 Antwort Letzte Antwort
                              1
                              • ldittmarL ldittmar

                                Hi,

                                ich bin gerade dabei meine Instanzen ins iQontrol zu packen:

                                29-07-_2021_15-30-12.png

                                Dabei werden Adapter die aktualisiert werden können grün dargestellt, CPU und RAM werden angezeigt und oben ein Badge mit Anzahl der Logmeldungen (warn/error)

                                Wenn man es öffnet...

                                29-07-_2021_15-33-05.png

                                ...kann man Adapter ein-/ausschalten, Logeinträge löschen, die aktuellen Versionen (installiert, stable, latest und auf Github) sehen und die letzten 100 Logeinträge (warn/error) lesen.

                                Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                Und wenn ich schon dabei bin: Hat jemand noch eine Idee man noch als Info oder Funktion zu den Instanzen hinzufügen kann? Ich will mein Template fertig machen, bevor ich alle Instanzen hinzufüge :smirk:

                                da_WoodyD Offline
                                da_WoodyD Offline
                                da_Woody
                                schrieb am zuletzt editiert von
                                #5571

                                @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

                                Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                hab gerade was probiert bei den ersten spielerien... state wird ja nicht gebraucht...
                                6d65856a-985f-469e-99e2-20edcd51a0b9-grafik.png
                                im badge die installierte version und im state die latest

                                gruß vom Woody
                                HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                s.bormannS 1 Antwort Letzte Antwort
                                0
                                • da_WoodyD da_Woody

                                  @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

                                  Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                  hab gerade was probiert bei den ersten spielerien... state wird ja nicht gebraucht...
                                  6d65856a-985f-469e-99e2-20edcd51a0b9-grafik.png
                                  im badge die installierte version und im state die latest

                                  s.bormannS Offline
                                  s.bormannS Offline
                                  s.bormann
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #5572

                                  @da_woody sagte in Test Adapter iQontrol 1.8.x Vis:

                                  @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

                                  Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                  hab gerade was probiert bei den ersten spielerien... state wird ja nicht gebraucht...
                                  6d65856a-985f-469e-99e2-20edcd51a0b9-grafik.png
                                  im badge die installierte version und im state die latest

                                  Oder im Badge die latest, falls die größer ist, also die isntallierte?

                                  da_WoodyD M 2 Antworten Letzte Antwort
                                  0
                                  • s.bormannS s.bormann

                                    @da_woody sagte in Test Adapter iQontrol 1.8.x Vis:

                                    @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

                                    Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                    hab gerade was probiert bei den ersten spielerien... state wird ja nicht gebraucht...
                                    6d65856a-985f-469e-99e2-20edcd51a0b9-grafik.png
                                    im badge die installierte version und im state die latest

                                    Oder im Badge die latest, falls die größer ist, also die isntallierte?

                                    da_WoodyD Offline
                                    da_WoodyD Offline
                                    da_Woody
                                    schrieb am zuletzt editiert von da_Woody
                                    #5573

                                    @s-bormann naja, kann man ja machen wie man will... :)

                                    gibts eigentlich eine logo sammlung der adapter?

                                    gruß vom Woody
                                    HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                    1 Antwort Letzte Antwort
                                    0
                                    • s.bormannS s.bormann

                                      @da_woody sagte in Test Adapter iQontrol 1.8.x Vis:

                                      @ldittmar sagte in Test Adapter iQontrol 1.8.x Vis:

                                      Was ich noch gerne hätte, ist dass die aktuell installierte Adapter-Version auf dem Kachel angezeigt wird, aber nicht in INFO-A oder B, sondern irgendwo anders. Von mir aus unten rechts oder hinter der Bezeichnung. Egal... Hat jemand eine Idee?

                                      hab gerade was probiert bei den ersten spielerien... state wird ja nicht gebraucht...
                                      6d65856a-985f-469e-99e2-20edcd51a0b9-grafik.png
                                      im badge die installierte version und im state die latest

                                      Oder im Badge die latest, falls die größer ist, also die isntallierte?

                                      M Offline
                                      M Offline
                                      muuulle
                                      schrieb am zuletzt editiert von
                                      #5574

                                      @s-bormann
                                      Moin,
                                      als ich las, dass JSON jetzt als Tabelle ausgeben werden kann, wollte ich direkt das Update machen. Leider findet iQontrol den Web Adapter nicht mehr. Jetzt auch bei 1.7.3 🤔

                                      Hast du eine Idee, was ich machen kann?

                                      Danke für einen Ansatz!

                                      s.bormannS 1 Antwort Letzte Antwort
                                      0
                                      • M muuulle

                                        @s-bormann
                                        Moin,
                                        als ich las, dass JSON jetzt als Tabelle ausgeben werden kann, wollte ich direkt das Update machen. Leider findet iQontrol den Web Adapter nicht mehr. Jetzt auch bei 1.7.3 🤔

                                        Hast du eine Idee, was ich machen kann?

                                        Danke für einen Ansatz!

                                        s.bormannS Offline
                                        s.bormannS Offline
                                        s.bormann
                                        Most Active
                                        schrieb am zuletzt editiert von s.bormann
                                        #5575

                                        @muuulle sagte in Test Adapter iQontrol 1.8.x Vis:

                                        @s-bormann
                                        Moin,
                                        als ich las, dass JSON jetzt als Tabelle ausgeben werden kann, wollte ich direkt das Update machen. Leider findet iQontrol den Web Adapter nicht mehr. Jetzt auch bei 1.7.3 🤔

                                        Hast du eine Idee, was ich machen kann?

                                        Danke für einen Ansatz!

                                        Nutzt Du Safari? Damit gehts aktuell nicht. (Betrifft nur das Backend zur Konfiguration, das FrontEnd sollte laufen).

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • s.bormannS s.bormann

                                          @muuulle sagte in Test Adapter iQontrol 1.8.x Vis:

                                          @s-bormann
                                          Moin,
                                          als ich las, dass JSON jetzt als Tabelle ausgeben werden kann, wollte ich direkt das Update machen. Leider findet iQontrol den Web Adapter nicht mehr. Jetzt auch bei 1.7.3 🤔

                                          Hast du eine Idee, was ich machen kann?

                                          Danke für einen Ansatz!

                                          Nutzt Du Safari? Damit gehts aktuell nicht. (Betrifft nur das Backend zur Konfiguration, das FrontEnd sollte laufen).

                                          M Offline
                                          M Offline
                                          muuulle
                                          schrieb am zuletzt editiert von
                                          #5576

                                          @s-bormann
                                          Ok. Bis gestern hat’s aber noch funktioniert. Liegt’s an 14.7.1? 🤔

                                          s.bormannS 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

                                          405

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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