- Home
- Deutsch
- Skripten / Logik
- Blockly
- Status Anwesenheit Bewegungsmeldern
SOLVED Status Anwesenheit Bewegungsmeldern
-
Hallo zusammen,
ich versuche den "Anwesenheitsstatuus" mit Bewegungsmeldern zu realisieren und habe dazu ein Blockly gemacht:
Sobald einer der Bewegungsmelder anschlägt wird der Datenpunkt "Status_Anwesenheit" auf "wahr" gesetzt und 10 min später auf "falsch", außer er regsitriert wieder eine Bewegung, die Timeout stopt und den Datenpunkt wieder mit "wahr" aktualisiert. Der Datenpunkt wird dann in VIS mit einem Zeitstempel angezeigt. Der Datenpunkt scheint aber nicht bei jeder neuen Erkennung der Bewegung aktualisiert zu werden, aktuell wird in VIS als letzte Bewegungsregistrierung die von 2 Stunden angezeigt, obwohl wir uns definitiv schon mehrmals im Erfassungsbereich der jeweiligen Bewegungsmelder befunden haben.Es liegt bestimmt ein Logikfehler bei mir vor, nur welcher ?
Gruß
Ja.rod -
@Ja-rod
Moin, Du kannst jeden Schritt selbst überwachen um event. "Fehler" selbst zu finden. Debug Bausteine...
Hier mal ein Beispiel mit einem Präsenzmelder, geht auch mit mehreren. (Trigger auf wurde geändert)
Nur ein Vorschlag:javascript.0 2019-10-19 10:46:59.392 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Anwesenheit ist : false javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Starte Timeout : true javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: stop timeout javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: BWM ist : false javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Anwesenheit ist : true javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: stop timeout javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: BWM ist : true
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="D:9Z{%fff*Nrdw;nT?7%">Anwesenheit</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="i#|xQ_:9~-Tw)KtJM(pJ" x="12" y="38"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="s9!kchPQ.zOyqRNM[wyT"> <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="sNxy_5F!9`!i7qMx}egv"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="4gE0*B3^Fy}hJZI.E-u@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="]?^YEN$7*;Ee*dIIjzr1"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="0A8y)x$^ct:a,}FX2p+,"> <field name="TEXT">BWM ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="get_value" id="J^0D/qlHzcCk3Zti/E:o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="?OHhDi;7T$Iw-pvT65e~"> <field name="NAME">timeout</field> <next> <block type="debug" id="1B0h4,(-lLVO}EE$IJwg"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="#hT:b)FpZVEg^Z1:*v/o"> <field name="TEXT">test</field> </shadow> <block type="text" id="g^pJGuAeOwJ8J,8QkX*a"> <field name="TEXT">stop timeout</field> </block> </value> <next> <block type="controls_if" id="q5=kV2Cn3kASpe{iOVzk"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="|O)WY`b:UN2m;Z$9,*h1"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e80S,;7]MbnD|_I_s!AP"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="h/Z3AW?pzrFmuW77{Onj"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="QH|ZuwXXoTN$9;m)/~i9"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> <value name="VALUE"> <block type="logic_boolean" id="7/^GKs.vv{4]_D_tM)Po"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="Y+DEys:5[3K==cSiQH^!"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="8EEYLP(^@JCPb~!]oVnQ"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="5B{As,D@7h^1:3.)=nr@"> <field name="TEXT">Anwesenheit ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="$MX~mL/*~O!`74L9*Wyg"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="D9%%P}OCQM6cLzz{8[QS"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="v*G(L4apXT}b#z?gaG4g"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6Gl046s4fCg8~tVHNP^s"> <field name="TEXT">Starte Timeout : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="QDnT%9,2dL(634HA,h!="> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="l[6i2~Qii:hTCr|%YTxH"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="+#0XQ0I_?YdCA7bwQqNb"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> <value name="VALUE"> <block type="logic_boolean" id="t@F(Ou,qK)yTwy.wss]C"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="-m=((1grbr#@C9SsV){;"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="05.I#7#?HOrB5VU9Udg!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="@]^wU]2fP5@Z1pp$)Wnt"> <field name="TEXT">Anwesenheit ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="KqoOyz!Rk$R}MhM8AO;b"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@Ja-rod
Moin, Du kannst jeden Schritt selbst überwachen um event. "Fehler" selbst zu finden. Debug Bausteine...
Hier mal ein Beispiel mit einem Präsenzmelder, geht auch mit mehreren. (Trigger auf wurde geändert)
Nur ein Vorschlag:javascript.0 2019-10-19 10:46:59.392 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Anwesenheit ist : false javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Starte Timeout : true javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: stop timeout javascript.0 2019-10-19 10:43:59.390 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: BWM ist : false javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: Anwesenheit ist : true javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: stop timeout javascript.0 2019-10-19 10:43:18.849 info (745) script.js.Heiko.11Test.Test_Anwesenheit_BWM: BWM ist : true
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="D:9Z{%fff*Nrdw;nT?7%">Anwesenheit</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="i#|xQ_:9~-Tw)KtJM(pJ" x="12" y="38"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="s9!kchPQ.zOyqRNM[wyT"> <field name="oid">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="sNxy_5F!9`!i7qMx}egv"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="4gE0*B3^Fy}hJZI.E-u@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="]?^YEN$7*;Ee*dIIjzr1"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="0A8y)x$^ct:a,}FX2p+,"> <field name="TEXT">BWM ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="get_value" id="J^0D/qlHzcCk3Zti/E:o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="?OHhDi;7T$Iw-pvT65e~"> <field name="NAME">timeout</field> <next> <block type="debug" id="1B0h4,(-lLVO}EE$IJwg"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="#hT:b)FpZVEg^Z1:*v/o"> <field name="TEXT">test</field> </shadow> <block type="text" id="g^pJGuAeOwJ8J,8QkX*a"> <field name="TEXT">stop timeout</field> </block> </value> <next> <block type="controls_if" id="q5=kV2Cn3kASpe{iOVzk"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="|O)WY`b:UN2m;Z$9,*h1"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e80S,;7]MbnD|_I_s!AP"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="h/Z3AW?pzrFmuW77{Onj"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="QH|ZuwXXoTN$9;m)/~i9"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> <value name="VALUE"> <block type="logic_boolean" id="7/^GKs.vv{4]_D_tM)Po"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="Y+DEys:5[3K==cSiQH^!"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="8EEYLP(^@JCPb~!]oVnQ"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="5B{As,D@7h^1:3.)=nr@"> <field name="TEXT">Anwesenheit ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="$MX~mL/*~O!`74L9*Wyg"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="debug" id="D9%%P}OCQM6cLzz{8[QS"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="v*G(L4apXT}b#z?gaG4g"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6Gl046s4fCg8~tVHNP^s"> <field name="TEXT">Starte Timeout : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="QDnT%9,2dL(634HA,h!="> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="l[6i2~Qii:hTCr|%YTxH"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="+#0XQ0I_?YdCA7bwQqNb"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> <value name="VALUE"> <block type="logic_boolean" id="t@F(Ou,qK)yTwy.wss]C"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="-m=((1grbr#@C9SsV){;"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="A1,pzkA}ut+7Bgp]u5C@"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="05.I#7#?HOrB5VU9Udg!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="@]^wU]2fP5@Z1pp$)Wnt"> <field name="TEXT">Anwesenheit ist : </field> </block> </value> <value name="ADD1"> <shadow type="text" id="X%7U10|OjSRoIK/,hV:I"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="KqoOyz!Rk$R}MhM8AO;b"> <field name="VAR" id="D:9Z{%fff*Nrdw;nT?7%" variabletype="">Anwesenheit</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>