NEWS
Bewegungsmelder | Lampe auf vorherigen Wert schalten
-
Moin allerseits. Ich habe mein Blockly mit Hilfe des Forums schon fast fertig, aber bei einem Punkt komme ich nicht weiter.
Ich habe eine Wandlampe im Flur, die sich zum Sonnenuntergang -60 min auf Level 10 einschaltet. Zum Sonnenuntergang bis 22.00 Uhr (WE 23.00 Uhr) schaltet sie auf Level 20. Danach leuchtet sie als Nachtlicht bis Sonnenaufgang-Ende auf Level 1.
Das soll passieren (ich hoffe das passt bis jetzt so):
Ich habe zwei Bewegungsmelder. Die Lampe soll innerhalb einer festgelegten Zeit auf Level 30 eingeschaltet werden, wenn einer der beiden Bewegungsmelder auslöst und anbleiben wenn weiterhin Bewegung erkannt wird. Nach der festgelegten Zeit (oder keine Bewegung mehr erkannt wird) soll das Licht dann wieder gedimmt werden. Und jetzt wird es kompliziert. Die Lampe wird per Smartphone auch mal ausgeschaltet, wenn man mal eher ins Bett geht. Idealerweise müsste folgendes passieren. Es wird geprüft auf welchem Wert die Lampe zum Zeitpunkt des Auslösens steht und dann wieder auf das jeweilige Level gedimmt werden. Und wenn die Lampe aus ist, soll sie, nachdem der Bewegungsmelder ausgelöst hat, auf Level 1 geschaltet werden. Das sind aber so viele Bedingungen, das kriege ich nicht hin, kann da jemand helfen?Gruß,
Crazy
-
Einfacher Ansatz:
- Eine Variable definieren
ursprungszustand, auf -1 setzen. - vor dem
stop timeouteinfalls Ursprungszustand < 0machesetze Ursprungszustand auf wert von GU10 Flur Open level - Dahinter ein
Falls Ursprungszustand = 0 oder GU10 Flur Oben Status = aussetze Ursprungszustand auf 1 - Im Ausführen Timeout:
--Steuere GU10 Flur Oben.level auf Ursprungszustand
--Setze Ursprungszustand auf -1
Wichtig: Wenn du die Lampe ausschaltest kann es sein das der
levelDatenpunkt nicht mit 0 gefüllt ist, daher die Zusatzabfrage ob die Lampe aus ist (GU10 Flur Oben Status = aus) - diese Bedingung musst du so umschreiben das du erkennst ob die Lampe ausgeschaltet ist oder nicht.A.
- Eine Variable definieren
-
@asgothian Was Du als einfachen Ansatz siehst ist für mich schon eine Herausforderung
Ich glaube aber verstanden zu haben was da abläuft. Wäre nur schön wenn Du mal drüberschauen könntest, ob ich alles richtig zusammengebaut habe.
Bei deinem ersten Punkt bin ich mir nicht sicher, ob ich das richtig umgesetzt habe, den Baustein mit ursprungszustand = -1 habe ich an den Anfang gesetzt. Da bin ich mir nicht sicher, ob er da an der richtigen Stelle ist, denn eigentlich wird der Wert ja am Ende des Blocklys auf auch -1 gesetzt.
-
@crazy32 sagte: Es wird geprüft auf welchem Wert die Lampe zum Zeitpunkt des Auslösens steht und dann wieder auf das jeweilige Level gedimmt werden. Und wenn die Lampe aus ist, soll sie, nachdem der Bewegungsmelder ausgelöst hat, auf Level 1 geschaltet werden.
Vorschlag:
