Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mit Blockly JSON aus Liste erstellen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mit Blockly JSON aus Liste erstellen

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

      Möchte aus einer Liste die so ausieht

      ['000|02:15','000|02:20','000|02:25','000|02:30','000|02:35','000|02:40','000|02:45','000|02:50','000|02:55','000|03:00','000|03:05','000|03:10','000|03:15','000|03:20','000|03:25','000|03:30','000|03:35','000|03:40','000|03:45','000|03:50','000|03:55','000|04:00','000|04:05','000|04:10','']
      

      ein JSON erstellen der so ausieht (gekürzt)

      [
       {
        "Menge": 000,
        "Uhrzeit": 02:15
       },
       {
        "Menge": 000,
        "Uhrzeit": 02:20
       },
       {
        "Menge": 000,
        "Uhrzeit": 02:25
       },
       {
        "Menge": 000,
        "Uhrzeit": 02:30
       }
      ]
      

      Komme aber an dieser Stelle mit meinem Blockly nicht mehr weiter

      Screenshot 2022-09-11 021514.jpg

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id=";SIrJn_z=H*D@t2AxtHF">Liste</variable>
          <variable id="2IQu?X]va:h[0!M/LsQ$">result</variable>
          <variable id="/V:V-TB}zp(.X0@$#T|P">i</variable>
          <variable id="=6CKA)s(^BO%_#ARX,ha">uhr</variable>
          <variable id="eC_/`QKB}RDomD/!f`2(">menge</variable>
          <variable id="2=_{8jqd?@yULPnj/[!_">test</variable>
        </variables>
        <block type="schedule" id="E3fVdDtKLj10~Uao?u?Y" x="-211" y="-96">
          <field name="SCHEDULE">*/20 * * * * *</field>
          <statement name="STATEMENT">
            <block type="request" id="!rGp=u[HT%m0fkPf_sHr">
              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
              <field name="WITH_STATEMENT">TRUE</field>
              <field name="LOG"></field>
              <value name="URL">
                <shadow type="text" id="1(ZaRGZ}$[[j`Y~?G.!{">
                  <field name="TEXT">https://gadgets.buienradar.nl/data/raintext?lat=51.11&amp;lon=6.15</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="comment" id="y:GV6FEsdO@4o]!etG%}">
                  <field name="COMMENT">Inhalt von raintext in Liste umwandeln</field>
                  <next>
                    <block type="variables_set" id="VNEeEV]zdah{ccHg)`#;">
                      <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field>
                      <value name="VALUE">
                        <block type="lists_split" id="^rizS!m35~8[g=Bx8Toe">
                          <mutation mode="SPLIT"></mutation>
                          <field name="MODE">SPLIT</field>
                          <value name="INPUT">
                            <block type="variables_get" id=".-@{jmj3uESEDgn5cD}Y">
                              <field name="VAR" id="2IQu?X]va:h[0!M/LsQ$">result</field>
                            </block>
                          </value>
                          <value name="DELIM">
                            <shadow type="text" id="c8m,yN@=;2/d?egwMT!#">
                              <field name="TEXT">,</field>
                            </shadow>
                            <block type="text_newline" id="$$os-%dLAwQV(U^-)v)g">
                              <field name="Type">\n</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="debug" id="I(6urOR@_N]sX`{WjVB)">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="k+Rz=1Jr_C0E1l^QV1|0">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="variables_get" id="@kN5%1UZ7=0f^VOrQLh=">
                              <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field>
                            </block>
                          </value>
                          <next>
                            <block type="controls_forEach" id="Niq:-fQL,`V$G?bWdfSr">
                              <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field>
                              <value name="LIST">
                                <block type="variables_get" id="rgN}bC6$s/)JC2p$aOl?">
                                  <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field>
                                </block>
                              </value>
                              <statement name="DO">
                                <block type="comment" id="eH4E%]K8W03k96yU?3y?">
                                  <field name="COMMENT">Nur Uhrzeit aus Liste</field>
                                  <next>
                                    <block type="variables_set" id="Z*pFL1]pSTV@A??0i^t[">
                                      <field name="VAR" id="=6CKA)s(^BO%_#ARX,ha">uhr</field>
                                      <value name="VALUE">
                                        <block type="text_getSubstring" id="#6RfUH]v(vT]=]@dLpAo">
                                          <mutation at1="true" at2="true"></mutation>
                                          <field name="WHERE1">FROM_START</field>
                                          <field name="WHERE2">FROM_START</field>
                                          <value name="STRING">
                                            <block type="variables_get" id="YKgg|NAk|vwmOJ}OSeQ(">
                                              <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field>
                                            </block>
                                          </value>
                                          <value name="AT1">
                                            <block type="math_number" id="K!*`fCjHc/RW[)^F6_d9">
                                              <field name="NUM">5</field>
                                            </block>
                                          </value>
                                          <value name="AT2">
                                            <block type="math_number" id="!c)(fk)pIe~t.SlKAEAf">
                                              <field name="NUM">9</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="comment" id="biHa`6`IYmKKg}hpCm}y">
                                          <field name="COMMENT">Nur Menge aus Liste</field>
                                          <next>
                                            <block type="variables_set" id="^43p*X7HOMH$bA1fea%]">
                                              <field name="VAR" id="eC_/`QKB}RDomD/!f`2(">menge</field>
                                              <value name="VALUE">
                                                <block type="text_getSubstring" id="fJJT(C%$hMmi3^4gd`qA">
                                                  <mutation at1="false" at2="true"></mutation>
                                                  <field name="WHERE1">FIRST</field>
                                                  <field name="WHERE2">FROM_START</field>
                                                  <value name="STRING">
                                                    <block type="variables_get" id="FomS2/B;2X)Bu78@~rcq">
                                                      <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field>
                                                    </block>
                                                  </value>
                                                  <value name="AT2">
                                                    <block type="math_number" id="qx1K0CAJ1$pCT$F8qCkR">
                                                      <field name="NUM">3</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="comment" id="s$hqH/:#S+ZjTQ7ZpLGf">
                                                  <field name="COMMENT">Menge und Uhrzeit </field>
                                                  <next>
                                                    <block type="variables_set" id="OM}A]CVH.g900|;-5{eq">
                                                      <field name="VAR" id="2=_{8jqd?@yULPnj/[!_">test</field>
                                                      <value name="VALUE">
                                                        <block type="text_join" id="wk,kGacR?YtmTu3=:n/)">
                                                          <mutation items="7"></mutation>
                                                          <value name="ADD0">
                                                            <block type="text" id="|=w(rg9I3Tk._9T2dO_u">
                                                              <field name="TEXT">{</field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD1">
                                                            <block type="text" id="N?q);w`,?pgNEZqy*iKm">
                                                              <field name="TEXT">"Menge": </field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD2">
                                                            <block type="variables_get" id="-0BKL[svCn38_Dk6r8Re">
                                                              <field name="VAR" id="eC_/`QKB}RDomD/!f`2(">menge</field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD3">
                                                            <block type="text" id="[mcs0#N8T8^h4Avd:gz:">
                                                              <field name="TEXT">,</field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD4">
                                                            <block type="text" id=")-0^Mq|d)viAo%E$knU=">
                                                              <field name="TEXT">"Uhrzeit": </field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD5">
                                                            <block type="variables_get" id="!njw#Ea-DB%O4bO-k/w[">
                                                              <field name="VAR" id="=6CKA)s(^BO%_#ARX,ha">uhr</field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD6">
                                                            <block type="text" id="f=Wen4aiTwPTz[8f{Mmq">
                                                              <field name="TEXT">}</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="debug" id="_1IqMaUw7{]@R:76mk^e">
                                                          <field name="Severity">log</field>
                                                          <value name="TEXT">
                                                            <shadow type="text" id="/r_qH~6F6O;*R.ptCOtV">
                                                              <field name="TEXT">test</field>
                                                            </shadow>
                                                            <block type="variables_get" id="34fC3she}{.5VwOSaE*@">
                                                              <field name="VAR" id="2=_{8jqd?@yULPnj/[!_">test</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
        <block type="variables_get" id="VrF#H4IBM+Bhd@]~nVo/" x="812" y="138">
          <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field>
        </block>
      </xml>
      

      Das Ergebniss sieht so aus

      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:30}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:35}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:40}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:45}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:50}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:55}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:00}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:05}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:10}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:15}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:20}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:25}
      02:26:20.063	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:30}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:35}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:40}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:45}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:50}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:55}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:00}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:05}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:10}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:15}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:20}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:25}
      02:26:20.064	info	javascript.0 (3489476) script.js.common.Skript_3: {"Menge": ,"Uhrzeit": }
      

      Wie kann ich die einzelnen Ergebnisse in ein Objekt bekommen?

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

        Nachdem ich ja eher NodeRed Fan bin und mich da schon bisschen mit dem genialen JSONATA befasse - wollte ich mal sehen, ob das für Blockly auch machbar ist.

        Also probier das mal:

        186ad173-5a4f-4022-aadf-42511d993a8d-image.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="msp)zG;-A-*q4sE?[kp/">Liste</variable>
           <variable id="2IQu?X]va:h[0!M/LsQ$">result</variable>
           <variable id="P=s;Z!G|V[ky3dw(cbKL">Neue Liste</variable>
         </variables>
         <block type="schedule" id="E3fVdDtKLj10~Uao?u?Y" x="-262" y="-187">
           <field name="SCHEDULE">*/20 * * * * *</field>
           <statement name="STATEMENT">
             <block type="request" id="!rGp=u[HT%m0fkPf_sHr">
               <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
               <field name="WITH_STATEMENT">TRUE</field>
               <field name="LOG"></field>
               <value name="URL">
                 <shadow type="text" id="1(ZaRGZ}$[[j`Y~?G.!{">
                   <field name="TEXT">https://gadgets.buienradar.nl/data/raintext?lat=51.11&amp;lon=6.15</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="comment" id="y:GV6FEsdO@4o]!etG%}">
                   <field name="COMMENT">Inhalt von raintext in Liste umwandeln</field>
                   <next>
                     <block type="variables_set" id="VNEeEV]zdah{ccHg)`#;">
                       <field name="VAR" id="msp)zG;-A-*q4sE?[kp/">Liste</field>
                       <value name="VALUE">
                         <block type="lists_split" id="^rizS!m35~8[g=Bx8Toe">
                           <mutation mode="SPLIT"></mutation>
                           <field name="MODE">SPLIT</field>
                           <value name="INPUT">
                             <block type="variables_get" id=".-@{jmj3uESEDgn5cD}Y">
                               <field name="VAR" id="2IQu?X]va:h[0!M/LsQ$">result</field>
                             </block>
                           </value>
                           <value name="DELIM">
                             <shadow type="text" id="c8m,yN@=;2/d?egwMT!#">
                               <field name="TEXT">,</field>
                             </shadow>
                             <block type="text_newline" id="$$os-%dLAwQV(U^-)v)g">
                               <field name="Type">\n</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="I(6urOR@_N]sX`{WjVB)">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="k+Rz=1Jr_C0E1l^QV1|0">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="variables_get" id="@kN5%1UZ7=0f^VOrQLh=">
                               <field name="VAR" id="msp)zG;-A-*q4sE?[kp/">Liste</field>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="N0=LDH^D5!wv^g,uyc.v">
                               <field name="VAR" id="P=s;Z!G|V[ky3dw(cbKL">Neue Liste</field>
                               <value name="VALUE">
                                 <block type="convert_jsonata" id="WFD-{UO,Q$W3#]]UDw:{">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="6tCgO{]9~f|lGp3?Yeco">
                                       <field name="TEXT">$.{'Menge':$split('|')[0],'Uhrzeit':$split('|')[1]}</field>
                                     </shadow>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="Wh_4=i,s,SR3Gj2B#D=/">
                                       <field name="VAR" id="msp)zG;-A-*q4sE?[kp/">Liste</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="UwBqhE[{:x,DYH-0bLE6">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="+[@LtVbb]%*^0.$Uw}yc">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="variables_get" id="tt6wm$!=!)Dfnk?BkZul">
                                       <field name="VAR" id="P=s;Z!G|V[ky3dw(cbKL">Neue Liste</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

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

          @mickym

          Das ist leider nicht das richtig Format.

          [{'Menge':'000','Uhrzeit':'08:15'},{'Menge':'000','Uhrzeit':'08:20'},{'Menge':'000','Uhrzeit':'08:25'}]
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Chris76e last edited by

            @chris76e das ist Dich exakt das gleiche.

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

              @mickym

              Habe jetzt noch im Blockly "Objekt mach JSON" eingefügt.

              Screenshot 2022-09-11 115449.jpg

              Jetzt wird es richtig erstellt und als JSON erkannt.

              [
                {
                  "Menge": "000",
                  "Uhrzeit": "11:50"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "11:55"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:00"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:05"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:10"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:15"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:20"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:25"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:30"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:35"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:40"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:45"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:50"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "12:55"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:00"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:05"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:10"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:15"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:20"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:25"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:30"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:35"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:40"
                },
                {
                  "Menge": "000",
                  "Uhrzeit": "13:45"
                },
                {
                  "Menge": ""
                }
              ]
              
              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Chris76e last edited by

                @chris76e OK ich konnte das nicht erkennen - ob Objekt oder JSON string - bin aber davon ausgegangen, dass Du beides entsprechend nach Bedarf aus dem Objekt bzw. umgekehrt erzeugen kannst. Ich halte es in jedem Fall einfacher, als über Schleifen, was zusammen zu basteln. Im Prinzip hättest Du Deine Strings auch nur in eine Liste überführen müssen.

                Da hättest ja nur die Liste bei jedem Schleifendurchlauf um den String erweitern müssen.

                Aber wie gesagt ich mag das Blockly eh nicht - mir ging es nur mal darum zu sehen, wie JSONATA in Blockly funktioniert und das ihr "Blocklies" durchaus auch Interesse an JSONATA haben könnt. 😉 Ist doch trotzdem wesentlich einfacher als Deine Schleife.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                877
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                2
                6
                431
                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