NEWS
Objekt nicht schalten, wenn ein anderes bereits wahr ist
-
Vielen Dank, mit Deiner Hilfe, habe ich es geschafft, dass umzusetzen.
Ich weiß leider nicht, wie Du deinen Code hier postest, sodass er direkt als Blockly angezeigt wird.Du hast völlig recht. es blinkt manchmal (komischer weise nicht immer) kurz auf.
Wie meinst Du das mit dem entkoppeln? Müsste ich da Hardwaremäßig etwas umbauen?<block xmlns="https://developers.google.com/blockly/xml" type="on" id="ev7;H-21-9lCB,^gCGF$" x="63" y="138"> <field name="OID">shelly.0.SHSW-1#3083988BFF1E#1.Relay0.Switch</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="controls_if" id="V1(GXQraEhPon-5HUv!L"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="M:d=WS}Y7Q]l*LmTim7x"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="a)9NZz]W8Z_ik{.4=X8D"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHRGBW2#2B9098#1.lights.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Jh7G@JAgxY2FKk:z,qXg"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="dx=nv+k_HC(qI,*%gJH9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#3083988BFF1E#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%@F.DAz|Dbs^(|=JufUi"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="/ga,85@6z#MV4FZNxVc="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2@wbmsJT=e!p9Z?OX2/g"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHRGBW2#2B9098#1.lights.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="7NgRjHUmeM]?A$x1I9$i"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="1Sf=Xd[EmBGc!352kYko"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-1#3083988BFF1E#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="VzY|~2QJO-qy-7BN8^3~"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> -
@gutscho
vielen dank für deine Erklärung.Aber warum kann man da nicht eintragen, falls wahr, mach nichts, fall falsch, schalte ein.
So richtig erschließt es sich mir leider immer noch nicht. Oder steige ich zu hoch in die Blockly-Scripte ein?
Alles was ich so gesehen habe (youtube und foren) kann ich zwar eins zu eins nach bauen (wenn ich die passenden Bausteine finde), aber deswegen habe ich das ja noch nicht verstanden.So wie ich es oben gemacht habe, klappt es bei mir leider nicht.
@n811e said in Objekt nicht schalten, wenn ein anderes bereits wahr ist:
@gutscho
vielen dank für deine Erklärung.Aber warum kann man da nicht eintragen, falls wahr, mach nichts, fall falsch, schalte ein.
So richtig erschließt es sich mir leider immer noch nicht. Oder steige ich zu hoch in die Blockly-Scripte ein?
Das kannst du natürlich auch machen. Aber wieso sollte man Zeilen toten Codes produzieren die einfach nicht benutzt werden wenn es auch mit einem Konstrukt geht wo ich nicht zusätzlich Zeilen brauche. Als Pseudocode stelle ich dir das ganze schnell mal gegenüber:
Wenn wahr: mache nichts Sonst: mache das was ich dir sageWenn nicht wahr: mache das was ich dir sageDu hast natürlich schon recht dass das andere für jemanden der nicht so oft programmiert leichter zu lesen ist. Die Logik ist aber die selbe.
