Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Gelöst] ID oder Name eines State in Vis anzeigen

    NEWS

    • Update NodeJS best practise, supported 14, 16 und 18!

    • Update js-controller 4.0.24 (Stable)

    • Fehler 25, 217 oder "ENOTEMPTY" bei Adapter-Install/Update

    SOLVED [Gelöst] ID oder Name eines State in Vis anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Nashra
      Nashra Most Active Forum Testing @Oli last edited by

      @Oli sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

      @Nashra

      sollte die Zeile 15 nicht so ausschauen?

      var cacheSelector = $('ping.0.DESKTOP-OC3H4GD*SmartHome*.*').each(function (id, i){
      

      Ich habe kein "DESKTOP-OC3H4GD..", bei mir steht ping.0.ioBroker

      O liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky last edited by

        @Dolomiti
        @Oliver-Böhm
        hier mal mein vorschlag:

        habe in blockly folgendes angelegt:Image 1.png

        inhalt ist:

        var obj = getObject("ping.0.raspberry3.192_168_178_157");
        console.log(obj.common.name)
        

        damit bekomme ich den namen - diesen speichere ich dann in einen extra datenpunkt

        (wahrscheinlich gehts auch anders - aber ich glaube, blockly direct unterstützt das nicht - https://forum.iobroker.net/post/240879)

        O 1 Reply Last reply Reply Quote 2
        • O
          Oli @Nashra last edited by

          @Nashra

          ich habe das aus dem von die geposteten Code kopiert und ergänzt

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Oli last edited by

            @Nashra moin habe nochmal getestet - funktioniert

            poste mal dein geändertes script

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Nashra last edited by

              @Nashra

              • hast du im log fehler oder warnungen ?
              • du könntest auch mal ein log aktivieren

              z.b vor devicenameName=devicename

               log(id + " : " + devicename + " : " + ip + " counter:  "+ counter);
               
              devicenameName=devicename;
              

              einfügen und mal sehen, ob was kommt

              Nashra 1 Reply Last reply Reply Quote 0
              • Nashra
                Nashra Most Active Forum Testing @liv-in-sky last edited by

                @liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                @Nashra

                • hast du im log fehler oder warnungen ?
                • du könntest auch mal ein log aktivieren

                z.b vor devicenameName=devicename

                 log(id + " : " + devicename + " : " + ip + " counter:  "+ counter);
                 
                devicenameName=devicename;
                

                einfügen und mal sehen, ob was kommt

                Nein da komm nichts

                
                schedule( "* * * * *", function () { 
                
                var sortArr=[];
                var wert1;
                var ip;
                var devicenameName;
                var devicename;
                
                //var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
                
                var htmlString ="<table>";//<tr><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td><td>&ensp;&ensp;&ensp;</td><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td></tr>";//
                
                var counter =0;
                 $('ping.0.ioBroker').each(function (id, i){
                counter = counter+1;
                
                //log(counter.toString());
                
                 devicename = getObject(id).common.name;
                
                 //log(devicename);
                
                 ip = id.replace(/_/g, ".");
                 ip = ip.replace(/ping.0.ioBroker)./g, "");
                
                // log(id + " : " + devicename + " : " + ip );
                log(id + " : " + devicename + " : " + ip + " counter:  "+ counter);
                
                devicenameName=devicename;
                devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät";
                createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                setStateDelayed(devicename, devicenameName, 800);
                devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse";
                setStateDelayed(devicename, ip, 800);
                createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true });
                
                 wert1 = getState(id).val;
                
                if (wert1) wert1 = "✅";
                
                if (!wert1) wert1= "❌";
                
                let help = [devicenameName,ip,wert1];
                
                sortArr.push(help);
                });
                
                /*function numSort(a, b) {
                
                {1}
                              if (a[1].toUpperCase().trim() > b[1].toUpperCase().trim())
                                 return -1;
                              if (b[1].toUpperCase().trim() > a[1].toUpperCase().trim())
                                 return 1;
                              return 0;
                }
                
                sortArr.sort(numSort);*/
                
                               sortArr.sort(function (alpha, beta) {
                
                              if (alpha[0].toUpperCase() > beta[0].toUpperCase())
                                 return 1;
                              if (beta[0].toUpperCase() > alpha[0].toUpperCase())
                                 return -11;
                              return 0;
                             });
                
                for (var i=0; i<sortArr.length;i++) {
                
                if(i%2==0) {htmlString=htmlString+"<tr><td>"  + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;</td>" ;}
                
                else {      htmlString=htmlString+ "<td>"     + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;"+"</td></tr>"}}
                
                //htmlString=htmlString.concat("<tr><td>" + devicenameName + "&ensp; &ensp;</td><td>" + ip + "&ensp; &ensp;</td><td>" + wert1 + "</td></tr>");
                
                //log(counter);
                
                createState('Netzwerk3.StringHTML', "0", {name: 'StringHTML', desc: '', type: 'string', role: '',read: true, write: true }); 
                createState('Netzwerk3.Anzahl',  { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); 
                setStateDelayed('Netzwerk3.Anzahl', counter, 800);
                setStateDelayed('Netzwerk3.StringHTML', htmlString.concat("</table>"), 800);
                });
                
                
                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Nashra last edited by

                  @Nashra und zeig doch noch die datenpunkte vom ping adapter

                  Nashra 1 Reply Last reply Reply Quote 0
                  • Nashra
                    Nashra Most Active Forum Testing @liv-in-sky last edited by

                    @liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                    @Nashra und zeig doch noch die datenpunkte vom ping adapter

                    ping.PNG

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Nashra last edited by

                      @Nashra
                      probier mal - ist auf 20 sek eingestellt - kannst du später umstellen und log ist noch aktiviert

                      
                      //schedule( "* * * * *", function () { 
                      schedule( "*/20 * * * * *", function () { 
                      var sortArr=[];
                      var wert1;
                      var ip;
                      var devicenameName;
                      var devicename;
                      log("bin da")
                      //var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
                      
                      var htmlString ="<table>";//<tr><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td><td>&ensp;&ensp;&ensp;</td><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td></tr>";//
                      
                      var counter =0;
                      $('ping.0.ioBroker.*').each(function (id, i){
                      counter = counter+1;
                      
                      //log(counter.toString());
                      
                      devicename = getObject(id).common.name;
                      
                      //log(devicename);
                      
                      ip = id.replace(/_/g, ".");
                      ip = ip.replace(/ping.0.ioBroker./g, "");
                      
                      // log(id + " : " + devicename + " : " + ip );
                      log(id + " : " + devicename + " : " + ip + " counter:  "+ counter);
                      
                      devicenameName=devicename;
                      devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät";
                      createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                      setStateDelayed(devicename, devicenameName, 800);
                      devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse";
                      setStateDelayed(devicename, ip, 800);
                      createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true });
                      
                      wert1 = getState(id).val;
                      
                      if (wert1) wert1 = "✅";
                      
                      if (!wert1) wert1= "❌";
                      
                      let help = [devicenameName,ip,wert1];
                      
                      sortArr.push(help);
                      });
                      
                      /*function numSort(a, b) {
                      {1}
                      {1}
                                   if (a[1].toUpperCase().trim() > b[1].toUpperCase().trim())
                                      return -1;
                                   if (b[1].toUpperCase().trim() > a[1].toUpperCase().trim())
                                      return 1;
                                   return 0;
                      }
                      {1}
                      sortArr.sort(numSort);*/
                      
                                    sortArr.sort(function (alpha, beta) {
                      
                                   if (alpha[0].toUpperCase() > beta[0].toUpperCase())
                                      return 1;
                                   if (beta[0].toUpperCase() > alpha[0].toUpperCase())
                                      return -11;
                                   return 0;
                                  });
                      
                      for (var i=0; i<sortArr.length;i++) {
                      
                      if(i%2==0) {htmlString=htmlString+"<tr><td>"  + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;</td>" ;}
                      
                      else {      htmlString=htmlString+ "<td>"     + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;"+"</td></tr>"}}
                      
                      //htmlString=htmlString.concat("<tr><td>" + devicenameName + "&ensp; &ensp;</td><td>" + ip + "&ensp; &ensp;</td><td>" + wert1 + "</td></tr>");
                      
                      //log(counter);
                      
                      createState('Netzwerk3.StringHTML', "0", {name: 'StringHTML', desc: '', type: 'string', role: '',read: true, write: true }); 
                      createState('Netzwerk3.Anzahl',  { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); 
                      setStateDelayed('Netzwerk3.Anzahl', counter, 800);
                      setStateDelayed('Netzwerk3.StringHTML', htmlString.concat("</table>"), 800);
                      });
                      
                      
                      

                      1 Reply Last reply Reply Quote 1
                      • Nashra
                        Nashra Most Active Forum Testing last edited by

                        Läuft, Danke 👍 👍 👍 👍

                        1 Reply Last reply Reply Quote 0
                        • Nashra
                          Nashra Most Active Forum Testing last edited by Nashra

                          Erledigt

                          1 Reply Last reply Reply Quote 0
                          • Agria4800
                            Agria4800 @sigi234 last edited by Agria4800

                            @sigi234 sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                            @liv-in-sky

                            Danke, cooles Skript..............👍

                            Screenshot (3889)_LI.jpg

                            Hi Sigi234,
                            würdest du evtl. das Script zu deinem Bild nochmal teilen?
                            Danke dir 👍 😊

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @Agria4800 last edited by

                              @Agria4800 @sigi234

                              Schaut interessant aus:-) Hätte auch Interesse an dem Skript 🙂

                              1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator last edited by

                                @liv-in-sky

                                coole Erweiterung des Scripts.

                                Hab es so für mich angepasst.

                                schedule( "* * * * *", function () { 
                                var sortArr=[];
                                var wert1;
                                var ip;
                                var devicenameName;
                                var devicename;
                                //var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
                                var htmlString ="<table>";//<tr><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td><td>&ensp;&ensp;&ensp;</td><td>NAME &ensp;&ensp;&ensp;</td><td>IP </td><td> </td></tr>";//
                                 
                                 
                                 
                                var counter =0;
                                 
                                 $('ping.0.iobroker.*').each(function (id, i){
                                 
                                counter = counter+1;
                                 
                                //log(counter.toString());
                                 
                                 devicename = getObject(id).common.name;
                                 //log(devicename);
                                 ip = id.replace(/_/g, ".");
                                 
                                  ip = ip.replace(/ping.0.iobroker./g, "");
                                 
                                 
                                // log(id + " : " + devicename + " : " + ip );
                                 
                                devicenameName=devicename;
                                 
                                 
                                 
                                devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät";
                                 
                                createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                 
                                setStateDelayed(devicename, devicenameName, 800);
                                 
                                devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse";
                                 
                                setStateDelayed(devicename, ip, 800);
                                 
                                createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true });
                                 
                                 wert1 = getState(id).val;
                                 
                                if (wert1) wert1 = "✅";
                                 
                                if (!wert1) wert1= "❌";
                                 
                                let help = [devicenameName,ip,wert1];
                                sortArr.push(help);
                                 
                                });
                                /*function numSort(a, b) {
                                {1}
                                              if (a[1].toUpperCase().trim() > b[1].toUpperCase().trim())
                                                 return -1;
                                              if (b[1].toUpperCase().trim() > a[1].toUpperCase().trim())
                                                 return 1;
                                              return 0;
                                             
                                }
                                sortArr.sort(numSort);*/
                                 
                                               sortArr.sort(function (alpha, beta) {
                                              if (alpha[0].toUpperCase() > beta[0].toUpperCase())
                                                 return 1;
                                              if (beta[0].toUpperCase() > alpha[0].toUpperCase())
                                                 return -11;
                                              return 0;
                                             });
                                 
                                for (var i=0; i<sortArr.length;i++) {
                                if(i%2==0) {htmlString=htmlString+"<tr><td>"  + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;</td>" ;}
                                else {htmlString=htmlString+ "<td>"     + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" +sortArr[i][2]+"&ensp;&ensp;&ensp;"+"</td></tr>"}}
                                 
                                 
                                 
                                 
                                //htmlString=htmlString.concat("<tr><td>" + devicenameName + "&ensp; &ensp;</td><td>" + ip + "&ensp; &ensp;</td><td>" + wert1 + "</td></tr>");
                                 
                                 
                                 
                                 
                                 
                                 
                                //log(counter);
                                 
                                createState('Netzwerk.StringHTML', "0", {name: 'StringHTML', desc: '', type: 'string', role: '',read: true, write: true }); 
                                 
                                createState('Netzwerk.Anzahl',  { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); 
                                 
                                setStateDelayed('Netzwerk.Anzahl', counter, 800);
                                 
                                setStateDelayed('Netzwerk.StringHTML', htmlString.concat("</table>"), 800);
                                });
                                

                                Jetzt würde ich noch gerne den Timestamp wie auf Sigis Screenshot sehen und Rahmen so wie in deinem anderen Script.

                                Ist das möglich?

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Negalein last edited by

                                  @Negalein das script legt alle eingegebene geräte nochmal als datenpunkte an - brauchst du das oder willst du nur eine tabelle mit den geräten in ping.0

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @liv-in-sky last edited by

                                    @liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                                    das script legt alle eingegebene geräte nochmal als datenpunkte an

                                    Das hab ich bereits.
                                    obiges Script läuft schon.
                                    objects - ioBroker.png

                                    Jetzt wäre es noch schön, wenn es so wie hier aussehen würde:
                                    1565904776052-screenshot-3889-_li.jpg
                                    und zwischen den Zeilen auch ein Strich/Rahmen

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Negalein last edited by liv-in-sky

                                      @Negalein das script bzw das layout ist nicht von mir - und nochmal - brauchst du die ganzen datenpunkte in diesem ordner? das script war ein spezialfall oder möchtest du nur eine tabelle für den pingadapter

                                      ich kann dir nur das layout wie bei den anderen scripten von mir anbieten

                                      gehört nur noch sortiert

                                      Image 3.png

                                      Negalein 1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator @liv-in-sky last edited by

                                        @liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                                        das script bzw das layout ist nicht von mir

                                        Ok, ich dachte du hast das Script für den Ping gemacht.
                                        Hab hier in diesem Thread das von dir gefunden und ein paar Beiträge unterhalb hat Sigi das Layout gepostet.

                                        brauchst du die ganzen datenpunkte in diesem ordner?

                                        Nein, im Endeffekt reicht mir die HTML-Tabelle.
                                        Mit diesem Layout von dir. Aber wenn möglich die Spalte mit den Statussymbolen zentriert.

                                        gehört nur noch sortiert

                                        wäre cool

                                        sigi234 1 Reply Last reply Reply Quote 0
                                        • sigi234
                                          sigi234 Forum Testing Most Active @Negalein last edited by

                                          @Negalein
                                          Layout ist von mir, das Skript weis ich nicht mehr. Dachte es ist von @liv-in-sky

                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @sigi234 last edited by

                                            @sigi234 das script kann schon von mir sein - aber das layout darin nicht - in den tabellenscripts, kann ich dieses layout so nicht erzeugen

                                            @Negalein wenn du willst, machen wir das morgen fertig - sortierung - layout-
                                            heute geht nicht mehr - die scripte sind alle auf ein html-tabellen script aufgebaut und man kann damit viele settings selber einstellen - farben abstände zentrierungen .... du kennst es ja mittlerweile

                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • Negalein
                                              Negalein Global Moderator @liv-in-sky last edited by

                                              @liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:

                                              wenn du willst, machen wir das morgen fertig - sortierung - layout-

                                              kein Problem

                                              Danke dir

                                              liv-in-sky 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              1.3k
                                              Online

                                              29.2k
                                              Users

                                              63.4k
                                              Topics

                                              968.0k
                                              Posts

                                              vis
                                              15
                                              194
                                              5540
                                              Loading More Posts
                                              • Oldest to Newest
                                              • Newest to Oldest
                                              • Most Votes
                                              Reply
                                              • Reply as topic
                                              Log in to reply
                                              Community
                                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                              The ioBroker Community 2014-2021
                                              logo