Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Objektname auslesen und verwenden

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Objektname auslesen und verwenden

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @mickym last edited by

      @mickym okay, wenn ich das jetzt so lese, könntest du recht haben. Mal sehen was er genau will.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @paddy2 last edited by

        @paddy2 sagte: den Namen als Wert auszulesen?

        JS-Funktion mit Ergebnis: parentName(id)

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @paul53 last edited by mickym

          @paul53 Das hilft auch nicht, wenn man die id über den Namen rausbekommen will, deswegen habe ich ja die JS-Funktion mit Ergebnis:

          getIdByName(name) genommen.

          Das kann man natürlich noch in den parentName einbinden - aber ich dachte mit der Liste ist sie flexibler durch die Hierarchien zu wandern.

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @mickym last edited by David G.

            @mickym

            Ich glaube, er möchte das gelb hervorgehobe auslesen wenn er einen DP eine Ebene tiefer auswählt.

            Das wäre ja Pauls Vorschlag. Den ich ähnlich auch schon nutze.

            Wie werden es nachher erfahren ^^.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @David G. last edited by mickym

              @david-g Gut ich bin davon ausgegangen, dass

              Fentsterkontakt Büro Paddy OG ==> 000DA49A37143

              liefern soll und dass 000DA49A37143 in einen eigenen Datenpunkt geschrieben werden soll. Das Problem wird sowieso sein, dass der Ordner 000DA49A37143.1 gleich wie der übergeordnete Ordner heißt, dann funktioniert mein Script auch nicht. Der Ordner müsste eigentlich Fentsterkontakt Büro Paddy OG:1 heißen, sowie bei 2 auch. 😉

              Die Funktion getIdByName(name) gibt dann ein Array zurück und auch das muss man ja unterbinden, deshalb die Typprüfung, weil sonst kann man das übergeordnete Objekt ja nicht eindeutig identifizieren, weil Namen ja nicht eindeutig sein müssen.

              1 Reply Last reply Reply Quote 0
              • P
                paddy2 last edited by

                Euch allen vielen Dank für eure Hilfe!

                Nach zweiter Durchsicht war meine Beschreibung tatsächlich ein wenig verwirrend.

                Ich suche nach einer geeigneten Möglichkeit, am liebsten Mittels Blockly, den Wert "Namen" auszulesen.

                Anschliessend möchte ich diesen Wert in einen DP setzen.

                997ffa00-5a9a-4e79-b3a7-7a6360edec05-image.png

                Falls eine obengenannte Variante dies kann, werde ich mich daran versuchen...

                Am Ende der Übung soll die Sprachsteuerung die Öffnungen präzise bezeichnen können ohne das ich alle IFTTT einzeln bezeichnen muss...

                Danke euch!

                T 1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @paddy2 last edited by TT-Tom

                  @paddy2 dann kannst du das verwenden
                  Bildschirmfoto 2023-04-18 um 09.17.46.png

                  name kommt vom Triggerbaustein. Wenn du mehrere States über wachen willst, dann nimm statt Objekt ID den Selektor. habe ich weiter oben schon mal gezeigt.

                  1 Reply Last reply Reply Quote 1
                  • paul53
                    paul53 @paddy2 last edited by paul53

                    @paddy2 sagte: Objektname (übergeordneter Name) auslesen und anschliessend den Wert in einem Datenpunkt setzen.

                    Wenn es der gelb markierte Gerätename sein soll:

                    Blockly_temp.JPG

                    1 Reply Last reply Reply Quote 2
                    • P
                      paddy2 last edited by

                      @paul53 @TT-Tom
                      Weltklasse! Das nenn ich mal effiziente Hilfe 🙂

                      a517108c-434d-4888-9aa7-30da66f967d0-image.png

                      Hat einwandfrei geklappt!

                      Euch allen herzlichen Dank!

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        dtp @paddy2 last edited by dtp

                        Ich würde mich hier gerne mit einer Frage einklinken. Ich finde den Befehle "getIdByName" sehr interessant, aber er liefert halt - wie oben schon erwähnt - dann ein Array, wenn der Name mehrmals existiert, was das z.B. bei der Nutzung des alexa2-Adapters vorkommen kann. So liefert mir z.B. die Abfrage

                        const triggerId = getIdByName('Büro Rollo links');
                        

                        das Resultat

                        ['tradfri.0.B-65542','alexa2.0.Smart-Home-Devices.280d2f90-4dc8-4474-9e5d-ca221f8fdfdb']
                        

                        De facto möchte ich aber nur den ersten Datenpunkt nutzen. Den würde mir ja dann

                        triggerId[0]
                        

                        liefern, aber wie kann ich sicherstellen, dass ich immer auf den Datenpunkt "tradfri..." zurückgreife? Die Reihenfolge könnte sich ja auch mal ändern, oder?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @dtp last edited by

                          @dtp

                          if(triggerId[0].startsWith('tradfri')) id = triggerId[0];
                          else id = triggerId[1]
                          
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          810
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

                          6
                          15
                          1111
                          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