- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- Bind Object in Schleife
Bind Object in Schleife
-
Hallo,
ich versuche mal mein Vorhaben zu beschreiben und hoffe jemand versteht es. 😊
Ich habe ein Paar Datenpunkte in „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ diese haben als Wert den Datenpfad zu einen Tür/Fenster Kontakt. (Bei einen Datenpunkt ist der Wert z.B. alias.0.Kontakt_Fenster_Ankleidezimmer.STATE)
Nicht alle Datenpunkte in „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ haben einen Wert. (z.B. Fenster ohne Kontakt)
Bei Datenpunkte mit Wert zum eigentlichen Kontakt möchte ich eine Bindung auf einen anderen Datenpunkt (0_userdata.0.Home.Rollos.*.do_not_edit.TFK_Status) herstellen.
Grund: der durch Bindung vorhandene Datenpunkt kann im Skript wieder als Trigger etc. eingesetzt werden wobei der Auslöser durch den Datenpunkt „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ dynamisch ist.
Dafür habe ich folgende Schleife erstellt, laut debug Log ist auch alles so wie ich es möchte, aber das Binding wird immer nur auf den letzten Wert angewendet.
Ich habe auch schon mit Pausen von mehreren Sekunden getestet aber keine Änderung.
Wie gesagt die debug Blöcke sagen alles i.O.Bild Blockly

