fix merge conflicts

This commit is contained in:
Marko Oldenburg 2019-01-23 19:04:28 +01:00
commit 6f38293e34

View File

@ -41,7 +41,7 @@ package main;
use strict; use strict;
use warnings; use warnings;
my $version = '0.2.4'; my $version = '0.4.0';
sub AutoShuttersControl_Initialize($) { sub AutoShuttersControl_Initialize($) {
my ($hash) = @_; my ($hash) = @_;
@ -159,6 +159,8 @@ my %userAttrList = (
'ASC_Time_Up_WE_Holiday' => '08:30', 'ASC_Time_Up_WE_Holiday' => '08:30',
'ASC_Time_Down_Early' => '15:30', 'ASC_Time_Down_Early' => '15:30',
'ASC_Time_Down_Late' => '22:30', 'ASC_Time_Down_Late' => '22:30',
'ASC_PrivacyDownTime_beforNightClose' => -1,
'ASC_PrivacyDown_Pos' => 50,
'ASC_WindowRec' => 'none', 'ASC_WindowRec' => 'none',
'ASC_Ventilate_Window_Open:on,off' => 'on', 'ASC_Ventilate_Window_Open:on,off' => 'on',
'ASC_LockOut:soft,hard,off' => 'off', 'ASC_LockOut:soft,hard,off' => 'off',
@ -789,12 +791,13 @@ sub EventProcessingWindowRec($@) {
: $shutters->getStatus < $shutters->getComfortOpenPos : $shutters->getStatus < $shutters->getComfortOpenPos
); );
if ( $shutters->getDelayCmd ne 'none' and $1 eq 'closed' ) # ## Wird erstmal deaktiviert da es Sinnlos ist in meinen Augen
{ # Es wird geschaut ob wärend der Fenster offen Phase ein Fahrbefehl über das Modul kam,wenn ja wird dieser aus geführt # if ( $shutters->getDelayCmd ne 'none' and $1 eq 'closed' )
$shutters->setLastDrive('delayed drive - window closed'); # { # Es wird geschaut ob wärend der Fenster offen Phase ein Fahrbefehl über das Modul kam,wenn ja wird dieser aus geführt
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd ); # $shutters->setLastDrive('delayed drive - window closed');
} # ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd );
elsif ( $1 eq 'closed' # }
if ( $1 eq 'closed'
and IsAfterShuttersTimeBlocking( $hash, $shuttersDev ) and IsAfterShuttersTimeBlocking( $hash, $shuttersDev )
) # wenn nicht dann wird entsprechend dem Fensterkontakt Event der Rolladen geschlossen ) # wenn nicht dann wird entsprechend dem Fensterkontakt Event der Rolladen geschlossen
{ {
@ -1633,6 +1636,7 @@ sub CreateSunRiseSetShuttersTimer($$) {
my %funcHash = ( my %funcHash = (
hash => $hash, hash => $hash,
shuttersdevice => $shuttersDev, shuttersdevice => $shuttersDev,
privacyMode => 0,
sunsettime => $shuttersSunsetUnixtime, sunsettime => $shuttersSunsetUnixtime,
sunrisetime => $shuttersSunriseUnixtime sunrisetime => $shuttersSunriseUnixtime
); );
@ -1640,6 +1644,26 @@ sub CreateSunRiseSetShuttersTimer($$) {
## Ich brauche beim löschen des InternalTimer den Hash welchen ich mitgegeben habe,dieser muss gesichert werden ## Ich brauche beim löschen des InternalTimer den Hash welchen ich mitgegeben habe,dieser muss gesichert werden
$shutters->setInTimerFuncHash( \%funcHash ); $shutters->setInTimerFuncHash( \%funcHash );
## Abfrage für die Sichtschutzfahrt am Abend vor dem eigentlichen kompletten schließen
if ( $shutters->getPrivacyDownTime > 0 ) {
if ( ( $shuttersSunsetUnixtime - $shutters->getPrivacyDownTime ) >
( gettimeofday() + 1 ) )
{
$shuttersSunsetUnixtime =
$shuttersSunsetUnixtime - $shutters->getPrivacyDownTime;
readingsSingleUpdate(
$shuttersDevHash,
'ASC_Time_PrivacyDriveUp',
strftime(
"%e.%m.%Y - %H:%M",
localtime($shuttersSunsetUnixtime)
),
0
);
$funcHash{privacyMode} = 1;
}
}
InternalTimer( $shuttersSunsetUnixtime, InternalTimer( $shuttersSunsetUnixtime,
'AutoShuttersControl::SunSetShuttersAfterTimerFn', \%funcHash ) 'AutoShuttersControl::SunSetShuttersAfterTimerFn', \%funcHash )
if ( $ascDev->getAutoShuttersControlEvening eq 'on' ); if ( $ascDev->getAutoShuttersControlEvening eq 'on' );
@ -1746,8 +1770,22 @@ sub SunSetShuttersAfterTimerFn($) {
and IsAfterShuttersManualBlocking($shuttersDev) and IsAfterShuttersManualBlocking($shuttersDev)
) )
{ {
$shutters->setLastDrive('night close'); $shutters->setLastDrive(
ShuttersCommandSet( $hash, $shuttersDev, $posValue ); (
$funcHash->{privacyMode} == 1
? 'privacy position'
: 'night close'
)
);
ShuttersCommandSet(
$hash,
$shuttersDev,
(
$funcHash->{privacyMode} == 1
? $shutters->getPrivacyDownPos
: $posValue
)
);
} }
CreateSunRiseSetShuttersTimer( $hash, $shuttersDev ); CreateSunRiseSetShuttersTimer( $hash, $shuttersDev );
@ -2875,6 +2913,19 @@ sub getShuttersPlace {
return AttrVal( $self->{shuttersDev}, 'ASC_ShuttersPlace', 'window' ); return AttrVal( $self->{shuttersDev}, 'ASC_ShuttersPlace', 'window' );
} }
sub getPrivacyDownTime {
my $self = shift;
return AttrVal( $self->{shuttersDev},
'ASC_PrivacyDownTime_beforNightClose', -1 );
}
sub getPrivacyDownPos {
my $self = shift;
return AttrVal( $self->{shuttersDev}, 'ASC_PrivacyDown_Pos', 50 );
}
sub getSelfDefenseExclude { sub getSelfDefenseExclude {
my $self = shift; my $self = shift;
@ -3957,6 +4008,8 @@ sub getRainSensorShuttersClosedPos {
<li>ASC_Shading_Min_Elevation - ab welcher Höhe des Sonnenstandes soll beschattet werden, immer in Abh&auml;ngikkeit der anderen einbezogenden Sensorwerte</li> <li>ASC_Shading_Min_Elevation - ab welcher Höhe des Sonnenstandes soll beschattet werden, immer in Abh&auml;ngikkeit der anderen einbezogenden Sensorwerte</li>
<li>ASC_Shading_Min_OutsideTemperature - ab welcher Temperatur soll Beschattet werden, immer in Abh&auml;ngikkeit der anderen einbezogenden Sensorwerte</li> <li>ASC_Shading_Min_OutsideTemperature - ab welcher Temperatur soll Beschattet werden, immer in Abh&auml;ngikkeit der anderen einbezogenden Sensorwerte</li>
<li>ASC_Shading_WaitingPeriod - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung statt finden soll</li> <li>ASC_Shading_WaitingPeriod - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung statt finden soll</li>
<li>ASC_PrivacyDownTime_beforNightClose - wie viele Sekunden vor dem abendlichen schlie&zlig;en soll der Rollladen in die Sichtschutzposition fahren, -1 bedeutet das diese Funktion unbeachtet bleiben soll</li>
<li>ASC_PrivacyDown_Pos - Position den Rollladens f&uuml;r den Sichtschutz</li>
</ul> </ul>
</ul> </ul>
</ul> </ul>