Bewegungsmelder mit Zeitschaltung kombinieren

Begonnen von Benjih, 26 Dezember 2013, 21:52:48

Vorheriges Thema - Nächstes Thema

Benjih

Nabend!
Ich bin neu in der Automationswelt und stoße beim Aufbau meiner Homematic Anlage auf die erste echte Hürde, die ich aus eigener Kraft nicht mehr überspringen kann. Vorab vielen Dank für Eure Hilfestellungen.
Ich möchte, dass die Außenbeleuchtung am Haus jeden Abend mit der Dämmerung einschaltet und gegen 22:00 Uhr wieder ausschaltet. Das Habe ich soweit erfolgreich mit at und sunset hinbekommen. Nun möchte ich aber auch, dass das Licht bei Dunkelheit außerhalb des Timerfensters, also bspw. nach 22 Uhr angeht, wenn der Bewegungsmelder motion sendet.
Momentan habe ich das Problem, dass der Bewegungsmelder auch im Zeitfenster anschlägt und damit die Beleuchtung nach Ablauf der drei Minuten (on-for-timer) wieder ausschaltet, obwohl es noch nicht 22 Uhr ist... Hilfe! Wie gehe ich die Sache an, damit nach Ende der Motion-Schaltzeit die Zeitschaltuhr wieder den state vorgibt?

############
# Hausecken
## Einschalten eine Stunden vorm Sonnenuntergang
define HauseckenSpaetAN at +*{sunset_rel(-3600)} set Hausecken on
##  Ausschalten um 22:00 Uhr
define HauseckenSpaetAUS at *22:00:00 set Hausecken off


#################################
#Bewegungsmelder
#################################
## Bewegungsmelder Carport
###############
##
define BewegungVorne notify CUL_HM_HM_Sen_MDIR_O_1A8311:motion set Hausecken on-for-timer 180


stromer-12

Du könntest an Stelle von "on-for-timer" den Befehl "on-old-for-timer" verwenden.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Benjih

Hallo Stromer.
Danke für den Tip. Leider bleibe ich damit erfolglos. Beim Versuch damit zu schalten, passiert nichts außer ein Logfile Eintrag dieser Art:
###
2013.12.27 23:22:10 3: BewegungVorne1 return value: Unknown argument on-old-for-timer, choose one of clear:readings,register,rssi,msgEvents getConfig getRegRaw inhibit:on,off off on on-for-timer on-till peerBulk press regBulk regSet sign:on,off statusRequest toggle
###
Hier mein notify-code:
define BewegungVorne1 notify CUL_HM_HM_Sen_MDIR_O_1A8311:motion set Hauseingang on-old-for-timer 250

Was mache ich falsch?

Gruß
Benni

Gollum2

Hallo Benji,

habe ich das richtig verstanden?

Das Licht, das der Bewegungsmelder schalten soll, ist eh schon von Sonnenuntergang bis 22:00 uhr an?

Wenn ja, dann solltest du im Notify vom Bewegungsmeldet für den Zeitraum das Schalten unterdrücken.
Es muss ja nichts eingeschaltet werden, was eh schon an ist - und bei the Way würdes du auch das "Auschaltproblem" nicht haben. ;-)

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

Gollum2

Alternative: Bewegungsmelder Schaltet das Licht nur, wenn es nicht schon an ist.....


define BewegungVorne1 notify CUL_HM_HM_Sen_MDIR_O_1A8311:motion {\
my $StatusHausecken=(ReadingsVal("Hausecken","state","on"));;\
if ($StatusHausecken eq "off")  \
{\
  {fhem "set Hauseingang on-old-for-timer 250"}\
}\
}

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

Benjih

Hej Gollum!
Vielen Dank. Das war des Rätsels Lösung! Jetzt funktioniert es so, wie ich es mir vorgestellt hatte.

Gruß, Benji

Gollum2

Immer wieder gern...


Gesendet von meinem iPad mit Tapatalk
"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."

Fhem auf Raspberry PI 2
HM LAN HM USB, CUL 433
IT Steckdosen, Diverse HM Aktoren und Sensoren, Yamaha Receiver, Panasonic TV, Harmony Hub

Benjih

Moin moin,
jetzt habe ich noch eine ergänzende Frage. Momentan schalten meine Bewegungsmelder auch bei schönstem Sonnenschein.  8) Wie kann ich auf einfachstem Weg den Code anpassen, damit die Lampen nur angehen, wenn die vom PIR gemessene Brightness <50 ist? Habt Ihr Ideen?

Nochmal vielen Dank!

Gruß
Benji

Benjih

Moin. Hab mir mit folgender Erweiterung meines Codes selbst geholfen:

## Terrasse
define BewegungTerrasse notify MelderTerrasse:motion {\
my $StatusTerrasse=(ReadingsVal("Terrasse","state","on"));;\
if ($StatusTerrasse eq "off")  \
{\
if (ReadingsVal("MelderTerrasse","brightness",99) < 100)
{fhem "set Terrasse on-for-timer 250"}\
}\
}
## Ende Notify Bewegung Terrasse

Vielleicht hifts auch anderen...

Gruß
Benji