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 @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
      • 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
        • 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
                              • ?
                                A Former User @Agria4800 last edited by

                                @Agria4800 @sigi234

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

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

                                  @liv-in-sky

                                  coole Erweiterung des Scripts.

                                  Hab es so für mich angepasst.

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

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

                                  Ist das möglich?

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

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

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

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

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

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

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

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

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

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

                                        gehört nur noch sortiert

                                        Image 3.png

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

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

                                          das script bzw das layout ist nicht von mir

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

                                          brauchst du die ganzen datenpunkte in diesem ordner?

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

                                          gehört nur noch sortiert

                                          wäre cool

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

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

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

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

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

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

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              530
                                              Online

                                              31.7k
                                              Users

                                              79.7k
                                              Topics

                                              1.3m
                                              Posts

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