mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 23:06:37 +00:00
99_SUNRISE_EL.pm: Patch from Dietmar63 (Forum #27471)
git-svn-id: https://svn.fhem.de/fhem/trunk@6765 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
62b6091a32
commit
da2019a2ba
@ -48,16 +48,17 @@ sub
|
||||
sr($$$$$$)
|
||||
{
|
||||
my ($rise, $seconds, $isrel, $daycheck, $min, $max) = @_;
|
||||
sr_alt(time(), $rise, $isrel, $daycheck, $defaultaltit, $seconds, $min, $max);
|
||||
sr_alt(time(), $rise, $isrel, $daycheck, 1, $defaultaltit,$seconds,$min,$max);
|
||||
}
|
||||
|
||||
sub
|
||||
sr_alt($$$$$$$$)
|
||||
sr_alt($$$$$$$$$)
|
||||
{
|
||||
my $nt=shift;
|
||||
my $rise=shift;
|
||||
my $isrel=shift;
|
||||
my $daycheck=shift;
|
||||
my $nextDay=shift;
|
||||
my $altit = defined($_[0]) ? $_[0] : "";
|
||||
if(exists $alti{uc($altit)}) {
|
||||
$altit=$alti{uc($altit)};
|
||||
@ -99,8 +100,8 @@ sr_alt($$$$$$$$)
|
||||
$sst = hms2h($max) if(defined($max) && (hms2h($max) < $sst));
|
||||
|
||||
my $diff = 0;
|
||||
if($data{AT_RECOMPUTE} || # compute it for tommorow
|
||||
int(($nh-$sst)*3600) >= 0) { # if called a subsec earlier
|
||||
if (($data{AT_RECOMPUTE} || # compute it for tommorow
|
||||
int(($nh-$sst)*3600) >= 0) && $nextDay) { # if called a subsec earlier
|
||||
$nt += 86400;
|
||||
@lt = localtime($nt);
|
||||
my $ngmtoff = _calctz($nt,@lt); # in hour
|
||||
@ -359,18 +360,30 @@ h2hms_fmt($)
|
||||
return sprintf("%02d:%02d:%02d", $h, $m, $s);
|
||||
}
|
||||
|
||||
sub
|
||||
sr_noon($)
|
||||
{
|
||||
my ($date) = @_;
|
||||
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($date);
|
||||
return $date - $hour*3600 - $min*60 - $sec + 12*3600;
|
||||
}
|
||||
|
||||
sub sunrise_coord($$$) { ($long, $lat, $tz) = @_; return undef; }
|
||||
|
||||
sub sunrise_rel (@) { return sr_alt(time(), 1, 1, 0, shift, shift, shift, shift) }
|
||||
sub sunset_rel (@) { return sr_alt(time(), 0, 1, 0, shift, shift, shift, shift) }
|
||||
sub sunrise_abs (@) { return sr_alt(time(), 1, 0, 0, shift, shift, shift, shift) }
|
||||
sub sunset_abs (@) { return sr_alt(time(), 0, 0, 0, shift, shift, shift, shift) }
|
||||
sub sunrise (@) { return sr_alt(time(), 1, 2, 0, shift, shift, shift, shift) }
|
||||
sub sunset (@) { return sr_alt(time(), 0, 2, 0, shift, shift, shift, shift) }
|
||||
sub isday (@) { return sr_alt(time(), 1, 0, 1, shift, 0, undef, undef) }
|
||||
sub sunrise_rel(@) { return sr_alt(time(),1,1,0,1,shift,shift,shift,shift); }
|
||||
sub sunset_rel (@) { return sr_alt(time(),0,1,0,1,shift,shift,shift,shift); }
|
||||
sub sunrise_abs(@) { return sr_alt(time(),1,0,0,1,shift,shift,shift,shift); }
|
||||
sub sunset_abs (@) { return sr_alt(time(),0,0,0,1,shift,shift,shift,shift); }
|
||||
sub sunrise (@) { return sr_alt(time(),1,2,0,1,shift,shift,shift,shift); }
|
||||
sub sunset (@) { return sr_alt(time(),0,2,0,1,shift,shift,shift,shift); }
|
||||
sub isday (@) { return sr_alt(time(),1,0,1,1,shift, 0,undef,undef); }
|
||||
|
||||
sub sunrise_abs_dat(@) { return sr_alt(shift, 1, 0, 0, shift, shift, shift, shift) }
|
||||
sub sunset_abs_dat (@) { return sr_alt(shift, 0, 0, 0, shift, shift, shift, shift) }
|
||||
sub sunrise_abs_dat(@) {
|
||||
return sr_alt(sr_noon(shift),1,0,0,0,shift,shift,shift,shift);
|
||||
}
|
||||
sub sunset_abs_dat (@) {
|
||||
return sr_alt(sr_noon(shift),0,0,0,0,shift,shift,shift,shift);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user