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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    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.
    • liv-in-sky
      liv-in-sky @Alexxx2005 last edited by

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

      $('ping.0.DESKTOP-OC3H4GDSmartHome.*').each(function (id, i){

      probier mal dieses hier - ich hoffe, ich habe nix vergessen

      
      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.DESKTOP-OC3H4GD*SmartHome*.*').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.DESKTOP-OC3H4GD\(SmartHome\)./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) {
      
                    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);
      });
      
      
      
      

      Image 1.png

      O A Nashra 3 Replies Last reply Reply Quote 1
      • O
        Oli @liv-in-sky last edited by

        @liv-in-sky
        Wie überprüft du die Googleseite?

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

          @Oli

          ist eine art online test (bzw teil davon) für mein system

          Image 2.png

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

            @liv-in-sky
            machst du das über ein Script, oder einen Adapter?

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

              @Oli steht im ping adapter setting wie ein normaler client

              Image 3.png

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

                @liv-in-sky
                und als IP gibst du die Internetadresse ein?

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

                  @Oli einfach "www.google.com"

                  das 2te bild weiter oben

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

                    @liv-in-sky

                    jawohl sieht gut aus Danke,

                    das einzigste was fehlt ist die Tabellen Beschriftung : Name, IP, Status
                    aber das braucht man auch nicht unbedingt ist ja so auch Selbsterklärend

                    Bildschirmfoto 2019-12-08 um 18.25.36.png

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

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

                      das einzigste was fehlt ist die Tabellen Beschriftung : Name, IP, Status

                      Setze es doch als Html Widget einfach drüber.

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

                        @sigi234

                        genau das hab ich mir auch schon überlegt

                        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:

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

                          $('ping.0.DESKTOP-OC3H4GDSmartHome.*').each(function (id, i){

                          probier mal dieses hier - ich hoffe, ich habe nix vergessen

                          
                          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.DESKTOP-OC3H4GD*SmartHome*.*').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.DESKTOP-OC3H4GD\(SmartHome\)./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) {
                          
                                        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);
                          });
                          
                          
                          
                          

                          Image 1.png

                          Moin @liv-in-sky , habe an den entsprechenden Stellen die Pfade (ping.0.ioBroker) angepasst
                          und die DP werden auch angelegt, aber diese werden nicht befüllt.
                          Was mach ich falsch?

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

                            @Nashra

                            sollte die Zeile 15 nicht so ausschauen?

                            var cacheSelector = $('ping.0.DESKTOP-OC3H4GD*SmartHome*.*').each(function (id, i){
                            
                            Nashra 1 Reply Last reply Reply Quote 0
                            • 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
                              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            905
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            16
                                            201
                                            19927
                                            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-2023
                                            logo