NEWS
Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen
-
@cinimod sagte in Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen:
EDIT: Ah verstehe... hast jetzt alles dreifach weil die Trigger zusammen gelegt hast.
-
Alle drei Objekte im Trigger lösen den Trigger aus wenn sie sich verändern.
Dann müssen natürlich noch alle drei Bedingungen erfüllt sein zum EINSCHALTEN.
Sollte einer dieser Bedingung nicht erfüllt sein schaltet er aus, nach aktuellem Stand.Du kannst natürlich für das ausschalten auch Bedingungen definieren, dann musst du einen "sonst falls" einbauen, statt dem "sonst"
-
Das ist genau das was ich wollte
Man lernt halt nie aus.
Auf dieser Grundlage kann ich wieder etwas weiter basteln.
Vielen Dank für deine Geduld, und noch einen angenehmen TagGruß, Karsten
-
@hydrotec Immer gern, wünsche ich dir auch.
-
Nur der Vollständigkeit halber, nochmal das ganze script inklusive Schalter.
Anstatt 680 Zeilen, nur noch 311 Zeilen an Code.
Das kann sich sehen lassen<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="A@hLFm%=f,-t)_p~5;Ck" x="363" y="337"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="L?#|2YS]$o7!/nz}+6Kl"> <field name="oid">mqtt.1.zigbee2mqtt.xi_switch_01.action</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="#Miu][z7z%=0;T_5lUvZ"> <field name="oid">mqtt.1.zigbee2mqtt.xi_switch_02.action</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="_4Is,2PE0{{s;Ub8JHaQ"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Qq0{~;5/Juz):X(#fH0F" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="cmKKJT[XtHs5[eu7fSFY" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="d-mUr/_G$*Gp/gw?o$.|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="(_O?$k2_.vB+Z(@cXJU["> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_01.action</field> </block> </value> <value name="B"> <block type="text" id="b|w6^%!zi$UxcI[y|N=B"> <field name="TEXT">single</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="CguO%DZ/~DEiYA8cxh.Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*qpVLDhkVY[L@RmsfxRy"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_02.action</field> </block> </value> <value name="B"> <block type="text" id="WWq%Ind[Bt2Xrho0n.j:"> <field name="TEXT">single</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="JWRqy^.A{}jE3ro7a9*x"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="nPF^F;yVRK87msS~ph3C"> <field name="ATTR">val</field> <field name="OID">hue.0.z_hallway_ceiling.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="}^2jX]hdHR/Y^#dptLzX"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="d6^Bj@_$L@d*D)kLOwt-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.scene_entspannen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="6gj_[tUX$*IK09#mWl(j"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="W.]bz|NZL8^t0*eO4a9a" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="mCOAEFKy;=xJh{c9e(q-" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="^Ee81fc]m`]2%OLr:Lg["> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="_~)7TAlh~yN7J?7.X!ud"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_01.action</field> </block> </value> <value name="B"> <block type="text" id="VC:tW0ln!k60.ITWjIw)"> <field name="TEXT">single</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="VD[(T$#(QMx;bKSrU$?-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="iO9*V;cy`4RIq:}J$p$j"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_02.action</field> </block> </value> <value name="B"> <block type="text" id="~I0w~~V]IZ_,|Hq0:$dB"> <field name="TEXT">single</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="`Sm/G#6s+5kNBaklTQ@h"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=",vHU(%n{94y-~bUNOF@9"> <field name="ATTR">val</field> <field name="OID">hue.0.z_hallway_ceiling.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="PX?lqN5`BL}YnE5HNYXE"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="16!faWg[OYmoOmq=FqS+"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="nUZ7:G_{-@o.la$qepYY"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on" id="nyDQxdsX}/5jI`;q2eQ]"> <field name="OID">mqtt.1.zigbee2mqtt.hue_dimmer_switch_01.action</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="vP]u{ZL*qzm$TW2P;Y8!"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="DRgLJQB{2L5XxuZ[xb9("> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="wCQ3BFiDtcN6^rYL|qZj"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="pIF`P@/0-l}+P+([Y;b."> <field name="TEXT">on_press_release</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="{%R$|avQPJq7J8h7ohPQ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.scene_entspannen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="GJP}KpgWEWDvg.YzB;Ok"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="^$#@e(v|TUy7zag:YF}Z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Glb3vYG`:WGg@;k%S/-("> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="Z.{3@@JabqW_4-Il.t4P"> <field name="TEXT">off_press_release</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="bz]YzxN);~+edl$00wL#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="+Ge$S$C2+VsHc=s][RR+"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="*|#mcW[?)%S%x[SlEG,a"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="q,D5hL!um?3EjegVTtJ7"> <field name="oid">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="n}#i8blXZhTv{yU:W?b8"> <field name="oid">0_userdata.0.general.sensor.xi_sensor_light_01.isday</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="mZ[TOtA:Sgg8iI|)5g~?"> <field name="oid">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="/L+oZ{ge73[67}1YgoU5"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="cqy(sqhVhWFV]9mG2,Gf" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="n~LZ,LV)qor$OJ#DLZH#"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </block> </value> <value name="B"> <block type="logic_operation" id="NbHR!`:cyQ6=H+CD4B5f" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="Mz./9Mt=Pyb8UhoV5+@b"> <value name="BOOL"> <block type="get_value" id="ort4i|M;OVF+VsTBQXL-"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.sensor.xi_sensor_light_01.isday</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="P3@Xw,v@yj7Ag1El*5-D"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="~vSQzYjEiTQ|p@T=:o!Q"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.scene_entspannen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="48`/T8+GE1xdIyULKD@u"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="D_qrgPs{?qDtS0}pY~Xy"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hue.0.z_hallway_ceiling.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Gws9V?:Xr#(_%_PkYH;*"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@hydrotec Falls sich der dritte Schalter auch mit "aktualisiert" trigger funktioniert, kannst daraus ja auch eins machen, dann mit nem oder block "wert = "on press releae"" verknüpfen.
-
Das war mein erster Versuch, funktioniert leider nicht.
Selbst wenn die Lampe aus ist, und "off_press_release" betätigt wird, schaltet sich die Lampe ein.
Ist jetzt, aus meiner Sicht, nicht so dramatisch, wenn das ein extra Trigger ist.
Wenn ich mal wieder die Muse habe, werde ich mich damit beschäftigen, warum das so ist.
Für's Erste bin ich soweit zufrieden. Funktion ist wie gewünscht.
Und das Wichtigste, ich habe wieder etwas dazu gelernt
Danke dir nochmal.Gruß, Karsten
-
Jetzt muss ich doch noch einmal nachhaken.
Wenn ich folgendes script, welches in dieser Form funktioniert, umstrukturiere, dann wird bei der Lautstärkenänderung das Radio ausgeschaltet und anschließend wieder eingeschaltet.
Ein und ausschalten funktioniert bei beiden scripten wie es soll.
Wo liegt mein Denkfehler?Basis script
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="|hu]OPgX!qta+29}/G;u" x="438" y="-887"> <field name="COMMENT">192_168_78_113 manually</field> <next> <block type="on" id="]EDrUB(`|b#ZkvDo;;s("> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="g+#*tlvP_aoAqSF!]]4N"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="uk^ax4eXRhj-=R1JBF^b" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="9V9=jLk2:bEucI-O%KgS"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="B#@Ool0#DI/_EAa8+e9J"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> </block> </value> <value name="B"> <block type="text" id="o:%7-=zwT7SOcR^N(I(X"> <field name="TEXT">single</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="m@BiE$o%-{DyrNE/BuZ5"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cK7V|UwOq^1FRFO)$~y)"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="T9rM6c+-5=S^(A1M2X@~"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="j)Sl$T^lnG`:+-ME8a}%"> <field name="COMMENT">192_168_78_113.play</field> <next> <block type="control" id="Tu6Y}c|0HGeTs,{re~TY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="[FY!zE4uuzDKm;1jK1uj"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="SEDgkY(j!WQce]~eIX.," inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="?96xn!HU[k7$gkcS=,7^"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="h=_1{GGLcN7/Zx7s;p(B"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> </block> </value> <value name="B"> <block type="text" id="Drz(N:^J`KDV/|m:_0?N"> <field name="TEXT">single</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="zw^QcQDHcM1~mvTJ-o8*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="on]xh~1|E`C{eni@3ZMu"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?fP=@DW$cS}Ff6vhdY,9"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="R@m.^{uV9a%-;VX.i~@p"> <field name="COMMENT">192_168_78_113.stop</field> <next> <block type="control" id="~BX[1(b*O*#t8SYDG,ph"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="y5JMaV|]I)[VA#Om0K:r"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="5:qkeqjSlxRf35Fy@9#p"> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="0sk?fA:QXcbH3:p.=~Gc"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_operation" id="30LVRQ=(W1+E;@SI#R}E" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="F*Mvq6qe`qtf=E.Z6#,("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="+R:Unj85lZi!E`u_.5AX"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="[Ow1k.-DpO*x-VI[zQ}L"> <field name="TEXT">toggle</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="dQukAP:Ciks]Lf*b3~#t"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="`_cAb0pu!0sQ9^8^E*PZ"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="A=tK8yRX5uZduuzQ.t?+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="b_Q[o[!7H87C]Hu/a5x-"> <field name="COMMENT">192_168_78_113.play</field> <next> <block type="control" id="G~hr5%t2)gfJ4CW{kOsN"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="R,1fB+:VkD3F!x[0dtfQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="LyT;RS6Xt1w#!KtxvtWd" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Aii@JCeq=,/Eg|P_kn~u"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="n``w1Gi@`EP%/~~n2^]E"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="dP9XWDKStK572W5A4yDT"> <field name="TEXT">toggle</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="xfu?0[LvZ4(AgZ+v(Z4]"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="n6[,/I$KWR4_N2||XNQ9"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="k|Q|m?3{$gTTIte!G+ki"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="`(rvV}LfD}X5_Le?Qr8m"> <field name="COMMENT">192_168_78_113.stop</field> <next> <block type="control" id="!RbuUyGZ)8QFw,`R+4q3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="VqVZWV]AIeMfSjs5l=He"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_operation" id="mh[((L=_3oB:N+ApV!Rw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="TdHr=0B*0A8SGu#rF~5r"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9V@e/6l:!b4C4|et7%j="> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="#Zi^55bSD.=y_+O.Vn7F"> <field name="TEXT">brightness_move_down</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="@vm-_k%@raTT~_Bd{{B3"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="aSLIK/@V(}R|LUjRN#um"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="[gbH:}1XFo24P~Nm,jLo"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="3B8=ATk!6g[MMLE+d!y_"> <field name="COMMENT">192_168_78_113.group_volume down</field> <next> <block type="control" id="qV97K``8QAkW3GN(SuqO"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="lxGS_~s(lo%/@ECge+X@"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="%wH-rIkC^(*GX}]O!(WD"> <field name="NUM">1</field> </shadow> <block type="get_value" id="mc$4Ze1nXs40.T?n2rRt"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="(3)}c=t-7A^u#,_?.G5I"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_operation" id="#P%^nv]g^J~;RO0-:x0P" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2daA{Fu=x$V]EIZX;o2("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2W.^J{q|yD*ln@9ZK,{^"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="Uo34{vyC*//jA^Pbt[1K"> <field name="TEXT">brightness_move_up</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="a@Zjz:/@!)6?uhIm)JmT"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="GGC5.[sPf5Ni%rsc.Zy_"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K?[`iF:%C+!,fUy!bjYs"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="3i!_IQQ`*@mTupiC0z(a"> <field name="COMMENT">192_168_78_113.group_volume up</field> <next> <block type="control" id="HE%#VC{b!gO=Y]K_M8,J"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="8{g;v)W*I,P_MGxs]Gj."> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="CcV$.b`@7y1B%7/SKIb+"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="}@W.6znn)L+L#N+6Ry8."> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="Y;E/TqHDYg[md%RKNHw/"> <field name="COMMENT">192_168_78_113 automatic</field> <next> <block type="on_ext" id="pQi.%,OhPQz?`4Vdz6s3"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="cJS[o(p::!QU@oRo}:Ue"> <field name="oid">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="G}CnwOt9RdiY]vT56MX%"> <field name="oid">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="U-^hwn%g_#T@I(6P-pbB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="CNOVL(NO9~LVxM89Zed-" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="z#^t?UUidxU!V[j(P~X7" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="cB_-%t5Nt-aTHpXIfRgn"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </block> </value> <value name="B"> <block type="get_value" id="]9;a)[E$V^q{b#/y3]/0"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="HTwu~l_5Zs|DDB@40(!j"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="%0M:(5|~8^#w6g~0xx1{"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="27JWLa5{hCLlC]#i2l-;"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="*7S_y$,,*E[{bta|:(W}"> <field name="COMMENT">192_168_78_113.group_volume</field> <next> <block type="control" id="`|1LwE!UbzR9Yak@~=a%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="[zEf)WQT(pu/n`:gq+`["> <field name="NUM">16</field> </block> </value> <next> <block type="comment" id="gTE#33GT27Rx-,U}f4{1"> <field name="COMMENT">192_168_78_113.play</field> <next> <block type="control" id="rGbvudP^s_3}1xaJR[Eu"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="y@1ABCgvmq@H$+/.gQ{5"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="U6g{p{=R/ja^8A8lRGzB" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="U~er*6{Oavo~,i5E.YN]" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_negate" id="l%;I`CeXn`ME*^EspWss"> <value name="BOOL"> <block type="get_value" id="aW,.{LoAgB#jOUY(bN~z"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="?TK9!xtLwNgh;R![7]Ij"> <value name="BOOL"> <block type="get_value" id="aT~UP]XA3eaa76v)2N;t"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="C%lc)QT;i5Kef`v2*YxX"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JZ@lMpDvw*J05I?LdWGk"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="2fF9aSo^moL6pA=^|HE!"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="E952D?u66HgnhpqK3O~Q"> <field name="COMMENT">192_168_78_113.stop</field> <next> <block type="control" id="rW.(7CW0r2!{*th##75g"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="{L#fAaZFdMqc)cU0V@Ec"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
umstrukturiertes script
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id=":aD+m^UU`o2S+obB*Co{" x="438" y="-585"> <field name="COMMENT">192_168_78_113 manually</field> <next> <block type="on_ext" id="_|fb$VE*@CpLjZ9@7)~s"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="jLf[molnI1Z}K/OrfZ5r"> <field name="oid">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="RJjNT8Alvup-B#/1Td$p"> <field name="oid">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="21sX(|_V8yH?3.[E5by{"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_operation" id="?]WD/oNi~Se*hXHX*)=U" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="p*LHLi9t^sVnB?n_||)M" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="PEgVJru[KYlNUZ1A::iM"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="h;dzZwnoV3ygy_LRtZQJ"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="%Ps|$]w=yND$J42t5}kI"> <field name="TEXT">toggle</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="bCa~3|e#hKF*,P?8Twuo"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ETkEp9l*g8oJ|xr93Oqq"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> </block> </value> <value name="B"> <block type="text" id="VMlDERw@o=T_1Ch?Bplk"> <field name="TEXT">single</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="joyG{1WdQ]wgHHI[q:Ja"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="(Rg?e4zOBGh*[48SV;X7"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="1qs@5i_qC{Kz,gqFgHrN"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id=".Md_CV0)[D@r(rW#c`@/"> <field name="COMMENT">192_168_78_113.play</field> <next> <block type="control" id="ZNrOB)^*cVS2zL6lO:cL"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="`afBuH-Q[KtEbQ5PT[Tk"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="AcMBpXut2)-ctKTS{V75" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="krD?*(Y@~3nd)i_ZgM+r" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="2QKUS:FS#2[P9el]$;+7"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="81Drs.S$1P_S71-3Up49"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="T|r9f)H#s4R)6A}BFrwE"> <field name="TEXT">toggle</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";Hylb!)aIFH:_8Qj-}?E"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="#bir1B.0*:QaF9hmx0IW"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.xi_switch_05.action</field> </block> </value> <value name="B"> <block type="text" id="{uNy/L7!G,jlh$+}*p`3"> <field name="TEXT">single</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="3JKvmod(v0.6l?u@I-fU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="gzK~PURwdkEu/isx7%U`"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="[Jv{M.V7[b;D:$5TU$}v"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="s:;q{Bt,nt*.LXWH[_bb"> <field name="COMMENT">192_168_78_113.stop</field> <next> <block type="control" id="/}!:-:qt/#plx+Q2*jA3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="js`HpeMy;wRyv;ETb$($"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_operation" id="mh[((L=_3oB:N+ApV!Rw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="TdHr=0B*0A8SGu#rF~5r"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9V@e/6l:!b4C4|et7%j="> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="#Zi^55bSD.=y_+O.Vn7F"> <field name="TEXT">brightness_move_down</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="cNaIWrsNjP82b{0$B`Xp"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="1:xChr5Fhvxkl4d9^|w$"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="aOjC%mqR5+$P:+tC33xy"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="3B8=ATk!6g[MMLE+d!y_"> <field name="COMMENT">192_168_78_113.group_volume down</field> <next> <block type="control" id="qV97K``8QAkW3GN(SuqO"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="lxGS_~s(lo%/@ECge+X@"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="%wH-rIkC^(*GX}]O!(WD"> <field name="NUM">1</field> </shadow> <block type="get_value" id="mc$4Ze1nXs40.T?n2rRt"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="(3)}c=t-7A^u#,_?.G5I"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_operation" id="#P%^nv]g^J~;RO0-:x0P" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2daA{Fu=x$V]EIZX;o2("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2W.^J{q|yD*ln@9ZK,{^"> <field name="ATTR">val</field> <field name="OID">mqtt.1.zigbee2mqtt.ik_remote_symfonisk_02.action</field> </block> </value> <value name="B"> <block type="text" id="Uo34{vyC*//jA^Pbt[1K"> <field name="TEXT">brightness_move_up</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="bpZ/F-!_=}5;~Kb)(%ul"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@S{d;Xw2a6FU-L1Lb?(."> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="!9p`EbmK/@up`e-W-^kX"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="3i!_IQQ`*@mTupiC0z(a"> <field name="COMMENT">192_168_78_113.group_volume up</field> <next> <block type="control" id="HE%#VC{b!gO=Y]K_M8,J"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="8{g;v)W*I,P_MGxs]Gj."> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="CcV$.b`@7y1B%7/SKIb+"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="}@W.6znn)L+L#N+6Ry8."> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="Y;E/TqHDYg[md%RKNHw/"> <field name="COMMENT">192_168_78_113 automatic</field> <next> <block type="on_ext" id="pQi.%,OhPQz?`4Vdz6s3"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="cJS[o(p::!QU@oRo}:Ue"> <field name="oid">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="G}CnwOt9RdiY]vT56MX%"> <field name="oid">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="U-^hwn%g_#T@I(6P-pbB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="CNOVL(NO9~LVxM89Zed-" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="z#^t?UUidxU!V[j(P~X7" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="cB_-%t5Nt-aTHpXIfRgn"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </block> </value> <value name="B"> <block type="get_value" id="]9;a)[E$V^q{b#/y3]/0"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="HTwu~l_5Zs|DDB@40(!j"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="%0M:(5|~8^#w6g~0xx1{"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="27JWLa5{hCLlC]#i2l-;"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="*7S_y$,,*E[{bta|:(W}"> <field name="COMMENT">192_168_78_113.group_volume</field> <next> <block type="control" id="`|1LwE!UbzR9Yak@~=a%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.group_volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="[zEf)WQT(pu/n`:gq+`["> <field name="NUM">16</field> </block> </value> <next> <block type="comment" id="gTE#33GT27Rx-,U}f4{1"> <field name="COMMENT">192_168_78_113.play</field> <next> <block type="control" id="rGbvudP^s_3}1xaJR[Eu"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="y@1ABCgvmq@H$+/.gQ{5"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="U6g{p{=R/ja^8A8lRGzB" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="U~er*6{Oavo~,i5E.YN]" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_negate" id="l%;I`CeXn`ME*^EspWss"> <value name="BOOL"> <block type="get_value" id="aW,.{LoAgB#jOUY(bN~z"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.iCal_4_Anwesenheit.timer</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="?TK9!xtLwNgh;R![7]Ij"> <value name="BOOL"> <block type="get_value" id="aT~UP]XA3eaa76v)2N;t"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.general.presence.MyPhone11Pro.presence</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="C%lc)QT;i5Kef`v2*YxX"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JZ@lMpDvw*J05I?LdWGk"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_78_113.state_simple</field> </block> </value> <value name="B"> <block type="logic_boolean" id="2fF9aSo^moL6pA=^|HE!"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="E952D?u66HgnhpqK3O~Q"> <field name="COMMENT">192_168_78_113.stop</field> <next> <block type="control" id="rW.(7CW0r2!{*th##75g"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_78_113.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="{L#fAaZFdMqc)cU0V@Ec"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
Gruß, Karsten
-
@hydrotec sagte in Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen:
Das war mein erster Versuch, funktioniert leider nicht.
Ok hätte ja klappen können
Selbst wenn die Lampe aus ist, und "off_press_release" betätigt wird, schaltet sich die Lampe ein.
Ist jetzt, aus meiner Sicht, nicht so dramatisch, wenn das ein extra Trigger ist.Da hast du recht.
Wenn ich mal wieder die Muse habe, werde ich mich damit beschäftigen, warum das so ist.
Für's Erste bin ich soweit zufrieden. Funktion ist wie gewünscht.
Und das Wichtigste, ich habe wieder etwas dazu gelernt
Danke dir nochmal.Gruß, Karsten
Gern
-
@hydrotec ich hätte für dich hier den Tipp, das du versuchen solltest eine doppelte Prüfung zu vermeiden, falls natürlich möglich.
Im ersten Fall kannst du es durch eine doppelte "Falls" Verschachtelung erreichen.
Ist dann immer aufwändig/fehleranfällig wenn man den Datenpunkt ändert.
Auch den Trigger würde ich versuchen immer auf "wurde geändert" anstatt "wurde aktualisiert" zu setzen, wenn man nur auf eine Änderung des Datenpunktes reagieren möchte z.B. ein Wechsel von "true" auf "false".auch die doppelte Prüfung auf "hue.0.z_hallwall_ceiling_on", kannst du dir sparen wenn er nur "true" oder "false" als Zustand besitzt...
-
Guten Morgen TDCroPower,
@tdcropower sagte ...
Auch den Trigger würde ich versuchen immer auf "wurde geändert" anstatt "wurde aktualisiert" zu setzen, wenn man nur auf eine Änderung des Datenpunktes reagieren möchte z.B. ein Wechsel von "true" auf "false".
Der Datenpunkt "action" ändert sich nicht bei den Xiaomi WXKG12LM wenn man den button nur einmal betätigt.
Deswegen muss ich "wurde aktualisiert" verwenden.... das du versuchen solltest eine doppelte Prüfung zu vermeiden, falls natürlich möglich.
... auch die doppelte Prüfung auf "hue.0.z_hallwall_ceiling_on", kannst du dir sparen wenn er nur "true" oder "false" als Zustand besitzt...Das ist ein guter Tipp, den ich gleich mal umgesetzt, und erfolgreich getestet, habe.
... Ist dann immer aufwändig/fehleranfällig wenn man den Datenpunkt ändert.
Ja, stimme dir zu, doch da bin ich noch am überlegen, wie ich das am Besten realisiere.
(Alias Manager, Blockly Gruppen/Listen, usw.)
Bin ja noch Frischling in Sachen ioBroker und seine Möglichkeiten.
Bis jetzt habe ich mich vorrangig erst einmal damit beschäftigt,
das die Automatisationen der vorherigen Software funktionieren.Auf jeden Fall einmal Dankeschön für deine Tipps
Noch einen angenehmen Tag
Gruß, Karsten -
@hydrotec den Taster habe ich sogar ebenfalls, jedoch reagiere ich auf den Datenpunkt "click" der "true"/"false" switched.
Habe aber keinen Datenpunkt "action" bei meinem Taster!?
Liegt vielleicht daran das ich den "ZigBee" Adapter nutze?
Hier reagiere ich sogar lediglich beim Trigger mit "ist wahr", wodurch der Trigger beim drücken nur 1x ausgeführt wird.
Beim single drücken wechselt dieser nämlich von "false" -> "true" -> "false", sodass "wurde aktualisiert" und "wurde geändert" den Trigger 2x ausführen würde.hier meine Datenpunkte bei dem Switch...
-
@tdcropower sagte in Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen:
... Liegt vielleicht daran das ich den "ZigBee" Adapter nutze? ...
Ja
Ich verwende für ioBroker, mqtt und zigbee2mqtt jeweils getrennte Container.
Und bei zigbee2mqtt ist in der config noch folgender Eintrag mit drin.# Optional: experimental options experimental: # Optional: MQTT output type: json, attribute or attribute_and_json (default: shown below) # Examples when 'state' of a device is published # json: topic: 'zigbee2mqtt/my_bulb' payload '{"state": "ON"}' # attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON" # attribute_and_json: both json and attribute (see above) output: 'attribute'
Und dann werden die Objekte in ioBroker eben so angelegt.
-
@hydrotec ah ok, darf ich fragen warum du für ZigBee es über diesen Umweg machst?
Mit dem ZigBee Adapter im ioBroker kommunizierst du direkt mit allen ZigBee Geräten. -
@tdcropower sagte in Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen:
@hydrotec ah ok, darf ich fragen warum du für ZigBee es über diesen Umweg machst?
Weil ich es kann
Nein, hat folgenden Hintergrund.
Bei mir sind relativ viele Hue dimmer switch verbaut,
bei denen ich die on/off Taste mehrfach belegt habe.
Mein letzter Kenntnisstand, bei dem Zigbee-Adapter werden beide Tasten in ein Objekt (state) gelegt.
Damit funktioniert die Mehrfachbelegung nicht.
Was aber nicht heißen soll, das der Zigbee-Adapter deswegen schlechter ist. -
@hydrotec sagte in Verständnisfrage Blockly / Trigger <-> mehrere Bedingungen:
Mein letzter Kenntnisstand, bei dem Zigbee-Adapter werden beide Tasten in ein Objekt (state) gelegt.
Nö.
-
Danke für den Hinweis
Ist ja schön wenn es jetzt anders ist.