NEWS
Blockly: auf Werte einer Liste zugreifen
-
@dslraser Nette Lösung aber das wäre mir viel zu viel Information. Ich habs lieber sparsam und lass mich nur bei Problemen informieren. Was bringt mir sonst mein smartes Zuhause, wenn es ständig meine Aufmerksamkeit benötigt?
Folgende Lösung funktioniert jetzt wie gewünscht:
Die Liste erweitere ich bei Bedarf, wenn eine Meldung ankommt, die ich vorher noch nicht berücksichtigt habe.
Wenn ich mehr wissen will, dann nutze ich meine VIS. Da kann ich alles sehen, wenn ich da Lust drauf habe.
Danke an alle für die Hilfe.
-
@Hiltex
sollte auch nur ein Beispiel sein. Die Meldungen, die Du nicht willst, kannst Du ja auch weg lessen. -
@dslraser ich wollte dich und deine Lösung auch nicht kritisieren, sondern nur zum Ausdruck bringen, dass das nicht das ist, was ich mir vorstelle. Sorry, wenn das falsch rüber gekommen ist.
-
@Hiltex
quatsch, kein Problem -
@Hiltex
Das sieht großartig aus. Könntest du mir die Scripte und den VIS Teil zur Verfügung stellen?Vielen Dank
-
@muuulle Da will ich mal nicht so sein
Der Blockly-Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="A^Lj$G?P/~^?QyF]Z6(t">Liste</variable> <variable type="" id="qLWFjsyZoVDS)!v=wv$2">message-text</variable> <variable type="" id="%I}=-P3`d=35#Sx/=[+o">value</variable> </variables> <block type="comment" id="0rsl!cM_@)YcW^M:9Ad~" x="37" y="13"> <field name="COMMENT">Liste mit Meldungen, die NICHT gesendet werden</field> <next> <block type="variables_set" id="voF4G0J0Np.6N80Q],mj"> <field name="VAR" id="A^Lj$G?P/~^?QyF]Z6(t" variabletype="">Liste</field> <value name="VALUE"> <block type="lists_create_with" id="uM3ml=Z10Ey-[]5HlI;q"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="y2qXW!{@M-;R}NjLi)(5"> <field name="TEXT">ok_leaving</field> </block> </value> <value name="ADD1"> <block type="text" id="16+HEUL,!U_YjGrXpiv`"> <field name="TEXT">ok_cutting</field> </block> </value> <value name="ADD2"> <block type="text" id="a[B,_}H3Tc./m5mq@YF%"> <field name="TEXT">ok_searching</field> </block> </value> <value name="ADD3"> <block type="text" id="Wqlq?8y`D@u*$LivFvt5"> <field name="TEXT">ok_charging</field> </block> </value> <value name="ADD4"> <block type="text" id="O:kfq6]l[y^yEV?%7a5c"> <field name="TEXT">parked_timer</field> </block> </value> </block> </value> <next> <block type="on_ext" id="fgr0{0UaysX(pzL9kO~L"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="H;vS9z#$3=|m97kIJfui"> <field name="oid">gardena.0.datapoints.c1dd3c29-f7e4-47be-93df-2067815e31b0.eca204ea-d62d-4c73-8076-17a28e8f70fc.abilities.2c579936-2445-3831-a3f0-3266dc017705.2863fa2f-a0d4-3e82-8bb3-5088c2d2be58</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="A{hA@)q`=X7UPpmcM!e-"> <value name="IF0"> <block type="logic_compare" id="L3fd^]`tVU4!Q0%c}D)q"> <field name="OP">EQ</field> <value name="A"> <block type="lists_indexOf" id="5P_]#z$~wB^@jwh#qk55"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="05%5*6#yD,v~A9u?2rpJ"> <field name="VAR" id="A^Lj$G?P/~^?QyF]Z6(t" variabletype="">Liste</field> </block> </value> <value name="FIND"> <block type="variables_get" id="ZfZ.gfD[VmjS-Y{$i^,l"> <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="WEtX5VFr$g%hs9d;n#^Z"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="4/M],9a?k.-@AK,Bhy)*"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="|%^)L*Ev(nYM.,|vq`e$"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="],j`1g0*.S{+J#Dpe?@R"> <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field> </block> </value> <value name="B"> <block type="text" id="!Xhf2}Fm6ry,N~;MfHik"> <field name="TEXT">error</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="KU2H(a!gnsdS*1g!#TI6"> <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field> <value name="VALUE"> <block type="text_join" id="H(3u`N%S8=V9MlY/pRU!"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="0pz-12?Pjx9L^~+2%utv"> <field name="TEXT"><B>Robi-Status:</B></field> </block> </value> <value name="ADD1"> <block type="text_newline" id="U-nhX`7thOe_gy@bXez3"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="HiUK^Q^}EiGk)cAT=G%%"> <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field> </block> </value> <value name="ADD3"> <block type="text_newline" id="p1+4wNSF6l]sjZMseOaO"> <field name="Type">\n</field> </block> </value> <value name="ADD4"> <block type="get_value" id=":O6+eQgA;2NTzr/Ow*4c"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.c1dd3c29-f7e4-47be-93df-2067815e31b0.eca204ea-d62d-4c73-8076-17a28e8f70fc.abilities.2c579936-2445-3831-a3f0-3266dc017705.c81e86ee-16c6-3352-9ba1-28488718f64e</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="1J[J:2Xjb)j6`RyUPqy,"> <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field> <value name="VALUE"> <block type="text_join" id="co*b6;a/T?,pp3}w2/xJ"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id=",_gg?MBhxdKdtUGskN]{"> <field name="TEXT"><B>Robi-Status:</B></field> </block> </value> <value name="ADD1"> <block type="text_newline" id="UN!EmU]$y8:p}VsZM]+2"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="heEXEXYE27!Umy7yNlPx"> <field name="VAR" id="%I}=-P3`d=35#Sx/=[+o" variabletype="">value</field> </block> </value> </block> </value> </block> </statement> <next> <block type="telegram" id="rWxr:B@M}XZ{:`mEBLmq"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">HTML</field> <value name="MESSAGE"> <shadow type="text" id="oO(Hh}{3KME6+k}i.yc1"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="-S?wE;x+-*t~BJhi8+WW"> <field name="VAR" id="qLWFjsyZoVDS)!v=wv$2" variabletype="">message-text</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
Und der Export aus VIS als Dateianhang, da zu lang für die Zeichenbegrenzung.
vis_maehroboter.txtSieht dann so aus:
-
Klasse Script! Genau sowas hab ich auch für meinen Landroid gesucht. Hab es gerade übernommen und minimal abgeändert. Funktioniert einwandfrei. Wollte mich trotz des Alters des Posts noch dafür bedanken. Also: Danke
-
Ich würde das Thema gerne nochmal aufgreifen, da bei mir die Liste auch nicht richtig abgearbeitet wird, es wird nur immer ein Wert abgearbeitet pro Trigger, jemand ne idee? (Letztes Jahr lief es noch einwandfrei)
-
@stephan-schleich sagte: es wird nur immer ein Wert abgearbeitet pro Trigger
Funktioniert die Schleife nicht?
Kann höchstens eine Vereinfachung anbieten:EDIT: Vielleicht hilft es, mit zeitlichem Abstand zu senden?
-
@paul53 Danke Paul, 1 Sekunde Pause direkt nach dem Trigger hat das Problem gelöst, sehr komisch und unverständlich für mich, aber läuft wieder