SUNRISE EL

Aus FHEMWiki

Lichtsteuerung per sunset / sunrise

Voraussetzungen

In der fhem.cfg müssen Sie vorher Ihren Wohnsitz definieren, da der Sonnenauf- und -untergang ja nicht nur vom Datum, sondern auch vom Längen- und Breitengrad Ihres Standortes abhängig ist. Hierzu tragen Sie folgende Zeilen in die fhem.cfg ein:

attr global latitude 5X.XYZ
attr global longitude 6.XYZ

und zwar in genau dieser Schreibweise. Entweder benutzen Sie zur Bestimmung ein GPS-System oder sie befragen einen entsprechenden Internet-Dienst.

Als Internet-Dienst eignet sich beipielsweise OpenStreetMap. Die Werte latitude und longitude können aus der URL abgelesen werden. In diesem Beispiel latitude 52.4994 und longitude 13.4960.

Steuerung

Mittels folgender Skriptzeilen in der fhem.cfg

# Außenlampe - Steuerung An-/Ausschaltzeit
define AussenlampeAn1 at *{sunset(0,"17:00","22:00")} set EG.Diele.Aussenlampe on
define AussenlampeAus1 at *{sunrise(0,"05:00","07:30")} set EG.Diele.Aussenlampe off

wird der Funk-Lichtschalter für die Außenbeleuchtung (hier das FHEM-Gerät mit dem Namen EG.Diele.Aussenlampe)

  • morgens zum Sonnenaufgang, aber nicht vor 05:00 und nicht nach 07:30 Uhr ausgeschaltet

und

  • abends zum Sonnenuntergang eingeschaltet, aber nicht vor 17:00 Uhr und nicht nach 22:00 Uhr.

Im FHEM-Standard wird der sogenannte bürgerliche Sonnenuntergang/-aufgang genutzt.

Bis bzw. ab dieser Zeit ist das Lesen ohne zusätzliche Beleuchtung möglich. Da dies nicht immer gewünscht ist, ist es möglich bei den sunrise/sunset-Funktionen *optional* als ersten Parameter vorne REAL, CIVIL, NAUTIC, ASTRONOMIC oder z.B. HORIZON=-6.0 oder "HORIZON -6.0" anzustellen:

 # Normales Verhalten wie im obigen Beispiel: 
 {sunset(0,"17:00","22:00")}
 Ergebnis (als Beispiel): 19:59:22 
 # Gleiches Beispiel mit CIVIL als 1. Parameter:  
 {sunset("CIVIL",0,"17:00","22:00")} 
 Ergebnis (als Beispiel):   19:59:22 
 # Gleiches Beispiel mit Eingabe der Höhe über Horizont als 1. Parameter: 
 {sunset("HORIZON=-6.0",0,"17:00","22:00")} 
 Ergebnis (als Beispiel):   19:59:22 
 # Gleiches Beispiel mit dem realen Sonnenuntergang auf 0 Grad als 1. Parameter: 
 {sunset("REAL",0,"17:00","22:00");;} 
 Ergebnis (als Beispiel):   19:22:07

Kontrolle

Um die Zeiten zu kontrollieren können Sie in der FHEM-Befehlszeile den Befehl

list AussenlampeAn1

eingeben und mit der <Enter>-Taste (nicht "save-Button") bestätigen. Sie sehen dann (hier eine Ausgabe vom 17.01.2013) z.B. folgendes:

Internals:
  DEF    *{sunset(0,"17:00","22:00")} set EG.Diele.Aussenlampe on
  NAME    AussenlampeAn1
  NR     225
  NTM    17:37:09
  REP    -1
  STATE   Next: 17:37:09
  TRIGGERTIME 1358527029
  TYPE    at
Attributes:
  room    Diele

Der Sonnenuntergang liegt am genannten Tag innerhalb des Start-/Ende-Zeitraums, so dass die Lampe um 17:37 Uhr eingeschaltet wird.

Die Ausgabe (gleiches Datum) von

list AussenlampeAus1

lautet:

Internals:
  DEF    *{sunrise(0,"05:00","07:30")} set EG.Diele.Aussenlampe off
  NAME    AussenlampeAus1
  NR     228
  NTM    07:30:00
  REP    -1
  STATE   Next: 07:30:00
  TRIGGERTIME 1358490600
  TYPE    at
Attributes:
  room    Diele

Hier liegt der Sonnenaufgang noch außerhalbdes Start-/Ende-Zeitraums, so dass die Lampe um 07:30 Uhr ausgeschaltet wird.

Hinweise

  • Da es Eintrag in der ehemaligen FHEM-Google-Group entnehmen.
  • Die sunset / sunrise Einstellungen arbeiten meist erst am nächsten Tag richtig. Das hängt zusammen mit einer Falschberechnung beim setzen dieses defines. An einer Korrektur wird gearbeitet (Stand Januar 2013).