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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

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

      @liv-in-sky
      So, ich habe mal etwas ausprobiert. Funktioniert sehr gut für mich.
      So sehen die DP´s aus.
      2019-08-17_153100.png
      und so die Testausgabe des HTML-Strings
      2019-08-17_153125.png

      Hier noch mein Skript, in dem es bestimmt Optimierungspotential gibt.

      var inputRegisterHTML ="<table><tr><td>Adresse&ensp; &ensp;</td><td>Name&ensp; &ensp;</td><td>Beschreibung&ensp; &ensp;</td></tr>";
      var cacheSelector = $('[id=modbus.0.inputRegisters.*]');
      //console.log(cacheSelector);
      var counter =0;
      cacheSelector.each(function(id, i) {
          counter = counter+1
          var Beschreibung = getObject(id).common.name;
          var idName = id.replace(/modbus.0.inputRegisters./g, "");
          var Position_Unterstrich=idName.indexOf("_");
          var Adresse = idName.slice(0,Position_Unterstrich);
          var Name = idName.slice(Position_Unterstrich+1);
          inputRegisterHTML=inputRegisterHTML.concat("<tr><td>" + Adresse + "&ensp; &ensp;</td><td>" + Name + "&ensp; &ensp;</td><td>" + Beschreibung + "</td></tr>");
      });
      createState('WAGO.inputRegisterHTML', 0, {name: 'inputRegisterHTML', desc: '', type: 'string', role: '',read: true, write: true });
      setStateDelayed('WAGO.inputRegisterHTML', inputRegisterHTML.concat("</table>"), 800);
      

      Wenn ich noch Lust habe probier ich das Ganze mal mit Arrays oder JSON umzusetzten.

      Danke für die Denkanstöße und Hilfe

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

        @Dolomiti was macht eigentlich ein wagobus ?

        1 Reply Last reply Reply Quote 0
        • Dolomiti
          Dolomiti last edited by Dolomiti

          @liv-in-sky
          Das ist eine SPS der Fa. WAGO, die es mit verschiedensten Anbindungen an die Außenwelt zu kaufen gibt, z. B. Ethernet, seriell, CAN, Profibus usw. . Bei mir in der Firma nennen wir das nur Wago-Bus, hat sich so eingebürgert. Richtig wäre bei mir Wago-SPS 750-880

          1 Reply Last reply Reply Quote 0
          • 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 @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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            690
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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