NEWS
Blockly Bewegungsmelder
-
Lieber Paul danke Dir... könntest Du mir das XML dazu senden?
Das wäre phenomenal -
@lemonbiter sagte: das XML dazu senden?
-
Vielen lieben Dank... Aber iwie geht die Lampe nicht aus...Wenn ich das blockly sehe, sollte das licht nach Bewegungsmelder doch nach 2 Minutena usgehen oder?
-
@lemonbiter sagte: sollte das licht nach Bewegungsmelder doch nach 2 Minutena usgehen oder?
Ja, um 2 Minuten verzögert, wenn der BWM auf false geht (und bleibt). Das aber nur, wenn die Variable
manuell_ein
nicht true ist. Logge mal die Variable im BWM-Trigger.
Den richtigen Namen Deines BWM-Skriptes hast Du eingegeben? -
-
@lemonbiter sagte in Blockly Bewegungsmelder:
sollte das licht nach Bewegungsmelder doch nach 2 Minutena usgehen oder?
sollte es sich z.b. um einen zigbee BWM handeln, braucht dieser ca 90 sec bis der DP auf false springt, ab da zählen anschliessend die 2 Min.
-
Ich habe die Objekte angepasst und bei Bewegung und Lampe war aus geht die Lampe an... aber eben nicht aus
Angepasst habe ich die ObjektIDs des Bewegungsmelders und der Lampe und dann noch den ungleich Wert auf den Namen des Scriptes geändert
-
Ja, das dachte ich mir... es ist ein aqara... der braucht immer... aber wenn er auf false ist geht das licht eben nicht nach 2 oder 3 Minuten aus
-
@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?