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. [gelöst] Aufzählung gleicher Werte aus Datenpunkt

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Aufzählung gleicher Werte aus Datenpunkt

Geplant Angeheftet Gesperrt Verschoben Blockly
28 Beiträge 4 Kommentatoren 2.2k Aufrufe 4 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.
  • A AndyGR42

    @djmarc75 Sind die möglichen Werte im DP bekannt oder können die beliebig sein? Sind das Zahlen oder Buchstaben? Und warum ein String und nicht direkt ein Array als DP?

    DJMarc75D Offline
    DJMarc75D Offline
    DJMarc75
    schrieb am zuletzt editiert von
    #5

    @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

    Werte im DP bekannt oder können die beliebig sein?

    unbekannt da ich den Titelverlauf meiner Radiosender historisiere.

    @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

    Sind das Zahlen oder Buchstaben?

    mixed inkl. Sonderzeichen z.B.

    SALT 'N' PEPA WITH EN VOGUE - WHATTA MAN
    

    @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

    Und warum ein String und nicht direkt ein Array

    Worin wäre der Vorteil in ein Array zu schreiben und wie muss ich dazu mein Blockly abändern?

    Screenshot 2023-02-18 114147.png

    Lehrling seit 1975 !!!
    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      AndyGR42
      schrieb am zuletzt editiert von
      #6

      @djmarc75 Ein Array als DP zu nutzen eliminiert die Notwendigkeit, den String vor der Auswertung erstmal in ein Array umwandeln zu müssen. Zudem hat ein String DP mit Sicherheit eine maximale Länge. Ich habe es auf die Schnelle nicht gefunden, aber vielleicht hat jemand die Infos zur Hand.

      Brauchst Du denn den "CountString" oder reicht dir das Endergebnis? Es wäre viel einfacher die finale Liste direkt vom "Titel" aus zu generieren.

      DJMarc75D 1 Antwort Letzte Antwort
      0
      • A AndyGR42

        @djmarc75 Ein Array als DP zu nutzen eliminiert die Notwendigkeit, den String vor der Auswertung erstmal in ein Array umwandeln zu müssen. Zudem hat ein String DP mit Sicherheit eine maximale Länge. Ich habe es auf die Schnelle nicht gefunden, aber vielleicht hat jemand die Infos zur Hand.

        Brauchst Du denn den "CountString" oder reicht dir das Endergebnis? Es wäre viel einfacher die finale Liste direkt vom "Titel" aus zu generieren.

        DJMarc75D Offline
        DJMarc75D Offline
        DJMarc75
        schrieb am zuletzt editiert von
        #7

        @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

        Brauchst Du denn den "CountString" oder reicht dir das Endergebnis?

        Nun, ich schreibe halt jeden aktuellen Titel hier rein und - ja, ich befürchte auch dass da irgendwann ein Zeichenlimit greift.
        Also "brauchen" eher nicht :)

        Lehrling seit 1975 !!!
        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • DJMarc75D DJMarc75

          @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

          Werte im DP bekannt oder können die beliebig sein?

          unbekannt da ich den Titelverlauf meiner Radiosender historisiere.

          @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

          Sind das Zahlen oder Buchstaben?

          mixed inkl. Sonderzeichen z.B.

          SALT 'N' PEPA WITH EN VOGUE - WHATTA MAN
          

          @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

          Und warum ein String und nicht direkt ein Array

          Worin wäre der Vorteil in ein Array zu schreiben und wie muss ich dazu mein Blockly abändern?

          Screenshot 2023-02-18 114147.png

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #8

          @djmarc7

          evtl hier:

          https://stackoverflow.com/questions/19395257/how-to-count-duplicate-value-in-an-array-in-javascript5

          dann bekommst ein json, welches du weiterverarbeiten könntest

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • DJMarc75D DJMarc75

            @andygr42 sagte in Aufzählung gleicher Werte aus Datenpunkt:

            Brauchst Du denn den "CountString" oder reicht dir das Endergebnis?

            Nun, ich schreibe halt jeden aktuellen Titel hier rein und - ja, ich befürchte auch dass da irgendwann ein Zeichenlimit greift.
            Also "brauchen" eher nicht :)

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von liv-in-sky
            #9

            @djmarc75 ein problem könnte sein: wenn du einen titel mit komma hast, kannst du das später schlecht in ein array verwandeln - daher schon die kommas ausfiltern beim schreiben in einen string - ansonsten direkt in ein array

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            A 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @djmarc75 ein problem könnte sein: wenn du einen titel mit komma hast, kannst du das später schlecht in ein array verwandeln - daher schon die kommas ausfiltern beim schreiben in einen string - ansonsten direkt in ein array

              A Offline
              A Offline
              AndyGR42
              schrieb am zuletzt editiert von
              #10

              @liv-in-sky Ist auf jeden Fall sehr elegant. JSON müsste Blocky ja dann wieder verarbeiten können. Bleibt nur noch das Problem des Aufaddieren. Daher würde ich direkt vom Titel aus das Ziel befüllen

              A 1 Antwort Letzte Antwort
              0
              • A AndyGR42

                @liv-in-sky Ist auf jeden Fall sehr elegant. JSON müsste Blocky ja dann wieder verarbeiten können. Bleibt nur noch das Problem des Aufaddieren. Daher würde ich direkt vom Titel aus das Ziel befüllen

                A Offline
                A Offline
                AndyGR42
                schrieb am zuletzt editiert von AndyGR42
                #11

                @DJMarc75 Das Skript hier sollte dein Problem lösen:

                • wird bei jeder Änderung des DP (in deinem Fall Titel) ausgeführt
                • Es schaut nach, ob der Titel schon im Array ist (bzw. ob überhaupt schon was im Array steht) und hängt den neuen Titel entweder an oder aktualisiert den Zähler
                • Die erste Zeile ist nur fur's Testen. Damit wird das Array einfach nur geleert.
                • Du müsstest jetzt nur die beiden DP mit deinen tauschen und das Script starten.

                Ach ja, wie schon erwähnt sollten einige Zeichen unbedingt vermieden werden, sonst gibt es Chaos im Array. Also bitte kein Komma, keine eckigen Klammern und keine Anführungszeichen.

                /** reset_arry('0_userdata.0.Test.TestArray01'); */ /** testing only */
                
                
                on({id: '0_userdata.0.Test.TestString01', change: "any"}, function (obj) { /** waits for changes */
                    var value = obj.state.val; /** new value */
                
                    const counterArrayDP = '0_userdata.0.Test.TestArray01'; /** target DP of type array/string */
                    
                    /** NOTHING to change below this line */
                
                    const counterArray = getState(counterArrayDP).val; /** get array from DP */
                    const newCounterArray = update_array(counterArray, value); /** update array with new value */
                    setState(counterArrayDP, newCounterArray) /** write update array to DP */
                    
                });
                
                function update_array(inputArray, inputValue) /** sub function updates array */
                {
                    const inputArrayLength = inputArray.length; /** get actual input array length */
                    const outputArray = new Array(); /** create new  output array*/
                
                    if(inputArrayLength > 0) /** are there already items in the input array? */
                    {
                        var i;
                        var itemExists = false; 
                
                        for (i = 0; i < inputArrayLength; i++) /** cycle through the array */
                        {
                            var x = find_inArray(inputArray[i], inputValue); /** is the inputValue in the actual input (sub) array? */
                
                            if (x == 0) /** if not, just copy the input to the output */
                            {
                                outputArray[i] = inputArray[i];
                            }
                            else /** if yes, increment the input array item and copy it to the output array */
                            {
                                const subArray = [inputValue, x + 1]
                                outputArray[i] = subArray;
                                itemExists = true; /** indicate that the input value already exists in the output array */
                            }
                        }
                
                        if (itemExists == false) /** if the input value don't exist append it to the output array */
                        {
                            const subArray = [inputValue, 1]
                            outputArray[inputArrayLength] = subArray;
                        }
                
                    }
                    else /** if the imput array is empty, just create the first value pair */
                    {
                        const subArray = [inputValue, 1]
                        outputArray[0] = subArray;
                    }
                
                    return outputArray;
                }
                
                
                function find_inArray (subArray, inputValue) /** sub function finds input value in sub array */
                {
                    if (subArray[0] == inputValue)
                    {
                        return subArray[1]; /** returns existing value on match */
                    }
                    else
                    {
                        return 0; /** or zero */
                    }
                }
                
                
                function reset_arry(outputArray) /** resets the array */
                {
                    const emptyArray = new Array();
                    setState (outputArray, emptyArray);
                }
                
                DJMarc75D 1 Antwort Letzte Antwort
                1
                • mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #12

                  Ich hab zwar ewig rumgedoktort - aber JSONATA ist einfach geil und auch in dem Puzzlespiel zu haben. ;)

                  ca7c5a65-9ac0-4af2-ba61-1dd2918cadf0-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                     <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                     <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                   </variables>
                   <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i" x="88" y="63">
                     <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                     <value name="VALUE">
                       <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                         <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="-7):+IvH/;IU.{3y{EAF">
                         <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                         <value name="VALUE">
                           <block type="lists_split" id="l2GM.Xj3(=XTz}`5ng$!">
                             <mutation mode="SPLIT"></mutation>
                             <field name="MODE">SPLIT</field>
                             <value name="INPUT">
                               <block type="variables_get" id="Alvxx%gpPS`g@e8diDll">
                                 <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                               </block>
                             </value>
                             <value name="DELIM">
                               <shadow type="text" id="/!{{ihjH=j_S#TOr/{~y">
                                 <field name="TEXT">,</field>
                               </shadow>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                 <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                 <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                 <value name="VALUE">
                                   <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                     <value name="EXPRESSION">
                                       <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                         <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                       </shadow>
                                     </value>
                                     <value name="TARGET">
                                       <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                         <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="WJhIun5xunahKl@GICu}">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                         <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  ist einfach genial kurz - auch wenn man sich natürlich viel Mühe geben kann um das herkömmlich zu programmieren.

                  Wie gesagt hat mich ca 2 Stunden Tüftelarbeit gekostet - aber es lohnt sich. Hier mal der JSONATA Ausdruck in voller Pracht:

                  $distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}
                  

                  4435ab2c-92f6-4c31-901a-c6611fe7669a-image.png

                  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.

                  A 1 Antwort Letzte Antwort
                  0
                  • A AndyGR42

                    @DJMarc75 Das Skript hier sollte dein Problem lösen:

                    • wird bei jeder Änderung des DP (in deinem Fall Titel) ausgeführt
                    • Es schaut nach, ob der Titel schon im Array ist (bzw. ob überhaupt schon was im Array steht) und hängt den neuen Titel entweder an oder aktualisiert den Zähler
                    • Die erste Zeile ist nur fur's Testen. Damit wird das Array einfach nur geleert.
                    • Du müsstest jetzt nur die beiden DP mit deinen tauschen und das Script starten.

                    Ach ja, wie schon erwähnt sollten einige Zeichen unbedingt vermieden werden, sonst gibt es Chaos im Array. Also bitte kein Komma, keine eckigen Klammern und keine Anführungszeichen.

                    /** reset_arry('0_userdata.0.Test.TestArray01'); */ /** testing only */
                    
                    
                    on({id: '0_userdata.0.Test.TestString01', change: "any"}, function (obj) { /** waits for changes */
                        var value = obj.state.val; /** new value */
                    
                        const counterArrayDP = '0_userdata.0.Test.TestArray01'; /** target DP of type array/string */
                        
                        /** NOTHING to change below this line */
                    
                        const counterArray = getState(counterArrayDP).val; /** get array from DP */
                        const newCounterArray = update_array(counterArray, value); /** update array with new value */
                        setState(counterArrayDP, newCounterArray) /** write update array to DP */
                        
                    });
                    
                    function update_array(inputArray, inputValue) /** sub function updates array */
                    {
                        const inputArrayLength = inputArray.length; /** get actual input array length */
                        const outputArray = new Array(); /** create new  output array*/
                    
                        if(inputArrayLength > 0) /** are there already items in the input array? */
                        {
                            var i;
                            var itemExists = false; 
                    
                            for (i = 0; i < inputArrayLength; i++) /** cycle through the array */
                            {
                                var x = find_inArray(inputArray[i], inputValue); /** is the inputValue in the actual input (sub) array? */
                    
                                if (x == 0) /** if not, just copy the input to the output */
                                {
                                    outputArray[i] = inputArray[i];
                                }
                                else /** if yes, increment the input array item and copy it to the output array */
                                {
                                    const subArray = [inputValue, x + 1]
                                    outputArray[i] = subArray;
                                    itemExists = true; /** indicate that the input value already exists in the output array */
                                }
                            }
                    
                            if (itemExists == false) /** if the input value don't exist append it to the output array */
                            {
                                const subArray = [inputValue, 1]
                                outputArray[inputArrayLength] = subArray;
                            }
                    
                        }
                        else /** if the imput array is empty, just create the first value pair */
                        {
                            const subArray = [inputValue, 1]
                            outputArray[0] = subArray;
                        }
                    
                        return outputArray;
                    }
                    
                    
                    function find_inArray (subArray, inputValue) /** sub function finds input value in sub array */
                    {
                        if (subArray[0] == inputValue)
                        {
                            return subArray[1]; /** returns existing value on match */
                        }
                        else
                        {
                            return 0; /** or zero */
                        }
                    }
                    
                    
                    function reset_arry(outputArray) /** resets the array */
                    {
                        const emptyArray = new Array();
                        setState (outputArray, emptyArray);
                    }
                    
                    DJMarc75D Offline
                    DJMarc75D Offline
                    DJMarc75
                    schrieb am zuletzt editiert von
                    #13

                    @andygr42 supi, wird getestet und vorher erstmal die Sonderzeichen rausfiltern :)

                    Lehrling seit 1975 !!!
                    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                    1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      Ich hab zwar ewig rumgedoktort - aber JSONATA ist einfach geil und auch in dem Puzzlespiel zu haben. ;)

                      ca7c5a65-9ac0-4af2-ba61-1dd2918cadf0-image.png

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                         <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                         <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                       </variables>
                       <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i" x="88" y="63">
                         <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                         <value name="VALUE">
                           <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                             <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="-7):+IvH/;IU.{3y{EAF">
                             <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                             <value name="VALUE">
                               <block type="lists_split" id="l2GM.Xj3(=XTz}`5ng$!">
                                 <mutation mode="SPLIT"></mutation>
                                 <field name="MODE">SPLIT</field>
                                 <value name="INPUT">
                                   <block type="variables_get" id="Alvxx%gpPS`g@e8diDll">
                                     <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                   </block>
                                 </value>
                                 <value name="DELIM">
                                   <shadow type="text" id="/!{{ihjH=j_S#TOr/{~y">
                                     <field name="TEXT">,</field>
                                   </shadow>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                     <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                     <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                     <value name="VALUE">
                                       <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                         <value name="EXPRESSION">
                                           <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                             <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                           </shadow>
                                         </value>
                                         <value name="TARGET">
                                           <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                             <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="WJhIun5xunahKl@GICu}">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                             <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                      </xml>
                      

                      ist einfach genial kurz - auch wenn man sich natürlich viel Mühe geben kann um das herkömmlich zu programmieren.

                      Wie gesagt hat mich ca 2 Stunden Tüftelarbeit gekostet - aber es lohnt sich. Hier mal der JSONATA Ausdruck in voller Pracht:

                      $distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}
                      

                      4435ab2c-92f6-4c31-901a-c6611fe7669a-image.png

                      A Offline
                      A Offline
                      AndyGR42
                      schrieb am zuletzt editiert von AndyGR42
                      #14

                      @mickym Auch schick, allerdings funktioniert es auch nur solange, wie der String alle Titel beinhaltet. Irgendwann wird der zu lang

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • A AndyGR42

                        @mickym Auch schick, allerdings funktioniert es auch nur solange, wie der String alle Titel beinhaltet. Irgendwann wird der zu lang

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @andygr42 Na ja - das hat @DJMarc75 so vorgegeben . im Prinzip arbeitet der JSONATA Ausdruck mit einem Array. Also wenn man gleich ein Array mit Strings verwendet funktioniert es.

                        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.

                        A 1 Antwort Letzte Antwort
                        1
                        • mickymM mickym

                          @andygr42 Na ja - das hat @DJMarc75 so vorgegeben . im Prinzip arbeitet der JSONATA Ausdruck mit einem Array. Also wenn man gleich ein Array mit Strings verwendet funktioniert es.

                          A Offline
                          A Offline
                          AndyGR42
                          schrieb am zuletzt editiert von
                          #16

                          @mickym Deswegen hatte ich nachgefragt, was er eigentlich machen möchte und ob er den String überhaupt braucht. ;)

                          1 Antwort Letzte Antwort
                          0
                          • DJMarc75D Offline
                            DJMarc75D Offline
                            DJMarc75
                            schrieb am zuletzt editiert von
                            #17

                            wenn mir jetzt noch jemand von Euch "zeigen" kann wie ich die Titel (kommen erstmal in einem StringDP an) in ein (wachsendes) Array schreibe dann wäre ich so ziemlich happy :dancer:

                            Lehrling seit 1975 !!!
                            Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                            https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • DJMarc75D DJMarc75

                              wenn mir jetzt noch jemand von Euch "zeigen" kann wie ich die Titel (kommen erstmal in einem StringDP an) in ein (wachsendes) Array schreibe dann wäre ich so ziemlich happy :dancer:

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #18

                              @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                              wenn mir jetzt noch jemand von Euch "zeigen" kann wie ich die Titel (kommen erstmal in einem StringDP an) in ein (wachsendes) Array schreibe dann wäre ich so ziemlich happy :dancer:

                              Na dass ich Dir nochmal puzzlen beibringen muss, überrascht mich aber. :grin:

                              8d82b9bd-5420-4543-8447-e495744cc52a-image.png

                              Wenn du es gleich als Array machst - hast Du auch mit Kommas kein Problem.

                              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.

                              DJMarc75D 1 Antwort Letzte Antwort
                              1
                              • mickymM mickym

                                @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                wenn mir jetzt noch jemand von Euch "zeigen" kann wie ich die Titel (kommen erstmal in einem StringDP an) in ein (wachsendes) Array schreibe dann wäre ich so ziemlich happy :dancer:

                                Na dass ich Dir nochmal puzzlen beibringen muss, überrascht mich aber. :grin:

                                8d82b9bd-5420-4543-8447-e495744cc52a-image.png

                                Wenn du es gleich als Array machst - hast Du auch mit Kommas kein Problem.

                                DJMarc75D Offline
                                DJMarc75D Offline
                                DJMarc75
                                schrieb am zuletzt editiert von
                                #19

                                @mickym bin grad am Testen :+1:

                                Lehrling seit 1975 !!!
                                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • DJMarc75D DJMarc75

                                  @mickym bin grad am Testen :+1:

                                  mickymM Online
                                  mickymM Online
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von mickym
                                  #20

                                  @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                  @mickym bin grad am Testen :+1:

                                  So und damit die Hässlichkeit des Puzzlen ganz zu Tage tritt hier noch die Ergänzung, wie man das ganze dann Auswerten kann. ;)

                                  8979d58f-0d5c-42b5-ba9e-46752c29ef8d-image.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <variables>
                                     <variable id="Q-{K{g^u8=SJ~bbJx1L2">neu</variable>
                                     <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                                     <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                                     <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                                     <variable id="J?Di1B/ibZyz:%[nd_$1">Suche</variable>
                                   </variables>
                                   <block type="variables_set" id="2`xXRHf8dv/I7RRVQ9uP" x="-462" y="-187">
                                     <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                     <value name="VALUE">
                                       <block type="text" id=":}kd79(jelVZP+`h)Q-G">
                                         <field name="TEXT">S.O.S</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i">
                                         <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                         <value name="VALUE">
                                           <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                                             <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="jgNS,;m/}/6kEs:32$23">
                                             <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                             <value name="VALUE">
                                               <block type="lists_split" id="4VgevC}Aug,7,$``$e2~">
                                                 <mutation mode="SPLIT"></mutation>
                                                 <field name="MODE">SPLIT</field>
                                                 <value name="INPUT">
                                                   <block type="variables_get" id="3OkVXfnD1V1{15oC}j0#">
                                                     <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                   </block>
                                                 </value>
                                                 <value name="DELIM">
                                                   <shadow type="text" id="`^2^nlc|*0tZnVb/]MU0">
                                                     <field name="TEXT">,</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="lists_setIndex" id="^1a;jzhbYsZ3.(=%^3:o">
                                                 <mutation at="false"></mutation>
                                                 <field name="MODE">INSERT</field>
                                                 <field name="WHERE">LAST</field>
                                                 <value name="LIST">
                                                   <block type="variables_get" id="Yc!NOY.mpz;*MQ4a.3cc">
                                                     <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                   </block>
                                                 </value>
                                                 <value name="TO">
                                                   <block type="variables_get" id="JN(3pS60Y)^Y=(.]j~4B">
                                                     <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                                     <field name="Severity">log</field>
                                                     <value name="TEXT">
                                                       <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                                         <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                                         <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                         <value name="VALUE">
                                                           <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                                             <value name="EXPRESSION">
                                                               <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                                                 <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="TARGET">
                                                               <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                                                 <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="WJhIun5xunahKl@GICu}">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                                                 <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="Hg9/:p^,/%Kf2tC;y-]W">
                                                                 <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                 <value name="VALUE">
                                                                   <block type="text" id="m;o(c)D=jz_JWVJv@X8E">
                                                                     <field name="TEXT">a</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="O9J+UurMn7PA^TKo,BHw">
                                                                     <field name="Severity">log</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="p.m1Jo/[,,D8:FMicn0U">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="text_join" id="q,:sJ5DPG[Unp42nmwf4">
                                                                         <mutation items="5"></mutation>
                                                                         <value name="ADD0">
                                                                           <block type="text" id=":+E?yRv@7u8_xlN?;!|Y">
                                                                             <field name="TEXT">Lied </field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD1">
                                                                           <block type="variables_get" id="iiTxfl.#MUB;EfaFO/q;">
                                                                             <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD2">
                                                                           <block type="text" id="JcTfv$r?$F7=m2$QWNgG">
                                                                             <field name="TEXT"> wurde </field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD3">
                                                                           <block type="convert_jsonata" id="^cI{f1Cedv)iL5xFEsa@">
                                                                             <value name="EXPRESSION">
                                                                               <shadow type="text" id="XolzYVS:6f[}CY%{=CtN">
                                                                                 <field name="TEXT">*</field>
                                                                               </shadow>
                                                                               <block type="text_join" id="jZb*`=0yOdkQuGQPKyJ=">
                                                                                 <mutation items="3"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id="kZDkEfIR!ngV#w|Mx=/J">
                                                                                     <field name="TEXT">$.'</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="e;xWF[am$/jUvuQxCb:[">
                                                                                     <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="text" id="=l{vI?{uIxzWwOzn0Rll">
                                                                                     <field name="TEXT">'</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="TARGET">
                                                                               <block type="variables_get" id="KtR^h,d+F=uC4,3.tEZz">
                                                                                 <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD4">
                                                                           <block type="text" id="z8nN;k_ep!x_9cd^+BB!">
                                                                             <field name="TEXT"> mal gespielt.</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                  </xml>
                                  

                                  Für Leute, die solche Dinge mit einem anderen Logikmaschine umsetzen wollen:

                                  [
                                     {
                                         "id": "1b8a9b7ff23e2b72",
                                         "type": "comment",
                                         "z": "29617fbe487e9c69",
                                         "name": "Elemente in einem Array zählen und als Objekt ausgeben",
                                         "info": "",
                                         "x": 270,
                                         "y": 1720,
                                         "wires": []
                                     },
                                     {
                                         "id": "db03a7ae6baec159",
                                         "type": "inject",
                                         "z": "29617fbe487e9c69",
                                         "name": "Array mit Liedern",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\"]",
                                         "payloadType": "json",
                                         "x": 180,
                                         "y": 1800,
                                         "wires": [
                                             [
                                                 "eee0fd1bbc1c7591"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "eee0fd1bbc1c7591",
                                         "type": "change",
                                         "z": "29617fbe487e9c69",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 390,
                                         "y": 1800,
                                         "wires": [
                                             [
                                                 "db6b52e1b383fa3c",
                                                 "f9376b9bca6163b6"
                                             ]
                                         ],
                                         "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                     },
                                     {
                                         "id": "db6b52e1b383fa3c",
                                         "type": "debug",
                                         "z": "29617fbe487e9c69",
                                         "name": "Array-Analyse",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 620,
                                         "y": 1800,
                                         "wires": []
                                     },
                                     {
                                         "id": "f9376b9bca6163b6",
                                         "type": "change",
                                         "z": "29617fbe487e9c69",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "search",
                                                 "pt": "msg",
                                                 "to": "Schöne Maid, hast Du heut für mich Zeit",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 650,
                                         "y": 1860,
                                         "wires": [
                                             [
                                                 "cda6bb4b435f80bb"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "cda6bb4b435f80bb",
                                         "type": "change",
                                         "z": "29617fbe487e9c69",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "payload.$sift(function($v,$k){$k = $$.search}).*",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 870,
                                         "y": 1860,
                                         "wires": [
                                             [
                                                 "251eea7ce5c8efe0"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "251eea7ce5c8efe0",
                                         "type": "debug",
                                         "z": "29617fbe487e9c69",
                                         "name": "Suche Vorkommen von search ",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1130,
                                         "y": 1860,
                                         "wires": []
                                     },
                                     {
                                         "id": "4a0fb478973bae57",
                                         "type": "inject",
                                         "z": "29617fbe487e9c69",
                                         "name": "Array mit Liedern und Ausgabe von search in einem",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             },
                                             {
                                                 "p": "search",
                                                 "v": "Dancing Queen",
                                                 "vt": "str"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\",\"Dancing Queen\",\"Dancing Queen\"]",
                                         "payloadType": "json",
                                         "x": 290,
                                         "y": 1960,
                                         "wires": [
                                             [
                                                 "48f9fec07b2dac6a"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "48f9fec07b2dac6a",
                                         "type": "change",
                                         "z": "29617fbe487e9c69",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}.$sift(function($v,$k){$k = $$.search}).*",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 610,
                                         "y": 1960,
                                         "wires": [
                                             [
                                                 "969a1f62b4b01026"
                                             ]
                                         ],
                                         "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                     },
                                     {
                                         "id": "969a1f62b4b01026",
                                         "type": "debug",
                                         "z": "29617fbe487e9c69",
                                         "name": "Vorkommen von search in Array",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 850,
                                         "y": 1960,
                                         "wires": []
                                     }
                                  ]
                                  

                                  Auch JS Programmierer können JSONATA nutzen, da das im Adapter enthalten ist:

                                  var titel = [
                                      "Schöne Maid, hast Du heut für mich Zeit",
                                      "Jump",
                                      "Jump",
                                      "Blauer Enzian",
                                      "Dancing Queen",
                                      "Yellow Submarine",
                                      "Blauer Enzian",
                                      "Jump",
                                      "Dancing Queen",
                                      "S.O.S",
                                      "Schöne Maid, hast Du heut für mich Zeit"
                                  ];
                                  
                                  var analyse = jsonataExpression(titel,'$distinct($).{"titel": $, "count" : $map($$,function($v){$[$=$v]}) ~> $count()}');
                                  console.log(analyse);
                                  
                                  var suche = "Dancing Queen";
                                  var ergebnis =  jsonataExpression(analyse,'$[titel="'+ suche +'"].count');
                                  console.log("Der Titel "+ suche + " ergab "+ ergebnis + " Treffer.");
                                  

                                  19283b1b-d0e6-4186-8ffe-616ce78051fd-image.png

                                  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.

                                  DJMarc75D 2 Antworten Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                    @mickym bin grad am Testen :+1:

                                    So und damit die Hässlichkeit des Puzzlen ganz zu Tage tritt hier noch die Ergänzung, wie man das ganze dann Auswerten kann. ;)

                                    8979d58f-0d5c-42b5-ba9e-46752c29ef8d-image.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <variables>
                                       <variable id="Q-{K{g^u8=SJ~bbJx1L2">neu</variable>
                                       <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                                       <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                                       <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                                       <variable id="J?Di1B/ibZyz:%[nd_$1">Suche</variable>
                                     </variables>
                                     <block type="variables_set" id="2`xXRHf8dv/I7RRVQ9uP" x="-462" y="-187">
                                       <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                       <value name="VALUE">
                                         <block type="text" id=":}kd79(jelVZP+`h)Q-G">
                                           <field name="TEXT">S.O.S</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i">
                                           <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                           <value name="VALUE">
                                             <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                                               <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="jgNS,;m/}/6kEs:32$23">
                                               <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                               <value name="VALUE">
                                                 <block type="lists_split" id="4VgevC}Aug,7,$``$e2~">
                                                   <mutation mode="SPLIT"></mutation>
                                                   <field name="MODE">SPLIT</field>
                                                   <value name="INPUT">
                                                     <block type="variables_get" id="3OkVXfnD1V1{15oC}j0#">
                                                       <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                     </block>
                                                   </value>
                                                   <value name="DELIM">
                                                     <shadow type="text" id="`^2^nlc|*0tZnVb/]MU0">
                                                       <field name="TEXT">,</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="lists_setIndex" id="^1a;jzhbYsZ3.(=%^3:o">
                                                   <mutation at="false"></mutation>
                                                   <field name="MODE">INSERT</field>
                                                   <field name="WHERE">LAST</field>
                                                   <value name="LIST">
                                                     <block type="variables_get" id="Yc!NOY.mpz;*MQ4a.3cc">
                                                       <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                     </block>
                                                   </value>
                                                   <value name="TO">
                                                     <block type="variables_get" id="JN(3pS60Y)^Y=(.]j~4B">
                                                       <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                                           <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                                           <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                           <value name="VALUE">
                                                             <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                                               <value name="EXPRESSION">
                                                                 <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                                                   <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="TARGET">
                                                                 <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                                                   <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id="WJhIun5xunahKl@GICu}">
                                                               <field name="Severity">log</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                                                   <field name="TEXT">test</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                                                   <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="variables_set" id="Hg9/:p^,/%Kf2tC;y-]W">
                                                                   <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                   <value name="VALUE">
                                                                     <block type="text" id="m;o(c)D=jz_JWVJv@X8E">
                                                                       <field name="TEXT">a</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="debug" id="O9J+UurMn7PA^TKo,BHw">
                                                                       <field name="Severity">log</field>
                                                                       <value name="TEXT">
                                                                         <shadow type="text" id="p.m1Jo/[,,D8:FMicn0U">
                                                                           <field name="TEXT">test</field>
                                                                         </shadow>
                                                                         <block type="text_join" id="q,:sJ5DPG[Unp42nmwf4">
                                                                           <mutation items="5"></mutation>
                                                                           <value name="ADD0">
                                                                             <block type="text" id=":+E?yRv@7u8_xlN?;!|Y">
                                                                               <field name="TEXT">Lied </field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD1">
                                                                             <block type="variables_get" id="iiTxfl.#MUB;EfaFO/q;">
                                                                               <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD2">
                                                                             <block type="text" id="JcTfv$r?$F7=m2$QWNgG">
                                                                               <field name="TEXT"> wurde </field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD3">
                                                                             <block type="convert_jsonata" id="^cI{f1Cedv)iL5xFEsa@">
                                                                               <value name="EXPRESSION">
                                                                                 <shadow type="text" id="XolzYVS:6f[}CY%{=CtN">
                                                                                   <field name="TEXT">*</field>
                                                                                 </shadow>
                                                                                 <block type="text_join" id="jZb*`=0yOdkQuGQPKyJ=">
                                                                                   <mutation items="3"></mutation>
                                                                                   <value name="ADD0">
                                                                                     <block type="text" id="kZDkEfIR!ngV#w|Mx=/J">
                                                                                       <field name="TEXT">$.'</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="ADD1">
                                                                                     <block type="variables_get" id="e;xWF[am$/jUvuQxCb:[">
                                                                                       <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="ADD2">
                                                                                     <block type="text" id="=l{vI?{uIxzWwOzn0Rll">
                                                                                       <field name="TEXT">'</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="TARGET">
                                                                                 <block type="variables_get" id="KtR^h,d+F=uC4,3.tEZz">
                                                                                   <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                 </block>
                                                                               </value>
                                                                             </block>
                                                                           </value>
                                                                           <value name="ADD4">
                                                                             <block type="text" id="z8nN;k_ep!x_9cd^+BB!">
                                                                               <field name="TEXT"> mal gespielt.</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                    </xml>
                                    

                                    Für Leute, die solche Dinge mit einem anderen Logikmaschine umsetzen wollen:

                                    [
                                       {
                                           "id": "1b8a9b7ff23e2b72",
                                           "type": "comment",
                                           "z": "29617fbe487e9c69",
                                           "name": "Elemente in einem Array zählen und als Objekt ausgeben",
                                           "info": "",
                                           "x": 270,
                                           "y": 1720,
                                           "wires": []
                                       },
                                       {
                                           "id": "db03a7ae6baec159",
                                           "type": "inject",
                                           "z": "29617fbe487e9c69",
                                           "name": "Array mit Liedern",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\"]",
                                           "payloadType": "json",
                                           "x": 180,
                                           "y": 1800,
                                           "wires": [
                                               [
                                                   "eee0fd1bbc1c7591"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "eee0fd1bbc1c7591",
                                           "type": "change",
                                           "z": "29617fbe487e9c69",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 390,
                                           "y": 1800,
                                           "wires": [
                                               [
                                                   "db6b52e1b383fa3c",
                                                   "f9376b9bca6163b6"
                                               ]
                                           ],
                                           "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                       },
                                       {
                                           "id": "db6b52e1b383fa3c",
                                           "type": "debug",
                                           "z": "29617fbe487e9c69",
                                           "name": "Array-Analyse",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 620,
                                           "y": 1800,
                                           "wires": []
                                       },
                                       {
                                           "id": "f9376b9bca6163b6",
                                           "type": "change",
                                           "z": "29617fbe487e9c69",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "search",
                                                   "pt": "msg",
                                                   "to": "Schöne Maid, hast Du heut für mich Zeit",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 650,
                                           "y": 1860,
                                           "wires": [
                                               [
                                                   "cda6bb4b435f80bb"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "cda6bb4b435f80bb",
                                           "type": "change",
                                           "z": "29617fbe487e9c69",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.$sift(function($v,$k){$k = $$.search}).*",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 870,
                                           "y": 1860,
                                           "wires": [
                                               [
                                                   "251eea7ce5c8efe0"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "251eea7ce5c8efe0",
                                           "type": "debug",
                                           "z": "29617fbe487e9c69",
                                           "name": "Suche Vorkommen von search ",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1130,
                                           "y": 1860,
                                           "wires": []
                                       },
                                       {
                                           "id": "4a0fb478973bae57",
                                           "type": "inject",
                                           "z": "29617fbe487e9c69",
                                           "name": "Array mit Liedern und Ausgabe von search in einem",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "search",
                                                   "v": "Dancing Queen",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\",\"Dancing Queen\",\"Dancing Queen\"]",
                                           "payloadType": "json",
                                           "x": 290,
                                           "y": 1960,
                                           "wires": [
                                               [
                                                   "48f9fec07b2dac6a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "48f9fec07b2dac6a",
                                           "type": "change",
                                           "z": "29617fbe487e9c69",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}.$sift(function($v,$k){$k = $$.search}).*",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 610,
                                           "y": 1960,
                                           "wires": [
                                               [
                                                   "969a1f62b4b01026"
                                               ]
                                           ],
                                           "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                       },
                                       {
                                           "id": "969a1f62b4b01026",
                                           "type": "debug",
                                           "z": "29617fbe487e9c69",
                                           "name": "Vorkommen von search in Array",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 850,
                                           "y": 1960,
                                           "wires": []
                                       }
                                    ]
                                    

                                    Auch JS Programmierer können JSONATA nutzen, da das im Adapter enthalten ist:

                                    var titel = [
                                        "Schöne Maid, hast Du heut für mich Zeit",
                                        "Jump",
                                        "Jump",
                                        "Blauer Enzian",
                                        "Dancing Queen",
                                        "Yellow Submarine",
                                        "Blauer Enzian",
                                        "Jump",
                                        "Dancing Queen",
                                        "S.O.S",
                                        "Schöne Maid, hast Du heut für mich Zeit"
                                    ];
                                    
                                    var analyse = jsonataExpression(titel,'$distinct($).{"titel": $, "count" : $map($$,function($v){$[$=$v]}) ~> $count()}');
                                    console.log(analyse);
                                    
                                    var suche = "Dancing Queen";
                                    var ergebnis =  jsonataExpression(analyse,'$[titel="'+ suche +'"].count');
                                    console.log("Der Titel "+ suche + " ergab "+ ergebnis + " Treffer.");
                                    

                                    19283b1b-d0e6-4186-8ffe-616ce78051fd-image.png

                                    DJMarc75D Offline
                                    DJMarc75D Offline
                                    DJMarc75
                                    schrieb am zuletzt editiert von
                                    #21

                                    @mickym sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                    damit die Hässlichkeit des Puzzlen ganz zu Tage tritt

                                    :grin:
                                    Ich lass das jetzt mal ne Weile laufen und mit Musiktitel befüllen um etwaige Sonderzeichenprobleme gänzlich auszuschliessen :nerd_face:

                                    Lehrling seit 1975 !!!
                                    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                    1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                      @mickym bin grad am Testen :+1:

                                      So und damit die Hässlichkeit des Puzzlen ganz zu Tage tritt hier noch die Ergänzung, wie man das ganze dann Auswerten kann. ;)

                                      8979d58f-0d5c-42b5-ba9e-46752c29ef8d-image.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="Q-{K{g^u8=SJ~bbJx1L2">neu</variable>
                                         <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                                         <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                                         <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                                         <variable id="J?Di1B/ibZyz:%[nd_$1">Suche</variable>
                                       </variables>
                                       <block type="variables_set" id="2`xXRHf8dv/I7RRVQ9uP" x="-462" y="-187">
                                         <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                         <value name="VALUE">
                                           <block type="text" id=":}kd79(jelVZP+`h)Q-G">
                                             <field name="TEXT">S.O.S</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i">
                                             <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                             <value name="VALUE">
                                               <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                                                 <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="jgNS,;m/}/6kEs:32$23">
                                                 <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                 <value name="VALUE">
                                                   <block type="lists_split" id="4VgevC}Aug,7,$``$e2~">
                                                     <mutation mode="SPLIT"></mutation>
                                                     <field name="MODE">SPLIT</field>
                                                     <value name="INPUT">
                                                       <block type="variables_get" id="3OkVXfnD1V1{15oC}j0#">
                                                         <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                       </block>
                                                     </value>
                                                     <value name="DELIM">
                                                       <shadow type="text" id="`^2^nlc|*0tZnVb/]MU0">
                                                         <field name="TEXT">,</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="lists_setIndex" id="^1a;jzhbYsZ3.(=%^3:o">
                                                     <mutation at="false"></mutation>
                                                     <field name="MODE">INSERT</field>
                                                     <field name="WHERE">LAST</field>
                                                     <value name="LIST">
                                                       <block type="variables_get" id="Yc!NOY.mpz;*MQ4a.3cc">
                                                         <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                       </block>
                                                     </value>
                                                     <value name="TO">
                                                       <block type="variables_get" id="JN(3pS60Y)^Y=(.]j~4B">
                                                         <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                                         <field name="Severity">log</field>
                                                         <value name="TEXT">
                                                           <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                                             <field name="TEXT">test</field>
                                                           </shadow>
                                                           <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                                             <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                                             <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                             <value name="VALUE">
                                                               <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                                                 <value name="EXPRESSION">
                                                                   <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                                                     <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <value name="TARGET">
                                                                   <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                                                     <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="debug" id="WJhIun5xunahKl@GICu}">
                                                                 <field name="Severity">log</field>
                                                                 <value name="TEXT">
                                                                   <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                                                     <field name="TEXT">test</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                                                     <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="variables_set" id="Hg9/:p^,/%Kf2tC;y-]W">
                                                                     <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                     <value name="VALUE">
                                                                       <block type="text" id="m;o(c)D=jz_JWVJv@X8E">
                                                                         <field name="TEXT">a</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="debug" id="O9J+UurMn7PA^TKo,BHw">
                                                                         <field name="Severity">log</field>
                                                                         <value name="TEXT">
                                                                           <shadow type="text" id="p.m1Jo/[,,D8:FMicn0U">
                                                                             <field name="TEXT">test</field>
                                                                           </shadow>
                                                                           <block type="text_join" id="q,:sJ5DPG[Unp42nmwf4">
                                                                             <mutation items="5"></mutation>
                                                                             <value name="ADD0">
                                                                               <block type="text" id=":+E?yRv@7u8_xlN?;!|Y">
                                                                                 <field name="TEXT">Lied </field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD1">
                                                                               <block type="variables_get" id="iiTxfl.#MUB;EfaFO/q;">
                                                                                 <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD2">
                                                                               <block type="text" id="JcTfv$r?$F7=m2$QWNgG">
                                                                                 <field name="TEXT"> wurde </field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD3">
                                                                               <block type="convert_jsonata" id="^cI{f1Cedv)iL5xFEsa@">
                                                                                 <value name="EXPRESSION">
                                                                                   <shadow type="text" id="XolzYVS:6f[}CY%{=CtN">
                                                                                     <field name="TEXT">*</field>
                                                                                   </shadow>
                                                                                   <block type="text_join" id="jZb*`=0yOdkQuGQPKyJ=">
                                                                                     <mutation items="3"></mutation>
                                                                                     <value name="ADD0">
                                                                                       <block type="text" id="kZDkEfIR!ngV#w|Mx=/J">
                                                                                         <field name="TEXT">$.'</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="ADD1">
                                                                                       <block type="variables_get" id="e;xWF[am$/jUvuQxCb:[">
                                                                                         <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="ADD2">
                                                                                       <block type="text" id="=l{vI?{uIxzWwOzn0Rll">
                                                                                         <field name="TEXT">'</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="TARGET">
                                                                                   <block type="variables_get" id="KtR^h,d+F=uC4,3.tEZz">
                                                                                     <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD4">
                                                                               <block type="text" id="z8nN;k_ep!x_9cd^+BB!">
                                                                                 <field name="TEXT"> mal gespielt.</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                      </xml>
                                      

                                      Für Leute, die solche Dinge mit einem anderen Logikmaschine umsetzen wollen:

                                      [
                                         {
                                             "id": "1b8a9b7ff23e2b72",
                                             "type": "comment",
                                             "z": "29617fbe487e9c69",
                                             "name": "Elemente in einem Array zählen und als Objekt ausgeben",
                                             "info": "",
                                             "x": 270,
                                             "y": 1720,
                                             "wires": []
                                         },
                                         {
                                             "id": "db03a7ae6baec159",
                                             "type": "inject",
                                             "z": "29617fbe487e9c69",
                                             "name": "Array mit Liedern",
                                             "props": [
                                                 {
                                                     "p": "payload"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\"]",
                                             "payloadType": "json",
                                             "x": 180,
                                             "y": 1800,
                                             "wires": [
                                                 [
                                                     "eee0fd1bbc1c7591"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "eee0fd1bbc1c7591",
                                             "type": "change",
                                             "z": "29617fbe487e9c69",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 390,
                                             "y": 1800,
                                             "wires": [
                                                 [
                                                     "db6b52e1b383fa3c",
                                                     "f9376b9bca6163b6"
                                                 ]
                                             ],
                                             "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                         },
                                         {
                                             "id": "db6b52e1b383fa3c",
                                             "type": "debug",
                                             "z": "29617fbe487e9c69",
                                             "name": "Array-Analyse",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 620,
                                             "y": 1800,
                                             "wires": []
                                         },
                                         {
                                             "id": "f9376b9bca6163b6",
                                             "type": "change",
                                             "z": "29617fbe487e9c69",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "search",
                                                     "pt": "msg",
                                                     "to": "Schöne Maid, hast Du heut für mich Zeit",
                                                     "tot": "str"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 650,
                                             "y": 1860,
                                             "wires": [
                                                 [
                                                     "cda6bb4b435f80bb"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "cda6bb4b435f80bb",
                                             "type": "change",
                                             "z": "29617fbe487e9c69",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "payload.$sift(function($v,$k){$k = $$.search}).*",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 870,
                                             "y": 1860,
                                             "wires": [
                                                 [
                                                     "251eea7ce5c8efe0"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "251eea7ce5c8efe0",
                                             "type": "debug",
                                             "z": "29617fbe487e9c69",
                                             "name": "Suche Vorkommen von search ",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1130,
                                             "y": 1860,
                                             "wires": []
                                         },
                                         {
                                             "id": "4a0fb478973bae57",
                                             "type": "inject",
                                             "z": "29617fbe487e9c69",
                                             "name": "Array mit Liedern und Ausgabe von search in einem",
                                             "props": [
                                                 {
                                                     "p": "payload"
                                                 },
                                                 {
                                                     "p": "search",
                                                     "v": "Dancing Queen",
                                                     "vt": "str"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "[\"Schöne Maid, hast Du heut für mich Zeit\",\"Jump\",\"Jump\",\"Blauer Enzian\",\"Dancing Queen\",\"Yellow Submarine\",\"Blauer Enzian\",\"Jump\",\"Dancing Queen\",\"S.O.S\",\"Schöne Maid, hast Du heut für mich Zeit\",\"Dancing Queen\",\"Dancing Queen\"]",
                                             "payloadType": "json",
                                             "x": 290,
                                             "y": 1960,
                                             "wires": [
                                                 [
                                                     "48f9fec07b2dac6a"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "48f9fec07b2dac6a",
                                             "type": "change",
                                             "z": "29617fbe487e9c69",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "$distinct(payload).{$: $map($$.payload,function($v){$[$=$v]})~>$count()}.$sift(function($v,$k){$k = $$.search}).*",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 610,
                                             "y": 1960,
                                             "wires": [
                                                 [
                                                     "969a1f62b4b01026"
                                                 ]
                                             ],
                                             "info": "# Objekt mit Häufigkeit des Auftretens in Array\r\n\r\nmuss noch auf payload übertragen werden.\r\n\r\n`$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~> $count()}`"
                                         },
                                         {
                                             "id": "969a1f62b4b01026",
                                             "type": "debug",
                                             "z": "29617fbe487e9c69",
                                             "name": "Vorkommen von search in Array",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 850,
                                             "y": 1960,
                                             "wires": []
                                         }
                                      ]
                                      

                                      Auch JS Programmierer können JSONATA nutzen, da das im Adapter enthalten ist:

                                      var titel = [
                                          "Schöne Maid, hast Du heut für mich Zeit",
                                          "Jump",
                                          "Jump",
                                          "Blauer Enzian",
                                          "Dancing Queen",
                                          "Yellow Submarine",
                                          "Blauer Enzian",
                                          "Jump",
                                          "Dancing Queen",
                                          "S.O.S",
                                          "Schöne Maid, hast Du heut für mich Zeit"
                                      ];
                                      
                                      var analyse = jsonataExpression(titel,'$distinct($).{"titel": $, "count" : $map($$,function($v){$[$=$v]}) ~> $count()}');
                                      console.log(analyse);
                                      
                                      var suche = "Dancing Queen";
                                      var ergebnis =  jsonataExpression(analyse,'$[titel="'+ suche +'"].count');
                                      console.log("Der Titel "+ suche + " ergab "+ ergebnis + " Treffer.");
                                      

                                      19283b1b-d0e6-4186-8ffe-616ce78051fd-image.png

                                      DJMarc75D Offline
                                      DJMarc75D Offline
                                      DJMarc75
                                      schrieb am zuletzt editiert von DJMarc75
                                      #22

                                      @mickym ob ich nochmals nachfragen darf wie ich nun aus

                                      [{"a":3},{"b":3} ...
                                      

                                      ein

                                      [{"titel":"a","count":"3"},{"titel":"b","count":"3"} ...
                                      

                                      machen kann um das ganze dann schön in VIS darzustellen ?

                                      Ich bin da grad am verzweifeln :mask:

                                      Lehrling seit 1975 !!!
                                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                      mickymM 2 Antworten Letzte Antwort
                                      0
                                      • DJMarc75D DJMarc75

                                        @mickym ob ich nochmals nachfragen darf wie ich nun aus

                                        [{"a":3},{"b":3} ...
                                        

                                        ein

                                        [{"titel":"a","count":"3"},{"titel":"b","count":"3"} ...
                                        

                                        machen kann um das ganze dann schön in VIS darzustellen ?

                                        Ich bin da grad am verzweifeln :mask:

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #23

                                        @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                        [{"a":3},{"b":3} ...

                                        Ich machs mal nur quick and dirty - da die Objekte ja klar definiert sind.

                                        $.{"titel" : $keys(),"count": *}
                                        

                                        29903bc6-0f3a-46d8-a1d3-0bfa8bb8dac5-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <variables>
                                           <variable id="Q-{K{g^u8=SJ~bbJx1L2">neu</variable>
                                           <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                                           <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                                           <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                                           <variable id="J?Di1B/ibZyz:%[nd_$1">Suche</variable>
                                         </variables>
                                         <block type="variables_set" id="2`xXRHf8dv/I7RRVQ9uP" x="-462" y="-187">
                                           <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                           <value name="VALUE">
                                             <block type="text" id=":}kd79(jelVZP+`h)Q-G">
                                               <field name="TEXT">S.O.S</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i">
                                               <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                               <value name="VALUE">
                                                 <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                                                   <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="jgNS,;m/}/6kEs:32$23">
                                                   <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                   <value name="VALUE">
                                                     <block type="lists_split" id="4VgevC}Aug,7,$``$e2~">
                                                       <mutation mode="SPLIT"></mutation>
                                                       <field name="MODE">SPLIT</field>
                                                       <value name="INPUT">
                                                         <block type="variables_get" id="3OkVXfnD1V1{15oC}j0#">
                                                           <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                         </block>
                                                       </value>
                                                       <value name="DELIM">
                                                         <shadow type="text" id="`^2^nlc|*0tZnVb/]MU0">
                                                           <field name="TEXT">,</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="lists_setIndex" id="^1a;jzhbYsZ3.(=%^3:o">
                                                       <mutation at="false"></mutation>
                                                       <field name="MODE">INSERT</field>
                                                       <field name="WHERE">LAST</field>
                                                       <value name="LIST">
                                                         <block type="variables_get" id="Yc!NOY.mpz;*MQ4a.3cc">
                                                           <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                         </block>
                                                       </value>
                                                       <value name="TO">
                                                         <block type="variables_get" id="JN(3pS60Y)^Y=(.]j~4B">
                                                           <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                                           <field name="Severity">log</field>
                                                           <value name="TEXT">
                                                             <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                                               <field name="TEXT">test</field>
                                                             </shadow>
                                                             <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                                               <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                                               <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                               <value name="VALUE">
                                                                 <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                                                   <value name="EXPRESSION">
                                                                     <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                                                       <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                                                     </shadow>
                                                                   </value>
                                                                   <value name="TARGET">
                                                                     <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                                                       <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="WJhIun5xunahKl@GICu}">
                                                                   <field name="Severity">log</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                                                       <field name="TEXT">test</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                                                       <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="variables_set" id="Hg9/:p^,/%Kf2tC;y-]W">
                                                                       <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                       <value name="VALUE">
                                                                         <block type="text" id="m;o(c)D=jz_JWVJv@X8E">
                                                                           <field name="TEXT">a</field>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="debug" id="O9J+UurMn7PA^TKo,BHw">
                                                                           <field name="Severity">log</field>
                                                                           <value name="TEXT">
                                                                             <shadow type="text" id="p.m1Jo/[,,D8:FMicn0U">
                                                                               <field name="TEXT">test</field>
                                                                             </shadow>
                                                                             <block type="text_join" id="q,:sJ5DPG[Unp42nmwf4">
                                                                               <mutation items="5"></mutation>
                                                                               <value name="ADD0">
                                                                                 <block type="text" id=":+E?yRv@7u8_xlN?;!|Y">
                                                                                   <field name="TEXT">Lied </field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD1">
                                                                                 <block type="variables_get" id="iiTxfl.#MUB;EfaFO/q;">
                                                                                   <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD2">
                                                                                 <block type="text" id="JcTfv$r?$F7=m2$QWNgG">
                                                                                   <field name="TEXT"> wurde </field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD3">
                                                                                 <block type="convert_jsonata" id="^cI{f1Cedv)iL5xFEsa@">
                                                                                   <value name="EXPRESSION">
                                                                                     <shadow type="text" id="XolzYVS:6f[}CY%{=CtN">
                                                                                       <field name="TEXT">*</field>
                                                                                     </shadow>
                                                                                     <block type="text_join" id="jZb*`=0yOdkQuGQPKyJ=">
                                                                                       <mutation items="3"></mutation>
                                                                                       <value name="ADD0">
                                                                                         <block type="text" id="kZDkEfIR!ngV#w|Mx=/J">
                                                                                           <field name="TEXT">$.'</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD1">
                                                                                         <block type="variables_get" id="e;xWF[am$/jUvuQxCb:[">
                                                                                           <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD2">
                                                                                         <block type="text" id="=l{vI?{uIxzWwOzn0Rll">
                                                                                           <field name="TEXT">'</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="TARGET">
                                                                                     <block type="variables_get" id="KtR^h,d+F=uC4,3.tEZz">
                                                                                       <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD4">
                                                                                 <block type="text" id="z8nN;k_ep!x_9cd^+BB!">
                                                                                   <field name="TEXT"> mal gespielt.</field>
                                                                                 </block>
                                                                               </value>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="debug" id=":H{dp!-z:u5+|n#a8pok">
                                                                               <field name="Severity">log</field>
                                                                               <value name="TEXT">
                                                                                 <shadow type="text" id="^Hd{-C)},fMch1=3eSN{">
                                                                                   <field name="TEXT">test</field>
                                                                                 </shadow>
                                                                                 <block type="variables_get" id="C^a!~n}WdvxU,qQ0Z+)T">
                                                                                   <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="variables_set" id="-RRu#I@,}vQ,oH?)1byd">
                                                                                   <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                   <value name="VALUE">
                                                                                     <block type="convert_jsonata" id="Sm`R0amu|*s{$bCu-Q?q">
                                                                                       <value name="EXPRESSION">
                                                                                         <shadow type="text" id="Fc]hsd]=^{M./kva.10B">
                                                                                           <field name="TEXT">$.{"titel" : $keys(),"count": *}</field>
                                                                                         </shadow>
                                                                                       </value>
                                                                                       <value name="TARGET">
                                                                                         <block type="variables_get" id="i]m~P99c%8l]P]S?H-ia">
                                                                                           <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                   <next>
                                                                                     <block type="debug" id="$=K22lJ-lR2%5)A9G|n=">
                                                                                       <field name="Severity">log</field>
                                                                                       <value name="TEXT">
                                                                                         <shadow type="text" id="-l`,3:x:].IKRb}63*48">
                                                                                           <field name="TEXT">test</field>
                                                                                         </shadow>
                                                                                         <block type="variables_get" id="jOvt)?3e4F{up+G+5_s/">
                                                                                           <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                        </xml>
                                        

                                        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.

                                        DJMarc75D 1 Antwort Letzte Antwort
                                        1
                                        • mickymM mickym

                                          @djmarc75 sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                          [{"a":3},{"b":3} ...

                                          Ich machs mal nur quick and dirty - da die Objekte ja klar definiert sind.

                                          $.{"titel" : $keys(),"count": *}
                                          

                                          29903bc6-0f3a-46d8-a1d3-0bfa8bb8dac5-image.png

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="Q-{K{g^u8=SJ~bbJx1L2">neu</variable>
                                             <variable id="?+jUzr1AE!BT%ndErB?h">String</variable>
                                             <variable id="r2|O7xSSn}R]WP0Guw3#">Array</variable>
                                             <variable id="$-_m{u5(Dz83eo?3;{%[">Objekt</variable>
                                             <variable id="J?Di1B/ibZyz:%[nd_$1">Suche</variable>
                                           </variables>
                                           <block type="variables_set" id="2`xXRHf8dv/I7RRVQ9uP" x="-462" y="-187">
                                             <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                             <value name="VALUE">
                                               <block type="text" id=":}kd79(jelVZP+`h)Q-G">
                                                 <field name="TEXT">S.O.S</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="//8bilRq!Q*Oo;YNFP0i">
                                                 <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="b;/knyEwB)g{AZ|(e4U;">
                                                     <field name="TEXT">a,b,b,a,c,d,a,b,c</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="jgNS,;m/}/6kEs:32$23">
                                                     <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                     <value name="VALUE">
                                                       <block type="lists_split" id="4VgevC}Aug,7,$``$e2~">
                                                         <mutation mode="SPLIT"></mutation>
                                                         <field name="MODE">SPLIT</field>
                                                         <value name="INPUT">
                                                           <block type="variables_get" id="3OkVXfnD1V1{15oC}j0#">
                                                             <field name="VAR" id="?+jUzr1AE!BT%ndErB?h">String</field>
                                                           </block>
                                                         </value>
                                                         <value name="DELIM">
                                                           <shadow type="text" id="`^2^nlc|*0tZnVb/]MU0">
                                                             <field name="TEXT">,</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="lists_setIndex" id="^1a;jzhbYsZ3.(=%^3:o">
                                                         <mutation at="false"></mutation>
                                                         <field name="MODE">INSERT</field>
                                                         <field name="WHERE">LAST</field>
                                                         <value name="LIST">
                                                           <block type="variables_get" id="Yc!NOY.mpz;*MQ4a.3cc">
                                                             <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                           </block>
                                                         </value>
                                                         <value name="TO">
                                                           <block type="variables_get" id="JN(3pS60Y)^Y=(.]j~4B">
                                                             <field name="VAR" id="Q-{K{g^u8=SJ~bbJx1L2">neu</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="7Qj!rB9T*1u^?q*%grBj">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="X9Y@-Dl7gm/@@A1LA|rJ">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="variables_get" id="(swR*aLu~G@PD}zgOnL+">
                                                                 <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="a75e#*Xc#m)nG`veslBd">
                                                                 <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                 <value name="VALUE">
                                                                   <block type="convert_jsonata" id="|P_BHOAk`P/_AfD`5I`Y">
                                                                     <value name="EXPRESSION">
                                                                       <shadow type="text" id=":Vas?]P#E6aU7]6b,~_q">
                                                                         <field name="TEXT">$distinct($).{$ : $map($$,function($v){$[$=$v]}) ~&gt; $count()}</field>
                                                                       </shadow>
                                                                     </value>
                                                                     <value name="TARGET">
                                                                       <block type="variables_get" id="5t:`o,RyQ=/bO+x?(-kv">
                                                                         <field name="VAR" id="r2|O7xSSn}R]WP0Guw3#">Array</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="WJhIun5xunahKl@GICu}">
                                                                     <field name="Severity">log</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="YQ7^n5qnxbu(/f6Uffd^">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="-,0VHv#EdBGI4Upg~~ZA">
                                                                         <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="variables_set" id="Hg9/:p^,/%Kf2tC;y-]W">
                                                                         <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                         <value name="VALUE">
                                                                           <block type="text" id="m;o(c)D=jz_JWVJv@X8E">
                                                                             <field name="TEXT">a</field>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="debug" id="O9J+UurMn7PA^TKo,BHw">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="p.m1Jo/[,,D8:FMicn0U">
                                                                                 <field name="TEXT">test</field>
                                                                               </shadow>
                                                                               <block type="text_join" id="q,:sJ5DPG[Unp42nmwf4">
                                                                                 <mutation items="5"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id=":+E?yRv@7u8_xlN?;!|Y">
                                                                                     <field name="TEXT">Lied </field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="iiTxfl.#MUB;EfaFO/q;">
                                                                                     <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="text" id="JcTfv$r?$F7=m2$QWNgG">
                                                                                     <field name="TEXT"> wurde </field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD3">
                                                                                   <block type="convert_jsonata" id="^cI{f1Cedv)iL5xFEsa@">
                                                                                     <value name="EXPRESSION">
                                                                                       <shadow type="text" id="XolzYVS:6f[}CY%{=CtN">
                                                                                         <field name="TEXT">*</field>
                                                                                       </shadow>
                                                                                       <block type="text_join" id="jZb*`=0yOdkQuGQPKyJ=">
                                                                                         <mutation items="3"></mutation>
                                                                                         <value name="ADD0">
                                                                                           <block type="text" id="kZDkEfIR!ngV#w|Mx=/J">
                                                                                             <field name="TEXT">$.'</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD1">
                                                                                           <block type="variables_get" id="e;xWF[am$/jUvuQxCb:[">
                                                                                             <field name="VAR" id="J?Di1B/ibZyz:%[nd_$1">Suche</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD2">
                                                                                           <block type="text" id="=l{vI?{uIxzWwOzn0Rll">
                                                                                             <field name="TEXT">'</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="TARGET">
                                                                                       <block type="variables_get" id="KtR^h,d+F=uC4,3.tEZz">
                                                                                         <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD4">
                                                                                   <block type="text" id="z8nN;k_ep!x_9cd^+BB!">
                                                                                     <field name="TEXT"> mal gespielt.</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <next>
                                                                               <block type="debug" id=":H{dp!-z:u5+|n#a8pok">
                                                                                 <field name="Severity">log</field>
                                                                                 <value name="TEXT">
                                                                                   <shadow type="text" id="^Hd{-C)},fMch1=3eSN{">
                                                                                     <field name="TEXT">test</field>
                                                                                   </shadow>
                                                                                   <block type="variables_get" id="C^a!~n}WdvxU,qQ0Z+)T">
                                                                                     <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <next>
                                                                                   <block type="variables_set" id="-RRu#I@,}vQ,oH?)1byd">
                                                                                     <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                     <value name="VALUE">
                                                                                       <block type="convert_jsonata" id="Sm`R0amu|*s{$bCu-Q?q">
                                                                                         <value name="EXPRESSION">
                                                                                           <shadow type="text" id="Fc]hsd]=^{M./kva.10B">
                                                                                             <field name="TEXT">$.{"titel" : $keys(),"count": *}</field>
                                                                                           </shadow>
                                                                                         </value>
                                                                                         <value name="TARGET">
                                                                                           <block type="variables_get" id="i]m~P99c%8l]P]S?H-ia">
                                                                                             <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="debug" id="$=K22lJ-lR2%5)A9G|n=">
                                                                                         <field name="Severity">log</field>
                                                                                         <value name="TEXT">
                                                                                           <shadow type="text" id="-l`,3:x:].IKRb}63*48">
                                                                                             <field name="TEXT">test</field>
                                                                                           </shadow>
                                                                                           <block type="variables_get" id="jOvt)?3e4F{up+G+5_s/">
                                                                                             <field name="VAR" id="$-_m{u5(Dz83eo?3;{%[">Objekt</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

                                          DJMarc75D Offline
                                          DJMarc75D Offline
                                          DJMarc75
                                          schrieb am zuletzt editiert von
                                          #24

                                          @mickym sagte in Aufzählung gleicher Werte aus Datenpunkt:

                                          $.{"titel" : $keys(),"count": *}

                                          Du bisch der Wahnsinn :+1: :+1: :+1: :+1:

                                          Lehrling seit 1975 !!!
                                          Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                          https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                          mickymM 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

                                          720

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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