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

      @liv-in-sky warum nimmst du nicht das script, welches ich dir gepostet habe ?

      nimm das scrip - da ist alles eingetragen

      var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
      
      
      var counter =0;
         $('ping.0.DESKTOP-OC3H4GD*SmartHome*.*').each(function (id, i){
       counter = counter+1;
       log(counter.toString());
        var devicename = getObject(id).common.name;
        var ip = id.replace(/_/g, ".");
        var ip = ip.replace(/ping.0.DESKTOP-OC3H4GD\(SmartHome\)./g, "");
      
       // log(id + " : " + devicename + " : " + ip );
        var 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 });
        var wert1 = getState(id).val;
        if (wert1) wert1 = "?";
        if (!wert1) wert1= "?";
       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', 0, { 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);
      
      

      hab dieses script nochmal angeglichen - bitte nochmal kopieren

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

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

          Jetzt kommt etwas 👍

          Netzwerkliste.PNG

          Ping2.PNG

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

            @Alexxx2005 funktioniert auch das replace ?

            zeig mal ein bild , indem ein gerät aufgeklappt ist - was stehen da für inhalte (rechte seite) drin

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

              @liv-in-sky

              hab ich vergessen , ja funktioniert

              replace.PNG

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

                @Alexxx2005 schaut gut aus - dann paßt alles ?

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

                  @liv-in-sky

                  was müsste ich nochmal ändern damit Tabellen nebeneinander sind ?

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

                    @Alexxx2005 alles was blau ist - ist ein word dokument

                    ssss.doc

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

                      @liv-in-sky

                      nein klappt leider nicht er meint das in Zeile 71 etwas nicht stimmt :

                      var sortArr=[];
                      
                      var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
                      
                      
                      
                      
                      
                      var counter =0;
                      
                        $('ping.0.DESKTOP-OC3H4GD*SmartHome*.*').each(function (id, i){
                      
                      counter = counter+1;
                      
                      log(counter.toString());
                      
                       var devicename = getObject(id).common.name;
                      
                       var ip = id.replace(/_/g, ".");
                      
                       var ip = ip.replace(/ping.0.DESKTOP-OC3H4GD\(SmartHome\)./g, "");
                      
                      
                      
                      // log(id + " : " + devicename + " : " + ip );
                      
                       var 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 });
                      
                       var wert1 = getState(id).val;
                      
                       if (wert1) wert1 = "✅";
                      
                       if (!wert1) wert1= "❌";
                      
                       let help = [ip,wert2,wert1];
                      sortArr.push(help);
                      
                      });
                      function numSort(a, b) {
                      return parseInt(b[1]) - parseInt(a[1]);
                      }
                      sortArr.sort(numSort);
                      for (var i=0; i<sortArr.length;i++) { 
                      if (sortArr[i][1]!="999999") {
                      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>&ensp;&ensp;&ensp;</td>" ;}// +"</td>" + " <td>" + " </td><td>" + "</td></tr>";}
                      else{htmlString=htmlString+ "<td>" + sortArr[i][0] + " </td><td>&ensp;&ensp;&ensp;" + sortArr[i][1] + "&ensp;&ensp;&ensp;</td><td>" + sortArr[i][2] + "</td></tr>"}}
                      else{
                      if(i%2==0) {htmlString=htmlString+"<tr><td>" + sortArr[i][0] + "</td><td>&ensp;&ensp;&ensp;" + "" + "&ensp;&ensp;&ensp;</td><td>" + sortArr[i][2]+"&ensp;&ensp;&ensp;"+"<td>&ensp;&ensp;&ensp;" ;}// +"</td>" + " <td>" + " </td><td>" + "</td></tr>";}
                      else{htmlString=htmlString+ "<td>"+ sortArr[i][0] + " </td><td>&ensp;&ensp;&ensp;" + "" + "&ensp;&ensp;&ensp;</td><td>" + sortArr[i][2] + "</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', 0, { 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);
                      
                      
                      
                      

                      bei den

                      });
                      
                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • 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
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              896
                                              Online

                                              31.6k
                                              Users

                                              79.6k
                                              Topics

                                              1.3m
                                              Posts

                                              vis
                                              16
                                              201
                                              19656
                                              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