Code Blockly
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</variable>
<variable id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</variable>
<variable id="y)]e,[~SzD_t9rPzx?nJ">i</variable>
<variable id="2prM#P_YcU|urtckoV6">TFK_Status</variable> </variables> <block type="variables_set" id="oLg^%os=.4n6NJCFQBi" x="-1337" y="463">
<field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field>
<value name="VALUE">
<block type="logic_boolean" id="u;T?]-B9-t#KrDUoyu7h">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="variables_set" id="]T(6cS2FbgNg}Ij^$|q">
<field name="VAR" id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</field>
<value name="VALUE">
<block type="selector" id="t:Oa{Rodr?~%j|Zuuh-:">
<field name="TEXT">0_userdata.0.Home.Rollos..Datenpfad_TF-Kontakt</field>
</block>
</value>
<next>
<block type="controls_forEach" id="iMCkGkpB#^Yy%N_|9MfV">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
<value name="LIST">
<block type="variables_get" id="2uP-Q]0Ch}~eVI)iQzIv">
<field name="VAR" id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</field>
</block>
</value>
<statement name="DO">
<block type="controls_if" id="xn-m)MFyFv_4/e:v.S2"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Eu7^^G%+wP4k0Evdc-k4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="BOhz1{~Gf1!I_]gLPlv}"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="E:[94rcI-UOri(JARrfq"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="Ul3$RBRP.D.MwB$=a;z}"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="%HPdACJ(%SV6p).:uF,">
<field name="TEXT"></field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="controls_if" id="adO?pfh#YVfG:7a!~959">
<value name="IF0">
<block type="logic_compare" id="W8aBSNkhA!uUWc3bX3y?">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="tlW]Pa45bg1ktW:w/C(U">
<field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=Smn64Jh5%.R5^{usb}G">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="debug" id="0-^-V]d8.a%QrJ)T^s{2">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="tK6L^!,vOD~sCNQ5z+p">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="T?xP]^;=j+ETBI|,Tm"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Mcet*)tSt!rxy[e5T%hS"> <field name="TEXT">**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="GxS6(V-#IuwO.nMF_mQP"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> <value name="ADD2"> <block type="text" id="G*Sz(([~}JJ4.LNoL=Tk"> <field name="TEXT"> eingetragen</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="4eQJrywRj];y}Z*a](G]"> <value name="IF0"> <block type="logic_compare" id="g/dF=nNldAqOGt3Q={x)"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="M[xJ|%!Y0f[,:9yx|Yia"> <field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field> </block> </value> <value name="B"> <block type="logic_boolean" id="B^0CFxYS$+P~CQGyRmHf"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="hOHScx_Je}|Jq;m^ok3I"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="g74d_iSjClN]j)|D;NOo"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="|LRJ:qUiDo#PpfW[NR-T"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="^A2:QtUa9(m77?p^[opc"> <field name="TEXT">**ROLLO** Tür/Fenster Kontakt im Datenpunkt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Y:y[S[be-yuN0:amk^J0"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> <value name="ADD2"> <block type="text" id="mWbV{wFw7J%oV|l-4$7+"> <field name="TEXT"> eingetragen</field> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="$wi:vj$O1R0UuASE|63g"> <field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field>
<value name="VALUE">
<block type="text_join" id="kfFqxM(pxu3.y--/}N-"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="V4Z3C8@K?15@wrn?zK~">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_END</field>
<value name="STRING">
<block type="variables_get" id="R4YLy1TIaEYg]+kqtp)4">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
<value name="AT2">
<block type="math_number" id="4=ut0)rn,|dr;sQt{N(J">
<field name="NUM">22</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="text" id="^S06UzRtz]q(mj;8{ip2">
<field name="TEXT">.do_not_edit.TFK_Status</field>
</block>
</value>
</block>
</value>
<next>
<block type="timeouts_wait" id="7y71(IW5j@eweL:VPcL,">
<field name="DELAY">1</field>
<field name="UNIT">sec</field>
<next>
<block type="direct" id="UmK2J/ewcW0Go4*_?p]R">
<field name="ONLY_CHANGES">TRUE</field>
<value name="OID_SRC">
<shadow type="field_oid" id="RSKyAJN:UDp}4@Yrdk,u">
<field name="oid">Object ID 1</field>
</shadow>
<block type="get_value_var" id="xzfOfXHoQ89./xa#IgX">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text" id="pUyv!7C8niPei-zKf(a">
<field name="TEXT"></field>
</shadow>
<block type="variables_get" id="yA|pPFlpVTkSEX4wCX:^">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
</block>
</value>
<value name="OID_DST">
<shadow type="field_oid" id="#(Tk}@+,C.+sisICGSIh">
<field name="oid">Object ID 2</field>
</shadow>
<block type="variables_get" id="KmOSa/e!yEhps(4Gpy%R">
<field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field> </block> </value> <next> <block type="controls_if" id="Z2_J#=CeKeMs[AaC_ozR"> <value name="IF0"> <block type="logic_compare" id="+f0ahAtk_/q6eXaXQ/uY"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="8;kNK)-~bFjjkAKoP):T"> <field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field> </block> </value> <value name="B"> <block type="logic_boolean" id="W-eIX2[]s%*x3(IS7v,X"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="l*0Xoi*jh@P1IWdSUdUv"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=",by2|84AB,liskv60TBm"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="Gw;Hu~:Hh_w#EAEU;m6">
<field name="TEXT">ROLLO Wert vom Object </field>
</block>
</value>
<value name="ADD1">
<block type="get_value_var" id="q/hAfDhlzDG7DRbER:}?">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="variables_get" id="{:igJ61()0doCHX7Sv">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="gVBTvk@H[ym(1JOa~Wt?">
<field name="TEXT"> mit </field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="%8N:Um}o_us7|fi*nli)">
<field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field> </block> </value> <value name="ADD4"> <block type="text" id="hH4VppKs{oIq+^g$$m,">
<field name="TEXT"> verbunden</field>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Logjavascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_rechts.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_mitte.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Wert vom Object alias.0.Kontakt_Fenster_Ankleidezimmer.STATE mit 0_userdata.0.Home.Rollos.1OG_links.do_not_edit.TFK_Status verbunden javascript.0 2022-12-13 12:36:04.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_links.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:04.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Wert vom Object hm-rpc.0.NEQ0176624.1.STATE mit 0_userdata.0.Home.Rollos.1OG_Badezimmer.do_not_edit.TFK_Status verbunden javascript.0 2022-12-13 12:36:03.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2022-12-13 12:36:03.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_Badezimmer.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:03.377 info Start javascript script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife -
Hallo,
ich versuche mal mein Vorhaben zu beschreiben und hoffe jemand versteht es. 😊
Ich habe ein Paar Datenpunkte in „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ diese haben als Wert den Datenpfad zu einen Tür/Fenster Kontakt. (Bei einen Datenpunkt ist der Wert z.B. alias.0.Kontakt_Fenster_Ankleidezimmer.STATE)
Nicht alle Datenpunkte in „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ haben einen Wert. (z.B. Fenster ohne Kontakt)
Bei Datenpunkte mit Wert zum eigentlichen Kontakt möchte ich eine Bindung auf einen anderen Datenpunkt (0_userdata.0.Home.Rollos.*.do_not_edit.TFK_Status) herstellen.
Grund: der durch Bindung vorhandene Datenpunkt kann im Skript wieder als Trigger etc. eingesetzt werden wobei der Auslöser durch den Datenpunkt „0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt“ dynamisch ist.
Dafür habe ich folgende Schleife erstellt, laut debug Log ist auch alles so wie ich es möchte, aber das Binding wird immer nur auf den letzten Wert angewendet.
Ich habe auch schon mit Pausen von mehreren Sekunden getestet aber keine Änderung.
Wie gesagt die debug Blöcke sagen alles i.O.Bild Blockly

Code Blockly
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</variable>
<variable id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</variable>
<variable id="y)]e,[~SzD_t9rPzx?nJ">i</variable>
<variable id="2prM#P_YcU|urtckoV6">TFK_Status</variable> </variables> <block type="variables_set" id="oLg^%os=.4n6NJCFQBi" x="-1337" y="463">
<field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field>
<value name="VALUE">
<block type="logic_boolean" id="u;T?]-B9-t#KrDUoyu7h">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="variables_set" id="]T(6cS2FbgNg}Ij^$|q">
<field name="VAR" id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</field>
<value name="VALUE">
<block type="selector" id="t:Oa{Rodr?~%j|Zuuh-:">
<field name="TEXT">0_userdata.0.Home.Rollos..Datenpfad_TF-Kontakt</field>
</block>
</value>
<next>
<block type="controls_forEach" id="iMCkGkpB#^Yy%N_|9MfV">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
<value name="LIST">
<block type="variables_get" id="2uP-Q]0Ch}~eVI)iQzIv">
<field name="VAR" id="myK%DZsfMWoYzoIK1rQ3">Liste_TFK_DP</field>
</block>
</value>
<statement name="DO">
<block type="controls_if" id="xn-m)MFyFv_4/e:v.S2"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Eu7^^G%+wP4k0Evdc-k4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="BOhz1{~Gf1!I_]gLPlv}"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="E:[94rcI-UOri(JARrfq"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="Ul3$RBRP.D.MwB$=a;z}"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="%HPdACJ(%SV6p).:uF,">
<field name="TEXT"></field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="controls_if" id="adO?pfh#YVfG:7a!~959">
<value name="IF0">
<block type="logic_compare" id="W8aBSNkhA!uUWc3bX3y?">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="tlW]Pa45bg1ktW:w/C(U">
<field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=Smn64Jh5%.R5^{usb}G">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="debug" id="0-^-V]d8.a%QrJ)T^s{2">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="tK6L^!,vOD~sCNQ5z+p">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="T?xP]^;=j+ETBI|,Tm"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="Mcet*)tSt!rxy[e5T%hS"> <field name="TEXT">**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="GxS6(V-#IuwO.nMF_mQP"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> <value name="ADD2"> <block type="text" id="G*Sz(([~}JJ4.LNoL=Tk"> <field name="TEXT"> eingetragen</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="4eQJrywRj];y}Z*a](G]"> <value name="IF0"> <block type="logic_compare" id="g/dF=nNldAqOGt3Q={x)"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="M[xJ|%!Y0f[,:9yx|Yia"> <field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field> </block> </value> <value name="B"> <block type="logic_boolean" id="B^0CFxYS$+P~CQGyRmHf"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="hOHScx_Je}|Jq;m^ok3I"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="g74d_iSjClN]j)|D;NOo"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="|LRJ:qUiDo#PpfW[NR-T"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="^A2:QtUa9(m77?p^[opc"> <field name="TEXT">**ROLLO** Tür/Fenster Kontakt im Datenpunkt </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Y:y[S[be-yuN0:amk^J0"> <field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field> </block> </value> <value name="ADD2"> <block type="text" id="mWbV{wFw7J%oV|l-4$7+"> <field name="TEXT"> eingetragen</field> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="$wi:vj$O1R0UuASE|63g"> <field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field>
<value name="VALUE">
<block type="text_join" id="kfFqxM(pxu3.y--/}N-"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="V4Z3C8@K?15@wrn?zK~">
<mutation at1="false" at2="true"></mutation>
<field name="WHERE1">FIRST</field>
<field name="WHERE2">FROM_END</field>
<value name="STRING">
<block type="variables_get" id="R4YLy1TIaEYg]+kqtp)4">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
<value name="AT2">
<block type="math_number" id="4=ut0)rn,|dr;sQt{N(J">
<field name="NUM">22</field>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="text" id="^S06UzRtz]q(mj;8{ip2">
<field name="TEXT">.do_not_edit.TFK_Status</field>
</block>
</value>
</block>
</value>
<next>
<block type="timeouts_wait" id="7y71(IW5j@eweL:VPcL,">
<field name="DELAY">1</field>
<field name="UNIT">sec</field>
<next>
<block type="direct" id="UmK2J/ewcW0Go4*_?p]R">
<field name="ONLY_CHANGES">TRUE</field>
<value name="OID_SRC">
<shadow type="field_oid" id="RSKyAJN:UDp}4@Yrdk,u">
<field name="oid">Object ID 1</field>
</shadow>
<block type="get_value_var" id="xzfOfXHoQ89./xa#IgX">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text" id="pUyv!7C8niPei-zKf(a">
<field name="TEXT"></field>
</shadow>
<block type="variables_get" id="yA|pPFlpVTkSEX4wCX:^">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
</block>
</value>
<value name="OID_DST">
<shadow type="field_oid" id="#(Tk}@+,C.+sisICGSIh">
<field name="oid">Object ID 2</field>
</shadow>
<block type="variables_get" id="KmOSa/e!yEhps(4Gpy%R">
<field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field> </block> </value> <next> <block type="controls_if" id="Z2_J#=CeKeMs[AaC_ozR"> <value name="IF0"> <block type="logic_compare" id="+f0ahAtk_/q6eXaXQ/uY"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="8;kNK)-~bFjjkAKoP):T"> <field name="VAR" id="sFu:|TM%r=2q):|h1X=~">Debugmeldung_Steuerung_TFK</field> </block> </value> <value name="B"> <block type="logic_boolean" id="W-eIX2[]s%*x3(IS7v,X"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="l*0Xoi*jh@P1IWdSUdUv"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id=",by2|84AB,liskv60TBm"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="Gw;Hu~:Hh_w#EAEU;m6">
<field name="TEXT">ROLLO Wert vom Object </field>
</block>
</value>
<value name="ADD1">
<block type="get_value_var" id="q/hAfDhlzDG7DRbER:}?">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="variables_get" id="{:igJ61()0doCHX7Sv">
<field name="VAR" id="y)]e,[~SzD_t9rPzx?nJ">i</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="gVBTvk@H[ym(1JOa~Wt?">
<field name="TEXT"> mit </field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="%8N:Um}o_us7|fi*nli)">
<field name="VAR" id="2prM#P_YcU|urtckoV6">TFK_Status</field> </block> </value> <value name="ADD4"> <block type="text" id="hH4VppKs{oIq+^g$$m,">
<field name="TEXT"> verbunden</field>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Logjavascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_rechts.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_mitte.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:05.384 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Wert vom Object alias.0.Kontakt_Fenster_Ankleidezimmer.STATE mit 0_userdata.0.Home.Rollos.1OG_links.do_not_edit.TFK_Status verbunden javascript.0 2022-12-13 12:36:04.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_links.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:04.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Wert vom Object hm-rpc.0.NEQ0176624.1.STATE mit 0_userdata.0.Home.Rollos.1OG_Badezimmer.do_not_edit.TFK_Status verbunden javascript.0 2022-12-13 12:36:03.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2022-12-13 12:36:03.383 info script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife: **ROLLO** Tür/Fenster Kontakt im Datenpunkt 0_userdata.0.Home.Rollos.1OG_Badezimmer.Datenpfad_TF-Kontakt eingetragen javascript.0 2022-12-13 12:36:03.377 info Start javascript script.js.common.0_userdata_0_.Home.Rollos.Forum_schleife@xbit Ohne mir alles genau durchgelesen zu haben, sieht
Binde
Wert von Objekt ID "i"falsch aus. Das würde ja heißen, dass der Wert des Objektes eine weitere Objekt ID beinhalten müsste. Da sollte doch bestimmt nur die ID rein, oder?EDIT: Okay, scheint wirklich so zu sein. Verwirrend gemacht :)
Zeig mal den generiertern JS-Code.
🧑🎓 Autor des beliebten ioBroker-Master-Kurses
🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
📚 Meine inoffizielle ioBroker Dokumentation -
@xbit Ohne mir alles genau durchgelesen zu haben, sieht
Binde
Wert von Objekt ID "i"falsch aus. Das würde ja heißen, dass der Wert des Objektes eine weitere Objekt ID beinhalten müsste. Da sollte doch bestimmt nur die ID rein, oder?EDIT: Okay, scheint wirklich so zu sein. Verwirrend gemacht :)
Zeig mal den generiertern JS-Code.
-
@xbit Ohne mir alles genau durchgelesen zu haben, sieht
Binde
Wert von Objekt ID "i"falsch aus. Das würde ja heißen, dass der Wert des Objektes eine weitere Objekt ID beinhalten müsste. Da sollte doch bestimmt nur die ID rein, oder?EDIT: Okay, scheint wirklich so zu sein. Verwirrend gemacht :)
Zeig mal den generiertern JS-Code.
Der JS-Code
var Debugmeldung_Steuerung_TFK, Liste_TFK_DP, i, TFK_Status; Debugmeldung_Steuerung_TFK = true; Liste_TFK_DP = Array.prototype.slice.apply($("0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt")); for (var i_index in Liste_TFK_DP) { i = Liste_TFK_DP[i_index]; if (getState(i).val == '') { if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt ',i,' eingetragen'].join(''))); } } else { if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Tür/Fenster Kontakt im Datenpunkt ',i,' eingetragen'].join(''))); } TFK_Status = String(i.slice(0, i.length - 21)) + '.do_not_edit.TFK_Status'; await wait(1000); on({id: getState(i).val, change: "ne"}, function (obj) { setState(TFK_Status, obj.state.val); });if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Wert vom Object ',getState(i).val,' mit ',TFK_Status,' verbunden'].join(''))); } } } //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIybXlLJTI1RFpzZk1Xb1l6b0lLMXJRMyUyMiUzRUxpc3RlX1RGS19EUCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTYwMnByTSUyM1BfWWNVJTdDdXJ0Y2tvVjYlMjIlM0VURktfU3RhdHVzJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJvTGclNUUlMjVvcyUzRC40biU2MDZOSkNGUUJpJTIyJTIweCUzRCUyMi0xMTg3JTIyJTIweSUzRCUyMjU4OCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnUlM0JUJTNGJTVELUI5LXQlMjNLckRVb3l1N2glMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlNUQqVCg2Y1MyRmJnTmclN0RJaiU1RSUyNCU3Q3ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMm15SyUyNURac2ZNV29Zem9JSzFyUTMlMjIlM0VMaXN0ZV9URktfRFAlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMnQlM0FPYSU3QlJvZHIlM0Z+JTI1aiU3Q1p1dWgtJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTBfdXNlcmRhdGEuMC5Ib21lLlJvbGxvcy4qLkRhdGVucGZhZF9URi1Lb250YWt0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMmlNQ2tHa3BCJTIzJTVFWXklMjVOXyU3QzlNZlYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyMnVQLVElNUQwQ2glN0R+ZVZJKWlRekl2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJteUslMjVEWnNmTVdvWXpvSUsxclEzJTIyJTNFTGlzdGVfVEZLX0RQJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMnhuLW0pTUZ5RnZfNCUyRmUlM0F2LiU2MFMyJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRXU3JTVFJTVFRyUyNSUyQndQNGswRXZkYy1rNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJCT2h6MSU3Qn5HZjEhSV8lNURnTFBsdiU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJFJTNBJTVCOTRyY0ktVU9yaShKQVJyZnElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJVbDMlMjRSQlJQLkQuTXdCJTI0JTNEYSUzQnolN0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMjVIUGRBQ0ooJTI1U1Y2cCkuJTNBdSU2MEYlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyYWRPJTNGcGZoJTIzWVZmRyUzQTdhIX45NTklMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJXOGFCU05raEEhdVVXYzNiWDN5JTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnRsVyU1RFBhNDViZzFrdFclM0F3JTJGQyhVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzRnUlM0ElN0NUTSUyNXIlM0QycSklM0ElN0NoMVglM0R+JTIyJTNFRGVidWdtZWxkdW5nX1N0ZXVlcnVuZ19URkslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTNEU21uNjRKaDUlMjUuUjUlNUUlN0J1c2IlN0RHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIwLSU1RS1WJTVEZDguYSUyNVFySilUJTVFcyU3QjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ0SzZMJTVFISUyQ3ZPRH5zKkNOUTV6JTJCcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMlQlM0Z4UCU1RCU1RSolM0IlM0RqJTJCRVRCJTYwSSU3QyUyQ1RtJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJNY2V0Kil0U3Qhcnh5JTVCZTVUJTI1aFMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwS2VpbiUyMFQlQzMlQkNyJTJGRmVuc3RlciUyMEtvbnRha3QlMjBpbSUyMERhdGVucHVua3QlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyR3hTNihWLSUyM0l1d08ubk1GX21RUCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyRypTeigoJTVCfiU3REpKNC5MTm9MJTNEVGslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwZWluZ2V0cmFnZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjRlUUpyeXdSaiU1RCUzQnklN0RaKmElNUQoRyU1RCUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmclMkZkRiUzRG5ObGRBcU9HdDNRJTNEJTdCeCklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyTSU1QnhKJTdDJTI1IVkwZiU1QiUyQyUzQTl5eCU3Q1lpYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkIlNUUwQ0Z4WVMlMjQlMkJQfkNRR3lSbUhmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJoT0hTY3hfSmUlN0QlN0NKcSUzQm0lNUVvazNJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyZzc0ZF9pU2pDbE4lNURqKSU3Q0QlM0JOT28lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFdGVzdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlN0NMUkolM0FxVWlEbyUyM1BwZlclNUJOUi1UJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlNUVBMiUzQVF0VWE5KG03NyUzRnAlNUUlNUJvcGMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwVCVDMyVCQ3IlMkZGZW5zdGVyJTIwS29udGFrdCUyMGltJTIwRGF0ZW5wdW5rdCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJZJTNBeSU1QlMlNUJiZS15dU4wJTNBYW1rJTVFSjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm1XYlYlN0J3Rnc3SiUyNW9WJTdDbC00JTI0NyUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBlaW5nZXRyYWdlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlMjR3aSUzQXZqJTI0TzFSMFV1QVNFJTdDNjNnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNjAycHJNJTIzUF9ZY1UlN0N1cnRja29WNiUyMiUzRVRGS19TdGF0dXMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjJrZkZxeE0ocHh1My55LS0lMkYlN0ROJTYwLSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9nZXRTdWJzdHJpbmclMjIlMjBpZCUzRCUyMlY0WjNDOCU0MEslM0YxNSU0MHdybiUzRnpLfiU2MCUyMiUzRSUzQ211dGF0aW9uJTIwYXQxJTNEJTIyZmFsc2UlMjIlMjBhdDIlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTElMjIlM0VGSVJTVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUyJTIyJTNFRlJPTV9FTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlNUUklORyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlI0WUx5MVRJYUVZZyU1RCUyQmtxdHApNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBVDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyNCUzRHV0MClybiUyQyU3Q2RyJTNCc1F0JTdCTihKJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1RVMwNlV6UnR6JTVEcShtaiUzQjglN0JpcDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLmRvX25vdF9lZGl0LlRGS19TdGF0dXMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3dhaXQlMjIlMjBpZCUzRCUyMjd5NzEoSVc1aiU0MGV3ZUwlM0FWUGNMJTJDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVklMjIlM0UxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGlyZWN0JTIyJTIwaWQlM0QlMjJVbUsySiUyRmV3Y1cwR280Kl8lM0ZwJTVEUiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9OTFlfQ0hBTkdFUyUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRF9TUkMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSU0t5QUpOJTNBVURwJTdENCU0MFlyZGslMkN1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlMjAxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJ4emZPKmZYSG9RODkuJTJGeGElMjNJZ1glMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIycFV5diE3QzhuKmlQZWktektmKGElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ5QSU3Q3BQRmxwVlRrU0VYNHdDWCUzQSU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEX0RTVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiUyMyhUayU3RCU0MCUyQiUyQ0MuJTJCc2lzSUNHU0loJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlMjAyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJLbU9TYSUyRmUheUVocHMoNEdweSUyNVIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU2MDJwck0lMjNQX1ljVSU3Q3VydGNrb1Y2JTIyJTNFVEZLX1N0YXR1cyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyWjJfSiUyMyUzRENlS2VNcyU1QkFhQ19velIlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMkJmMGFoQXRrXyUyRnE2ZVhhWFElMkZ1WSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4JTNCa05LKS1+YkZqamtBS29QKSUzQVQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNGdSUzQSU3Q1RNJTI1ciUzRDJxKSUzQSU3Q2gxWCUzRH4lMjIlM0VEZWJ1Z21lbGR1bmdfU3RldWVydW5nX1RGSyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJXLWVJWDIlNUIlNURzJTI1KngzKElTN3YlMkNYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJsKjBYb2kqamglNDBQMUlXZFNVZFV2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMiUyQ2J5MiU3Qzg0QUIlMkNsaXNrdjYwVEJtJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJHdyUzQkh1fiUzQUhoX3clMjNFQUVVJTNCbSU2MDYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwV2VydCUyMHZvbSUyME9iamVjdCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJxJTJGaEFmRGhsekRHN0RSYkVSJTNBJTdEJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0IlM0FpZ0o2MSgpMGRvQ0hYKjcqU3YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJnVkJUdmslNDBIJTVCeW0oMUpPYX5XdCUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBtaXQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI1OE4lM0FVbSU3RG9fdXM3JTdDZmkqbmxpKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTYwMnByTSUyM1BfWWNVJTdDdXJ0Y2tvVjYlMjIlM0VURktfU3RhdHVzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmhINFZwcEtzJTdCb0klNjBxJTJCJTVFZyUyNCUyNG0lMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwdmVyYnVuZGVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF -
Der JS-Code
var Debugmeldung_Steuerung_TFK, Liste_TFK_DP, i, TFK_Status; Debugmeldung_Steuerung_TFK = true; Liste_TFK_DP = Array.prototype.slice.apply($("0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt")); for (var i_index in Liste_TFK_DP) { i = Liste_TFK_DP[i_index]; if (getState(i).val == '') { if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt ',i,' eingetragen'].join(''))); } } else { if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Tür/Fenster Kontakt im Datenpunkt ',i,' eingetragen'].join(''))); } TFK_Status = String(i.slice(0, i.length - 21)) + '.do_not_edit.TFK_Status'; await wait(1000); on({id: getState(i).val, change: "ne"}, function (obj) { setState(TFK_Status, obj.state.val); });if (Debugmeldung_Steuerung_TFK == true) { console.log((['**ROLLO** Wert vom Object ',getState(i).val,' mit ',TFK_Status,' verbunden'].join(''))); } } } //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIybXlLJTI1RFpzZk1Xb1l6b0lLMXJRMyUyMiUzRUxpc3RlX1RGS19EUCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTYwMnByTSUyM1BfWWNVJTdDdXJ0Y2tvVjYlMjIlM0VURktfU3RhdHVzJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJvTGclNUUlMjVvcyUzRC40biU2MDZOSkNGUUJpJTIyJTIweCUzRCUyMi0xMTg3JTIyJTIweSUzRCUyMjU4OCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnUlM0JUJTNGJTVELUI5LXQlMjNLckRVb3l1N2glMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlNUQqVCg2Y1MyRmJnTmclN0RJaiU1RSUyNCU3Q3ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMm15SyUyNURac2ZNV29Zem9JSzFyUTMlMjIlM0VMaXN0ZV9URktfRFAlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMnQlM0FPYSU3QlJvZHIlM0Z+JTI1aiU3Q1p1dWgtJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTBfdXNlcmRhdGEuMC5Ib21lLlJvbGxvcy4qLkRhdGVucGZhZF9URi1Lb250YWt0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMmlNQ2tHa3BCJTIzJTVFWXklMjVOXyU3QzlNZlYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyMnVQLVElNUQwQ2glN0R+ZVZJKWlRekl2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJteUslMjVEWnNmTVdvWXpvSUsxclEzJTIyJTNFTGlzdGVfVEZLX0RQJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMnhuLW0pTUZ5RnZfNCUyRmUlM0F2LiU2MFMyJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRXU3JTVFJTVFRyUyNSUyQndQNGswRXZkYy1rNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJCT2h6MSU3Qn5HZjEhSV8lNURnTFBsdiU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJFJTNBJTVCOTRyY0ktVU9yaShKQVJyZnElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJVbDMlMjRSQlJQLkQuTXdCJTI0JTNEYSUzQnolN0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMjVIUGRBQ0ooJTI1U1Y2cCkuJTNBdSU2MEYlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyYWRPJTNGcGZoJTIzWVZmRyUzQTdhIX45NTklMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJXOGFCU05raEEhdVVXYzNiWDN5JTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnRsVyU1RFBhNDViZzFrdFclM0F3JTJGQyhVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJzRnUlM0ElN0NUTSUyNXIlM0QycSklM0ElN0NoMVglM0R+JTIyJTNFRGVidWdtZWxkdW5nX1N0ZXVlcnVuZ19URkslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTNEU21uNjRKaDUlMjUuUjUlNUUlN0J1c2IlN0RHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIwLSU1RS1WJTVEZDguYSUyNVFySilUJTVFcyU3QjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ0SzZMJTVFISUyQ3ZPRH5zKkNOUTV6JTJCcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMlQlM0Z4UCU1RCU1RSolM0IlM0RqJTJCRVRCJTYwSSU3QyUyQ1RtJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJNY2V0Kil0U3Qhcnh5JTVCZTVUJTI1aFMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwS2VpbiUyMFQlQzMlQkNyJTJGRmVuc3RlciUyMEtvbnRha3QlMjBpbSUyMERhdGVucHVua3QlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyR3hTNihWLSUyM0l1d08ubk1GX21RUCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyRypTeigoJTVCfiU3REpKNC5MTm9MJTNEVGslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwZWluZ2V0cmFnZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjRlUUpyeXdSaiU1RCUzQnklN0RaKmElNUQoRyU1RCUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmclMkZkRiUzRG5ObGRBcU9HdDNRJTNEJTdCeCklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyTSU1QnhKJTdDJTI1IVkwZiU1QiUyQyUzQTl5eCU3Q1lpYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyc0Z1JTNBJTdDVE0lMjVyJTNEMnEpJTNBJTdDaDFYJTNEfiUyMiUzRURlYnVnbWVsZHVuZ19TdGV1ZXJ1bmdfVEZLJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkIlNUUwQ0Z4WVMlMjQlMkJQfkNRR3lSbUhmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJoT0hTY3hfSmUlN0QlN0NKcSUzQm0lNUVvazNJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyZzc0ZF9pU2pDbE4lNURqKSU3Q0QlM0JOT28lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFdGVzdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlN0NMUkolM0FxVWlEbyUyM1BwZlclNUJOUi1UJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlNUVBMiUzQVF0VWE5KG03NyUzRnAlNUUlNUJvcGMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwVCVDMyVCQ3IlMkZGZW5zdGVyJTIwS29udGFrdCUyMGltJTIwRGF0ZW5wdW5rdCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJZJTNBeSU1QlMlNUJiZS15dU4wJTNBYW1rJTVFSjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm1XYlYlN0J3Rnc3SiUyNW9WJTdDbC00JTI0NyUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBlaW5nZXRyYWdlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlMjR3aSUzQXZqJTI0TzFSMFV1QVNFJTdDNjNnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNjAycHJNJTIzUF9ZY1UlN0N1cnRja29WNiUyMiUzRVRGS19TdGF0dXMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjJrZkZxeE0ocHh1My55LS0lMkYlN0ROJTYwLSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9nZXRTdWJzdHJpbmclMjIlMjBpZCUzRCUyMlY0WjNDOCU0MEslM0YxNSU0MHdybiUzRnpLfiU2MCUyMiUzRSUzQ211dGF0aW9uJTIwYXQxJTNEJTIyZmFsc2UlMjIlMjBhdDIlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTElMjIlM0VGSVJTVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUyJTIyJTNFRlJPTV9FTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlNUUklORyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlI0WUx5MVRJYUVZZyU1RCUyQmtxdHApNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBVDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyNCUzRHV0MClybiUyQyU3Q2RyJTNCc1F0JTdCTihKJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMjIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1RVMwNlV6UnR6JTVEcShtaiUzQjglN0JpcDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLmRvX25vdF9lZGl0LlRGS19TdGF0dXMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3dhaXQlMjIlMjBpZCUzRCUyMjd5NzEoSVc1aiU0MGV3ZUwlM0FWUGNMJTJDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVklMjIlM0UxJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGlyZWN0JTIyJTIwaWQlM0QlMjJVbUsySiUyRmV3Y1cwR280Kl8lM0ZwJTVEUiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9OTFlfQ0hBTkdFUyUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRF9TUkMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSU0t5QUpOJTNBVURwJTdENCU0MFlyZGslMkN1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlMjAxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJ4emZPKmZYSG9RODkuJTJGeGElMjNJZ1glMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIycFV5diE3QzhuKmlQZWktektmKGElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ5QSU3Q3BQRmxwVlRrU0VYNHdDWCUzQSU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyeSklNURlJTJDJTVCflN6RF90OXJQenglM0ZuSiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEX0RTVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiUyMyhUayU3RCU0MCUyQiUyQ0MuJTJCc2lzSUNHU0loJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlMjAyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJLbU9TYSUyRmUheUVocHMoNEdweSUyNVIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU2MDJwck0lMjNQX1ljVSU3Q3VydGNrb1Y2JTIyJTNFVEZLX1N0YXR1cyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyWjJfSiUyMyUzRENlS2VNcyU1QkFhQ19velIlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMkJmMGFoQXRrXyUyRnE2ZVhhWFElMkZ1WSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4JTNCa05LKS1+YkZqamtBS29QKSUzQVQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnNGdSUzQSU3Q1RNJTI1ciUzRDJxKSUzQSU3Q2gxWCUzRH4lMjIlM0VEZWJ1Z21lbGR1bmdfU3RldWVydW5nX1RGSyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJXLWVJWDIlNUIlNURzJTI1KngzKElTN3YlMkNYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJsKjBYb2kqamglNDBQMUlXZFNVZFV2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMiUyQ2J5MiU3Qzg0QUIlMkNsaXNrdjYwVEJtJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJHdyUzQkh1fiUzQUhoX3clMjNFQUVVJTNCbSU2MDYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKipST0xMTyoqJTIwV2VydCUyMHZvbSUyME9iamVjdCUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJxJTJGaEFmRGhsekRHN0RSYkVSJTNBJTdEJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0IlM0FpZ0o2MSgpMGRvQ0hYKjcqU3YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnkpJTVEZSUyQyU1Qn5TekRfdDlyUHp4JTNGbkolMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJnVkJUdmslNDBIJTVCeW0oMUpPYX5XdCUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBtaXQlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI1OE4lM0FVbSU3RG9fdXM3JTdDZmkqbmxpKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTYwMnByTSUyM1BfWWNVJTdDdXJ0Y2tvVjYlMjIlM0VURktfU3RhdHVzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmhINFZwcEtzJTdCb0klNjBxJTJCJTVFZyUyNCUyNG0lMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwdmVyYnVuZGVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF@xbit Das Problem sind (mal wieder) die "globalen" Scopes von erstellten Variablen in Blockly:
on({id: getState(i).val, change: "ne"}, function (obj) { setState(TFK_Status, obj.state.val); });Dadurch wird
TFK_Statusimmer die letzte ID enthalten, welche die Schleife durchlaufen hat. Wenn der Trigger nun auslöst, dann steht inTFK_Statusin jeder Trigger-Logik der gleiche Wert.Das würde so funktionieren, wenn Blockly nicht in der ersten Zeile des scripts
var Debugmeldung_Steuerung_TFK, Liste_TFK_DP, i, TFK_Status;schreiben würde... Ich glaube da hilft nur: Blockly wegwerfen und in JavaScript implementieren.
🧑🎓 Autor des beliebten ioBroker-Master-Kurses
🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
📚 Meine inoffizielle ioBroker Dokumentation -
@xbit Das Problem sind (mal wieder) die "globalen" Scopes von erstellten Variablen in Blockly:
on({id: getState(i).val, change: "ne"}, function (obj) { setState(TFK_Status, obj.state.val); });Dadurch wird
TFK_Statusimmer die letzte ID enthalten, welche die Schleife durchlaufen hat. Wenn der Trigger nun auslöst, dann steht inTFK_Statusin jeder Trigger-Logik der gleiche Wert.Das würde so funktionieren, wenn Blockly nicht in der ersten Zeile des scripts
var Debugmeldung_Steuerung_TFK, Liste_TFK_DP, i, TFK_Status;schreiben würde... Ich glaube da hilft nur: Blockly wegwerfen und in JavaScript implementieren.
Okay .. bin froh das ich mir das zusammen klicken kann :-) da wird es nichts mit JS ...
Fraglich ist halt nur warum der debug Block am ende alle Werte richtig anzeigt. also auch TFK_Status..
Danke für deine Hilfe.
-
Okay .. bin froh das ich mir das zusammen klicken kann :-) da wird es nichts mit JS ...
Fraglich ist halt nur warum der debug Block am ende alle Werte richtig anzeigt. also auch TFK_Status..
Danke für deine Hilfe.
@xbit sagte in Bind Object in Schleife:
Fraglich ist halt nur warum der debug Block am ende alle Werte richtig anzeigt. also auch TFK_Status..
Weil während des Schleifendurchlaufes die Variable ja den Wert hat. Aber da diese global deklariert wird, eben nicht mehr wenn die Logik innerhalb der Trigger ausgelöst wird. Hier als JS, so gehts:
let Debugmeldung_Steuerung_TFK = true; const Liste_TFK_DP = Array.prototype.slice.apply($('0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt')); for (const idx in Liste_TFK_DP) { const i = Liste_TFK_DP[idx]; if (getState(i).val == '') { if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt ${i} eingetragen`); } } else { if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Tür/Fenster Kontakt im Datenpunkt ${i} eingetragen`); } const TFK_Status = String(i.slice(0, i.length - 21)) + '.do_not_edit.TFK_Status'; on({id: getState(i).val, change: "ne"}, (obj) => { setState(TFK_Status, obj.state.val); }); if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Wert vom Object ${getState(i).val} mit ${TFK_Status} verbunden`); } } }🧑🎓 Autor des beliebten ioBroker-Master-Kurses
🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
📚 Meine inoffizielle ioBroker Dokumentation -
@xbit sagte in Bind Object in Schleife:
Fraglich ist halt nur warum der debug Block am ende alle Werte richtig anzeigt. also auch TFK_Status..
Weil während des Schleifendurchlaufes die Variable ja den Wert hat. Aber da diese global deklariert wird, eben nicht mehr wenn die Logik innerhalb der Trigger ausgelöst wird. Hier als JS, so gehts:
let Debugmeldung_Steuerung_TFK = true; const Liste_TFK_DP = Array.prototype.slice.apply($('0_userdata.0.Home.Rollos.*.Datenpfad_TF-Kontakt')); for (const idx in Liste_TFK_DP) { const i = Liste_TFK_DP[idx]; if (getState(i).val == '') { if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Kein Tür/Fenster Kontakt im Datenpunkt ${i} eingetragen`); } } else { if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Tür/Fenster Kontakt im Datenpunkt ${i} eingetragen`); } const TFK_Status = String(i.slice(0, i.length - 21)) + '.do_not_edit.TFK_Status'; on({id: getState(i).val, change: "ne"}, (obj) => { setState(TFK_Status, obj.state.val); }); if (Debugmeldung_Steuerung_TFK == true) { console.log(`**ROLLO** Wert vom Object ${getState(i).val} mit ${TFK_Status} verbunden`); } } }1000 Dank für die Hilfe,
habe es als Javascript-Funktion in das Blockly mit rein gemacht (weil noch mehr in dem Blockly ist als gezeigt) und es läuft.
Besten Dank
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
