change Attribut ASC_PrivacyDownTime_beforNightClose to ASC_PrivacyDownValue_beforNightClose, fix shutters drive in the morning if residents state absent
This commit is contained in:
parent
443d661416
commit
a8493a6122
@ -208,7 +208,7 @@ my %userAttrList = (
|
||||
'ASC_Time_Up_WE_Holiday' => '-',
|
||||
'ASC_Time_Down_Early' => '-',
|
||||
'ASC_Time_Down_Late' => '-',
|
||||
'ASC_PrivacyDownTime_beforNightClose' => '-',
|
||||
'ASC_PrivacyDownValue_beforNightClose' => '-',
|
||||
'ASC_PrivacyDown_Pos' => '-',
|
||||
'ASC_TempSensor' => '-',
|
||||
'ASC_Ventilate_Window_Open:on,off' => '-',
|
||||
@ -1500,6 +1500,9 @@ sub EventProcessingResidents($@) {
|
||||
}
|
||||
|
||||
sub EventProcessingRain($@) {
|
||||
|
||||
#### Ist noch nicht fertig, es fehlt noch das verzögerte Prüfen auf erhalten bleiben des getriggerten Wertes.
|
||||
|
||||
my ( $hash, $device, $events ) = @_;
|
||||
my $name = $device;
|
||||
my $reading = $ascDev->getRainSensorReading;
|
||||
@ -1706,6 +1709,8 @@ sub EventProcessingBrightness($@) {
|
||||
$brightnessMaxVal = $ascDev->getBrightnessMaxVal;
|
||||
}
|
||||
|
||||
my $brightnessPrivacyVal = $shutters->getPrivacyDownTime;
|
||||
|
||||
ASC_Debug( 'EventProcessingBrightness: '
|
||||
. $shutters->getShuttersDev
|
||||
. ' - Es wird geprüft ob Sunset oder Sunrise gefahren werden soll und der aktuelle übergebene Brightness-Wert: '
|
||||
@ -1822,7 +1827,8 @@ sub EventProcessingBrightness($@) {
|
||||
and int( gettimeofday() / 86400 ) == int(
|
||||
computeAlignTime( '24:00', $shutters->getTimeDownLate ) / 86400
|
||||
)
|
||||
and $1 < $brightnessMinVal
|
||||
and ( $1 < $brightnessMinVal
|
||||
or $1 < $brightnessPrivacyVal )
|
||||
and $shutters->getDown eq 'brightness'
|
||||
and not $shutters->getSunset
|
||||
and IsAfterShuttersManualBlocking($shuttersDev)
|
||||
@ -1850,7 +1856,31 @@ sub EventProcessingBrightness($@) {
|
||||
)
|
||||
{
|
||||
my $posValue;
|
||||
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||
|
||||
## Setzt den PrivacyDown Modus für die Sichtschutzfahrt auf den Status 0
|
||||
## 1 bedeutet das PrivacyDown Timer aktiviert wurde, 2 beudet das er im privacyDown ist
|
||||
## also das Rollo in privacyDown Position steht und VOR der endgültigen Nachfahrt
|
||||
$shutters->setPrivacyDownStatus(0)
|
||||
if ( not defined( $shutters->getPrivacyDownStatus ) );
|
||||
|
||||
if ( $1 > $brightnessMinVal
|
||||
and $1 < $brightnessPrivacyVal )
|
||||
{
|
||||
$shutters->setLastDrive('privacy position');
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
$shutters->getPrivacyDownPos )
|
||||
unless (
|
||||
$shutters->getQueryShuttersPos(
|
||||
$shutters->getPrivacyDownPos
|
||||
)
|
||||
);
|
||||
|
||||
ASC_Debug( 'EventProcessingBrightness: '
|
||||
. $shutters->getShuttersDev
|
||||
. ' - Verarbeitung für Sunset Privacy Down. Roommatestatus korrekt zum fahren. Fahrbefehl wird an die Funktion FnShuttersCommandSet gesendet. Grund des fahrens: '
|
||||
. $shutters->getLastDrive );
|
||||
}
|
||||
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||
and $shutters->getSubTyp eq 'threestate'
|
||||
and $ascDev->getAutoShuttersControlComfort eq 'on' )
|
||||
{
|
||||
@ -2582,7 +2612,9 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
||||
$shutters->setInTimerFuncHash( \%funcHash );
|
||||
|
||||
## Abfrage für die Sichtschutzfahrt am Abend vor dem eigentlichen kompletten schließen
|
||||
if ( $shutters->getPrivacyDownTime > 0 ) {
|
||||
if ( $shutters->getPrivacyDownTime > 0
|
||||
and $shutters->getDown ne 'brightness' )
|
||||
{
|
||||
if ( ( $shuttersSunsetUnixtime - $shutters->getPrivacyDownTime ) >
|
||||
( gettimeofday() + 1 ) )
|
||||
{
|
||||
@ -2689,6 +2721,12 @@ sub RenewSunRiseSetShuttersTimer($) {
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Direction' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Angle_Left' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Angle_Right' );
|
||||
|
||||
$attr{$_}{ASC_PrivacyDownValue_beforNightClose} =
|
||||
AttrVal( $_, 'ASC_PrivacyDownTime_beforNightClose', 'none' )
|
||||
if ( AttrVal( $_, 'ASC_PrivacyDownTime_beforNightClose', 'none' ) ne
|
||||
'none' );
|
||||
delFromDevAttrList( $_, 'ASC_PrivacyDownTime_beforNightClose' );
|
||||
}
|
||||
}
|
||||
|
||||
@ -4657,7 +4695,7 @@ sub getPrivacyDownTime {
|
||||
my $self = shift;
|
||||
|
||||
return AttrVal( $self->{shuttersDev},
|
||||
'ASC_PrivacyDownTime_beforNightClose', -1 );
|
||||
'ASC_PrivacyDownValue_beforNightClose', -1 );
|
||||
}
|
||||
|
||||
sub getPrivacyDownPos {
|
||||
@ -6480,8 +6518,8 @@ sub getblockAscDrivesAfterManual {
|
||||
<li><strong>ASC_Pos_Reading</strong> - Points to the reading name, which contains the current
|
||||
position for the shutter in percent. Will be used for <em>set</em> at devices of unknown kind.
|
||||
</li>
|
||||
<li><strong>ASC_PrivacyDownTime_beforNightClose</strong> - How many seconds is the privacy mode activated
|
||||
before the shutter is closed in the evening. A value of <em>-1</em> disables this. -1 is the default
|
||||
<li><strong>ASC_PrivacyDownValue_beforNightClose</strong> - How many seconds is the privacy mode activated
|
||||
before the shutter is closed in the evening, or then brightness use brightness value. A value of <em>-1</em> disables this. -1 is the default
|
||||
value.
|
||||
</li>
|
||||
<li><strong>ASC_PrivacyDown_Pos</strong> -
|
||||
@ -6932,7 +6970,7 @@ sub getblockAscDrivesAfterManual {
|
||||
<li><strong>ASC_Mode_Up - always/home/absent/off</strong> - Wann darf die Automatik steuern. immer, niemals, bei Abwesenheit des Roommate (ist kein Roommate und absent eingestellt, wird gar nicht gesteuert) (default: always)</li>
|
||||
<li><strong>ASC_Partymode - on/off</strong> - schaltet den Partymodus an oder aus. Wird am ASC Device set ASC-DEVICE partyMode on geschalten, werden alle Fahrbefehle an den Rollläden, welche das Attribut auf on haben, zwischengespeichert und später erst ausgeführt (default: off)</li>
|
||||
<li><strong>ASC_Pos_Reading</strong> - Name des Readings, welches die Position des Rollladen in Prozent an gibt; wird bei unbekannten Device Typen auch als set Befehl zum fahren verwendet</li>
|
||||
<li><strong>ASC_PrivacyDownTime_beforNightClose</strong> - wie viele Sekunden vor dem abendlichen schließen soll der Rollladen in die Sichtschutzposition fahren, -1 bedeutet das diese Funktion unbeachtet bleiben soll (default: -1)</li>
|
||||
<li><strong>ASC_PrivacyDownValue_beforNightClose</strong> - wie viele Sekunden vor dem abendlichen schließen soll der Rollladen in die Sichtschutzposition fahren, oder bei Brightness ab welchem minimum Brightnesswert soll das Rollo in die Privacy Position fahren, -1 bedeutet das diese Funktion unbeachtet bleiben soll (default: -1)</li>
|
||||
<li><strong>ASC_PrivacyDown_Pos</strong> - Position den Rollladens für den Sichtschutz (default: 50) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!</li>
|
||||
<li><strong>ASC_WindProtection - on/off</strong> - soll der Rollladen beim Regenschutz beachtet werden. on=JA, off=NEIN.</li>
|
||||
<li><strong>ASC_Roommate_Device</strong> - mit Komma getrennte Namen des/der Roommate Device/s, welche den/die Bewohner des Raumes vom Rollladen wiedergibt. Es macht nur Sinn in Schlaf- oder Kinderzimmern (default: none)</li>
|
||||
@ -7051,7 +7089,7 @@ sub getblockAscDrivesAfterManual {
|
||||
],
|
||||
"release_status": "under develop",
|
||||
"license": "GPL_2",
|
||||
"version": "v0.6.114",
|
||||
"version": "v0.6.120",
|
||||
"author": [
|
||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user