In diesem Tutorial zeige ich dir, wie du die Uhrzeit des Sonnenaufgang und Sonnenuntergang in FHEM anzeigen lassen kannst.
Voraussetzung: – eine laufende FHEM Version
- Öffnet die Konfigurationsdatei (fhem.cfg) von FHEM.
- Fügt folgende Globale Attribute hinzu um euren Standort festzulegen.
attr global latitude 51.345753 attr global longitude 12.38213
Ersetzt die latitude und longitude Angaben mit eurem Standort. Hier könnt ihr die dezimal Werte für eueren Standort herausfinden.
- Um die Werte für Sonnenauf- und Sonnenuntergang zu speichern, erstellen wir zwei Dummy’s
define Sonnenaufgang dummy define Sonnenuntergang dummy
- Da die Werte jeden Tag nach 0Uhr neu generiert werden müssen, erstellen wir folgende Funktion
define sun_riseSet_timer at *00:05:00 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s");; }
Jeden Tag um 0:05Uhr wird die Uhrzeit für die nächsten Sonnenaufgang/Sonnenuntergang den Dummy’s zugewiesen.
- Nun weisen wir den Dummy’s noch den Raum Wetter zu.
attr Sonnenaufgang room Wetter attr Sonnenuntergang room Wetter
Am Ende müsste euer hinzugefügter Code so aussehen.
attr global latitude 51.339695
attr global longitude 12.373075
############## Sunrise/Sunset ###################
define Sonnenaufgang dummy
attr Sonnenaufgang room Wetter
define Sonnenuntergang dummy
attr Sonnenuntergang room Wetter
define sun_riseSet_timer at *00:05:00 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s");; }
Wenn ihr einen bestimmten Helligkeitsgrad des Sonnenaufgang/Sonnenuntergang wissen möchtet könnt ihr folgende Befehle verwenden.
sunrise("REAL"); #Sonne geht am Horizont auf oder unter
sunrise("CIVIL"); #Sonne ist hinter dem Horizont, aber es ist noch Hell
sunrise("NAUTIC") #Umrisse können noch gegen den Horizont wahrgenommen werden (z.B auf dem Meer)
sunrise("ASTRONOMIC") #es ist komplett dunkel
Weiter Informationen zu sunrise() findet ihr auf der Commandref Seite.
Habt ihr Fragen oder Anregungen hinterlasst ein Kommentar
In Punkt 4 ist ein Fehler.
Du schreibst “jeden Tag um 00:05 Uhr” aber im Code steht jeden Tag um 03:00 Uhr 🙂
Danke hab es geändert. 🙂
Wie öffnet man die (fhem.cfg) von FHEM? Bin Einsteiger.
Danke für den Tipp, funktioniert perfekt.
Hat jemand eine einfache Lösung parat wie ich noch zusätzlich die Tageslänge (=Sonnenuntergang minus Sonnenaufgang) berechnen und ausgeben kann?
Hallo Ben,
aus aktuellem Anlass: Dein Script hat die schwäche das es bei einer Zeitumstellung wie sie Heute Nacht um 2:00 Uhr erfolgt ist am ersten Tag nach der Zeitumstellung noch die alten Zeiten in den Variablen Sonnenauf- und Sonnenuntergang ablegt (da bereits um 00:05 Uhr, also vor der Umstellung das Script ausgeführt wird).
Also entweder die Uhrzeit auf bspw. 03:05 Uhr ändern, oder um ganz unabhängig von der Zeitumstellung zu werden gleich das Script von Betateilchen aus dem FHEM Forum nehmen:
define Sonnenauf at *{sunrise("REAL",0,"4:00","08:00")} {}
attr Sonnenauf room 40_System
define Sonnenunter at *{sunset("REAL",0,"16:00","22:00")} {}
attr Sonnenunter room 40_System
Gruß,
Oliver B.
Vielen Dank für den Tipp Oliver. Ich freue mich immer sehr über Verbesserungsvorschläge. Hab im Artikel die Uhrzeit geändert.
Gute Anleitung, habe leider auch das Problem mit Sonnenaufgang = 28 Uhr aber das Stört mich nicht…
Habe nur ein Problem, kann mir jemand sagen wie ich nun über Fhem ein Relais immer an der neu Festgelegten Uhrzeit automatisch Schalten kann??? Sprich: Ich möchte das ab Sonnenaufgang automatisch ein Schalter umgelegt wird(bei Sonnenuntergang genau das selbe), welcher in ständigem Kontakt mit dem Sunrise Timer steht. Habe mich festgeafhren, whrscheinlich nur ein Denkfehler, aber wäre toll wenn mir ein Schlauer Kopf weiterhelfen könnte 😀
LG Henrik
Also lt. dem Coding steht bei mir nun…
Sonnenaufgang 28:27:44
Sonnenuntergang 22:38:54
Merkwürdige Stundenangaben…
Wenn das Tutorial nicht mit “Öffnet die fhem.cfg” anfangen würde…
Ich habe bei mir sunrise und sunset durch sunrise_abs und sunset_abs ersetzt. Sonst funktionierts nur vor Sonnenaufgang bzw. Sonnenuntergang. 0:05 Uhr sollte zugegebenermaßen immer vorher sein, aber mit _abs isses halt stabiler.
Super Zusammenfassung, weiter so, es gibt noch viel über fhem zu schreiben 🙂
Das meiste habe ich bislang http://www.meintechblog.de/ entnommen. Leider ist der Techblog und diese Anleitung hier ziemlich wenige die wirklich verständlich für Anfänger sind (Ich beschäftige mich erst seid ca. einer Woche mit fhem, weg von RWE Smarthome). Hast du noch andere gute Seiten/Blogs wo eventl. einzelne HomeMatic-Bauteile mit Verknüpfungen zu fhem beschrieben sind? Habe bis jetzt einen HM-Stellantrieb, einen Wandsender, ein Aussenthermometer und einen opt. Türsensor mit nem HMLan am Raspi im Einsatz… vielen Dank und weiter so!
Danke Alex für das Lob.
Auf diesen zwei Seiten gibt es interessante Beiträge zu FHEM.
http://mkleine.de/blog/category/hardware/raspberry-pi/
http://blog.wenzlaff.de/?tag=fhem
Wer noch mehr kennst kann sie gern hier posten.
Hallo Ben! Hier gibt es auch einige Tutorials zu FHEM, und auch etwas zu sunrise und sunset, aber nur die Steuerung von Lampen, nicht wie bei dir auch die Anzeige 🙂
http://www.computerhilfen.de/info/smart-home