Frage zu Beleuchtungssteuerung via Helligkeitssensor

Begonnen von brodigy, 22 September 2013, 09:26:44

Vorheriges Thema - Nächstes Thema

brodigy

Hallo,

ich möchte eine Lampe so schalten, dass wenn der Bewegungsmelder einen bestimmten Helligkeitswert unterschreitet, ein Einschaltsignal an die Lampe geht. Nur wir bringe ich hier noch eine UND-Verknüfung ein, dass die Lampe um 0:00 Uhr wieder ausgeht und den Rest der Nacht auch dunkel bleibt?
Ein Ausschaltbefehl z.B.:
define Daemmerungslicht_AUS at *00:00 set Beleuchtung off-till 06:30

wird jedesmal vom Helligkeitssensor wieder überschrieben. Das funktioniert nicht.

So ist mein Einschaltbefehl:
define Daemmerungslicht notify Bewegungsmelder_01 { if (ReadingsVal("Bewegungsmelder_01", "brightness", 300) <150) { fhem("set Beleuchtung on") } }

Vielen Dank für die Hilfe,

brodigy

roedert

Du könntest in den Einschaltbefehl ein if bringen um abzufragen ob es vor 0:00 oder nach 6:30 ... und nur dann einschalten.

Alternativ kannst du um 0:00 den Einschalt-notify disablen .. und um 6:30 wieder enablen.

Andere Frage: welchen Bewegungsmelder nutzt du der dir kontinuierlich Helligkeitswerte liefert?

brodigy

Ich verwende den HM-Sen-MDIR-O Bewegungsmelder. Der liefert aus meiner Sicht einen zuverlässigen Helligkeitswert (siehe Screenshot im Anhang).

Du könntest in den Einschaltbefehl ein if bringen um abzufragen ob es vor 0:00 oder nach 6:30 ... und nur dann einschalten.

 Alternativ kannst du um 0:00 den Einschalt-notify disablen .. und um 6:30 wieder enablen.


Wir würde der Befehl konkret lauten um das zu realisieren? Theoretisch ist mir das auch klar nur mit der Umsetzung haperts ein wenig :-)...

jody

Hallo brodigy,

welchen Bereich kann dein Sensor auswerten?
0 - x lux.

Danke.

Gruß jody
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

brodigy

Hi Jody,

in der Beschreibung finde ich leider keine LUX-Werte. Das Teil liefert aber aus meiner Sicht eine recht gute Abstufung wie Du im Screenshot vom vorigen Post sehen kannst. Bei mir hat es z.B. Nachts eine Helligkeit von 56 jetzt aktuell bei bewölktem Himmel 214.

roedert

Zitat von: brodigy schrieb am So, 22 September 2013 13:31Wie würde der Befehl konkret lauten um das zu realisieren?


so zB .... schaltet nicht zwischen 0 und 4 Uhr ... mit 4:30 ist es was komplizierter....

define Daemmerungslicht notify Bewegungsmelder_01 { if ((ReadingsVal("Bewegungsmelder_01", "brightness", 300) <150) && ($hour < 0 || $hour >= 4)) { fhem("set Beleuchtung on") } }


brodigy

Super, funktioniert - vielen Dank für die Hilfe!

brodigy

letzte Frage abschließend dazu in die Runde:

wie müsste der Befehl für eine konkrete Uhrzeit also z.B. 6:30 Uhr abgeändert werden?
Das scheint glaube ich wirklich nicht so trivial zu sein...


roedert

define Daemmerungslicht notify Bewegungsmelder_01 { if ((ReadingsVal("Bewegungsmelder_01", "brightness", 300) <150) && ($hour < 0 || ($hour == 6 && $min >= 30) || $hour >= 7)) { fhem("set Beleuchtung on") } }

oder auch so

define Daemmerungslicht notify Bewegungsmelder_01 { if ((ReadingsVal("Bewegungsmelder_01", "brightness", 300) <150) && $hms ge "06:30:00") { fhem("set Beleuchtung on") } }

#hms lt "00:00:00" kann entfallen da es ja eh nie vorkommt. Auch das $hour < 0 in den vorigen Beispielen war eigentlich schon überflüssig, da es auch nie vorkommt.

kossmann

Mal eine eventuell doofe Frage zu dem Thema:

Das notify löst doch bei jeder Aktualisierung durch den Bewegungsmelder_01 aus, oder? Dann prüft das if, ob es weniger als 150 Lux sind und der Zeitrahmen passt.
Bedeutet dies dann aber nicht, dass innerhalb des Zeitrahmens die Beleuchtung alle 2-3 Minuten (Intervall des Bewegungsmelders) eingeschaltet wird, nachdem 150 Lux unterschritten sind - auch wenn sie schon an ist? Stichwort Duty Cylce.

Ich stehe gerade vor einer ähnlichen Aufgabe: Mein HmIP-SLO meldet alle 2-3 Minuten die durchschnittliche Helligkeit und bei Unterschreiten von 300 Lux soll ein Rollo herunter gefahren werden, allerdings spätestens bei Sonnenuntergang, nicht jedoch vor 15 Uhr (Gewitter mit "Weltuntergang" oder starker Schneefall vormittags soll ignoriert werden).

kjmEjfu

Zitat von: kossmann am 11 Januar 2021, 12:45:36
Ich stehe gerade vor einer ähnlichen Aufgabe: Mein HmIP-SLO meldet alle 2-3 Minuten die durchschnittliche Helligkeit und bei Unterschreiten von 300 Lux soll ein Rollo herunter gefahren werden, allerdings spätestens bei Sonnenuntergang, nicht jedoch vor 15 Uhr (Gewitter mit "Weltuntergang" oder starker Schneefall vormittags soll ignoriert werden).

Für den Fall würde ich mir mal ASC anschauen: https://wiki.fhem.de/wiki/AutoShuttersControl
Migriere derzeit zu Home Assistant

TomLee

ZitatDas notify löst doch bei jeder Aktualisierung durch den Bewegungsmelder_01 aus, oder? Dann prüft das if, ob es weniger als 150 Lux sind und der Zeitrahmen passt.
Bedeutet dies dann aber nicht, dass innerhalb des Zeitrahmens die Beleuchtung alle 2-3 Minuten (Intervall des Bewegungsmelders) eingeschaltet wird, nachdem 150 Lux unterschritten sind - auch wenn sie schon an ist? Stichwort Duty Cylce.

Es gibt die Möglichkeit im set Befehl zu filtern, mit devspec

Sprich nur Geräte einzuschalten die beim auslösenden Event des Bewegungsmelder auch aus sind.

Beispiel:

Schalte die Beleuchtung nur ein wenn der Status (state) nicht an ist

set Lampe1:FILTER=state!=on on


Gruß

Thomas