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.
    • D
      djsirius last edited by djsirius

      Moin.

      ich habe unter Objekte einen Wert, der mehrere Werte beinhaltet (siehe Screenshot). Wie kann man die Werte trennen, damit man sie einzeln benutzen kann?

      Vielen Dank!!

      2019-04-11 11_40_26-objects - ioBroker.png

      Gruß
      Sirius

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            825
                                            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