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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

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

Scheduled Pinned Locked Moved Tester
appdark-modeiqontrolresponsivevisvisualisierungvisualizationwidget
7.6k Posts 296 Posters 7.0m Views 201 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    meerkat
    wrote on last edited by
    #5550

    Hi an alle,
    man kann für das Media Element ja so schön die Sender hinterlegen
    3659c344-137b-429a-b15c-1dc0a1af5271-image.png
    und das alles über die Eigenschaft RemoteChannels pflegen. 85aee5af-92c1-4cbd-b866-eb1650827cef-image.png

    Kann man das Array auch irgendwie kopieren oder da auch einen Datenpunkt hinterlegen? Habe mehrere Alexa´s und nicht wirklich Lust, bei jedem neuen Sender alle Geräte durchzugehen.

    Gruß

    da_WoodyD ldittmarL 2 Replies Last reply
    0
    • M meerkat

      Hi an alle,
      man kann für das Media Element ja so schön die Sender hinterlegen
      3659c344-137b-429a-b15c-1dc0a1af5271-image.png
      und das alles über die Eigenschaft RemoteChannels pflegen. 85aee5af-92c1-4cbd-b866-eb1650827cef-image.png

      Kann man das Array auch irgendwie kopieren oder da auch einen Datenpunkt hinterlegen? Habe mehrere Alexa´s und nicht wirklich Lust, bei jedem neuen Sender alle Geräte durchzugehen.

      Gruß

      da_WoodyD Offline
      da_WoodyD Offline
      da_Woody
      wrote on last edited by
      #5551

      @meerkat wenn ich dich richtig verstehe, dann kopier doch das gerät in den raum wo soll und ändere dort die daten der schnepfe...

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

      1 Reply Last reply
      0
      • S Offline
        S Offline
        SiKo
        wrote on last edited by
        #5552

        Hallo,
        hat jemand von euch sein Auto mit eingebunden.
        hab noch keine genaue Vorstellung wie ich diese Infos am Besten visualisieren könnte.

        a2eb29cb-d818-4eaa-968b-02cef8681c56-image.png

        1 Reply Last reply
        0
        • s.bormannS Offline
          s.bormannS Offline
          s.bormann
          Most Active
          wrote on last edited by
          #5553

          Habe mal das schlechte Wetter im Urlaub genutzt 🙂
          Beim FLOT-Widget kann man nun die Achsen konfigurieren:
          9cd1851e-6db4-4012-9f6e-33b939fedddd-image.png

          1.8.1 (2021-07-28)

          • (sbormann) Some design-adjustments for react-ui.
          • (sbormann) Keep track of ioBroker object changes in admin.
          • (sbormann) Fixed crash if active view has no devices.
          • (sbormann) Removed old conn.js from admin.
          • (Einstein2002, sbormann) Added HomematicIP-Thermostat.
          • (sbormann) Enhanced max-height of dialog.
          • (sbormann) Fixed up, down and stop button for blinds.
          • (sbormann) Changed some log messages.
          • (sbormann) Enhanced FLOT-Chart-Widget to set axis options.
          ldittmarL 1 Reply Last reply
          8
          • s.bormannS s.bormann

            Habe mal das schlechte Wetter im Urlaub genutzt 🙂
            Beim FLOT-Widget kann man nun die Achsen konfigurieren:
            9cd1851e-6db4-4012-9f6e-33b939fedddd-image.png

            1.8.1 (2021-07-28)

            • (sbormann) Some design-adjustments for react-ui.
            • (sbormann) Keep track of ioBroker object changes in admin.
            • (sbormann) Fixed crash if active view has no devices.
            • (sbormann) Removed old conn.js from admin.
            • (Einstein2002, sbormann) Added HomematicIP-Thermostat.
            • (sbormann) Enhanced max-height of dialog.
            • (sbormann) Fixed up, down and stop button for blinds.
            • (sbormann) Changed some log messages.
            • (sbormann) Enhanced FLOT-Chart-Widget to set axis options.
            ldittmarL Offline
            ldittmarL Offline
            ldittmar
            Developer
            wrote on last edited by
            #5554

            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 😏

            S da_WoodyD 2 Replies Last reply
            2
            • da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              wrote on last edited by
              #5555

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

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

              ldittmarL 1 Reply Last reply
              0
              • M meerkat

                Hi an alle,
                man kann für das Media Element ja so schön die Sender hinterlegen
                3659c344-137b-429a-b15c-1dc0a1af5271-image.png
                und das alles über die Eigenschaft RemoteChannels pflegen. 85aee5af-92c1-4cbd-b866-eb1650827cef-image.png

                Kann man das Array auch irgendwie kopieren oder da auch einen Datenpunkt hinterlegen? Habe mehrere Alexa´s und nicht wirklich Lust, bei jedem neuen Sender alle Geräte durchzugehen.

                Gruß

                ldittmarL Offline
                ldittmarL Offline
                ldittmar
                Developer
                wrote on last edited by ldittmar
                #5556

                @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 M 2 Replies Last reply
                0
                • 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
                  wrote on last edited by
                  #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 Reply Last reply
                  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 😏

                    S Offline
                    S Offline
                    SiKo
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #5561

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

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

                          👍 👍 👍 👍

                          1 Reply Last reply
                          1
                          • ldittmarL Offline
                            ldittmarL Offline
                            ldittmar
                            Developer
                            wrote on last edited by 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 Replies Last reply
                            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
                              wrote on last edited by
                              #5563

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

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

                              1 Reply Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by 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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #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 🤣

                                    da_WoodyD 1 Reply Last reply
                                    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 🤣

                                      da_WoodyD Offline
                                      da_WoodyD Offline
                                      da_Woody
                                      wrote on last edited by
                                      #5567

                                      @ldittmar öchl, hab jetzt mal alle instanzen eingetragen 🤕 , 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 Reply Last reply
                                      0
                                      • da_WoodyD da_Woody

                                        @ldittmar öchl, hab jetzt mal alle instanzen eingetragen 🤕 , 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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          744

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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