OK,
du ersetzt in meinem Blockly das "Bernd-S8" durch Dein "Maggis_S8.btHere".
"Anwesenheit Bernd" durch "Patrick".
Dein Blockly-Script hat aber nicht zuviel mit Deinem Text darüber zu tun…
Ich würde die drei Arten der Prüfung so anlegen und jeweils Patrick_da1, Patrick_da2 und ...3 ansteuern, jeweils mit einem Aktor.
Und dann:
Bei jeder Änderung eines der Zustände läuft ein Script, das alle Zustände zusammenführt und EINEN Zustand schaltet bei mir "Anwesenheit jemand".
Und daraus ergeben sich dann weitere Schaltungen...
Kann man "schöner" mit verschachtelten If-And-Or-Ketten machen, aber manchmal liebe ich Bitbanging, weil es so einfach ist.
Das mit dem Zeitplan bitte nicht ansehen, das versteht hier sowieso niemand ohne bebilderte Anleitung und Youtube-Video. 8-)
Ist aber auch schwer hier...
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="kfhthl4A_O7c}!^iGR`I" x="-412" y="-337"><field name="OID">tr-064.0.devices.Bernd-S8.active</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<statement name="STATEMENT"><block type="controls_if" id="h,hR16M;yVA1T7@}{FDq"><mutation else="1"></mutation>
<value name="IF0"><block type="variables_get" id="ROHg,c51][lDw5Elq9WQ"><field name="VAR">value</field></block></value>
<statement name="DO0"><block type="update" id="?@YMzuJn`ZO[DfO2!HiI"><mutation delay_input="true"></mutation>
<field name="OID">admin.0.Anwesenheit.Bernd</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">0</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">TRUE</field>
<value name="VALUE"><block type="logic_boolean" id=",),eUcCn.}Q(RejIR6XX"><field name="BOOL">TRUE</field></block></value></block></statement>
<statement name="ELSE"><block type="update" id="k)b?lWig(po!O1=%K3`0"><mutation delay_input="true"></mutation>
<field name="OID">admin.0.Anwesenheit.Bernd</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">TRUE</field>
<value name="VALUE"><block type="logic_boolean" id="=f7~uNZjuwBm}Yi6AU-~"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>
<next><block type="on" id="|V:kU=)Z8](#y4o.Sn[k"><field name="OID">tr-064.0.devices.iPhone.active</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<statement name="STATEMENT"><block type="controls_if" id="`=u0q7JK*r8ox}wp6{S."><value name="IF0"><block type="variables_get" id="S`zjp]fX{i6~*7mG4ywc"><field name="VAR">value</field></block></value>
<statement name="DO0"><block type="update" id="DAU9B17C(EQZ!h2,w7X7"><mutation delay_input="true"></mutation>
<field name="OID">admin.0.Anwesenheit.Valentina</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">0</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">TRUE</field>
<value name="VALUE"><block type="logic_boolean" id="BLKO%x).AdcMLrb/f|h:"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement>
<next><block type="schedule" id="=:%3E--`sgvxL#0Jwn/D"><field name="SCHEDULE">*/5 9-22 * * *</field>
<statement name="STATEMENT"><block type="controls_if" id="dc~4EAADd2J]xk`J[*@u"><value name="IF0"><block type="get_value" id="n1]K,(@]P7pB`q(CS{xG"><field name="ATTR">val</field>
<field name="OID">admin.0.Anwesenheit.Valentina</field></block></value>
<statement name="DO0"><block type="controls_if" id="qtKy+#reegSQ]LiiZ,:e"><value name="IF0"><block type="logic_negate" id="pOH^Y1O{P0tL-8yDbfdW"><value name="BOOL"><block type="get_value" id="?!D4tDC=bYy_jRh#}[nn"><field name="ATTR">val</field>
<field name="OID">tr-064.0.devices.iPhone.active</field></block></value></block></value>
<statement name="DO0"><block type="update" id="AgIOd}a8|;A.LTvtGW*~"><mutation delay_input="true"></mutation>
<field name="OID">admin.0.Anwesenheit.Valentina</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">10</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="fA;^.W@~/QC;-}*l9jTs"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></statement>
<next><block type="on_ext" id=":*j}F2t1pyx6Yj@P@==8"><mutation items="2"></mutation>
<field name="CONDITION">ne</field>
<value name="OID0"><shadow type="field_oid" id=";s5b0_,!u0C{AK/hhLTM"><field name="oid">admin.0.Anwesenheit.Bernd</field></shadow></value>
<value name="OID1"><shadow type="field_oid" id=":#zLyra}hnJthGnZ:zM-"><field name="oid">admin.0.Anwesenheit.Valentina</field></shadow></value>
<statement name="STATEMENT"><block type="variables_set" id=":Mh%Khr4O(p-?yN``i-:"><field name="VAR">anybody</field>
<value name="VALUE"><block type="logic_boolean" id="Q})Nre/);hYa!BeWrSFx"><field name="BOOL">FALSE</field></block></value>
<next><block type="controls_if" id="pJasH9X8#DcWpIcaiQ,u"><value name="IF0"><block type="get_value" id="l3JT}#:((!O3OsWa(B8L"><field name="ATTR">val</field>
<field name="OID">admin.0.Anwesenheit.Bernd</field></block></value>
<statement name="DO0"><block type="variables_set" id="KwT2k`Bw6P5@D8WpHnjW"><field name="VAR">anybody</field>
<value name="VALUE"><block type="logic_boolean" id="(y4`!Oa7ybg@z(S.m[Q/"><field name="BOOL">TRUE</field></block></value></block></statement>
<next><block type="controls_if" id="j7#YFjnUn-F3rx{U2x8q"><value name="IF0"><block type="get_value" id="e56o0lRxha7s}B2,c+?h"><field name="ATTR">val</field>
<field name="OID">admin.0.Anwesenheit.Valentina</field></block></value>
<statement name="DO0"><block type="variables_set" id="3n=h,Y:^lk#*Rs]/}9`H"><field name="VAR">anybody</field>
<value name="VALUE"><block type="logic_boolean" id=")d!l@W}2umpB+HbbmT!N"><field name="BOOL">TRUE</field></block></value></block></statement>
<next><block type="update" id="^sMeY1%o2!5|[ZV:mgOo"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Anwesenheit.Person</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="variables_get" id="#X+flmfrFU?9oA4xQbHU"><field name="VAR">anybody</field></block></value></block></next></block></next></block></next></block></statement>
<next><block type="on" id="OO)%KkH[6r(swsji*%m9"><field name="OID">admin.0.Anwesenheit.Person</field>
<field name="CONDITION">ne</field>
<statement name="STATEMENT"><block type="controls_if" id="!f?6wt/Q~Qi9QLWE_WET"><mutation else="1"></mutation>
<value name="IF0"><block type="variables_get" id="RlnHGO.(X_]q##c,:Sl5"><field name="VAR">value</field></block></value>
<statement name="DO0"><block type="timeouts_cleartimeout" id="b%jHZsPuzuBc8,wmn:c+"><field name="NAME">timeout</field></block></statement>
<statement name="ELSE"><block type="timeouts_settimeout" id="f%p3lbDC~c+hfPd4@)m_"><field name="NAME">timeout</field>
<field name="DELAY">5</field>
<field name="UNIT">min</field>
<statement name="STATEMENT"><block type="update" id="bg}o;`[xKgaZ?IpO{=y3"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Alles_</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="_J3Q};?BaDJvRVVgh8.)"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></statement></block></next></block></next></block></next></block></next></block></xml>