Abhängigkeit Sonnenuntergang_Sonnenaufgang

Begonnen von Corrado, 21 Oktober 2013, 19:58:07

Vorheriges Thema - Nächstes Thema

Corrado

Hallo Zusammen,

erst einmal großes Lob an die Kenner des Fachs die hier immer mit Rat und Tat unterstützen.
Nun zu meiner Frage: ich beabsichtige einen Aktor mittels Bewegungssensor zu schalten. Speziell möchte ich zwischen Sonnenuntergang(-1800s) bis Sonnenaufgang(1800s) schalten, also nur in der dunklen Tageshälfte. Allerding gelingt mir die Definition nicht wirklich, sodass einfach immer geschlaten wird. Kann mir jemand helfen?


define FlurLichtOnS1 notify eg_flur_Melder_S1:on {\
  my $now=sprintf("%02d:%02d:%02d",$hour,$min,$sec);;\
  if(("\"sunrise_abs(1800)\"" gt "\"$now\"") || ("\"$now\"" gt "\"sunset_abs(-1800)\"")) {\
    fhem "set eg_flur_Deckenleuchte_A on-for-timer 48" }\
  else {\
    fhem "Log 1, \"Schalten_unterdruecken_am_Tag\"" }\
}

franky08

Der Melder bringt bestimmt motion statt on ist mir aufgefallen. Ansonsten ist die Lösung ziemlich umständlich, es geht auch einfacher.

Hier meine Badlichtsteuerung, ist im Prinzip das was du suchst:

#Badlicht schalten
#---- Lichtsensor
define Lichtsensor1 dummy
attr Lichtsensor1 fp_Grundriss 200,485,0,
attr Lichtsensor1 room Bad
define Daemmerung notify IR_Sensor.*brightness.* {\
if(ReadingsVal("IR_Sensor","brightness","---")<=33){\
fhem "set Lichtsensor1 dunkel"};;\
if(ReadingsVal("IR_Sensor","brightness","---")>33){\
fhem "set Lichtsensor1 hell"};;\
}
#
#---- Badlicht steuern
define Bewegung_Bad notify IR_Sensor:motion.* {\
if (Value("Lichtsensor1") eq "dunkel") {\
fhem "set Badlicht on-for-timer 360";;\
\
}}
define Badlicht_Tag at *{sunrise} delete Bewegung_Bad
#
Musst du nur für dich anpassen.

VG Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Corrado

Vielen Dank für die schnelle Antwort. Allerdings setze ich nur einen FS20pira ein. Der übergibt ja keinen Helligkeitswert...

Deswegen der Umweg über Sonnenauf-/ Sonnenuntergang.

betateilchen

dafür gibts doch was von ratiopharm isday ...

if(isday) {mache_irgendwas_solange_es_hell_ist}

umgekehrt gehts auch:

if(!isday) {mache_irgendwas_wenn_es_dunkel_ist}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Corrado

Okay. ISDAY ist eine Option - - Danke. Werde ich testen. Wo liegt aber der Fehler in meinem Konstrukt?

betateilchen

weiss ich nicht, ist mir viel zu unübersichtlich, viel zu viele Schrägstriche und Semikolon...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!