NEWS
Blockly Bewegungsmelder
-
@lemonbiter
Der Skriptname ist falsch. Er muss mit "script.js." beginnen. Wahrscheinlich sind auch die Leerzeichen durch Unterstriche ersetzt. Schau im Tab "Objekte" unter "script.js" nach. Im Log wird bei Skriptstart auch der richtige Name angezeigt.
Vermutlich richtig: "script.js.Spielwiese.Bewegungsmelder_Licht_Kino_Wand" -
Ich habe jetzt folgendes eingetragen: scriptEnabled.Spielwiese.Bewegungsmelder_Licht_Kino_Wand
klappt nicht... 3 Minuten nachdem der Bewegungsmelder auf "False" gegangen ist, bleibt das Licht an, obwohl das Licht vorher "false" war
Aber dieses Blockly ist ein Wunder für mich... ich verstehe das Blockly leider nicht ... wo schreibt es die Werte in die Script Enabled etc....
-
@lemonbiter sagte: scriptEnabled.Spielwiese.Bewegungsmelder_Licht_Kino_Wand
Falsch!
Richtig: "script.js.Spielwiese.Bewegungsmelder_Licht_Kino_Wand" -
-
Lieber Paul vielen Dank, dasss Du Dir so viel mühe gemacht hast. Es funktioniert.
Magst Du mir kurz erklären, wie das Blockly funktioniert? Im Nachbauen bin ich ne 3+ aber im Verstehen habe ich als Note grade noch eine 5- -
@lemonbiter sagte: wie das Blockly funktionert?
Die Variable
manuell_ein
wird nur auf true gesetzt, wenn sich der Wert von "Schalter" von false auf true ändert und die Quelle der Änderung nicht (!=) die Javascript-Instanz ist oder wenn die Quelle die Javascript-Instanz ist, darf es nicht das BWM-Skript selbst sein (!=), das true schreibt. Der Name des Skriptes wird im Kommentar (obj.state.c) mitgegeben.
Wenn die Variablemanuell_ein
true ist, wird die BWM-Funktion gesperrt (falls nicht manuell_ein). -
Da hänge ich mich nochmal mit meiner Frage von eben ein.
Ist der Abschnitt wo die Variable "manuell ein" gesetzt wird eine verkürzte Form die was prüft?
Bei "und" denkt man ja eher, dass die Variable auf 2 Sachen gesetzt wird. -
@david-g sagte: Bei "und" denkt man ja eher, dass die Variable auf 2 Sachen gesetzt wird.
Das "und" ist eine logische Verknüpfung von zwei Bedingungen (Werten): Beide Bedingungen müssen true sein, damit das Ergebnis true wird. Das Ergebnis wird in die Variable gesetzt.
-
@paul53
Fungiert also als Prüfung?Jetzt habe ich in verstehen die 5-
Wenn ich da nur "setzte auf Wert" mache wird nur true oder false in die Variable geschrieben.
Durch das Und wird noch abgefragt, dass beide Ursprünge false sein müssen?
EDIT
Da war drin edit schneller als meine Frage.
Kannte ich so noch nicht. Hatte das vermutlich morab mit falls geprüft. -
@david-g sagte: Wenn ich da nur "setzte auf Wert" mache wird nur true oder false in die Variable geschrieben.
Ja, wenn
Wert
nur true oder false enthält, wie es bei einem Schalter der Fall ist. -
@paul53 sagte in Blockly Bewegungsmelder:
@lemonbiter sagte: wie das Blockly funktionert?
Die Variable
manuell_ein
wird nur auf true gesetzt, wenn sich der Wert von "Schalter" von false auf true ändert und die Quelle der Änderung nicht (!=) die Javascript-Instanz ist oder wenn die Quelle die Javascript-Instanz ist, darf es nicht das BWM-Skript selbst sein (!=), das true schreibt. Der Name des Skriptes wird im Kommentar (obj.state.c) mitgegeben.
Wenn die Variablemanuell_ein
true ist, wird die BWM-Funktion gesperrt (falls nicht manuell_ein).Ganz lieben Dank... Perfetto
-
@paul53
Mist- doch noch nicht verstanden...
ich habe nun zum Test einmal die ObjektID der Lampe geändert und schwups... bei Bewegung geht die erste Lampe an und nicht die neue!? So sieht das veränderte Script aus:Muss ich da an anderer Stelle noch was ändern?
-
@lemonbiter sagte: Muss ich da an anderer Stelle noch was ändern?
Es muss auch "Kino Küche.on" gesteuert werden.
-
@paul53 sagte in Blockly Bewegungsmelder:
@lemonbiter sagte: Muss ich da an anderer Stelle noch was ändern?
Es muss auch "Kino Küche.on" gesteuert werden.
Lieber Paul... MANMANMAN... ich hatte da wohl Tomaten.. auf den Augen... sozusagen... Danke Dir
LEM