NEWS
Blockly Bewegungsmelder
-
Hallo zusammen,
ich habe da einen Knoten im Kopf.Ich habe eine Lampe, die ich bspw. durch einen Taster oder ein Zeitscript geschaltet habe.
Zusätzlich gibt es einen BewegungsmelderBeide haben als Wert true oder false
Ist die Lampe aus, also sie ist weder manuel durch den Taster noch durch das Zeitsript an, dann soll sie bei Bewegungserkennung auf true gehen und nachdem der Bewegungsmelder wieder false ist nach X-Minuten ausgehen = false.
War die Lampe an (durch Taster oder Script) dann soll bei Bewegung nichts passieren...
Hat jemand (idealerweise) ein Blockly XML für mich???
LIEBEN DANKLem
-
@lemonbiter sagte: War die Lampe an (durch Taster oder Script) dann soll bei Bewegung nichts passieren...
-
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.