NEWS
Mehrere Datenpunkte vereinen
-
Hallo. Ich habe viele Blocklys zu erstellen und habe mehrfach den gleichen Datenpunkt. Den muss ich mehrfach auswählen nach vervielfältigen.
Kann man das irgendwie vereinen, damit ich nur einmal diesen Datenpunkt auswählen muss (mit gleicher Farbe im Bild markiert)?<block xmlns="https://developers.google.com/blockly/xml" type="controls_if" id="gw+G?G(N}sFf-T0#IcPW" x="384" y="-333"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="4DTf3Agu7SE]]T-qaz?{"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="O$T`g~fy28=MG?i]l9p6"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="g.-BUFS}(m=TQRE/4*3p"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="=0=AcZKi+U#e41$c%@jP"> <field name="TEXT">Aus</field> </shadow> <block type="text" id="z_A4ozf5z#SuP/56kCx7"> <field name="TEXT">Aus</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="4{$F{HY]MC_NM-DY_hXp"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="kdI6W?9SFVzd^1h$+`s:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="At}sfyq9+?dDoqs3c}]z"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="ucZz,XLbs{tLi%T9R3rw"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="eG+kFVK?A~t(}R@t5.a2"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="2*bmjRKi^$$c^0,?3AI1"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="k=Ocl)jVK=+9B_s+A~W|"> <field name="TEXT">Hei</field> </shadow> <block type="text" id="f/Bt^.0vr?auUDK^}^PY"> <field name="TEXT">Hei</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="i3WEj:0pq.3NXse5Qla/"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="|yIu1Kr4-V:J^DWP{Pd`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="eLLeW2=161/YeRS]N1x:"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="njeML.K^d/sFJTe`Ts]y"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOperationMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="MUGga[$DXFbHyj)doI8q"> <value name="VALUE"> <block type="math_number" id="}JspGS1kH@u/*d5ZprBT"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="x0xsG~I+^j1-`+3ALu:m"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="7KQykR_7sl=}RWMVX_u6"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="umP@{]RSy{%o3Ltx)s)9"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="ep0)gX:h7!+!GY%VZmuW"> <field name="TEXT">Kuh</field> </shadow> <block type="text" id="d=g?nwQ~F;v{Hld3%4Xu"> <field name="TEXT">Kuh</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="z@c-s3*0Q(x#n^;CO-Qa"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="control" id=";=f%Yb@rMRoz%;xb^/oR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOnOffMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="SLBoB|^#4ucburUh[n@,"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="`Uc:-r;Y1e/@^T60(xL,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.DaikinOperationMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="=Iyxz2GxItS_$=*3Ro(^"> <value name="VALUE"> <block type="math_number" id="80tC}L(+IV#h9%%A72J5"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="control" id="~HG8%`H.JGW$h*Br6!e5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.Mo.1_Abschnitt.Wochentag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="?4Psq!-7*4^f.y9Bg}~*"> <value name="VALUE"> <block type="text_charAt" id="6[]wPGAjs55Uzpk~Cc$X"> <mutation at="true"></mutation> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="on_source" id="r9%X_GKL9(U@u1j/UfWn"> <field name="ATTR">state.val</field> </block> </value> <value name="AT"> <block type="math_number" id="ssgh;J)00fbsh.n%{0$z"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> </block> </next> </block>
-
@mika-0 sagte: Kann man das irgendwie vereinen, damit ich nur einmal diesen Datenpunkt auswählen muss
Mittels Variablen. Außerdem verwende den Block "aktualisiere" anstelle von "steuere" für eigene Datenpunkte.
-
@mika-0 gibt viele Möglichkeiten.
Ich habe etliche Aktoren zu schalten und habe das über eine Funktion gelößt.
-
@paul53 Vielen Dank für die Inspiration.
Leider habe ich dazu aber noch eine Frage. Du hast unten bei falls ein Text genommen.
Ist das richtig ein Textfeld zu nehmen? Wo ist der Vorteil von deiner Vorgehensweise?Ich hätte das über ein Objekt Feld gemacht.
Wo ist der Vorteil von deiner Vorgehensweise?
-
@mika-0 sagte: Ist das richtig ein Textfeld zu nehmen?
Nein, das habe ich genommen, da ich diesen Datenpunkt nicht habe und es den Block "Wert von dieser DP" noch nicht gab.
@mika-0 sagte in Mehrere Datenpunkte vereinen:
Ich hätte das über ein Objekt Feld gemacht.
Richtig, aber ist "OperationMode" korrekt, wenn die Variable
OnOffMode
bezeichnet ist? -
@paul53 Danke, das ist mir schon aufgefallen.
-
@ubecker & @paul53
Dein Vorschlag war für mich irgendwie verständlicher. Habe ich umgesetzt. Leider wird nach Skript Neustart nur Käse{"ack":true}
zum Daikin Adapter von den Variablen geschickt. Ich schätze, die Variablen müssen jedes mal erst neu geladen werden indem ich händisch diese neu setze, oder es gibt etwas, das die Variablen einfach aktuell hält bzw. selbst sich neu lädt.@ubecker Dein Vorschlag habe ich nicht verstanden, da komplett fremd...
So sieht der Trigger und Variablen setzen aus. Gibt es ggf. noch ein Addon, was ich hinzufügen kann?
Ich dachte an einen minütliches CRON. Aber das ist ja nicht wirklich zielführend, 99% der Woche das nicht benötigt wird. Nur dann, wenn ich ioBroker neu starte (oder nach dem wöchentlichen Backup setzen.)
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="*3rj(_;Sk.!a``xFqV.Q" x="338" y="464"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="q1?G#@qu~G.782Qt2i+q"> <field name="oid">0_userdata.0.Klima_Zeitsteuerung.OG_WZ.Timerbereich_1.1Mo.1_Abschnitt.Lüftermodus</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="2ccZ?(jUNk6:b[u4!MA8"> <field name="VAR" id="(=K`2C;QK#TBO():q_`#">Var_Lüftermodus</field> <value name="VALUE"> <block type="on_source" id="?[]YEHx6D4buHIA:b09p"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block>
-
@mika-0 sagte: Leider wird nach Skript Neustart nur Käse {"ack":true}zum Daikin Adapter von den Variablen geschickt.
Die Datenpunkte befinden sich unter "0_userdata.0". Wie erfährt der Daikin-Adapter davon?
Für Adapter-Datenpunkte muss natürlich "steuere" verwendet werden.