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.
    • 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 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 @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
                                        • Nashra
                                          Nashra Most Active Forum Testing last edited by

                                          Läuft, Danke 👍 👍 👍 👍

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

                                            Erledigt

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

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

                                              @liv-in-sky

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

                                              Screenshot (3889)_LI.jpg

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

                                              ? 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              892
                                              Online

                                              31.7k
                                              Users

                                              79.7k
                                              Topics

                                              1.3m
                                              Posts

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