Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Objektname auslesen und verwenden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Objektname auslesen und verwenden

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 6 Kommentatoren 1.6k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P paddy2

    Hallo zusammen

    Ich hoffe jemand hat eine gute Variante um folgendes umzusetzen:

    Ich möchte mittels Blockly ein Objektname (übergeordneter Name) auslesen und anschliessend den Wert in einem Datenpunkt setzen.

    Hat jemand eine gutes Blockly um lediglich den Namen als Wert auszulesen?

    Freue mich auf eure Lösungen und besten Dank.

    Grüsse
    Paddy

    d4e43354-bc08-4b52-9bc1-6d62119604b8-image.png

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #6

    @paddy2 sagte: den Namen als Wert auszulesen?

    JS-Funktion mit Ergebnis: parentName(id)

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    mickymM 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @paddy2 sagte: den Namen als Wert auszulesen?

      JS-Funktion mit Ergebnis: parentName(id)

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #7

      @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.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      David G.D 1 Antwort Letzte Antwort
      0
      • mickymM 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.D Offline
        David G.D Offline
        David G.
        schrieb am zuletzt editiert von David G.
        #8

        @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 ^^.

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        mickymM 1 Antwort Letzte Antwort
        0
        • David G.D 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 ^^.

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #9

          @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.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            paddy2
            schrieb am zuletzt editiert von
            #10

            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 Antwort Letzte Antwort
            0
            • P paddy2

              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 Offline
              T Offline
              TT-Tom
              schrieb am zuletzt editiert von TT-Tom
              #11

              @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.

              Gruß Tom
              https://github.com/tt-tom17
              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

              NSPanel Script Wiki
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              NSPanel Adapter Wiki
              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

              1 Antwort Letzte Antwort
              1
              • P paddy2

                Hallo zusammen

                Ich hoffe jemand hat eine gute Variante um folgendes umzusetzen:

                Ich möchte mittels Blockly ein Objektname (übergeordneter Name) auslesen und anschliessend den Wert in einem Datenpunkt setzen.

                Hat jemand eine gutes Blockly um lediglich den Namen als Wert auszulesen?

                Freue mich auf eure Lösungen und besten Dank.

                Grüsse
                Paddy

                d4e43354-bc08-4b52-9bc1-6d62119604b8-image.png

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #12

                @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

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                2
                • P Offline
                  P Offline
                  paddy2
                  schrieb am zuletzt editiert von
                  #13

                  @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 Antwort Letzte Antwort
                  0
                  • P paddy2

                    @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 Offline
                    D Offline
                    dtp
                    schrieb am zuletzt editiert von dtp
                    #14

                    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?

                    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • D 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?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #15

                      @dtp

                      if(triggerId[0].startsWith('tradfri')) id = triggerId[0];
                      else id = triggerId[1]
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      715

                      Online

                      32.6k

                      Benutzer

                      82.3k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe