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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

                                @liv-in-sky

                                wow, du bist der Beste, vielen herzlichen Dank !!

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

                                  @Oliver-Böhm

                                  naja - wenn schon das mit dem nmap einlesen nicht funktioniert - dann hoffentlich dieses script

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

                                    @liv-in-sky

                                    funktioniert super

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

                                      @Oliver-Böhm

                                      noch wichtig - im setting des pingadapters dürfen keine domainnamen am namen hängen

                                      alo SamsungTV ist ok aber SamsungTV.fritz.box würde nicht funktionieren - wegen der punkte!

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

                                        @liv-in-sky
                                        danke für den Hinweis

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

                                          @liv-in-sky
                                          Habe dein Skript ausprobiert, funktioniert super bei mir. Hab mich nur über die ganzen log-Ausgaben gewundert, bei mir war noch auf Debug und Verbose gestellt 😊
                                          Nachdem ich mal in meinen Skript-Versuchen auf meinem Testsystem gestöbert habe, habe ich auch einen Code-Schnipsel ähnlich wie deinen zum loggen des common.name gefunden.

                                          log(getObject("modbus.0.inputRegisters.0_T_WZ_AI"/*Temperatur Wohnzimmer*/, 1).common.name);
                                          log(getObject("modbus.0.inputRegisters.0_T_WZ_AI"/*Temperatur Wohnzimmer*/, 1)._id);
                                          

                                          Man kann aber darauf anscheinend nicht direkt im VIS zugreifen. Ich wollte mir eine Übersicht aller Register mit dem Namen bauen. Vielleicht geht das mit Bindings, aber damit stehe ich noch etwas auf Kriegsfuss.

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

                                            @liv-in-sky

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

                                            Screenshot (3889)_LI.jpg

                                            O Agria4800 2 Replies Last reply Reply Quote 1
                                            • 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:

                                              probier mal

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

                                              Servus

                                              Habe dein Script an meinen Ping-Adapter angepasst.
                                              Hat auch einwandfrei alles angelegt.

                                              Nur passen true/false nicht zusammen.

                                              Hier im Ping wird es mir als true angezeigt.
                                              objects - ioBroker.png

                                              Aber vom Script kommt ein false retour.
                                              objects - ioBroker (1).png

                                              sigi234 O 2 Replies Last reply Reply Quote 0
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              734
                                              Online

                                              31.6k
                                              Users

                                              79.5k
                                              Topics

                                              1.3m
                                              Posts

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