Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Daten aus XML URL auslesen und verwenden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Daten aus XML URL auslesen und verwenden

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

      Sehr gut. Ich habe nicht den neuesten Javascript Adapter drauf - der kann mehr Objektbearbeitung.

      5bf3cb7f-167e-469a-91fb-930369a4edd0-image.png

      Aber hier mal eine JSONATA Lösung. Wenn es mehrere Werte sind, bekommst Du ein Array/Liste.
      Wenn Dir die Eigenschaft bekannt ist, kannst Du wie eins weiter unten auch über das Attribut auf den Wert zugreifen.

      Hier das Blockly zum Import:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="Zz(+DtU$uPpEY:Mgo{C~">input</variable>
         <variable id="8=$*!H(xy1^`AZEQeNE~">Objekt</variable>
       </variables>
       <block type="variables_set" id="i@E%AUGXpX;`=JuQumE*" x="-1037" y="-512">
         <field name="VAR" id="Zz(+DtU$uPpEY:Mgo{C~">input</field>
         <value name="VALUE">
           <block type="text" id="}PEXHXxBDJcv/OF#=4|3">
             <field name="TEXT">{     "preferredNextApiRequestAt": {         "secondOfHour": 794,         "epochTimeUtc": 1713737594     },     "status": 0,     "iLastPredictionGenerationEpochTime": 1713735201,     "weather_source_text": "&lt;a target=\"_blank\" href=\"https://www.dwd.de/DE/service/copyright/copyright_node.html\"&gt;&lt;img src=\"https://www.solarprognose.de/web/img/dwd_logo_258x69.png\"&gt;&lt;/a&gt;",     "datalinename": "Germany &gt; Ohlenbüttel",     "data": {         "20240421": 74.515     } }</field>
           </block>
         </value>
         <next>
           <block type="variables_set" id="765/wUu!s58uh0I_gH(-">
             <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
             <value name="VALUE">
               <block type="get_attr" id="Qr)T/h2jra_zYko_$T{=">
                 <value name="PATH">
                   <shadow type="text" id="U!ym|5$}*dIpoTyCS^H@">
                     <field name="TEXT">data</field>
                   </shadow>
                 </value>
                 <value name="OBJECT">
                   <block type="variables_get" id="i,D8WS38zv_n#y`DuZyQ">
                     <field name="VAR" id="Zz(+DtU$uPpEY:Mgo{C~">input</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="debug" id="h36.2[I}R`=v`,|uz~%_">
                 <field name="Severity">log</field>
                 <value name="TEXT">
                   <shadow type="text" id="V-n!Em:i+u+~7EZl#o:p">
                     <field name="TEXT">test</field>
                   </shadow>
                   <block type="variables_get" id="z1fV)iBgJq7n!Hfk;;D6">
                     <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="UGFUJqPd{S+@hd9xcfS%">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="XJi1WK{gHhP=Yv#Wi=?3">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="convert_jsonata" id="$,zuxsq(^[:9@-cHs(8g">
                         <value name="EXPRESSION">
                           <shadow type="text" id="1zurDIuQyI-K,qys$w0Z">
                             <field name="TEXT">$.*</field>
                           </shadow>
                         </value>
                         <value name="TARGET">
                           <block type="variables_get" id="})8i.I6Q#G`[n`vS?0;t">
                             <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id=",svsp;khW{!T$+BV*(c}">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id=")9%NhZ9}C(]{SsWQp~OE">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="get_attr" id="xHiM0scKFVv[.SafIhs#">
                             <value name="PATH">
                               <shadow type="text" id="{N1rfGmojLyWd?m,kK9|">
                                 <field name="TEXT">20240421</field>
                               </shadow>
                             </value>
                             <value name="OBJECT">
                               <block type="variables_get" id="-huXr#6}lL6HM@]yP%yb">
                                 <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

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

        @mickym OK, wie füge ich jetzt die url ein, bzw frag die ab

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

          @mischu-0 Na mit dem request Puzzleteil

          Ich glaube man muss eine Variable result erstellen.

          Probiere es mal so:

          9944decb-05cc-4b60-b41f-aecfb1af1a30-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="8=$*!H(xy1^`AZEQeNE~">Objekt</variable>
             <variable id="Zz(+DtU$uPpEY:Mgo{C~">result</variable>
           </variables>
           <block type="request" id="uHm%I5YOd^y41[[D6p:y" x="-987" y="-512">
             <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
             <field name="WITH_STATEMENT">FALSE</field>
             <field name="LOG"></field>
             <value name="URL">
               <shadow type="text" id="b%X0a{d#6T?*GNP;Nqg6">
                 <field name="TEXT">http://</field>
               </shadow>
             </value>
             <next>
               <block type="variables_set" id="765/wUu!s58uh0I_gH(-">
                 <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                 <value name="VALUE">
                   <block type="get_attr" id="Qr)T/h2jra_zYko_$T{=">
                     <value name="PATH">
                       <shadow type="text" id="U!ym|5$}*dIpoTyCS^H@">
                         <field name="TEXT">data</field>
                       </shadow>
                     </value>
                     <value name="OBJECT">
                       <block type="variables_get" id="i,D8WS38zv_n#y`DuZyQ">
                         <field name="VAR" id="Zz(+DtU$uPpEY:Mgo{C~">result</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="h36.2[I}R`=v`,|uz~%_">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="V-n!Em:i+u+~7EZl#o:p">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="z1fV)iBgJq7n!Hfk;;D6">
                         <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="UGFUJqPd{S+@hd9xcfS%">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="XJi1WK{gHhP=Yv#Wi=?3">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="convert_jsonata" id="$,zuxsq(^[:9@-cHs(8g">
                             <value name="EXPRESSION">
                               <shadow type="text" id="1zurDIuQyI-K,qys$w0Z">
                                 <field name="TEXT">$.*</field>
                               </shadow>
                             </value>
                             <value name="TARGET">
                               <block type="variables_get" id="})8i.I6Q#G`[n`vS?0;t">
                                 <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id=",svsp;khW{!T$+BV*(c}">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id=")9%NhZ9}C(]{SsWQp~OE">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="get_attr" id="xHiM0scKFVv[.SafIhs#">
                                 <value name="PATH">
                                   <shadow type="text" id="{N1rfGmojLyWd?m,kK9|">
                                     <field name="TEXT">20240421</field>
                                   </shadow>
                                 </value>
                                 <value name="OBJECT">
                                   <block type="variables_get" id="-huXr#6}lL6HM@]yP%yb">
                                     <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          Ggf. mach nochmal eine debug Ausgabe der result Variable und schau ob der JSON da rauskommt. Die URL musst halt noch eintragen

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

            @mickym
            20240421 ändert sich aber für jeden Tag

            8dc32997-afdb-407d-a097-8c4cafa61712-image.png

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

              @mischu-0

              Probier das mal so.

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="8=$*!H(xy1^`AZEQeNE~">Objekt</variable>
                 <variable id="Zz(+DtU$uPpEY:Mgo{C~">result</variable>
               </variables>
               <block type="request" id="uHm%I5YOd^y41[[D6p:y" x="-987" y="-512">
                 <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="b%X0a{d#6T?*GNP;Nqg6">
                     <field name="TEXT">http://</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="variables_set" id="765/wUu!s58uh0I_gH(-">
                     <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                     <value name="VALUE">
                       <block type="get_attr" id="Qr)T/h2jra_zYko_$T{=">
                         <value name="PATH">
                           <shadow type="text" id="U!ym|5$}*dIpoTyCS^H@">
                             <field name="TEXT">data</field>
                           </shadow>
                         </value>
                         <value name="OBJECT">
                           <block type="variables_get" id="i,D8WS38zv_n#y`DuZyQ">
                             <field name="VAR" id="Zz(+DtU$uPpEY:Mgo{C~">result</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </statement>
                 <next>
                   <block type="debug" id="h36.2[I}R`=v`,|uz~%_">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="V-n!Em:i+u+~7EZl#o:p">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="z1fV)iBgJq7n!Hfk;;D6">
                         <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="UGFUJqPd{S+@hd9xcfS%">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="XJi1WK{gHhP=Yv#Wi=?3">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="convert_jsonata" id="$,zuxsq(^[:9@-cHs(8g">
                             <value name="EXPRESSION">
                               <shadow type="text" id="1zurDIuQyI-K,qys$w0Z">
                                 <field name="TEXT">$.*</field>
                               </shadow>
                             </value>
                             <value name="TARGET">
                               <block type="variables_get" id="})8i.I6Q#G`[n`vS?0;t">
                                 <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id=",svsp;khW{!T$+BV*(c}">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id=")9%NhZ9}C(]{SsWQp~OE">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="get_attr" id="xHiM0scKFVv[.SafIhs#">
                                 <value name="PATH">
                                   <shadow type="text" id="{N1rfGmojLyWd?m,kK9|">
                                     <field name="TEXT">20240421</field>
                                   </shadow>
                                 </value>
                                 <value name="OBJECT">
                                   <block type="variables_get" id="-huXr#6}lL6HM@]yP%yb">
                                     <field name="VAR" id="8=$*!H(xy1^`AZEQeNE~">Objekt</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

              42701c24-c4f7-4983-9143-01a286a84609-image.png

              @mickym

              20240421 ändert sich aber für jeden Tag

              Ja deswegen wird nur die JSONATA Lösung funktionieren - also kannst das mit dem Attribut löschen. Das dient nur mal der Veranschaulichung.

              Mach vielleicht noch ein debug für das result rein

              b9116da5-8d7d-4d2f-a508-784613002d33-image.png

              damit man sieht ob der Abruf klappt.

              M paul53 2 Replies Last reply Reply Quote 0
              • M
                MiSchu 0 @mickym last edited by MiSchu 0

                @mickym
                hinbekommen

                Screenshot 2024-04-22 002342.png

                VIELEN DANK

                ich muss jetzt erstmal ins Bett

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

                  @mischu-0 Ja das Objekt kannst auch außerhalb der Klammer verwenden und dann das Array wegschreiben, oder was Du sonst damit machen willst.

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

                    @mischu-0 sagte in Daten aus XML URL auslesen und verwenden:

                    ich muss jetzt erstmal ins Bett

                    Dann gute Nacht. Du findest sicher eine Menge Helfer - ich bin wie gesagt, kein Freund der Puzzleteile.

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

                      Also den Wert habe ich jetzt ja. Verwenden innerhalb des Blocklys ist nun kein Problem.

                      Aber kann ich diesen Wert nun auch in ein iobrocker - objekt senden, so das ich ihn in anderen Skripten verwenden kann ?

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @MiSchu 0 last edited by

                        @mischu-0
                        Klar!
                        Einfach einen eigenen DP unterhalb von 0_userdata.0 anlegen und den Wert per "Aktualisiere" dort reinschreiben.

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

                          @codierknecht
                          ok

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

                            @mickym sagte: deswegen wird nur die JSONATA Lösung funktionieren

                            Es geht auch ohne JSONATA.

                            Blockly_temp.JPG

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            920
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            4
                            30
                            1098
                            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