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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Daten aus XML URL auslesen und verwenden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MiSchu 0 @mickym last edited by

      @mickym ja, also ab jetzt verstehe ich nur noch Bahnhof. Ich bin erst seit einigen Tagen dabei.

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

        @mischu-0
        Dann fangen wir doch mal ganz langsam an.

        Poste mal hier das JSON was da rauskommt.

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

          @mischu-0 Na Du brauchst nur den JSON den Du rausbekommst hier mal in code-Tags einstellen. Dann stellen wir dir ein paar Puzzleteile zusammen.

          Schau wenn der JSON so ähnlich aussieht, wie eben von mir gepostet:

          Dann bekommst Du so alle Werte raus.

          4599563f-2e8d-499b-a674-74295219f00e-image.png

          Du kannst aber auch auf das 1. und 2. Element direkt über das Listenpuuzleteil zugreifen.

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

            @mickym Wenn das ganze in ein Objekt response eingebettet ist, dann greifst Du über das Attribut "response.data" auf das Objekt/Array zu. Aber kopiere einfach die Ausgabe Deiner HTTP Ausgabe als JSON hier in Codetags rein.

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

              Ich konnte zumindest den einen Tag rausfiltern den ich benötige.
              Ich benötige den Wert: 74.515

              Screenshot 2024-04-21 233602.png

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

                @mischu-0
                Mit 'nem Bildchen können wir wenig anfangen.

                Wie @mickym schon schrieb: In Code-Tags einbetten.

                6906f15e-0b05-43d3-9a33-39098379b2f0-grafik.png

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

                  @mischu-0 Sehr gut. Und nun markiere das Ganze - kopiere es mit Strg+C in die Zwischenablage und dann hier in Codetags wie hier beschrieben mit Strg+V rein.

                  Code-Tags.gif

                  Achte darauf dass die 3 Hochkommas in der ersten und letzten Zeile erhalten bleiben.
                  Dann können wir das rauskopieren und selbst verwenden:

                  Ich befürchte aber wir werden JSONATA verwenden. 🙄 aber ich zeigs Dir wenn Du das hier reinkopiert hast.

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

                    {
                        "preferredNextApiRequestAt": {
                            "secondOfHour": 794,
                            "epochTimeUtc": 1713737594
                        },
                        "status": 0,
                        "iLastPredictionGenerationEpochTime": 1713735201,
                        "weather_source_text": "<a target=\"_blank\" href=\"https://www.dwd.de/DE/service/copyright/copyright_node.html\"><img src=\"https://www.solarprognose.de/web/img/dwd_logo_258x69.png\"></a>",
                        "datalinename": "Germany > Ohlenbüttel",
                        "data": {
                            "20240421": 74.515
                        }
                    }
                    
                    mickym 1 Reply Last reply Reply Quote 1
                    • mickym
                      mickym Most Active @MiSchu 0 last edited by mickym

                      Super ja so funktioniert es!!! 👍 👍 👍

                      1 Reply Last reply Reply Quote 0
                      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            792
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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