NEWS
[Gelöst] Frage zu Blockly ? Lichtsteuerung über Türkontakt
-
@paul53 sagte in [Gelöst] Frage zu Blockly ? Lichtsteuerung über Türkontakt:
Kurz ausgedrückt: Beim Tür schließen wird jedes Mal die Variable draussen negiert....
Ahhh, jetzt dämmert es langsam.
Das macht der Teil: setze draussen auf - nicht - draussen. Der schreibt jedesmal ein false in die Variable wenn Tür auch false hat.
Und zwar so lange, bis in der Konstellation irgendwann mal ein true gleichzeitig mit Tür = false steht bei Änderungen am Objekt. Dann wird zusätzlich das Licht ausgeschaltet.Ich habe das "setze draussen" nie unabhängig von "steuere" betrachtet. Aber logisch, die Sonst Bedingung bei Tür = false wird ja immer ausgeführt und demnach auch immer die Variable mit false gesetzt, auch wenn sie bereits ein false hat. Jetzt ergibt das auch für mich Sinn.
Lerneffekt daraus für mich ist aber dann die Syntax. Ich wusste nicht, dass false so gesetzt werden kann. Wahrscheinlich hätte ich es mit "setze draussen auf - (Wert) false" probiert.Was mir allerdings noch nicht klar ist, woher der true Wert für draussen kommt. Das verstehe ich noch nicht. Liegt das in der Eigenschaft der Variablen, dass sie quasi bei jedem Durchlauf des Skripts ein true verpasst bekommt, nach dem Motto - Vorhanden? Ja!, also true, oder woher nimmt sie den Wert?
@mehrwiedu sagte in [Gelöst] Frage zu Blockly ? Lichtsteuerung über Türkontakt:
demnach auch immer die Variable mit false gesetzt, auch wenn sie bereits ein false hat.
Nein, die Variable wird negiert, was gleichbedeutend ist mit
if(draussen === undefined) draussen = true; if(draussen === false) draussen = true; if(draussen === true) draussen = false;oder kürzer
if(draussen) draussen = false; else draussen = true;Das nennt man auch "Toggle".
-
sich an die Stirn haut Verdammt.
Naja, Du musst mich für den größten Deppen halten. ;) Du schreibst ja von Anfang an "negieren" und ich bin nicht auf die Idee gekommen, dass damit ein Umschalter gemeint ist, sondern dachte, Du sagst es nur anstelle von "negativiert", "Negation" = false setzen. Dabei bedeutet es den Wert umkehren, togglen. Play - Pause, An - Aus, true - false.
Wenn ich jetzt auf das Skript schaue, dann erscheint es mir völlig logisch. Das tut mir leid, dass ich den Thread quasi jetzt so vollgemüllt habe. Hätte mir auch eher einfallen können mal nachzufragen, was Du mit negieren meinst.
Aber da sieht man einfach mal, was fehlende Begrifflichkeiten im eigenen (nicht vorhandenen) Fachwissen bezüglich Skripte so anrichten. Vielen, vielen Dank für Deine Geduld. Jetzt bin ich ein Stückchen näher von "ganz weit weg" bezogen auf Blockly. :)
-
@paul53 said in [Gelöst] Frage zu Blockly ? Lichtsteuerung über Türkontakt:
@care72 Vorschlag:

Hallo,
leider muss ich jetzt den alten Theard wiederbeleben...
Ich habe einen Türsensor der eine Sprachausgabe per Alexa ausgeben soll ich habe hierfür den Aufbau verwendet da ich mir dachte ist ja vom Prinzip her das gleiche...Das Problem ist jetzt nur, leider funktioniert es nicht …
Ich habe bei
mache, anstatt steuere -> speak -> Hallo eingetragen
bei sonst
anstatt steuere -> speak tschüss eingetragenWenn ich die Tür öffne wird die Sprachausgabe "Hallo" aktiviert, dasselbe beim 2 oder 3 öffnen der Tür aber öffne und schließe ich die Tür innerhalb von 1-2 sec. werden beide Sprachausgaben hintereinander ausgeführt...
Ich hoffe ich konnte mein Problem verständlich erklären..
Hat jemand eine Idee ?
Danke und LG