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

      @Oliver-Böhm

      ich glaube , ich habe sowas mal gesehen. ich selbst würde gerne eine auflistung über meine objekte per adapter haben - - meine object anzahl ist extrem hoch

      leider überfordert mich das selbst - da kann ich dir nicht weiter helfen - da müßten die wahren js profis hinschauen

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

        @liv-in-sky

        Alles klar, trotzdem Danke.

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

          @Oliver-Böhm hab noch ein wenig rumgetestet:

          dieses script bringt alle objecte unter dem ping adapter ins log - du mußt das "raspberry3" ersetzen mit deinen namen (ist meist der hostname)

          gleichzeitig werden dahinter die namen angezeigt

          var cacheSelector = $('state[id=ping.0.raspberry3.*]');
          console.log(cacheSelector);
          
          cacheSelector.each(function(id, i) {
            
             var name = getObject(id).common.name;
             log(id + " : " + name);
          });
          
          

          geht schon mal in die richtung

          O 2 Replies Last reply Reply Quote 1
          • O
            Oli @liv-in-sky last edited by

            @liv-in-sky

            Cool, teste ich sobald ich zu Hause bin.

            Danke

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

              @liv-in-sky

              soweit funktioniert es bei mir auch

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

                @Oliver-Böhm

                was ist jetzt der plan 🙂

                in deiner frage von oben willst du erstmal die objekte zählen und dann anlegen - was möchtest du eigentlich anlegen - die gezählten sind ja schon angelegt? möchtest du die namen als datenpunkte anlegen ?

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

                  @liv-in-sky

                  ja die Namen und IP Adressen, die IP Adressen sind ja in der ID enthalten, da müsste ja nur der Unterstrich durch einem Punkt ersetzt werden.

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

                    @liv-in-sky

                    praktische wäre natürlich wenn das der Ping Adapter erledigen würde, der hat ja bereits alle nötigen Daten.

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

                      @Oliver-Böhm

                      also einen ordner mit datenpunkte, die wie die namen der geräte im netzwerk heißen und der inhalt soll die ip adresse sein - mit punkten

                      damit du aber das erreichst, was du ganz oben gefragt hast, ist das ganz schön viel aufwand. vorallem weiß ich noch nicht, wie du diesen datenpunkt in der vis dann zuordnen willst - momentan schreibst du den namen des geräts in die vis - der ändert sich doch eigentlich nie, genauso wie die ipadresse - einmal gemacht - und gut is ! ob du oben beim namen ein text widget nimmst und den namen einträgst oder einen datenpunkt auswählst (der ja auch fix ist ) macht doch eigentlich keinen unterschied - es sei denn, du hast mehr geräte im ping adapter als in dem vis-bild oben und möchtest alle in einer liste/tabelle anzeigen

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

                        @liv-in-sky

                        da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

                        4dce0371-70ef-4c0a-b11d-7cc9e962a7c4-image.png

                        Heizöl = Netzwerk
                        Bestelldaten = Gerät 1
                        Entladestellen = Gerätename
                        Heizölsorte = IP Adresse

                        und das für jedes Gerät.

                        Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.

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

                          @Oliver-Böhm

                          und das ganze basiert auf den ping adapter und dessen inhalte - ist das richtig

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

                            @liv-in-sky

                            richtig, dadurch spare ich mir das VIS jedesmal manuell anzupassen, wenn ein zusätzliches Gerät dazu kommt, oder ausgetauscht wird.

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

                              @liv-in-sky

                              die IP Adresse habe ich schon mal erzeugt 😁

                              var name = getObject(id).common.name;
                              var ip = id.replace(/_/g, ".");
                              var ip = ip.replace(/ping.0.iobroker-1./g, "");
                              log(id + " : " + name + " " + ip );

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

                                @Oliver-Böhm

                                brauch noch ein wenig

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

                                  @Oliver-Böhm sagte in ID oder Name eines State in Vis anzeigen:

                                  @liv-in-sky

                                  da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

                                  4dce0371-70ef-4c0a-b11d-7cc9e962a7c4-image.png

                                  Heizöl = Netzwerk
                                  Bestelldaten = Gerät 1
                                  Entladestellen = Gerätename
                                  Heizölsorte = IP Adresse

                                  und das für jedes Gerät.

                                  Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.

                                  @Oliver-Böhm ein problem:

                                  man kann keine datenpunkte anlegen, die im namen punkte haben ! die hierachie erlaubt das nicht - die wird mit punkten getrennt

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

                                    @liv-in-sky

                                    wo sind denn Punkte?

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

                                      @Oliver-Böhm in der ip adresse

                                      heizölsorte = IP adresse

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

                                        @liv-in-sky

                                        b5820baa-cd57-4cac-a1bc-3aa44499e6ad-image.png

                                        hoffe das hilft weiter

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

                                          @Oliver-Böhm ja

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

                                            @Oliver-Böhm

                                            probier mal

                                            legt die datenpunkte unter javascript.0.Netzwerk ab - bitte Hostnamen wieder ändern!!! 2 mal: auch im replace

                                            var cacheSelector = $('[id=ping.0.raspberry3.*]');
                                            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.raspberry3./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 });
                                            });
                                            
                                            log(counter);
                                              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);
                                            

                                            bei mir läuft es so - echte profis machen das vielleicht anders - bitte um nachsicht

                                            O Negalein liv-in-sky 3 Replies Last reply Reply Quote 5
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            894
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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