Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Mehrere Werte Trennen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Mehrere Werte Trennen

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

      Screenshots bitte direkt einbinden und nicht auf externen Quellen ablegen

      Alle Werte sind Komma separiert, das könntest Du bspw. über eine RegEX abfragen

      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer last edited by

        const text = getState("deine.state.id").val;
        const values = text.split(",").map(part => parseInt(part));
        // ^ values enthält die einzelnen Einträge als Zahl.
        
        D 1 Reply Last reply Reply Quote 2
        • D
          djsirius @AlCalzone last edited by

          @AlCalzone said in Mehrere Werte Trennen:

          const text = getState("deine.state.id").val; const values = text.split(",").map(part => parseInt(part)); // ^ values enthält die einzelnen Einträge als Zahl.

          Vielen Dank! Aber wo und wie kann ich den Wert aus values beziehen und weiter bearbeiten? ich benötige nur den aller ersten Wert.

          Thisoft 1 Reply Last reply Reply Quote 0
          • Thisoft
            Thisoft @djsirius last edited by

            @djsirius

            var derErsteWert = values[0];
            
            1 Reply Last reply Reply Quote 0
            • D
              djsirius last edited by

              Hallo.

              Kann man das auch irgendwie in Blockly darstellen?
              Ich will die Daten ja in meine Visualisierung darstellen und ich weiß nicht wie ich dann auf die Daten zugreifen kann.
              Vielen Dank!

              Sirius

              1 Reply Last reply Reply Quote 0
              • D
                djsirius last edited by

                Ich habe es mit Blockly hinbekommen.

                Vielen Dank!

                BBTown 1 Reply Last reply Reply Quote -1
                • BBTown
                  BBTown @djsirius last edited by BBTown

                  @djsirius dann stell es doch hier für andere User als Besipiel rein, so hilft es nur Dir 😉

                  1 Reply Last reply Reply Quote 1
                  • E
                    Einstein 0 @djsirius last edited by

                    @djsirius habe das gleiche Problem.
                    Gibt es eine Lösung mit Blockly?
                    Gruß Einstein

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

                      @einstein-0 du erstellst eine Liste mit dem trennzeichen Komma.

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

                        @mickym danke, kannst du mir kurz einen Screenshot hier hochladen?
                        Bild sagt mehr als...
                        Dank dir.

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

                          @einstein-0
                          Bei so einem Datenpunkt oder Wert

                          1cb4fa1e-cfff-4320-848d-1f4d6c5d54e3-image.png

                          erzeugst Du eine Liste und kannst dann auf die einzelnen Elemente direkt zugreifen:

                          2738dc74-d9c5-4424-8523-d6ce8888af5b-image.png

                          <xml xmlns="https://developers.google.com/blockly/xml">
                           <variables>
                             <variable id="lku$YIe5iNvg1c$0Ej,z">liste</variable>
                           </variables>
                           <block type="on_ext" id="mkO%Z3hLLOUOe/JOKo;/" x="88" y="138">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                             <field name="CONDITION">any</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="u|HFU}~U!(lMhz.+`Qu`">
                                 <field name="oid">0_userdata.0.Test.Mixed</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="variables_set" id="!_ReOO.aP~]s_RBwvEo$">
                                 <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                 <value name="VALUE">
                                   <block type="lists_split" id="wackJ;CXw%5w!:t`UF:B">
                                     <mutation mode="SPLIT"></mutation>
                                     <field name="MODE">SPLIT</field>
                                     <value name="INPUT">
                                       <block type="on_source" id="*+jP{ar9lGKI|.y|469d">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <value name="DELIM">
                                       <shadow type="text" id="RLPo^z;7koFU~sWfC!jp">
                                         <field name="TEXT">,</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="Jb2.$vM3{Fmo?#)p^#^Y">
                                     <field name="Severity">log</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="_)-yS#bL]%OGE!Os}ri:">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="[Jp$$T!|U+qz0+}e?L^|">
                                         <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="JI#LvbglwL~(Tq1[Nigr">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="smRMqfV(/Q5a^wn~U5X=">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="lists_getIndex" id="V7k,M7q`)ECHz`nHtJ/x">
                                             <mutation statement="false" at="true"></mutation>
                                             <field name="MODE">GET</field>
                                             <field name="WHERE">FROM_START</field>
                                             <value name="VALUE">
                                               <block type="variables_get" id="%CfXx9b`s=7/1fCf].J2">
                                                 <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                               </block>
                                             </value>
                                             <value name="AT">
                                               <block type="math_number" id="3!|+a2_)C5pvSU*e3W4p">
                                                 <field name="NUM">2</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                          </xml>
                          

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

                            @mickym also egal wie ich es drehe, es will einfach nicht funktionieren
                            Er bleibt einfach immer beim ersten debug output hängen und scheint die Werte nicht weiter nach unten zu reichen.

                            Noch eine Idee woran das liegen kann?

                            5fac206d-e66d-488e-8090-b16d8c6ee1a5-grafik.png

                            Homoran mickym 2 Replies Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Einstein 0 last edited by

                              @einstein-0 sagte in Mehrere Werte Trennen:

                              immer beim ersten debug output

                              der debug Baustein befindet sich außerhalb von einem Trigger und wird nur bei Skriptstart aktiv

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

                                @einstein-0 das mit meinem Trigger war doch nur ein Beispiel. Du hast doch schon eine Liste - auf welche Werte willst Du denn zugreifen? Und wenn das Deine Liste ist - die in Deinem Debug ist und Du möchtest die Sortieren - dann kannst Du das direkt mit dem JSONATA machen - ausserdem ist das ja eine Liste in einer Liste.

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

                                  @mickym ich brauch immer den ersten Wert aus dem Ergebnis der Tabelle.
                                  b85d1ce9-e84d-4756-8c58-d0fac5fad833-grafik.png

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

                                    @einstein-0 OK - um es mal klar zu machen, Du hast folgende Liste erstellt:

                                    [['4',0.2543],['3',0.2545],['2',0.2605]]
                                    

                                    und möchtest dieses Ergebnis haben?

                                    [['2',0.2605],['3',0.2545],['4',0.2543]]
                                    
                                    E 1 Reply Last reply Reply Quote 0
                                    • E
                                      Einstein 0 @mickym last edited by

                                      @mickym also ich möchte das hier nur die Stunde steht, also die Zahl.
                                      Es wird aber der ganze Wert also Stunde und Preis rein geschrieben.

                                      97473325-4897-4a0e-97be-7903950e723e-grafik.png

                                      ba524810-2835-4195-9d00-1438f39cb7f6-grafik.png

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

                                        @einstein-0 Das sind Listen in der Liste - um die einzelnen Werte herauszulösen musst Du die Liste über eine Schleife iterieren.

                                        ccbe5796-b3e4-4819-925d-1ce440d56b63-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <variables>
                                           <variable id="lku$YIe5iNvg1c$0Ej,z">liste</variable>
                                           <variable id="+EQ]^**(f1=abAu.Aa#f">i</variable>
                                         </variables>
                                         <block type="variables_set" id="#{z9Q!0km6$_6EzsuXGj" x="-1062" y="38">
                                           <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                           <value name="VALUE">
                                             <block type="convert_jsonata" id="m0aREl#Cn8]G#uPnS`M*">
                                               <value name="EXPRESSION">
                                                 <shadow type="text" id="CqqLMaIltCf-ffsG9#Ft">
                                                   <field name="TEXT">[['4',0.2543],['3',0.2545],['2',0.2605]]</field>
                                                 </shadow>
                                               </value>
                                               <value name="TARGET">
                                                 <block type="text" id="rIrm8`d^x/ffRm.f1p3{">
                                                   <field name="TEXT"></field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="D^:m#Qv-67um.b_3O3[S">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="R{iZ36IcY}{48ntEy(TX">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id="Uk7/9?nWG)0*mI+RvPC%">
                                                   <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="controls_forEach" id="igN;;}v9LZyu?K{UVtnq">
                                                   <field name="VAR" id="+EQ]^**(f1=abAu.Aa#f">i</field>
                                                   <value name="LIST">
                                                     <block type="variables_get" id="8x{KZYY,-N.cb(+]qk8F">
                                                       <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                     </block>
                                                   </value>
                                                   <statement name="DO">
                                                     <block type="debug" id="9eh~=?bc7mu!dy?Ws+sB">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="@ZQ]?skum;9{Hn*O%=:?">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="lists_getIndex" id="L%WWtaR!8T6s-x%S#c!s">
                                                           <mutation statement="false" at="true"></mutation>
                                                           <field name="MODE">GET</field>
                                                           <field name="WHERE">FROM_START</field>
                                                           <value name="VALUE">
                                                             <block type="variables_get" id="@Wj(%Z.pYT4EeVV.d4Xm">
                                                               <field name="VAR" id="+EQ]^**(f1=abAu.Aa#f">i</field>
                                                             </block>
                                                           </value>
                                                           <value name="AT">
                                                             <block type="math_number" id="ZiwsRlL1$}VVy4Q6a*tR">
                                                               <field name="NUM">1</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                        </xml>
                                        

                                        Den Index kannst Dir ja auch ausgeben lassen, damit Du das dann in den entsprechenden Datenpunkt zuweisen kannst.

                                        548b792e-116f-4bfe-8ed7-47aa3512630d-image.png

                                        Du könntest die Werte aber auch vorher sortieren, dann brauchst Du das nicht so mühsam machen da du dann die Datenpunkte den Werten direkt zurodnen kannst.

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

                                          Wenn Du Deine Werte aber einfach sortieren willst, dann solltest du keine Verrenkungen mit der Liste in Liste machen.

                                          13ee1e7a-7289-4a93-9e29-0f9f6bc3002e-image.png

                                          Das sortiert Dir die Liste und du kannst jeden Wert in einen anderen Datenpunkt schreiben.

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="lku$YIe5iNvg1c$0Ej,z">liste</variable>
                                             <variable id="xi5qt{!-3U!jw+W%{(+c">Element</variable>
                                             <variable id="+EQ]^**(f1=abAu.Aa#f">i</variable>
                                           </variables>
                                           <block type="variables_set" id="#{z9Q!0km6$_6EzsuXGj" x="-1112" y="-62">
                                             <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                             <value name="VALUE">
                                               <block type="lists_split" id="2pggDKnSmDQLM,`h9E]a">
                                                 <mutation mode="SPLIT"></mutation>
                                                 <field name="MODE">SPLIT</field>
                                                 <value name="INPUT">
                                                   <block type="text" id="h!8W82yF=QrO*7AhE/ty">
                                                     <field name="TEXT">0.2548,0.2545,0.2605</field>
                                                   </block>
                                                 </value>
                                                 <value name="DELIM">
                                                   <shadow type="text" id="dwkW8Vhs`T`b}Hm^,5`4">
                                                     <field name="TEXT">,</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="D^:m#Qv-67um.b_3O3[S">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="R{iZ36IcY}{48ntEy(TX">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="variables_get" id="Uk7/9?nWG)0*mI+RvPC%">
                                                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="dQJ.x[38#k,]PG:tVQI1">
                                                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                     <value name="VALUE">
                                                       <block type="lists_sort" id="p,g(EunB!^k1}54z0)Y4">
                                                         <field name="TYPE">NUMERIC</field>
                                                         <field name="DIRECTION">1</field>
                                                         <value name="LIST">
                                                           <block type="variables_get" id="D7R@]DB1x}@GDP^EO3Kf">
                                                             <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="debug" id="hbN2/[;m=p$-jyOyhLy4">
                                                         <field name="Severity">log</field>
                                                         <value name="TEXT">
                                                           <shadow type="text" id="R{iZ36IcY}{48ntEy(TX">
                                                             <field name="TEXT">test</field>
                                                           </shadow>
                                                           <block type="variables_get" id="++H(8Dn-S~r$TM=[WS:C">
                                                             <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="t$IEh8ARb_~ivBVoP!:b">
                                                             <field name="VAR" id="xi5qt{!-3U!jw+W%{(+c">Element</field>
                                                             <value name="VALUE">
                                                               <block type="math_number" id="36DWx/nU|Nr@1~@5^9J+">
                                                                 <field name="NUM">0</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="controls_forEach" id="igN;;}v9LZyu?K{UVtnq">
                                                                 <field name="VAR" id="+EQ]^**(f1=abAu.Aa#f">i</field>
                                                                 <value name="LIST">
                                                                   <block type="variables_get" id="ZUoATDL9}bCy8JA?sRWb">
                                                                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO">
                                                                   <block type="math_change" id=",{5^3c0NUTQTO3}lJa,5">
                                                                     <field name="VAR" id="xi5qt{!-3U!jw+W%{(+c">Element</field>
                                                                     <value name="DELTA">
                                                                       <shadow type="math_number" id="r;C.5y.f~qbz5aPAQ6wk">
                                                                         <field name="NUM">1</field>
                                                                       </shadow>
                                                                     </value>
                                                                     <next>
                                                                       <block type="controls_if" id="a~)ge;L@u3vy^v.=}`d$">
                                                                         <mutation elseif="1"></mutation>
                                                                         <value name="IF0">
                                                                           <block type="logic_compare" id="N,39WfF{}=~T1a1k4Ewm">
                                                                             <field name="OP">EQ</field>
                                                                             <value name="A">
                                                                               <block type="variables_get" id="_}7cOl6hY`?.?GsG]i*b">
                                                                                 <field name="VAR" id="xi5qt{!-3U!jw+W%{(+c">Element</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="math_number" id="I+7V5A~^(No2j@uTw;LF">
                                                                                 <field name="NUM">1</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO0">
                                                                           <block type="debug" id="@oj2q5HM;@Bz4Bt,NDIQ">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id=";:oxaAS95P(*cM!Y1.#o">
                                                                                 <field name="TEXT">test</field>
                                                                               </shadow>
                                                                               <block type="text_join" id="Yivj+|;5%U{00K]EFM3{">
                                                                                 <mutation items="2"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id="2|eQ+xJ|.zi!Sz#1hDk8">
                                                                                     <field name="TEXT">aktualisiere Wert 1 mit: </field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="5Q.TZFY{BZO[3UPp/AdM">
                                                                                     <field name="VAR" id="+EQ]^**(f1=abAu.Aa#f">i</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                         <value name="IF1">
                                                                           <block type="logic_compare" id="kLNS*Ry8zVi=+3dO?12^">
                                                                             <field name="OP">EQ</field>
                                                                             <value name="A">
                                                                               <block type="variables_get" id="U7}7+YK9YK5l;SDP%#AI">
                                                                                 <field name="VAR" id="xi5qt{!-3U!jw+W%{(+c">Element</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <block type="math_number" id="g%]mNx*K}O]RM}z6oz/F">
                                                                                 <field name="NUM">2</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <statement name="DO1">
                                                                           <block type="debug" id="YDNrZ-8Bv#QV6_N.pB-[">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="CT;i%YgZ(p,DWt3Uo5]d">
                                                                                 <field name="TEXT">test</field>
                                                                               </shadow>
                                                                               <block type="text_join" id="01V7B3o*^qOeOJ}^nbu-">
                                                                                 <mutation items="2"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id=".N?JAX;tls:2A/J1H_LK">
                                                                                     <field name="TEXT">aktualisiere Wert 2 mit: </field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="Q4Cz/kUj_~4K,dgJXOlF">
                                                                                     <field name="VAR" id="+EQ]^**(f1=abAu.Aa#f">i</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </statement>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          

                                          Und wenn Du ganz schlau bist, dann nimmst Du Node-Red - damit kannst Du Werte sortieren und sogar die Datenpunkte selbst erstellen lassen. 😉

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

                                            @mickym hab jetzt mal so versucht und es schreibt mir den letzten höchsten Wert in den Datenpunkt. (Wert 6)
                                            Weis auch nicht warum er nicht den ersten Wert der sortierten Liste nimmt.

                                            8740a6a3-17d7-45e5-bcfb-4151c106a694-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            816
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            7
                                            44
                                            1966
                                            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