ich denke der vorschlag ist hier besser aufgehoben als dort Link (http://forum.fhem.de/index.php?topic=10369.0).
eigentlich wäre es schön twilight genauso verwenden zu können wie sunrise/sunset und einen aufruf mit min und max auch für die verschiedenen twilight zeitpunkte zu haben. vielleicht könnte man etwas in dieser art
sub
twilight($$$$) {
my ($twilight, $reading, $min, $max) = @_;
my $t = hms2h(ReadingsVal($twilight,$reading,0));
$t = hms2h($min) if(defined($min) && (hms2h($min) > $t));
$t = hms2h($max) if(defined($max) && (hms2h($max) < $t));
return h2hms_fmt($t);
}
noch in twilight einbauen. die sonderbehandlung um das event auf den nächsten tag zu verschieben wenn es direkt aus dem at aufgerufen wird sollte dann hier natürlich auch noch mit rein.
damit wäre dann z.b. so etwas möglich:define a15 at *{twilight("myTwilight","ss_indoor","18:00","21:00")} set lamp1 on
gruss
andre
Finde den Vorschlag auch gut !
Gruss
Ich denke mal darueber nach, wie ich es am einfachsten realisieren kann!
- dokumentation improved
59_Twilight now supports the function >>>> twilight($twilight, $reading, $min, $max) that works like sunset_abs() sunrise_abs()
Funktion eingebaut - eingecheckt! Prüft mal ob es so ok ist!
Zitatdie sonderbehandlung um das event auf den nächsten tag zu verschieben wenn es direkt aus dem at aufgerufen wird sollte dann hier natürlich auch noch mit rein.
Dieses Sonderverhalten habe ich erst einmal nicht eigebaut - ist in TW auch kompliziert, weil die ss/sr des nächsten Tages erst errechnet werden müssten. Vielleicht fällt uns ja noch etwas einfaches dazu ein.
Hi,
das ging jetzt aber doch schnell :)
Hast Du das mit dem Offset auch eingebaut oder wie kann ich die Zeiten bei Twilight mit den anderen Parametern anpassen ?
Mein indoor_horizon ist bereits 0 und wenn ich ihn erhoehe gehen die Schaltzeiten von ss_weather zurueck also Richtung frueher. Ich benötige eine Verschiebung nach hinten (spaeter).
Muss ich da mit den Längengraden spielen ?
Gruss
klasse :)
wie wäre es einfach 24 stunden drauf zu addieren. das ist in erster näherung glaube ich besser als nichts.
gruss
andre
Zitatwie wäre es einfach 24 stunden drauf zu addieren. das ist in erster näherung glaube ich besser als nichZitat
Unter welchen Umständen?
Wenn der Schaltzeitpunkt für den aktuellen Tag abgelaufen ist?
ZitatMein indoor_horizon ist bereits 0 und wenn ich ihn erhoehe gehen die Schaltzeiten von ss_weather zurueck also Richtung frueher. Ich benötige eine Verschiebung nach hinten (spaeter).
Ich meine, du kannst als indoor_horizon auch negative Werte angeben.
ja. genau. wenn der zeitpunkt für den aktuellen tag abgelaufen ist. dann kann man es direkt in einem at verwenden.
gruss
andre
Zitat von: Dietmar63 am 02 Januar 2014, 22:29:01
Ich meine, du kannst als indoor_horizon auch negative Werte angeben.
Leider Nein.
Wenn ich -1 setze wird trotzdem 0 in den Settings angezeigt und die Zeiten aendern sich nicht.
dann habe ich ja zwei Dinge, die ich entsprechend verändern kann.
Och Menno ... Ihr seid ja alle echt mal voll und sowieso ....
Jetzt habe ich mir gerade soviel Mühe gegeben twilight so in ein Notify rein zu mogeln, dass es wie sunrise funzt und nu verbessert ihr twilight so, dass man es wie sunrise nutzen kann ...**GRmPF**
Funktioniert denn jetzt auch:
define Sonnenaufgang at +*00:00:10 {my $Sonnenaufgang = twilight("sr_indoor"); Log 3, "Sonnenaufgang ist: $Sonnenaufgang Uhr"}
Oder wie muß ich das dann schreiben ??
BTW. ich finde es immer ziemlich irritierend wenn ich 32:26 Uhr lese, 8:26 Uhr wäre schon besser, ich weiß auch nicht was da das prob. mit at ist ...
Sehr geile Sache, danke für die Erweiterung ... Und das meine ich ernst!!
MFG Chris
nein, so:
define a15 at *{twilight("myTwilight","ss_indoor","18:00","21:00")} set lamp1 on
twilight akzeptiert zur Zeit vier Parameter:
twilight("myTwilight","ss_indoor","18:00","21:00")
wenn weder min noch max interessant sind, kann undef mitgegeben werden:
twilight("myTwilight","ss_indoor",undef,undef)
Einen Nachteil so zu verfahren will ich nicht verschweigen: Der at stellt immer den timer für den nächsten Tag kurz nachdem er geschaltet hat ein. Zu diesem Zeitpunkt hat TW aber noch nicht die Werte des folgenden Tages, so dass der at immer mit den Zeiten des Vortages schaltet.
Warum der Umweg über ein at?
Macht es doch einfach so:
define TwilightMessage1 notify Twilight.*:aktEvent:.*ss_weather.* set lamp1 on
Zitat von: Dietmar63 am 03 Januar 2014, 12:20:47
nein, so:
define a15 at *{twilight("myTwilight","ss_indoor","18:00","21:00")} set lamp1 on
twilight akzeptiert zur Zeit vier Parameter:
twilight("myTwilight","ss_indoor","18:00","21:00")
wenn weder min noch max interessant sind, kann undef mitgegeben werden:
twilight("myTwilight","ss_indoor",undef,undef)
Einen Nachteil so zu verfahren will ich nicht verschweigen: Der at stellt immer den timer für den nächsten Tag kurz nachdem er geschaltet hat ein. Zu diesem Zeitpunkt hat TW aber noch nicht die Werte des folgenden Tages, so dass der at immer mit den Zeiten des Vortages schaltet.
Warum der Umweg über ein at?
Macht es doch einfach so:
define TwilightMessage1 notify Twilight.*:aktEvent:.*ss_weather.* set lamp1 on
so ähnlich mach ich es ja momentan schon ^^
Zitat von: Strippenzieher am 07 Januar 2014, 08:42:11
So mal als Zusammenfassung den endgültigen Code noch:
define WakeUp notify (Handys|Twilight) {}
Dann in DEF nachgetragen:
(Handys|Twilight) {
if (Value("Handys") eq "present" && Value("Twilight") eq "4" && Value("HUEDevice2") eq "off" && Value("HUEDevice1") eq "off") {
fhem ("set HUEDevice2 rgb FF6905:transitiontime 6000");;
fhem ("set HUEDevice1 on:transitiontime 6000");;
fhem ("define WakeUp_Aus at +01:00 set HUEDevice2 off;; set HUEDevice1 off")}}
Nur eben über den "STATE" von meinem eingerichteten "Twilight" ...
Ich hatte nur gedacht, ich könnte mir mit dem "at" das define von "Twilight" sparen.
MFG Chris