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.
    • A
      Alexxx2005 last edited by Alexxx2005

      Hallo,

      wollte mir auch die Liste für die Netzwerkgerät einrichten allerdings
      wird kein Einziger Ordner angelegt...

      Liegt es bei mir am Namen des PC's oder an den Ping's da diese einen
      _ haben und nicht ein . wie sonst immer.

      Ping.PNG

      var cacheSelector = $('state[id=ping.0.DESKTOP-OC3H4GD(SmartHome).*]');
      
      
      
      var htmlString ="<table><tr><td>NAME&ensp; &ensp;</td><td>IP&ensp; &ensp;</td><td>&ensp; &ensp;</td></tr>";
      
      var cacheSelector = $('[id=ping.0.DESKTOP-OC3H4GD(SmartHome).*]');
      
      //console.log(cacheSelector);
      
      var counter =0;
      
      cacheSelector.each(function(id, i) {
      
       counter = counter+1
      
        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);
      
      

      Grüße Alex

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

          @Alexxx2005 der inhalt deines spoilers ist unbrauchbar

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

            @liv-in-sky

            wurde angepasst

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

              @Alexxx2005

              probiere das mal und öffne das script direct im browser und dann erst nach iobroker kopieren

              anzeige-pingadapter.txt

              falls das nicht geht, weiß ich nicht - evtl liegt es an den klammern im selektor

              iping.0.DESKTOP-OC3H4GD(SmartHome).*
              

              vielleicht muss auch noch das replace angeglichen werdne aber teste erst mal

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

                es tut sich gar nichts wenn ich das Skript öffne, am besten wäre den PC Namen umzubenennen 🙂

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

                  @Alexxx2005

                  du kannst ja mal ein log einfügen, damit du siehst, wo "nix" passiert - wenn unter dem selektor kein log kommt - wär blöd
                  du hast aber im object tab auf browser refresh gedrückt, um aktuell zu sein

                  log("bin hier");
                  

                  oder unter dem selektor und unter dem counter:

                  log(counter.toString());
                  
                  A 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky last edited by

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

                    iping.0.DESKTOP-OC3H4GD(SmartHome).*

                    @paul53

                    bräuchte bitte deine hilfe - darf in einem selektor eine klammer stehen

                    z.b.

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

                    die klammern sind teil des namens (Smarthome)

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

                      @liv-in-sky

                      ich hoffe ich habe es richtig gemacht , die Meldung wäre :

                      javascript.0	2019-12-08 14:24:00.957	info	(9148) script.js.Netzwerk_Namen_auslesen: registered 0 subscriptions and 0 schedules
                      javascript.0	2019-12-08 14:24:00.956	info	(9148) script.js.Netzwerk_Namen_auslesen: 0
                      javascript.0	2019-12-08 14:24:00.956	warn	(9148) Invalid selector: common close bracket "]" cannot be found in "[id=ping.0.DESKTOP-OC3H4GD(SmartHome).*]"
                      javascript.0	2019-12-08 14:24:00.956	warn	(9148) Invalid selector: common close bracket "]" cannot be found in "state[id=ping.0.DESKTOP-OC3H4GD(SmartHome).*]"
                      javascript.0	2019-12-08 14:24:00.954	info	(9148) Start javascript script.js.Netzwerk_Namen_auslesen
                      javascript.0	2019-12-08 14:24:00.951	info	(9148) Stop script script.js.Netzwerk_Namen_auslesen
                      
                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Alexxx2005 last edited by

                        @Alexxx2005

                        probier mal

                            $('ping.0.DESKTOP-OC3H4GD*SmartHome*.*').each(function (id, i){
                        
                        A 1 Reply Last reply Reply Quote 0
                        • A
                          Alexxx2005 @liv-in-sky last edited by

                          @liv-in-sky

                          jetzt check ich's nicht mehr 🙂 muss das an allen drei Stellen eingefügt werden :

                          var cacheSelector = $('state[id=ping.0.DESKTOP-OC3H4GD*SmartHome*.*.*]');
                          var cacheSelector = $('[id=ping.0.DESKTOP-OC3H4GD*SmartHome*.*.*]');
                          var ip = ip.replace(/ping.0.DESKTOP-OC3H4GD*SmartHome*.*./g, "");
                          
                          1 Reply Last reply Reply Quote 0
                          • 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
                            • 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
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              875
                                              Online

                                              31.6k
                                              Users

                                              79.5k
                                              Topics

                                              1.3m
                                              Posts

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