NEWS
Mal wieder Bearbeitung von erzeugten Listen
-
Guten Morgen,
das Bearbeiten von mit Skripten erzeugten Listen bereitet mir noch Kopfschmerzen.
Ich brauch da nochmal Unterstützung.
Über folgendes Blockly erzeuge ich mir eine Liste mit Mac-Adressen:
<block xmlns="https://developers.google.com/blockly/xml" type="schedule_create" id="p{JH-w___!#NoWc%H.xa" x="913" y="-162"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="*c,ozorf-ukDF{BOY#bU"> <field name="CRON">* * * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="Z.}rdH!/;96YIdhWXSz{"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Q,1)^M%sNRUk}GtLF=51"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="8i#I-OtxR/.6WT_ic~=5"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="gL2**a)J^WJ1]DOfW+IU"> <field name="TEXT">Trigger hat aktualisiert!</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Z[%W+Lr1mIic7hmCGiK~"> <field name="VAR" id="I|c!zn3z=J?mtu(xi$dj">macliste</field> <value name="VALUE"> <block type="lists_create_with" id="WYNoUiH~bOV~*|#7gX!G"> <mutation items="0"></mutation> </block> </value> <next> <block type="controls_forEach" id="C0PmH{n5n7_x0SvWa1~C"> <field name="VAR" id="W4;X?oU/157mw-PzDQBj">i</field> <value name="LIST"> <block type="selector" id="N7TI=~k~pRF/Bb^jL[r|"> <field name="TEXT">channel[state.id=unifi.0.default.clients.*.mac]</field> </block> </value> <statement name="DO"> <block type="lists_setIndex" id="K%|fcw[c5=V(|C5``c,F" inline="false"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="D}5N@m,iVB.x/M_.c00N"> <field name="VAR" id="I|c!zn3z=J?mtu(xi$dj">macliste</field> </block> </value> <value name="TO"> <block type="lists_create_with" id="jLzATrp[BYaUr5#xEgOg"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="=4hR%DR=ZyMA3GkA!Wke"> <field name="VAR" id="W4;X?oU/157mw-PzDQBj">i</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id=",m#|GDAn.y99dqu3~zQO"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="R)K|c8|peW-,`,H.#!rT"> <field name="oid">ID auswählen</field> </shadow> <block type="variables_get" id="N!J9yh=:.I]Os;_tfli["> <field name="VAR" id="W4;X?oU/157mw-PzDQBj">i</field> </block> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="update" id="~fL~tIck4G8z%%]yzIAy"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.it.test.testliste_it</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="_Yy@brsm04O7}XG!pZg#"> <field name="VAR" id="I|c!zn3z=J?mtu(xi$dj">macliste</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
Das Ergebnis im DP sieht so aus, wobei das nicht vollständig ist:
Daraus lese ich den jeweils ersten Eintrag aus und lasse diesen zeitgleich löschen. Damit möchte ich weiterarbeiten.
<block xmlns="https://developers.google.com/blockly/xml" type="on" id="QJ[PiL_cEe]y0?6AauJ+" x="937.1389785106653" y="312.4999999999999"> <field name="OID">0_userdata.0.it.test.testliste_it</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="R.lFQo:TC`=(r:_cO)#6"> <field name="VAR" id="Z40ityO@RQa$E6Ck#2SM">bearbeitung</field> <value name="VALUE"> <block type="lists_create_with" id="7EO`G@@O?*Z])Es+rjg~"> <mutation items="0"></mutation> </block> </value> <next> <block type="lists_setIndex" id="gK/DbSM2!?2{=s@8Yopc" inline="false"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="z=oHMJ)TFbZq[MKQz*P/"> <field name="VAR" id="Z40ityO@RQa$E6Ck#2SM">bearbeitung</field> </block> </value> <value name="TO"> <block type="lists_getIndex" id="FPg^fZneuE/A?c;q#f*$"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET_REMOVE</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="5ZK8%QG;N|JRc[p|@rg|"> <field name="VAR" id="I|c!zn3z=J?mtu(xi$dj">macliste</field> </block> </value> <value name="AT"> <block type="math_number" id="cu=J~sU@b@pQ|!Q^V}@+"> <field name="NUM">1</field> </block> </value> </block> </value> <next> <block type="update" id="m9e+9fIEAyON,QNKguXK"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.it.test.testliste_2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^N/|Bf4SLxj?UOncFI!@"> <field name="VAR" id="Z40ityO@RQa$E6Ck#2SM">bearbeitung</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block>
Der Eintrag im DP sieht wie erwartet so aus:
Und jetzt fängt mein Problem bzw. mein Unverständnis an.
Wie bekomme ich den Wert nach dem Komma separariert (im Bild der rote Bereich), so dass ich damit weiterarbeiten kann?Vermutlich wird das über jsonata funktionieren? Nur: Wie muss das in diesem Fall aussehen?
Der ganze Wert ist ein Attribut, zudem vom Schleife zu Schleife jedes Mal unterschiedlich.Danke für die Unterstützung
-
@hausbaer dais einfach eine Liste in einer Liste. Sprich jedes Element Deiner Liste enthält wieder eine Liste und du suchst aus dieser 2. Liste das 2. Element.
-
@mickym sagte in Mal wieder Bearbeitung von erzeugten Listen:
@hausbaer dais einfach eine Liste in einer Liste. Sprich jedes Element Deiner Liste enthält wieder eine Liste und du suchst aus dieser 2. Liste das 2. Element.
Das war mein Gedankengang, den ich mit diesem Schritt
überprüfen wollte.
Dann dürfte in diesem Fall der rote Bereich aus dem Bild eben NICHT auftauchen:
-
@hausbaer sagte in Mal wieder Bearbeitung von erzeugten Listen:
Wie bekomme ich den Wert nach dem Komma separariert (im Bild der rote Bereich), so dass ich damit weiterarbeiten kann?
Indem Du in Deine Liste keine weitere Liste sondern nur die Werte einfügst:
Oder indem Du nicht das 1. sondern das 2. Element liest.
-
@codierknecht sagte in Mal wieder Bearbeitung von erzeugten Listen:
@hausbaer sagte in Mal wieder Bearbeitung von erzeugten Listen:
Wie bekomme ich den Wert nach dem Komma separariert (im Bild der rote Bereich), so dass ich damit weiterarbeiten kann?
Indem Du in Deine Liste keine weitere Liste sondern nur die Werte einfügst:
Das wars. Danke