NEWS
Blockly Script
-
Hallo zusammen,
ich habe ein Problem mein Blockly Script so anzupassen, dass die Lichtsteuerung auch über einen zweiten Bewegungsmelder angesteuert werden kann.
Im ersten Screenshot habe ich das erste Blockly Script gezeigt. Es funktioniert auch wie gewollt. Das Licht wird bei Bewegungserkennung eingeschaltet und wenn keine Bewegung erkannt wird, wird das Licht wieder ausgeschaltet.
Jetzt möchte ich einen zweiten Bewegungsmelder integrieren. Wenn Bewegungsmelder 1 oder 2 eine Bewegung erkennen, soll das Licht eingeschaltet werden. Nur wenn beide Bewegungsmelder keine Bewegung mehr erkannt haben, soll dass Licht wieder ausgeschaltet werden.
Könnt ihr mir helfen, das Script zu korrigieren?
VG
-
@takahara
Soll da tatsächlich nur ausgeschaltet werden, wenn die Helligkeit > 50 ist?
Ich würde da stattund
einoder
einsetzen.
Die Prüfung aufon/off
ist zwar semantisch korrekt, aber ich würde da ein = einseten - liest sich einfach besser. -
@codierknecht ich verstehe den ganzen unteren Teil nicht
-
@crunchip sagte in Blockly Script:
ich verstehe den ganzen unteren Teil nicht
Welchen Teil davon?
Ich habe das so verstanden:
In
on/off
hat er sich gemerkt, ob das Licht per BWM eingeschaltet wurde.
Der Trigger ist einer seiner BWM.
Wenn dann entweder die Helligkeit > 50 istoder
keine Bewegung, soll das Licht ausgehen. Aber nur, wenn über den BWM eingeschaltet.Natürlich könnte man das auch noch deutlich besser formulieren.
Aus dem "sonst falls" würde ich einfach ein "sonst" machen. Die Bedingung wurde ja bereits oben abgefragt.
Soll heißen: Im "falls" wird geprüft, ob Helligkeit<=
50. Ist sie > 50, reicht ein einfachen "sonst".
Etwas seltsam ist das "on/off und wahr". Liest sich komisch, sollte aber funktionieren.Ich würde das Ganze allerdings grundsätzlich anders machen.
Bei mir gäbe es einen eigenen Trigger auf die Helligkeit. Wenn die über 50 geht, wird ausgeschaltet - egal was sonst so passiert. -
@codierknecht glaub jetzt hab ichs verstanden, das obere sonst, schaltet das Licht aus wenn keine Bewegung
das untere sonst falls, ist dafür da, falls das Licht(ich nehme milight-smart-light an) anderweitig angeschaltet wurde, dann automatisch ausgeht, falls zu hell@codierknecht sagte in Blockly Script:
"on/off und wahr"
milight-smart-light
achso das und, hmm hab ich so noch nicht probiert
-
Für mich ist das relativ klar. Der untere Zweig (Helligkeit > 50) dient dazu das Licht Auszuschalten wenn es hell wird. Ich gehe davon aus das
Dach_helligkeitsensor:1.LOWEST_ILLUMINATION
auch dann < 50 ist wenn das Licht an ist. Das Abschalten bei Ende der Bewegung ist schon im Falls Helligkeit <= 50 Zweig enthalten.Man hätte das SonstFalls also auch auf eine Abfrage von
On/Off
einkürzen können - beide Alternativen sind wenn diese Bedingung kommt sowieso wahr.@Takahara
Zum Thema arbeiten mit 2 BWM: Du brauchst eine VariableMinBwmStatus
. Diese setzt du direkt als erstes im Trigger aufWert von (BWM1) oder Wert von (BWM2)
In der Folge kannst du dann in deinem
Falls Wert von BWM1
umstellen aufFalls MinBwmStatus
A.
-
@crunchip sagte in Blockly Script:
achso das und, hmm hab ich so noch nicht probiert
Macht man auch eher selten.
Semantisch ist das durchaus korrekt. Der "Wert von on/off" ist ja danntrue
.
Und eintrue AND true
ergibt wiedertrue
. Besser lesen ließe sich das bei einem Vergleich aber mit=
. -
@takahara sagte in Blockly Script:
Könnt ihr mir helfen, das Script zu korrigieren?
könntest du bitte den Titel korrigieren?
So weiß niemand was du willst. -
@asgothian sagte: Der untere Zweig (Helligkeit > 50) dient dazu das Licht Auszuschalten wenn es hell wird.
Das funktioniert nur, wenn auch auf Helligkeit getriggert wird.
EDIT: Das Ausschalten, wenn es heller wird, sollte nicht nötig sein, da BWM das Licht ohnehin nur für eine begrenzte Zeit einschalten.
-
@takahara sagte: helfen, das Script zu korrigieren?
Was funktioniert nicht? Was ist "set preset"?
Eine weniger Ressourcen verbrauchende Version: