NEWS
Objekt nicht schalten, wenn ein anderes bereits wahr ist
-
-
@asgothian
Das ist aber nett von Dir!!! Vielen Dank!!!Ich konnte auch einiges Nachvollziehen, allerdings ist mein Blockly auf deutsch und so ganz komme ich mit den Übersetzungen nicht hin.
Zum Beispiel finde ich den Baustein "if - do - else" nicht. Auch den "clear" Baustein kann ich nicht finden.Ich möchte nicht nervig sein und auch nicht alles vorgekaut bekommen, aber ich stoße hier wirklich an meine Grenzen.
-
@n811e sagte: Blockly auf deutsch
Wenn der BWM eine interne Ausschaltverzögerung hat, genügt es so:
Wert (unter "Trigger"):
-
Vielen Dank Paul. Ich interpretiere mal, aus meiner bescheidenen Sicht:
Der Trigger:
Falls das Objekt Bewegung, sich ändert, geht es weiter in den nächsten Baustein.
Hier: Falls nicht (und da kommen meine Gedanken schon nicht weiter)Falls nicht "WERT", was ist damit gemeint?
Ich dachte, ich müsste irgendwie prüfen lassen, ob das Objekt (Deko) angeschaltet ist und wenn ja, soll der Shelly-BWM nichts machen. Wenn nein, soll der Shelly-BWM ganz normal einschalten.
-
@n811e
Falls nicht kehrt den Wert Falls um. Man kann dazu auch eine If-Else draus machen und im If nichts reinschreiben. Zu Deutsch eine Falls - Sonst. Hier ein kleines Beispiel:Ich will den Bewegungsmelder einschalten wenn die Lampe aus ist. Ich überprüfe die Lampe auf den Status ob eingeschaltet. Wenn ich jetzt einschalte habe ich etwas falsch gemacht, also kehre ich den Wert vom Falls um und sage falls nicht Lampe eingeschaltet dann einschalten. In Mathematik würde man einfach ein minus davor setzen und hat genau das Gegenteil.
-
@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 sagte: soll der Shelly-BWM ganz normal einschalten.
Schaltet der BWM das Licht direkt (ohne Skript)? Dann muss man es anders lösen: BWM sperren, falls möglich.
-
@paul53
Ja, der BWM Lastausgang, geht lediglich auf einen Shelly, der dann die Lampe(n) schaltet.
Und genau dies soll nicht passieren, wenn der andere Shelly bereits an ist. -
@n811e sagte: Ja, der BWM Lastausgang, geht lediglich auf einen Shelly, der dann die Lampe(n) schaltet.
Gibt es einen Datenpunkt, mit dem man dies sperren kann? Bitte zeigen, denn ich habe keine Shellys.
-
-
@n811e
Hat der BWM keine eigenen Datenpunkte? Was bewirkt "Input / Detach"? -
@paul53 Doch, die hat er. Alles was unter Relay0 bei Shelly_1_Bewegungsmelder_Flur steht, sind doch Datenpunkte, oder verstehe ich das falsch.
-
@paul53
Was Input/Detach bewirkt weiß ich leider nicht.
Ich weiß aber, wenn der Bewegungsmelder ausgelöst hat, dass der Datenpunkt Switch von false auf true wechselt. -
@n811e sagte: der Datenpunkt Switch von false auf true wechselt.
Ist das nicht der Datenpunkt, der das Licht schaltet?
-
@paul53 Doch genau der ist das.
-
@n811e
Reicht der nicht? -
@n811e sagte: Reicht der nicht?
Man kann das Licht sofort wieder ausschalten, wenn die Dekobeleuchtung an ist, was allerdings nur eine Notlösung ist, da das Licht kurz aufblitzen kann.
Besser wäre es, man könnte den BWM vom Lichtaktor entkoppeln (detach).
-
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>
-
@n811e sagte: Wie meinst Du das mit dem entkoppeln? Müsste ich da Hardwaremäßig etwas umbauen?
Wie hast Du den BWM an den Shelly angeschlossen?
Ich habe irgendwo gelesen, dass man Shellys in einen Detached Mode bringen kann. Dann wirken die Eingänge nicht mehr direkt auf den Aktor, sondern es muss per Programm (Blockly) geschaltet werden. -
@n811e sagte: wie Du deinen Code hier postest, sodass er direkt als Blockly angezeigt wird.
Mit dem Snipping Tool von Windows.
Besser so: