Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Werte aus einem Textfeld in Liste übergeben

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Werte aus einem Textfeld in Liste übergeben

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

      Hallo. Ich habe ein Feld mit folgendem INhalt:

      <tr class="child "> <td>2,460.8</td> <td>432.8</td> <td>2,460.8</td> <td>4.53</td> </tr> <tr class="child impair"> <td>2,389.0</td> <td>408.2</td> <td>2,389.0</td> <td>2.92</td> </tr> <tr class="child "> <td>2,395.6</td> <td>393.3</td> <td>2,395.6</td> <td>1.13</td> </tr> <tr class="child impair"> <td>2,357.4</td> <td>413.6</td> <td>2,357.4</td> <td>0.87</td> </tr> <tr class="child "> <td>2,465.6</td> <td>405.6</td> <td>2,465.6</td> <td>1.30</td> </tr> <tr class="child impair"> <td>2,519.0</td> <td>412.0</td> <td>2,519.0</td> <td>7.63</td> </tr> <tr class="child "> <td>2,300.2</td> <td>571.9</td> <td>2,300.2</td> <td>28.33</td> </tr> <tr class="child impair"> <td>2,241.3</td> <td>888.4</td> <td>2,241.3</td> <td>44.00</td> </tr> <tr class="child "> <td>2,196.2</td> <td>914.8</td> <td>2,196.2</td> <td>50.02</td> </tr> <tr class="child impair"> <td>2,243.7</td> <td>920.3</td> <td>2,243.7</td> <td>43.27</td> </tr> <tr class="child "> <td>2,279.8</td> <td>721.7</td> <td>2,279.8</td> <td>33.96</td> </tr> <tr class="child impair"> <td>2,283.4</td> <td>730.6</td> <td>2,283.4</td> <td>32.09</td> </tr> <tr class="child "> <td>2,389.2</td> <td>623.8</td> <td>2,389.2</td> <td>33.16</td> </tr> <tr class="child impair"> <td>2,290.2</td> <td>593.7</td> <td>2,290.2</td> <td>34.00</td> </tr> <tr class="child "> <td>2,222.2</td> <td>711.0</td> <td>2,222.2</td> <td>37.51</td> </tr> <tr class="child impair"> <td>2,200.4</td> <td>1,052.5</td> <td>2,200.4</td> <td>44.70</td> </tr> <tr class="child "> <td>2,202.8</td> <td>1,060.6</td> <td>2,202.8</td> <td>50.02</td> </tr> <tr class="child impair"> <td>2,135.9</td> <td>993.9</td> <td>2,135.9</td> <td>50.73</td> </tr> <tr class="child "> <td>2,177.7</td> <td>1,028.5</td> <td>2,177.7</td> <td>54.04</td> </tr> <tr class="child impair"> <td>2,092.6</td> <td>1,095.5</td> <td>2,092.6</td> <td>48.24</td> </tr> <tr class="child "> <td>1,980.3</td> <td>586.2</td> <td>1,980.3</td> <td>36.83</td> </tr> <tr class="child impair"> <td>2,029.0</td> <td>600.0</td> <td>2,029.0</td> <td>33.84</td> </tr> <tr class="child "> <td>1,995.1</td> <td>513.9</td> <td>1,995.1</td> <td>30.41</td> </tr> <tr class="child impair"> <td>1,990.6</td> <td>470.1</td> <td>1,990.6</td> <td>12.00</td> </tr>
      

      Wie kann ich daraus jeweils den 4. Wert extrahieren der jeweils zwischen child und childimpair steht und in eine Liste schreiben? Geht das überhaupt mittels Blockly?
      Vielleicht kann mir bitte jemand helfen. Danke.

      mickym paul53 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @ManfredHi last edited by

        @manfredhi Ich verstehe nicht warum ihr weiter puzzelt aber dann nutzt halt wenigstens JSONATA wenn es schon angeboten wird.

        341a49c5-9067-457a-b42c-a7d10f7dab74-image.png

        Hier zum Import:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id=";po#/$v(8.UbHdHNkx[6">Text</variable>
           <variable id="}a[OFl*vHCIxJJ90Ly86">Liste</variable>
         </variables>
         <block type="variables_set" id="7%T9W)O:ety#^0R/ox%2" x="-938" y="-562">
           <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Text</field>
           <value name="VALUE">
             <block type="text" id="ZE=WG[CGn12I9@)c/^V:">
               <field name="TEXT">&lt;tr class="child "&gt; &lt;td&gt;2,460.8&lt;/td&gt; &lt;td&gt;432.8&lt;/td&gt; &lt;td&gt;2,460.8&lt;/td&gt; &lt;td&gt;4.53&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,389.0&lt;/td&gt; &lt;td&gt;408.2&lt;/td&gt; &lt;td&gt;2,389.0&lt;/td&gt; &lt;td&gt;2.92&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,395.6&lt;/td&gt; &lt;td&gt;393.3&lt;/td&gt; &lt;td&gt;2,395.6&lt;/td&gt; &lt;td&gt;1.13&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,357.4&lt;/td&gt; &lt;td&gt;413.6&lt;/td&gt; &lt;td&gt;2,357.4&lt;/td&gt; &lt;td&gt;0.87&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,465.6&lt;/td&gt; &lt;td&gt;405.6&lt;/td&gt; &lt;td&gt;2,465.6&lt;/td&gt; &lt;td&gt;1.30&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,519.0&lt;/td&gt; &lt;td&gt;412.0&lt;/td&gt; &lt;td&gt;2,519.0&lt;/td&gt; &lt;td&gt;7.63&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,300.2&lt;/td&gt; &lt;td&gt;571.9&lt;/td&gt; &lt;td&gt;2,300.2&lt;/td&gt; &lt;td&gt;28.33&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,241.3&lt;/td&gt; &lt;td&gt;888.4&lt;/td&gt; &lt;td&gt;2,241.3&lt;/td&gt; &lt;td&gt;44.00&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,196.2&lt;/td&gt; &lt;td&gt;914.8&lt;/td&gt; &lt;td&gt;2,196.2&lt;/td&gt; &lt;td&gt;50.02&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,243.7&lt;/td&gt; &lt;td&gt;920.3&lt;/td&gt; &lt;td&gt;2,243.7&lt;/td&gt; &lt;td&gt;43.27&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,279.8&lt;/td&gt; &lt;td&gt;721.7&lt;/td&gt; &lt;td&gt;2,279.8&lt;/td&gt; &lt;td&gt;33.96&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,283.4&lt;/td&gt; &lt;td&gt;730.6&lt;/td&gt; &lt;td&gt;2,283.4&lt;/td&gt; &lt;td&gt;32.09&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,389.2&lt;/td&gt; &lt;td&gt;623.8&lt;/td&gt; &lt;td&gt;2,389.2&lt;/td&gt; &lt;td&gt;33.16&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,290.2&lt;/td&gt; &lt;td&gt;593.7&lt;/td&gt; &lt;td&gt;2,290.2&lt;/td&gt; &lt;td&gt;34.00&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,222.2&lt;/td&gt; &lt;td&gt;711.0&lt;/td&gt; &lt;td&gt;2,222.2&lt;/td&gt; &lt;td&gt;37.51&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,200.4&lt;/td&gt; &lt;td&gt;1,052.5&lt;/td&gt; &lt;td&gt;2,200.4&lt;/td&gt; &lt;td&gt;44.70&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,202.8&lt;/td&gt; &lt;td&gt;1,060.6&lt;/td&gt; &lt;td&gt;2,202.8&lt;/td&gt; &lt;td&gt;50.02&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,135.9&lt;/td&gt; &lt;td&gt;993.9&lt;/td&gt; &lt;td&gt;2,135.9&lt;/td&gt; &lt;td&gt;50.73&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,177.7&lt;/td&gt; &lt;td&gt;1,028.5&lt;/td&gt; &lt;td&gt;2,177.7&lt;/td&gt; &lt;td&gt;54.04&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,092.6&lt;/td&gt; &lt;td&gt;1,095.5&lt;/td&gt; &lt;td&gt;2,092.6&lt;/td&gt; &lt;td&gt;48.24&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;1,980.3&lt;/td&gt; &lt;td&gt;586.2&lt;/td&gt; &lt;td&gt;1,980.3&lt;/td&gt; &lt;td&gt;36.83&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,029.0&lt;/td&gt; &lt;td&gt;600.0&lt;/td&gt; &lt;td&gt;2,029.0&lt;/td&gt; &lt;td&gt;33.84&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;1,995.1&lt;/td&gt; &lt;td&gt;513.9&lt;/td&gt; &lt;td&gt;1,995.1&lt;/td&gt; &lt;td&gt;30.41&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;1,990.6&lt;/td&gt; &lt;td&gt;470.1&lt;/td&gt; &lt;td&gt;1,990.6&lt;/td&gt; &lt;td&gt;12.00&lt;/td&gt; &lt;/tr&gt;</field>
             </block>
           </value>
           <next>
             <block type="variables_set" id="xb2UJv3J.b%pe)=*|}P-">
               <field name="VAR" id="}a[OFl*vHCIxJJ90Ly86">Liste</field>
               <value name="VALUE">
                 <block type="convert_jsonata" id="2,64.Pf(XUW-w6VTNU/A">
                   <value name="EXPRESSION">
                     <shadow type="text" id="~S}tI5vE7YthKc5^_)N2">
                       <field name="TEXT">$match($,/(\d,)?\d+.\d/).match</field>
                     </shadow>
                   </value>
                   <value name="TARGET">
                     <block type="variables_get" id="oxV$kE`G@3F2^Vi77kZ+">
                       <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Text</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="Pux_Ixt*#aTeuN!Y4-mp">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="N`%U4g0u`/JI@LUVStVz">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="i?k+@nT7CZXSXp|_a=b)">
                       <field name="VAR" id="}a[OFl*vHCIxJJ90Ly86">Liste</field>
                     </block>
                   </value>
                   <next>
                     <block type="comment" id="CHsg+@:V8t5R)IAv#ny^">
                       <field name="COMMENT">Zahl an welcher Position aus der Liste raushohlen und Konvertieren</field>
                       <next>
                         <block type="debug" id="hocK%-EUwtZA8%G9(e)V">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id=";!d(G}wsH!+n@;jgbId?">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="convert_tonumber" id="77d7#if/tG$:uQ;sPdfb">
                               <value name="VALUE">
                                 <block type="lists_getIndex" id="Sg.DiDmLb(]s|j-`T%F~">
                                   <mutation statement="false" at="true"></mutation>
                                   <field name="MODE">GET</field>
                                   <field name="WHERE">FROM_START</field>
                                   <value name="VALUE">
                                     <block type="variables_get" id="J#N;[.6o[v.,T/QEto+E">
                                       <field name="VAR" id="}a[OFl*vHCIxJJ90Ly86">Liste</field>
                                     </block>
                                   </value>
                                   <value name="AT">
                                     <block type="math_number" id=";~*h+5hO~;iCz{IrMi|d">
                                       <field name="NUM">4</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
        </xml>
        

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

          @manfredhi sagte: jeweils den 4. Wert extrahieren der jeweils zwischen child und childimpair steht und in eine Liste schreiben?

          Ich ergänze mal den Vorschlag von @mickym

          Blockly_temp.JPG

          Log:

          [4.5,2.9,1.1,0.8,1.3,7.6,28.3,44,50,43.2,33.9,32,33.1,34,37.5,44.7,50,50.7,54,48.2,36.8,33.8,30.4,12]
          
          mickym 1 Reply Last reply Reply Quote 1
          • mickym
            mickym Most Active @paul53 last edited by

            @paul53 Das kann man aber auch einfacher haben - indem man den JSONATA Ausdruck nur ändert:

            ($match($,/(\d,)?\d+.\d/).match)#$i[$i%4=3].$number()
            

            Damit habe ich auch jeden 4. Wert und auch schon in eine Zahl konvertiert:

            d0730276-2bb7-41f9-b5ca-5362c61725f0-image.png

            Hier das Blockly:

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id=";po#/$v(8.UbHdHNkx[6">Text</variable>
               <variable id="}a[OFl*vHCIxJJ90Ly86">Liste</variable>
             </variables>
             <block type="variables_set" id="7%T9W)O:ety#^0R/ox%2" x="-987" y="-662">
               <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Text</field>
               <value name="VALUE">
                 <block type="text" id="ZE=WG[CGn12I9@)c/^V:">
                   <field name="TEXT">&lt;tr class="child "&gt; &lt;td&gt;2,460.8&lt;/td&gt; &lt;td&gt;432.8&lt;/td&gt; &lt;td&gt;2,460.8&lt;/td&gt; &lt;td&gt;4.53&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,389.0&lt;/td&gt; &lt;td&gt;408.2&lt;/td&gt; &lt;td&gt;2,389.0&lt;/td&gt; &lt;td&gt;2.92&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,395.6&lt;/td&gt; &lt;td&gt;393.3&lt;/td&gt; &lt;td&gt;2,395.6&lt;/td&gt; &lt;td&gt;1.13&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,357.4&lt;/td&gt; &lt;td&gt;413.6&lt;/td&gt; &lt;td&gt;2,357.4&lt;/td&gt; &lt;td&gt;0.87&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,465.6&lt;/td&gt; &lt;td&gt;405.6&lt;/td&gt; &lt;td&gt;2,465.6&lt;/td&gt; &lt;td&gt;1.30&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,519.0&lt;/td&gt; &lt;td&gt;412.0&lt;/td&gt; &lt;td&gt;2,519.0&lt;/td&gt; &lt;td&gt;7.63&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,300.2&lt;/td&gt; &lt;td&gt;571.9&lt;/td&gt; &lt;td&gt;2,300.2&lt;/td&gt; &lt;td&gt;28.33&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,241.3&lt;/td&gt; &lt;td&gt;888.4&lt;/td&gt; &lt;td&gt;2,241.3&lt;/td&gt; &lt;td&gt;44.00&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,196.2&lt;/td&gt; &lt;td&gt;914.8&lt;/td&gt; &lt;td&gt;2,196.2&lt;/td&gt; &lt;td&gt;50.02&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,243.7&lt;/td&gt; &lt;td&gt;920.3&lt;/td&gt; &lt;td&gt;2,243.7&lt;/td&gt; &lt;td&gt;43.27&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,279.8&lt;/td&gt; &lt;td&gt;721.7&lt;/td&gt; &lt;td&gt;2,279.8&lt;/td&gt; &lt;td&gt;33.96&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,283.4&lt;/td&gt; &lt;td&gt;730.6&lt;/td&gt; &lt;td&gt;2,283.4&lt;/td&gt; &lt;td&gt;32.09&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,389.2&lt;/td&gt; &lt;td&gt;623.8&lt;/td&gt; &lt;td&gt;2,389.2&lt;/td&gt; &lt;td&gt;33.16&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,290.2&lt;/td&gt; &lt;td&gt;593.7&lt;/td&gt; &lt;td&gt;2,290.2&lt;/td&gt; &lt;td&gt;34.00&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,222.2&lt;/td&gt; &lt;td&gt;711.0&lt;/td&gt; &lt;td&gt;2,222.2&lt;/td&gt; &lt;td&gt;37.51&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,200.4&lt;/td&gt; &lt;td&gt;1,052.5&lt;/td&gt; &lt;td&gt;2,200.4&lt;/td&gt; &lt;td&gt;44.70&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,202.8&lt;/td&gt; &lt;td&gt;1,060.6&lt;/td&gt; &lt;td&gt;2,202.8&lt;/td&gt; &lt;td&gt;50.02&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,135.9&lt;/td&gt; &lt;td&gt;993.9&lt;/td&gt; &lt;td&gt;2,135.9&lt;/td&gt; &lt;td&gt;50.73&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;2,177.7&lt;/td&gt; &lt;td&gt;1,028.5&lt;/td&gt; &lt;td&gt;2,177.7&lt;/td&gt; &lt;td&gt;54.04&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,092.6&lt;/td&gt; &lt;td&gt;1,095.5&lt;/td&gt; &lt;td&gt;2,092.6&lt;/td&gt; &lt;td&gt;48.24&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;1,980.3&lt;/td&gt; &lt;td&gt;586.2&lt;/td&gt; &lt;td&gt;1,980.3&lt;/td&gt; &lt;td&gt;36.83&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;2,029.0&lt;/td&gt; &lt;td&gt;600.0&lt;/td&gt; &lt;td&gt;2,029.0&lt;/td&gt; &lt;td&gt;33.84&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child "&gt; &lt;td&gt;1,995.1&lt;/td&gt; &lt;td&gt;513.9&lt;/td&gt; &lt;td&gt;1,995.1&lt;/td&gt; &lt;td&gt;30.41&lt;/td&gt; &lt;/tr&gt; &lt;tr class="child impair"&gt; &lt;td&gt;1,990.6&lt;/td&gt; &lt;td&gt;470.1&lt;/td&gt; &lt;td&gt;1,990.6&lt;/td&gt; &lt;td&gt;12.00&lt;/td&gt; &lt;/tr&gt;</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="xb2UJv3J.b%pe)=*|}P-">
                   <field name="VAR" id="}a[OFl*vHCIxJJ90Ly86">Liste</field>
                   <value name="VALUE">
                     <block type="convert_jsonata" id="2,64.Pf(XUW-w6VTNU/A">
                       <value name="EXPRESSION">
                         <shadow type="text" id="~S}tI5vE7YthKc5^_)N2">
                           <field name="TEXT">($match($,/(\d,)?\d+.\d/).match)#$i[$i%4=3].$number()</field>
                         </shadow>
                       </value>
                       <value name="TARGET">
                         <block type="variables_get" id="oxV$kE`G@3F2^Vi77kZ+">
                           <field name="VAR" id=";po#/$v(8.UbHdHNkx[6">Text</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="debug" id="Pux_Ixt*#aTeuN!Y4-mp">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="N`%U4g0u`/JI@LUVStVz">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="variables_get" id="i?k+@nT7CZXSXp|_a=b)">
                           <field name="VAR" id="}a[OFl*vHCIxJJ90Ly86">Liste</field>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

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

              @mickym sagte: Das kann man aber auch einfacher haben

              "Einfacher" ist relativ.

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

                @paul53 😁 😁 😁

                Ich hab doch nur eine Klammer drum rum gemacht und ein bisschen was dran gehängt.

                1 Reply Last reply Reply Quote 0
                • M
                  ManfredHi last edited by

                  @mickym und @paul53 : Vielen Dank! das mit JSONATA hab ich bisher überhaupt nicht gekannt und werd mich da mal genauer einlesen und probieren.

                  Jedenfalls funktioniert es super. Genau wie ich es wollte. Wieder was gelernt. Danke !

                  1 Reply Last reply Reply Quote 0
                  • M
                    ManfredHi last edited by

                    Hallo. Ich muss das Thema nochmals hervorholen.

                    Was muss ich machen wenn einer dieser Werte die ich benötige ein Minuszeichen davor hat. dieses wird mir nicht übernommen.

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

                      @manfredhi sagte: ein Minuszeichen davor

                      Die Wandlung "nach Zahl" wandelt auch negative Werte.

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

                        Ja das nutzt nur nichts wenn man das vorher als positive Zahl rausfiltert. Sorry das war mein Fehler!!!! 😧 😧
                        Ich auch meine letzte Variante genommen. Also die, in der JSONATA und nicht Blockly die Konvertierung vornimmt.
                        Und wenn Du lieber @paul53 Variante nimmst, dann lass halt wieder die äußere Klammer und das "braune" Gedöns weg. 😁

                        So ich habe nun mal bis zu negativen Millionenwerten und auch mehr Dezimalstellen abgeändert und getestet.

                        Du musst also den regulären Ausdruck ändern

                        /(?:-?(?:\d+?,)+)?-?\d+\.\d+/
                        

                        bzw. den ganzen JSONATA-Ausdruck

                        ($match($,/(?:-?(?:\d+?,)+)?-?\d+\.\d+/).match)#$i[$i%4=3].$number()
                        

                        EDIT: War noch ein Fehler drin - jetzt müsste es passen: https://regex101.com/r/Aunkjk/2

                        Ich hoffe ich habe nun alle erwischt:

                        dc7343ed-afb3-4d7c-84dd-f37550591a12-image.png
                        981c62eb-1b47-488c-bbcc-c4f803f59271-image.png

                        Vielleicht kann das jemand mit den regulären Ausdrücken noch jemand besser als ich und das ist zu umständlich, aber besser habe ICH es halt nicht hingebracht.

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

                          Falls auch noch ganze Zahlen - also ohne Dezimalpunkt vorkommen sollten - dann muss man es halt nochmal ändern:
                          https://regex101.com/r/Aunkjk/3

                          /(?:-?(?:\d+?,)+)?-?\d+(?:\.\d+)?/
                          
                          ($match($,/(?:-?(?:\d+?,)+)?-?\d+(?:\.\d+)?/).match)#$i[$i%4=3].$number()
                          

                          So ich hoffe, ich habe nun alle Eventualitäten bedacht.

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            ManfredHi @mickym last edited by

                            @mickym
                            Vielen Dank für die schnelle Lösung. Ich komm mit dem regex überhaupt nicht klar. Aber es funktioniert einwandfrei.
                            hab aber nur den ersten TEil genommen und den rest über blockly gemacht, da ich dann jeden wert auch gleich durch 10 dividieren kann.
                            DANKE

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

                              @manfredhi sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:

                              @mickym
                              Vielen Dank für die schnelle Lösung. Ich komm mit dem regex überhaupt nicht klar. Aber es funktioniert einwandfrei.
                              hab aber nur den ersten TEil genommen und den rest über blockly gemacht, da ich dann jeden wert auch gleich durch 10 dividieren kann.
                              DANKE

                              Na mit einer Klammer und /10 hättest Du es auch so erreicht.

                              ($match($,/(?:-?(?:\d+?,)+)?-?\d+(?:\.\d+)?/).match)#$i[$i%4=3].($number()/10)
                              

                              und wenn Du das dann auch noch schön gerundet hättest haben wollen:

                              ($match($,/(?:-?(?:\d+?,)+)?-?\d+(?:\.\d+)?/).match)#$i[$i%4=3].$round(($number()/10),3)
                              
                              M 1 Reply Last reply Reply Quote 1
                              • M
                                ManfredHi @mickym last edited by

                                Hallo @mickym kannst du mir bitte nochmals mit dem regex helfen. ich komm damit einfach nicht klar:

                                Ich möchte aus diesem Text:

                                <tr> <td rowspan="1" class="first">00:00 - 01:00</td> <td class="dv-value-cell"><span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '65a12a32dafea7778dc3c2fa', '2024-01-13T23:00:00.000Z', 'PRICE', 'CET');" class="data-view-detail-link">69.56</span></td> </tr> <tr> <td rowspan="1" class="first">01:00 - 02:00</td> <td class="dv-value-cell"><span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '65a27c6c55592d197e768cc0', '2024-01-14T00:00:00.000Z', 'PRICE', 'CET');" class="data-view-detail-link">67.53</span></td> </tr> <tr> <td rowspan="1" class="first">02:00 - 03:00</td> <td class="dv-value-cell"><span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '65a27c6c55592d197e768cc0', '2024-01-14T01:00:00.000Z', 'PRICE', 'CET');" class="data-view-detail-link">66.78</span></td> </tr> <tr> <td rowspan="1" class="first">03:00 - 04:00</td> <td class="dv-value-cell"><span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '65a27c6c55592d197e768cc0', '2024-01-14T02:00:00.000Z', 'PRICE', 'CET');" class="data-view-detail-link">66.32</span></td> </tr> <tr> <td rowspan="1" class="first">04:00 - 05:00</td> <td class="dv-value-cell"><span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '65a27c6c55592d197e768cc0', '2024-01-14T03:00:00.000Z', 'PRICE', 'CET');" class="data-view-detail-link">66.54</span></td> </tr> 
                                

                                Das Datum mit der Uhrzeit "2024-01-13T23:00:00.000Z" und den Wert dazu "69.56" (durch 10 dividieren mit 3 Kommas) auslesen und das aus allen Einträgen und in eine liste übergeben.

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  ManfredHi @ManfredHi last edited by ManfredHi

                                  @mickym
                                  ich kann zwar mit

                                  $match(/(?:\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)/).match
                                  

                                  Das Datum mit der Uhrzeit (z.b. 2024-01-13T23:00:00.000Z) extrahieren, aber wie mach ich es mit den Beträgen, also 69.56, 67.53 usw. ? Vor allem könnte das auch um eine stelle mehr haben bzw. ein minuszeichen davor.

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

                                    @manfredhi sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:

                                    /(?:\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z)

                                    Warum nutzt Du eigentlich nicht diese Seite: https://regex101.com/ bzw. da es konstant ist das Forward Lookup brauchst du erstmal nicht,

                                    Wie Du siehst bekommst Du ja Dein Datum richtig raus: https://regex101.com/r/6wBOu4/1

                                    Ich weiss aber nicht warum Du da Datum brauchst? oder ob Du es brauchst? - Dein Wert steht doch in der class="data-view-detail-link">69.56< , warun checjst Du das Datum oder willst Du das haben? Oder Beides?

                                    Ich gehe mal davon aus, Du willst beides.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      ManfredHi @mickym last edited by ManfredHi

                                      @mickym
                                      habs eh mit regex versucht.
                                      mit dem

                                      ($match(/(?:)?-?\d+\.\d+/).match)#$i[$i%2=1].$round(($number()/10),3)
                                      

                                      bekomm ich die zahl nun raus.

                                      eigentlich wollte ich in einer liste beides haben, erst das datum, dann den betrag. aber das geht glaub ich nicht.

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

                                        @manfredhi Doch schau mal - ob Dir as gefällt?

                                        https://regex101.com/r/d9FrcN/1

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          ManfredHi @mickym last edited by

                                          @mickym

                                          @mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:

                                          Doch schau mal - ob Dir as gefällt?

                                          ja und in der Liste möchte ich dann immer abwechselnd das datum und den betrag

                                          d7ff0289-d431-4287-a21e-edbe9be982d9-image.png

                                          also so soll das z.b. dann aussehen:
                                          ['2024-01-13T23:00:00.000Z',6.956,'2024-01-14T00:00:000Z',6.753, .......]

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

                                            @manfredhi Na also - also siehst Du regEx geht, aber ein Objekt wäre doch sicher sinnvoller - also wieder so ein Stringchaos.

                                            Wäre das den nicht viel schöner:

                                            : https://try.jsonata.org/bz5mJZ3T_

                                            Warum löst ihr euch nicht von diesen blöden Strings?

                                            [
                                              {
                                                "date": "2024-01-13T23:00:00.000Z",
                                                "value": "69.56"
                                              },
                                              {
                                                "date": "2024-01-14T00:00:00.000Z",
                                                "value": "67.53"
                                              },
                                              {
                                                "date": "2024-01-14T01:00:00.000Z",
                                                "value": "66.78"
                                              },
                                              {
                                                "date": "2024-01-14T02:00:00.000Z",
                                                "value": "66.32"
                                              },
                                              {
                                                "date": "2024-01-14T03:00:00.000Z",
                                                "value": "66.54"
                                              }
                                            ]
                                            
                                            M 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            850
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            30
                                            612
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo