add end of advent season variable

change attribut ASC_advDate to ASC_advStartDate
This commit is contained in:
2022-01-10 10:43:51 +01:00
parent e02395a82f
commit f1f265b89a
4 changed files with 41 additions and 15 deletions

View File

@ -384,12 +384,20 @@ sub getBlockAscDrivesAfterManual {
return ::AttrVal( $name, 'ASC_blockAscDrivesAfterManual', 0 );
}
sub getAdvDate {
sub getAdvStartDate {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_advDate', 'FirstAdvent' );
return ::AttrVal( $name, 'ASC_advStartDate', 'FirstAdvent' );
}
sub getAdvEndDate {
my $self = shift;
my $name = $self->{name};
return ::AttrVal( $name, 'ASC_advEndDate', 'CandlemasDay' );
}
1;

View File

@ -1020,8 +1020,20 @@ sub IsAdv {
my $adv = 0;
$year += 1900;
if ( $month < 1 ) {
if ( $monthday < 7 ) {
if ( $month < 2 ) {
if (
(
$month < 1
&& $FHEM::Automation::ShuttersControl::ascDev->getAdvEndDate eq
'EpiphanyDay'
&& $monthday < 7
)
|| ( $month < 2
&& $FHEM::Automation::ShuttersControl::ascDev->getAdvEndDate eq
'CandlemasDay'
&& $monthday < 3 )
)
{
$adv = 1;
}
}
@ -1030,7 +1042,7 @@ sub IsAdv {
my $wday = ( localtime($time) )[6];
$wday = $wday ? $wday : 7;
$time -= (
$FHEM::Automation::ShuttersControl::ascDev->getAdvDate eq
$FHEM::Automation::ShuttersControl::ascDev->getAdvStartDate eq
'DeadSunday'
? ( $wday + 27 ) * 86400
: ( $wday + 21 ) * 86400