Hallo zusammen,
ich habe schon seit etwa 1 Jahr folgende Funktion in meiner Fhem-Instanz:
define Sonnenaufgang dummy
attr Sonnenaufgang group Umwelt
attr Sonnenaufgang room Haus
define Sonnenuntergang dummy
attr Sonnenuntergang group Umwelt
attr Sonnenuntergang room Haus
[code]define Sun_RiseSet_Timer at *00:05:15 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s")}
Bislang habe ich den Output aus dem "at" jedoch nie verwendet. Jetzt will ich die Zeiten gerne im Infopanel anzeigen. Dabei ist mir aufgefallen, dass die Zeiten nicht wirklich den "gefühlten" Werten entsprechen. Daher habe ich das "at" folgendermaßen abgewandelt:
define Sun_RiseSet_Timer at *00:05:15 { my $s = sunrise("HORIZON=-1");; fhem("set Sonnenaufgang $s");; $s = sunset("HORIZON=-1);; fhem("set Sonnenuntergang $s")}
Habe dann die Nacht abgwewartet und heute morgen dann festgestellt, dass sich die Zeiten nicht verändert haben. Es werden immer noch die Zeiten von sunrise() und sunset() in die Dummies geschrieben. Und das, obwohl ein
{sunrise(HORIZON=-1)}
und
{sunset(HORIZON=-1)}
in der Kommandozeile die korrekten (von mir gewünschten) Zeiten ausgeben.
Wo liegt der Fehler?
Habe das "at" jetzt mal
define Sun_RiseSet_Timer at *00:05:15 { my $s = sunrise("REAL");; fhem("set Sonnenaufgang $s");; $s = sunset("REAL");; fhem("set Sonnenuntergang $s")}
geändert und hoffe auf andere Werte!
Kann mir jmd helfen?
Ach und noch eine Frage am Rande: Warum muss man immer bis nach Mitternacht warten? Habe das "at" mal alle 2 Minuten ausführen lassen, brachte aber garkeine Ergebnisse!
Da fehlt noch ein " hinter dem zweiten -1
Also {sunrise(HORIZON=-1)} geht nicht, dass muss {sunrise("HORIZON=-1")} heißen.
sunrise liefert die Zeit plus 24 h es gibt auch sunrise_abs() das liefert den Wert ohne die 24h
Gruß Otto
Zitat von: Otto123 am 16 Februar 2015, 22:53:45
sunrise liefert die Zeit plus 24 h
Das stimmt so pauschal nicht. Wenn Du das sunrise am gleichen Tag vor Sonnenaufgang ausführst, bekommst Du keine 24 Stunden aufaddiert.
stimmt, Michi machts nach 00:00 habe ich nicht bedacht. :D
Sorry Otto
Hallo,
hatte im Post (nicht im Fhem) die Anführungszeichen vergessen. Allerdings tuts das auch nicht!
Und seltsamerweise musste ich heute morgen feststellen, dass auch die Anweisung
define Sun_RiseSet_Timer at *00:05:15 { my $s = sunrise("REAL");; fhem("set Sonnenaufgang $s");; $s = sunset("REAL");; fhem("set Sonnenuntergang $s")}
leider nicht funktioniert. Die Dummies enthalten noch die Werte von gestern, wo ich noch sunrise() und sunset() benutzt hatte.
Also irgendwo ist da der Wurm drin!!! :( ::)
Zitat von: Michi240281 am 17 Februar 2015, 14:50:56
Also irgendwo ist da der Wurm drin
Dann musst Du in die Apotheke gehen und Panacur holen.
Zitat von: betateilchen am 17 Februar 2015, 16:19:08
Dann musst Du in die Apotheke gehen und Panacur holen.
Da scheint sich aber jmd gut auszukennen! ;)
Bitte wieder zum Thema zurück!
Also ich mache das anders herum.
Ich habe das at direkt mit sunset/sunrise verbunden:
*{sunset("HORIZON=-5",0,"16:00","22:00")} set dunkel on
*{sunrise("HORIZON=+3",0,"7:30","9:00")} set dunkel off
(Zur Info: dunkel ist ein dummy, mit dem ich weitere Dinge schalte.)
Hat den Vorteil, ich sehe gleich im at, wann die Zeit ist:
STATE
Next: 07:42:24
TIMESPEC
{sunrise("HORIZON=+3",0,"7:30","9:00")}
TRIGGERTIME
1424241744
TRIGGERTIME_FMT
2015-02-18 07:42:24
Zur "schönen" Anzeige habe ich einfach zwei weblinks definiert:
htmlCode { 'Sonnenaufgang: ' . sunrise_abs('REAL') . ' Uhr<br>'}
htmlCode { 'Sonnenuntergang: ' . sunset_abs('REAL') . ' Uhr<br>'}
Das ganze habe ich auch noch mit Mondaufgang/-untergang
Zitat von: Mitch am 17 Februar 2015, 17:33:40
Also ich mache das anders herum.
Ich habe das at direkt mit sunset/sunrise verbunden:
*{sunset("HORIZON=-5",0,"16:00","22:00")} set dunkel on
*{sunrise("HORIZON=+3",0,"7:30","9:00")} set dunkel off
(Zur Info: dunkel ist ein dummy, mit dem ich weitere Dinge schalte.)
Hat den Vorteil, ich sehe gleich im at, wann die Zeit ist:
STATE
Next: 07:42:24
TIMESPEC
{sunrise("HORIZON=+3",0,"7:30","9:00")}
TRIGGERTIME
1424241744
TRIGGERTIME_FMT
2015-02-18 07:42:24
Das habe ich auch in vielen Anweisungen drin! Es geht rein um die Anzeige in den Dummies, damit ich die Info im InfoPanel anzeigen kann.
Zitat
Zur "schönen" Anzeige habe ich einfach zwei weblinks definiert:
htmlCode { 'Sonnenaufgang: ' . sunrise_abs('REAL') . ' Uhr<br>'}
htmlCode { 'Sonnenuntergang: ' . sunset_abs('REAL') . ' Uhr<br>'}
Habe ich auch mal spontan eingebaut. Mir wird dann oberhalb des Moduls "Sonnenaufgang" mit der entsprechenden Zeit angezeigt! Wie bekäme ich das denn dann im InfoPanel dargestellt bzw. in einen Dummie geschrieben? Verstehe nach wie vor nicht, warum es in dem "at" nicht (mehr) funktioniert.
Zitat
Das ganze habe ich auch noch mit Mondaufgang/-untergang
Wie lautet denn für den Mond die Anweisung?
?? in diesen Variablen sunset_abs('REAL') stehen doch die Zeiten?
Einfach in einen Dummy schreiben (wenn du es unbedingt willst).
Für Mod brauchst Du ein Modul, welches die Zeiten holt. Proplanta nutze ich.
Habs jetzt hinbekommen! Habe alle Dummies und das at nochmal gelöscht und neu angelegt! Nun gehts, keine Ahnung was da los war!
Ok ich schaue mir das Modul mal an! Danke!! :)