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 @mickym last edited by

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

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

      im Grunde würden ja auch nur die Werte genügen, ohne Datumszuordnung. Es sind jeden Tag 24. also von 0 Uhr bis 23 Uhr.
      Probleme sehe ich nur bei Wechsel auf Sommerzeit da sinds plötzlich nur 23 Werte bzw. im Herbst dann mal 25 Werte und da wäre die Zuordnung ideal.

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

        @manfredhi Ja aber deswegen habe ich dir doch Objekte gemacht - wenn Du willst kannst ja dann schauen, ob Du nur die Werte oder das Objekt haben willst - aber warum willst Du weiter mit dem string Chaos weiterarbeiten?

        Wenn du lieber Dein Stringchaos behalten möchtest, dann halt so: https://try.jsonata.org/g1gX0dk1Y

        f22625df-4418-4b59-9561-4127d21874c6-image.png

        [
          "2024-01-13T23:00:00.000Z",
          "69.56",
          "2024-01-14T00:00:00.000Z",
          "67.53",
          "2024-01-14T01:00:00.000Z",
          "66.78",
          "2024-01-14T02:00:00.000Z",
          "66.32",
          "2024-01-14T03:00:00.000Z",
          "66.54"
        ]
        

        So wie Du es wünschst.

        Oder so wenn Du ein Array mit Strings und in Zahl konvertierten Wert haben möchest:
        : https://try.jsonata.org/5AZsbw1r9

        [
          "2024-01-13T23:00:00.000Z,69.56",
          "2024-01-14T00:00:00.000Z,67.53",
          "2024-01-14T01:00:00.000Z,66.78",
          "2024-01-14T02:00:00.000Z,66.32",
          "2024-01-14T03:00:00.000Z,66.54"
        ]
        

        oder wenn Du Strings so sehr liebst dann halt alles in einem String:
        https://try.jsonata.org/RvEH4MzlH

        "2024-01-13T23:00:00.000Z,69.56,2024-01-14T00:00:00.000Z,67.53,2024-01-14T01:00:00.000Z,66.78,2024-01-14T02:00:00.000Z,66.32,2024-01-14T03:00:00.000Z,66.54"
        

        Und wenn du halt unbedingt ein Array mit Deinem String haben willst dann machst halt um das Join noch eine eckige Klammer. Macht aber alles in meinen Augen keinen Sinn.

        Nun hast Du alle möglichen Ausgaben - von Objekten oder diversen Strings.

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

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

          Wäre das den nicht viel schöner:
          : https://try.jsonata.org/bz5mJZ3T_

          meinst du ich soll es so machen ?
          Wenn ja, wenn ich das in den jsonata eintrage, bekomme ich einen Fehler.

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

            @manfredhi Ich würde es mit Objekten machen - aber wenn Du nur die Werte haben willst. Ich hab doch keine Ahnung was Du willst. Ich habe Dir doch alle Möglichkeiten gezeigt - was willst Du denn machen - warum willst du überhaupt das Datum, wenn Du es nicht weiterverarbeitest?

            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 sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:

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

              im Grunde würden ja auch nur die Werte genügen, ohne Datumszuordnung. Es sind jeden Tag 24. also von 0 Uhr bis 23 Uhr.
              Probleme sehe ich nur bei Wechsel auf Sommerzeit da sinds plötzlich nur 23 Werte bzw. im Herbst dann mal 25 Werte und da wäre die Zuordnung ideal.

              Die Anzahl der Werte spielen doch für JSONATA oder regex keine Rolle. Wenn Du das Datum prüfen willst, dann würde ich die Objekte nehmen.

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

                @mickym
                du hast mir jetzt mal verschiedene wege aufgezeigt. vielen dank dafür.
                derzeit lese ich die daten von epexspot aus, da hab ich auch nur die 24 Werte ohne Datum und die Aufbereitung eines Json mit Datum und diversen Berechnungen läuft derzeit eh einwandfrei.
                Mit den Daten von jetzt will ich mir nur eine zweite Quelle für das Auslesen der Daten von einer anderen Homepage schaffen und vorbereiten, sollte das andere nicht funktionieren, und da ist halt jetzt auch das Datum mit dabei.
                Danke jedenfalls mal dass Du so geduldig mit mir bist und soviel zeit dafür investierst.
                Wenn ich mal wieder nicht weiter weiß, darf ich mich hoffentlich bitte wieder bei dir melden.

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

                  @manfredhi Also hier hast Du alles mit Datum und Wert

                  20292507-5568-4b1c-98c6-bff8a6f515b8-image.png

                  Und das Blockly zum Import. Nach dem Objekt kannst Du über die Attribute auf das Datum mit dem zugehörigen Wert zugreifen.

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="C*(%s2V?l2/ZMsDD,BM,">Liste</variable>
                     <variable id="d`)?8*7%K1}V`kUC1;/B">i</variable>
                   </variables>
                   <block type="variables_set" id="v(j/%p78,qDwA0}A=FwF" x="-1313" y="-962">
                     <field name="VAR" id="C*(%s2V?l2/ZMsDD,BM,">Liste</field>
                     <value name="VALUE">
                       <block type="convert_jsonata" id="xz5ijXAFL3gB`SY##:zK">
                         <value name="EXPRESSION">
                           <shadow type="text" id="JZ*(!0?Y2d1j]_jS^.(W">
                             <field name="TEXT">$match($,/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z).*?&gt;(-?\d+\.\d+)/).{"date":groups[0],"value":groups[1]}</field>
                           </shadow>
                         </value>
                         <value name="TARGET">
                           <block type="text" id="g=?.U|g3!nPIM8!Okui4">
                             <field name="TEXT">&lt;tr&gt; &lt;td rowspan="1" class="first"&gt;00:00 - 01:00&lt;/td&gt; &lt;td class="dv-value-cell"&gt;&lt;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"&gt;69.56&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="1" class="first"&gt;01:00 - 02:00&lt;/td&gt; &lt;td class="dv-value-cell"&gt;&lt;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"&gt;67.53&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="1" class="first"&gt;02:00 - 03:00&lt;/td&gt; &lt;td class="dv-value-cell"&gt;&lt;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"&gt;66.78&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="1" class="first"&gt;03:00 - 04:00&lt;/td&gt; &lt;td class="dv-value-cell"&gt;&lt;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"&gt;66.32&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="1" class="first"&gt;04:00 - 05:00&lt;/td&gt; &lt;td class="dv-value-cell"&gt;&lt;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"&gt;66.54&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="$mUXBli_e}bd4hA?t2Ls">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="+:$J:sSMpe_Z8M4p0YYN">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="l5qP~-]nz`1`-58R/5nZ">
                             <field name="VAR" id="C*(%s2V?l2/ZMsDD,BM,">Liste</field>
                           </block>
                         </value>
                         <next>
                           <block type="controls_forEach" id="!7jgA`{UL-[r:;!@yoXJ">
                             <field name="VAR" id="d`)?8*7%K1}V`kUC1;/B">i</field>
                             <value name="LIST">
                               <block type="variables_get" id="77ohO+SY?J6?{a=%]aA/">
                                 <field name="VAR" id="C*(%s2V?l2/ZMsDD,BM,">Liste</field>
                               </block>
                             </value>
                             <statement name="DO">
                               <block type="debug" id="~tgZ^)%;8xrn5R9kJXH[">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="h/,HHch?qZVXTZx2rTjj">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="text_join" id="~!lR(NC)7]j,n;R^Hh=;">
                                     <mutation items="2"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="(sue[4in3N@Hopwbh_.G">
                                         <field name="TEXT">Datum: </field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="get_attr" id="6.V#XH?Y;R`Z$Wn~$ISY">
                                         <value name="PATH">
                                           <shadow type="text" id="t$xv8DI1M/HM?6T+8eZ|">
                                             <field name="TEXT">date</field>
                                           </shadow>
                                         </value>
                                         <value name="OBJECT">
                                           <block type="variables_get" id="xN@oWcn#X!fKqf{si,4M">
                                             <field name="VAR" id="d`)?8*7%K1}V`kUC1;/B">i</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="XTkoukmL*_xw27D]QS=$">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="L(OeR6i31|-=rxy%-k[#">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="text_join" id="g{yGW$$%DHW(8xTQEZR$">
                                         <mutation items="2"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="Jat$dX8m[%pw4O1Zf0Sy">
                                             <field name="TEXT">Wert: </field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="get_attr" id="5*X=Ftz:vj*/G2|(Qk.W">
                                             <value name="PATH">
                                               <shadow type="text" id="rnLpZXy5eD5,GMrU6=}|">
                                                 <field name="TEXT">value</field>
                                               </shadow>
                                             </value>
                                             <value name="OBJECT">
                                               <block type="variables_get" id="o9Q8nv:{!xjqMPErJ#64">
                                                 <field name="VAR" id="d`)?8*7%K1}V`kUC1;/B">i</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Wenn Du die Werte ohne Datum willst - dann kannst Du das ganze ja mit oder ohne Datum machen.

                  Warum zum Schluss ein undefined rauskommt - weiß ich nicht. Das scheint wieder so ein Blockly Mist zu sein. Da muss ggf. @paul53 Aufschluss geben - Eigentlich enthält die Liste nur 5 Objekte. Warum die Schleife noch ein 6. Mal durchlaufen wird - ist mir wieder ein Rätsel - aber wie gesagt ich bin eh kein Puzzlefan.

                  M 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
                    du hast mir jetzt mal verschiedene wege aufgezeigt. vielen dank dafür.
                    derzeit lese ich die daten von epexspot aus, da hab ich auch nur die 24 Werte ohne Datum und die Aufbereitung eines Json mit Datum und diversen Berechnungen läuft derzeit eh einwandfrei.
                    Mit den Daten von jetzt will ich mir nur eine zweite Quelle für das Auslesen der Daten von einer anderen Homepage schaffen und vorbereiten, sollte das andere nicht funktionieren, und da ist halt jetzt auch das Datum mit dabei.
                    Danke jedenfalls mal dass Du so geduldig mit mir bist und soviel zeit dafür investierst.
                    Wenn ich mal wieder nicht weiter weiß, darf ich mich hoffentlich bitte wieder bei dir melden.

                    Wenn Du nur die Werte haben willst ohne das Datum dann halt einfach das regex anpassen

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

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

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

                      Warum zum Schluss ein undefined rauskommt - weiß ich nicht. Das scheint wieder so ein Blockly Mist zu sein. Da muss ggf. @paul53 Aufschluss geben - Eigentlich enthält die Liste nur 5 Objekte. Warum die Schleife noch ein 6. Mal durchlaufen wird - ist mir wieder ein Rätsel - aber wie gesagt ich bin eh kein Puzzlefan.

                      Danke. Ich mach das immer so, damit dieses undefined nicht kommt:

                      91ef6fc1-7104-4ce8-96dd-4eaf541080a9-image.png

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

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

                        Wenn Du nur die Werte haben willst ohne das Datum dann halt einfach das regex anpassen

                        Vielen Dank. Hab mir jetzt mal alle möglichkeiten angelegt und nachgebaut. So dass mal jede Variante funktioniert. Für welche ich mich dann endgültig entscheide überlege ich noch.

                        Auf jeden Fall großes DANKE an dich.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        843
                        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