FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: brodigy am 22 September 2013, 09:26:44

Titel: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: brodigy am 22 September 2013, 09:26:44
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
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: roedert am 22 September 2013, 11:47:40
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?
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: brodigy am 22 September 2013, 13:31:05
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 :-)...
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: jody am 22 September 2013, 14:37:35
Hallo brodigy,

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

Danke.

Gruß jody
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: brodigy am 22 September 2013, 14:51:27
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.
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: roedert am 22 September 2013, 23:25:09
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") } }

Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: brodigy am 24 September 2013, 19:43:50
Super, funktioniert - vielen Dank für die Hilfe!
Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: brodigy am 24 September 2013, 22:58:19
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...

Titel: Aw: Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: roedert am 24 September 2013, 23:05:37
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.
Titel: Antw:Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: kossmann am 11 Januar 2021, 12:45:36
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).
Titel: Antw:Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: kjmEjfu am 11 Januar 2021, 12:59:47
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
Titel: Antw:Frage zu Beleuchtungssteuerung via Helligkeitssensor
Beitrag von: TomLee am 11 Januar 2021, 13:46:35
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 (https://fhem.de/commandref_modular_DE.html#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