From 9e72111b4340de036bd094ade4e8791a42af8f55 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 3 May 2019 11:03:28 +0200 Subject: [PATCH] add more logic in sunrise calculation with ModeUp time --- 73_AutoShuttersControl.pm | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/73_AutoShuttersControl.pm b/73_AutoShuttersControl.pm index dc36c15..13df7da 100644 --- a/73_AutoShuttersControl.pm +++ b/73_AutoShuttersControl.pm @@ -44,7 +44,7 @@ use strict; use warnings; use FHEM::Meta; -my $version = '0.6.5.8'; +my $version = '0.6.5.9'; sub AutoShuttersControl_Initialize($) { my ($hash) = @_; @@ -2958,9 +2958,34 @@ sub ShuttersSunrise($$) { } } else { - $shuttersSunriseUnixtime = - computeAlignTime( '24:00', - $shutters->getTimeUpWeHoliday ); + if ( + IsWe() + and int( gettimeofday() / 86400 ) == int( + computeAlignTime( '24:00', + $shutters->getTimeUpWeHoliday ) / 86400 + ) + ) + { + $shuttersSunriseUnixtime = + computeAlignTime( '24:00', + $shutters->getTimeUpWeHoliday ); + } + elsif ( + int( gettimeofday() / 86400 ) == int( + computeAlignTime( '24:00', + $shutters->getTimeUpEarly ) / 86400 + ) + ) + { + $shuttersSunriseUnixtime = + computeAlignTime( '24:00', + $shutters->getTimeUpEarly ); + } + else { + $shuttersSunriseUnixtime = + computeAlignTime( '24:00', + $shutters->getTimeUpWeHoliday ); + } } } else {