Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Unterschiedlichen Wert aufteilen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Unterschiedlichen Wert aufteilen

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      newBroker last edited by

      Hey Jungs und Mädels,

      Ich habe bei mir ein Wert der bestimmte Gruppen beschreibt.
      Wert: [20340] ist zb Gruppe1, ab und an wenn mehrere Gruppen angesprochen werden z.b. Gruppe1, Gruppe4 und sondergruppe
      Wert: [20340,9887,1234]

      Wie kann ich das aufsplitten und wie bekomme ich die eckigen Klammern weg?🙇‍♂️

      Gruß newbroker

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

        @newbroker sagte in Unterschiedlichen Wert aufteilen:

        [20340,9887,1234]

        Wenn Du das als JSON Datenpunkt definierst- hängt es halt nun davon ab, mit was für einem Tool.

        Mit Javascript einfach mit parse in ein Array umwandeln.

        Ich zeigs mal in NodeRed:

        Also erst mal im Datenpunkt definiere ich das als JSON:

        dd0266cd-aead-4fb4-8679-22dadb076dd7-image.png

        d4ae16a1-b4b8-4aa0-8bd1-414470676037-image.png

        Im ersten Schritt wird das Objekt als Array dargestellt und dann kann man einfach über den Index zugreifen.

        Also einfach das Array auch als Array einlesen und via Index auf den Wert zugreifen.

        Ich bin kein Blockly spezi aber das funktioniert anscheinend so:

        95793745-6047-4961-b53b-1aad923cce2e-image.png

        N 1 Reply Last reply Reply Quote 0
        • N
          newBroker @mickym last edited by

          @mickym
          Okay und dann schreibe ich sie in ein neuen Datenpunkt?

          Ich kenne Node red nicht…
          Könnte ich damit die Zahlen in Klartext umstellen?

          Gruß

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

            @newbroker KLar kannst Du Dir Tabellen anlegen um die Nummern in Klartext zu übersetzen und dann kannst Du dies wieder als Array in einen Datenpunkt schreiben. Ob das Sinn macht weiß ich nicht.

            Ich hab Dir das mit Blockly auch mal versucht umzusetzen - aber ich kenn mich halt in NodeRed besser aus.

            13206d09-75c0-4b71-9e90-e4dddb08ee8c-image.png
            In so einer translate Node ersetze ich halt die NUmmern durch den Text:

            97881ae5-7c36-4397-ab6e-63271bdf82e0-image.png

            Jedenfalls würde ich nichts mit Stringmanipulationen machen.

            Du siehst im letzten Beispiel - da teilt die Node das Array auf, dann übersetzt Du und fügst es wieder zum Array zusammen. Das ist das letzte Beispiel orange markiert.

            Mit dem obigen Flow - kann man das natürlich dann auch wieder übersetzt in einen neuen Datenpunkt schreiben

            bfe93c36-6428-4b3f-808a-90fc4defa5f3-image.png

            Wenn Du das mit Strings manipulieren willst, dann nimmst halt die Klammern weg und behandelst das als String. Dann kannst auf die einzelnen Elemente auch über den Listenindex zugreifen:

            63344902-8128-412a-9e9e-644b93e566f6-image.png

            Hier habe ich Dir es nochmal im Javascript umgesetzt - wie Du über die Umwandlung des Datenpunktes in ein Array auf die Elemente zugreifst.

            on({id: "0_userdata.0.testType", change: 'any'},function(obj){
                var arr=JSON.parse(obj.state.val);
                log(arr);
                log(arr[0]);
                log(arr[1]);
                log(arr[2]);
            });
            

            a9e1fbe4-e9cc-4b1d-b3ac-b7788a524c7b-image.png

            N 1 Reply Last reply Reply Quote 0
            • N
              newBroker @mickym last edited by

              @mickym
              ich danke dir vielmals!

              ich werde mich mal ein wenig daran machen und testen...

              Gruß

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              850
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              2
              5
              224
              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