change attribut names and parts of code
This commit is contained in:
parent
7f78529215
commit
19ff67a6ce
@ -219,13 +219,10 @@ my %userAttrList = (
|
||||
'ASC_BlockingTime_beforNightClose' => '-',
|
||||
'ASC_BlockingTime_beforDayOpen' => '-',
|
||||
'ASC_BrightnessSensor' => '-',
|
||||
'ASC_Shading_Direction' => '-',
|
||||
'ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100' => [ '', 80, 20 ],
|
||||
'ASC_Shading_Mode:absent,always,off,home' => '-',
|
||||
'ASC_Shading_Angle_Left' => '-',
|
||||
'ASC_Shading_Angle_Right' => '-',
|
||||
'ASC_Shading_StateChange_Sunny' => '-',
|
||||
'ASC_Shading_StateChange_Cloudy' => '-',
|
||||
'ASC_Shading_InOutAzimuth' => '-',
|
||||
'ASC_Shading_StateChange_SunnyCloudy' => '-',
|
||||
'ASC_Shading_MinMax_Elevation' => '-',
|
||||
'ASC_Shading_Min_OutsideTemperature' => '-',
|
||||
'ASC_Shading_WaitingPeriod' => '-',
|
||||
@ -729,14 +726,6 @@ sub ShuttersDeviceScan($) {
|
||||
delFromDevAttrList( $_, 'ASC_Self_Defense_Exclude' );
|
||||
}
|
||||
|
||||
CommandAttr( undef,
|
||||
$name
|
||||
. ' ASC_shuttersDriveDelay '
|
||||
. AttrVal( $name, 'ASC_shuttersDriveOffset', -1 ) )
|
||||
if ( AttrVal( $name, 'ASC_shuttersDriveOffset', 'none' ) ne 'none' );
|
||||
CommandDeleteAttr( undef, $name . ' ASC_shuttersDriveOffset' )
|
||||
if ( AttrVal( $name, 'ASC_shuttersDriveOffset', 'none' ) ne 'none' );
|
||||
|
||||
####
|
||||
####
|
||||
|
||||
@ -758,6 +747,17 @@ sub ShuttersDeviceScan($) {
|
||||
if ( ReadingsVal( $_, 'ASC_Enable', 'none' ) eq 'none' );
|
||||
}
|
||||
|
||||
####
|
||||
CommandAttr( undef,
|
||||
$name
|
||||
. ' ASC_shuttersDriveDelay '
|
||||
. AttrVal( $name, 'ASC_shuttersDriveOffset', -1 ) )
|
||||
if ( AttrVal( $name, 'ASC_shuttersDriveOffset', 'none' ) ne 'none' );
|
||||
CommandDeleteAttr( undef, $name . ' ASC_shuttersDriveOffset' )
|
||||
if ( AttrVal( $name, 'ASC_shuttersDriveOffset', 'none' ) ne 'none' );
|
||||
|
||||
####
|
||||
|
||||
$hash->{NOTIFYDEV} = "global," . $name . $shuttersList;
|
||||
|
||||
if ( $ascDev->getMonitoredDevs ne 'none' ) {
|
||||
@ -1938,9 +1938,8 @@ sub EventProcessingShadingBrightness($@) {
|
||||
$ascDev->getAzimuth,
|
||||
$ascDev->getElevation,
|
||||
$outTemp,
|
||||
$shutters->getDirection,
|
||||
$shutters->getShadingAngleLeft,
|
||||
$shutters->getShadingAngleRight
|
||||
$shutters->getShadingAzimuthLeft,
|
||||
$shutters->getShadingAzimuthRight
|
||||
);
|
||||
|
||||
ASC_Debug( 'EventProcessingShadingBrightness: '
|
||||
@ -2010,9 +2009,8 @@ sub EventProcessingTwilightDevice($@) {
|
||||
$azimuth,
|
||||
$elevation,
|
||||
$outTemp,
|
||||
$shutters->getDirection,
|
||||
$shutters->getShadingAngleLeft,
|
||||
$shutters->getShadingAngleRight
|
||||
$shutters->getShadingAzimuthLeft,
|
||||
$shutters->getShadingAzimuthRight
|
||||
);
|
||||
|
||||
ASC_Debug( 'EventProcessingTwilightDevice: '
|
||||
@ -2025,11 +2023,11 @@ sub EventProcessingTwilightDevice($@) {
|
||||
}
|
||||
|
||||
sub ShadingProcessing($@) {
|
||||
### angleMinus ist $shutters->getShadingAngleLeft
|
||||
### anglePlus ist $shutters->getShadingAngleRight
|
||||
### angleMinus ist $shutters->getShadingAzimuthLeft
|
||||
### anglePlus ist $shutters->getShadingAzimuthRight
|
||||
### winPos ist die Fensterposition $shutters->getDirection
|
||||
my ( $hash, $shuttersDev, $azimuth, $elevation, $outTemp,
|
||||
$winPos, $angleMinus, $anglePlus )
|
||||
$azimuthLeft, $azimuthRight )
|
||||
= @_;
|
||||
my $name = $hash->{NAME};
|
||||
$shutters->setShuttersDev($shuttersDev);
|
||||
@ -2046,12 +2044,10 @@ sub ShadingProcessing($@) {
|
||||
. $brightness
|
||||
. ', OutTemp: '
|
||||
. $outTemp
|
||||
. ', Fenster Position: '
|
||||
. $winPos
|
||||
. ', Winkel Links: '
|
||||
. $angleMinus
|
||||
. ', Winkel Rechts: '
|
||||
. $anglePlus
|
||||
. ', Azimut Beschattung: '
|
||||
. $azimuthLeft
|
||||
. ', Azimut Endschattung: '
|
||||
. $azimuthRight
|
||||
. ', Ist es nach der Zeitblockadezeit: '
|
||||
. ( IsAfterShuttersTimeBlocking($shuttersDev) ? 'JA' : 'NEIN' )
|
||||
. ', Das Rollo ist in der Beschattung und wurde manuell gefahren: '
|
||||
@ -2098,15 +2094,11 @@ sub ShadingProcessing($@) {
|
||||
. ' - Alle Werte für die weitere Verarbeitung sind korrekt vorhanden und es wird nun mit der Beschattungsverarbeitung begonnen'
|
||||
);
|
||||
|
||||
# minimalen und maximalen Winkel des Fensters bestimmen. wenn die aktuelle Sonnenposition z.B. bei 205° läge und der Wert für angleMin/Max 85° wäre, dann würden zwischen 120° und 290° beschattet.
|
||||
my $winPosMin = $winPos - $angleMinus;
|
||||
my $winPosMax = $winPos + $anglePlus;
|
||||
|
||||
if (
|
||||
(
|
||||
$outTemp < $shutters->getShadingMinOutsideTemperature - 3
|
||||
or $azimuth < $winPosMin
|
||||
or $azimuth > $winPosMax
|
||||
or $azimuth < $azimuthLeft
|
||||
or $azimuth > $azimuthRight
|
||||
)
|
||||
and $shutters->getShadingStatus ne 'out'
|
||||
)
|
||||
@ -2123,8 +2115,8 @@ sub ShadingProcessing($@) {
|
||||
"AutoShuttersControl ($name) - Shading Processing - Der Sonnenstand ist ausserhalb der Winkelangaben oder die Aussentemperatur unterhalb der Shading Temperatur "
|
||||
);
|
||||
}
|
||||
elsif ($azimuth < $winPosMin
|
||||
or $azimuth > $winPosMax
|
||||
elsif ($azimuth < $azimuthLeft
|
||||
or $azimuth > $azimuthRight
|
||||
or $elevation < $shutters->getShadingMinElevation
|
||||
or $elevation > $shutters->getShadingMaxElevation
|
||||
or $brightness < $shutters->getShadingStateChangeCloudy
|
||||
@ -2162,8 +2154,8 @@ sub ShadingProcessing($@) {
|
||||
. ' Neuer Status: '
|
||||
. $shutters->getShadingStatus );
|
||||
}
|
||||
elsif ( $azimuth > $winPosMin
|
||||
and $azimuth < $winPosMax
|
||||
elsif ( $azimuth > $azimuthLeft
|
||||
and $azimuth < $azimuthRight
|
||||
and $elevation > $shutters->getShadingMinElevation
|
||||
and $elevation < $shutters->getShadingMaxElevation
|
||||
and $brightness > $shutters->getShadingStateChangeSunny
|
||||
@ -2649,6 +2641,27 @@ sub RenewSunRiseSetShuttersTimer($) {
|
||||
if ( AttrVal( $_, 'ASC_Drive_OffsetStart', 'none' ) ne 'none' );
|
||||
delFromDevAttrList( $_, 'ASC_Drive_OffsetStart' );
|
||||
|
||||
$attr{$_}{ASC_Shading_StateChange_SunnyCloudy} =
|
||||
AttrVal( $_, 'ASC_Shading_StateChange_Sunny', 'none' ) . ':'
|
||||
. AttrVal( $_, 'ASC_Shading_StateChange_Cloudy', 'none' )
|
||||
if ( AttrVal( $_, 'ASC_Shading_StateChange_Sunny', 'none' ) ne 'none'
|
||||
and AttrVal( $_, 'ASC_Shading_StateChange_Cloudy', 'none' ) ne
|
||||
'none' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_StateChange_Sunny' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_StateChange_Cloudy' );
|
||||
|
||||
$attr{$_}{ASC_Shading_InOutAzimuth} =
|
||||
( AttrVal( $_, 'ASC_Shading_Direction', 180 ) -
|
||||
AttrVal( $_, 'ASC_Shading_Angle_Left', 85 ) )
|
||||
. ':'
|
||||
. ( AttrVal( $_, 'ASC_Shading_Direction', 180 ) +
|
||||
AttrVal( $_, 'ASC_Shading_Angle_Right', 85 ) )
|
||||
if ( AttrVal( $_, 'ASC_Shading_Direction', 'none' ) ne 'none'
|
||||
or AttrVal( $_, 'ASC_Shading_Angle_Left', 'none' ) ne 'none'
|
||||
or AttrVal( $_, 'ASC_Shading_Angle_Right', 'none' ) ne 'none' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Direction' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Angle_Left' );
|
||||
delFromDevAttrList( $_, 'ASC_Shading_Angle_Right' );
|
||||
}
|
||||
}
|
||||
|
||||
@ -4631,10 +4644,12 @@ sub getShadingPos {
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
}
|
||||
|
||||
return ( $val =~ /^\d+(\.\d+)?$/
|
||||
return (
|
||||
$val =~ /^\d+(\.\d+)?$/
|
||||
? $val
|
||||
: $userAttrList{'ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100'}
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ]
|
||||
);
|
||||
}
|
||||
|
||||
sub getShadingMode {
|
||||
@ -4747,22 +4762,56 @@ sub getBrightnessReading {
|
||||
);
|
||||
}
|
||||
|
||||
sub getDirection {
|
||||
sub getShadingAzimuthLeft {
|
||||
my $self = shift;
|
||||
|
||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_Direction', 180 );
|
||||
return $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{leftVal}
|
||||
if (
|
||||
exists(
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{LASTGETTIME}
|
||||
)
|
||||
and ( gettimeofday() -
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{LASTGETTIME} ) < 2
|
||||
);
|
||||
$shutters->getShadingAzimuthRight;
|
||||
|
||||
return $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{leftVal};
|
||||
}
|
||||
|
||||
sub getShadingAngleLeft {
|
||||
sub getShadingAzimuthRight {
|
||||
my $self = shift;
|
||||
|
||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_Angle_Left', 75 );
|
||||
}
|
||||
return $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{rightVal}
|
||||
if (
|
||||
exists(
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{LASTGETTIME}
|
||||
)
|
||||
and ( gettimeofday() -
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{LASTGETTIME} ) < 2
|
||||
);
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}->{LASTGETTIME}
|
||||
= int( gettimeofday() );
|
||||
my ( $left, $right ) =
|
||||
FHEM::AutoShuttersControl::GetAttrValues( $self->{shuttersDev},
|
||||
'ASC_Shading_InOutAzimuth', '95:265' );
|
||||
|
||||
sub getShadingAngleRight {
|
||||
my $self = shift;
|
||||
### erwartetes Ergebnis
|
||||
# MIN:MAX
|
||||
|
||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_Angle_Right', 75 );
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}->{leftVal} =
|
||||
$left;
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}->{rightVal} =
|
||||
$right;
|
||||
|
||||
return $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth}
|
||||
->{rightVal};
|
||||
}
|
||||
|
||||
sub getShadingMinOutsideTemperature {
|
||||
@ -4827,15 +4876,54 @@ sub getShadingMaxElevation {
|
||||
sub getShadingStateChangeSunny {
|
||||
my $self = shift;
|
||||
|
||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_StateChange_Sunny',
|
||||
35000 );
|
||||
return $self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{sunny}
|
||||
if (
|
||||
exists(
|
||||
$self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME}
|
||||
)
|
||||
and ( gettimeofday() -
|
||||
$self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME} ) < 2
|
||||
);
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_StateChange_SunnyCloudy}
|
||||
->{LASTGETTIME} = int( gettimeofday() );
|
||||
my ( $sunny, $cloudy ) =
|
||||
FHEM::AutoShuttersControl::GetAttrValues( $self->{shuttersDev},
|
||||
'ASC_Shading_StateChange_SunnyCloudy',
|
||||
'35000:20000' );
|
||||
|
||||
### erwartetes Ergebnis
|
||||
# SUNNY:CLOUDY
|
||||
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_StateChange_SunnyCloudy}
|
||||
->{sunny} = $sunny;
|
||||
$self->{ $self->{shuttersDev} }->{ASC_Shading_StateChange_SunnyCloudy}
|
||||
->{cloudy} = $cloudy;
|
||||
|
||||
return $self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{sunny};
|
||||
}
|
||||
|
||||
sub getShadingStateChangeCloudy {
|
||||
my $self = shift;
|
||||
|
||||
return AttrVal( $self->{shuttersDev}, 'ASC_Shading_StateChange_Cloudy',
|
||||
20000 );
|
||||
return $self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{cloudy}
|
||||
if (
|
||||
exists(
|
||||
$self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME}
|
||||
)
|
||||
and ( gettimeofday() -
|
||||
$self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME} ) < 2
|
||||
);
|
||||
$shutters->getShadingStateChangeSunny;
|
||||
|
||||
return $self->{ $self->{shuttersDev} }
|
||||
->{ASC_Shading_StateChange_SunnyCloudy}->{cloudy};
|
||||
}
|
||||
|
||||
sub getShadingWaitingPeriod {
|
||||
@ -4898,10 +4986,12 @@ sub getOpenPos {
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
}
|
||||
|
||||
return ( $val =~ /^\d+(\.\d+)?$/
|
||||
return (
|
||||
$val =~ /^\d+(\.\d+)?$/
|
||||
? $val
|
||||
: $userAttrList{'ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100'}
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ]
|
||||
);
|
||||
}
|
||||
|
||||
sub getVentilatePos {
|
||||
@ -4916,10 +5006,12 @@ sub getVentilatePos {
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
}
|
||||
|
||||
return ( $val =~ /^\d+(\.\d+)?$/
|
||||
return (
|
||||
$val =~ /^\d+(\.\d+)?$/
|
||||
? $val
|
||||
: $userAttrList{'ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100'}
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ]
|
||||
);
|
||||
}
|
||||
|
||||
sub getVentilatePosAfterDayClosed {
|
||||
@ -4979,10 +5071,12 @@ sub getComfortOpenPos {
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
}
|
||||
|
||||
return ( $val =~ /^\d+(\.\d+)?$/
|
||||
return (
|
||||
$val =~ /^\d+(\.\d+)?$/
|
||||
? $val
|
||||
: $userAttrList{'ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100'}
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] );
|
||||
[ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ]
|
||||
);
|
||||
}
|
||||
|
||||
sub getPartyMode {
|
||||
@ -5158,9 +5252,11 @@ sub getTimeUpEarly {
|
||||
$val = FHEM::AutoShuttersControl::_perlCodeCheck( $val, '05:00' );
|
||||
}
|
||||
|
||||
return ( $val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
return (
|
||||
$val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
? $val
|
||||
: '05:00' );
|
||||
: '05:00'
|
||||
);
|
||||
}
|
||||
|
||||
sub getTimeUpLate {
|
||||
@ -5171,9 +5267,11 @@ sub getTimeUpLate {
|
||||
$val = FHEM::AutoShuttersControl::_perlCodeCheck( $val, '08:30' );
|
||||
}
|
||||
|
||||
return ( $val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
return (
|
||||
$val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
? $val
|
||||
: '08:30' );
|
||||
: '08:30'
|
||||
);
|
||||
}
|
||||
|
||||
sub getTimeDownEarly {
|
||||
@ -5184,9 +5282,11 @@ sub getTimeDownEarly {
|
||||
$val = FHEM::AutoShuttersControl::_perlCodeCheck( $val, '16:00' );
|
||||
}
|
||||
|
||||
return ( $val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
return (
|
||||
$val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
? $val
|
||||
: '16:00' );
|
||||
: '16:00'
|
||||
);
|
||||
}
|
||||
|
||||
sub getTimeDownLate {
|
||||
@ -5197,9 +5297,11 @@ sub getTimeDownLate {
|
||||
$val = FHEM::AutoShuttersControl::_perlCodeCheck( $val, '22:00' );
|
||||
}
|
||||
|
||||
return ( $val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
return (
|
||||
$val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
? $val
|
||||
: '22:00' );
|
||||
: '22:00'
|
||||
);
|
||||
}
|
||||
|
||||
sub getTimeUpWeHoliday {
|
||||
@ -5211,9 +5313,11 @@ sub getTimeUpWeHoliday {
|
||||
$val = FHEM::AutoShuttersControl::_perlCodeCheck( $val, '08:00' );
|
||||
}
|
||||
|
||||
return ( $val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
return (
|
||||
$val =~ /^(?:[01]\d|2[0-3]):(?:[0-5]\d)(:(?:[0-5]\d))?$/
|
||||
? $val
|
||||
: '08:00' );
|
||||
: '08:00'
|
||||
);
|
||||
}
|
||||
|
||||
sub getBrightnessMinVal {
|
||||
@ -6378,19 +6482,8 @@ sub getblockAscDrivesAfterManual {
|
||||
The following attributes are available:
|
||||
</p>
|
||||
<ul>
|
||||
<li><strong>ASC_Shading_Angle_Left</strong> - Minimal shading angle in relation to the window,
|
||||
from when shade is applied. For example: Window is 180 ° (perpendicular) − 85 ° set
|
||||
for <em>ASC_Shading_Angle_Left</em> → shading starts if sun position is 95 °.
|
||||
Defaults to 75.
|
||||
</li>
|
||||
<li><strong>ASC_Shading_Angle_Right</strong> - Complements <em>ASC_Shading_Angle_Left</em> and
|
||||
sets the maximum shading angle in relation to the window. For example: Window is 180 °
|
||||
(perpendicular) + 85 ° set from <em>ASC_Shading_Angle_Right</em> → shading until
|
||||
sun position of 265 ° is reached. Defaults to 75.
|
||||
</li>
|
||||
<li><strong>ASC_Shading_Direction</strong> - Compass point degrees for which the window resp. shutter
|
||||
points. East is 90 °, South 180 °, West is 270 ° and North is 0 °.
|
||||
Defaults to South (180).
|
||||
<li><strong>ASC_Shading_InOutAzimuth</strong> - Azimuth value from which shading is to be used when shading is exceeded and shading when undershooting is required.
|
||||
Defaults to 95:265.
|
||||
</li>
|
||||
<li><strong>ASC_Shading_MinMax_Elevation</strong> - Shading starts as min point of sun elevation is
|
||||
reached and end as max point of sun elevation is reached, depending also on other sensor values. Defaults to 25.0:100.0.
|
||||
@ -6405,8 +6498,8 @@ sub getblockAscDrivesAfterManual {
|
||||
<li><strong>ASC_Shading_StateChange_Cloudy</strong> - Shading <strong>ends</strong> at this
|
||||
outdoor brightness, depending also on other sensor values. Defaults to 20000.
|
||||
</li>
|
||||
<li><strong>ASC_Shading_StateChange_Sunny</strong> - Shading <strong>starts</strong> at this
|
||||
outdoor brightness, depending also on other sensor values. Defaults to 35000.
|
||||
<li><strong>ASC_Shading_StateChange_SunnyCloudy</strong> - Shading <strong>starts/stops</strong> at this
|
||||
outdoor brightness, depending also on other sensor values. Defaults to 35000:20000.
|
||||
</li>
|
||||
<li><strong>ASC_Shading_WaitingPeriod</strong> - Waiting time in seconds before additional sensor values
|
||||
to <em>ASC_Shading_StateChange_Sunny</em> or <em>ASC_Shading_StateChange_Cloudy</em>
|
||||
@ -6745,15 +6838,12 @@ sub getblockAscDrivesAfterManual {
|
||||
</br><strong>Im ASC Device</strong> das Reading "controlShading" mit dem Wert on, sowie ein Astro/Twilight Device im Attribut "ASC_twilightDevice" und das Attribut "ASC_tempSensor".
|
||||
</br><strong>In den Rollladendevices</strong> benötigt ihr ein Helligkeitssensor als Attribut "ASC_BrightnessSensor", sofern noch nicht vorhanden. Findet der Sensor nur für die Beschattung Verwendung ist der Wert DEVICENAME[:READING] ausreichend.
|
||||
</br>Alle weiteren Attribute sind optional und wenn nicht gesetzt mit Default-Werten belegt. Ihr solltet sie dennoch einmal anschauen und entsprechend Euren Gegebenheiten setzen. Die Werte für; die Fensterposition und den Vor- Nachlaufwinkel sowie die Grenzwerte für die StateChange_Cloudy und StateChange_Sunny solltet ihr besondere Beachtung dabei schenken.
|
||||
<li><strong>ASC_Shading_Angle_Left</strong> - Vorlaufwinkel im Bezug zum Fenster, ab wann abgeschattet wird. Beispiel: Fenster 180° - 85° ==> ab Sonnenpos. 95° wird abgeschattet (default: 75)</li>
|
||||
<li><strong>ASC_Shading_Angle_Right</strong> - Nachlaufwinkel im Bezug zum Fenster, bis wann abgeschattet wird. Beispiel: Fenster 180° + 85° ==> bis Sonnenpos. 265° wird abgeschattet (default: 75)</li>
|
||||
<li><strong>ASC_Shading_Direction</strong> - Position in Grad, auf der das Fenster liegt - genau Osten wäre 90, Süden 180 und Westen 270 (default: 180)</li>
|
||||
<li><strong>ASC_Shading_InOutAzimuth</strong> - Azimut Wert ab dem bei Überschreiten Beschattet und bei Unterschreiten Endschattet werden soll. (default: 95:265)</li>
|
||||
<li><strong>ASC_Shading_MinMax_Elevation</strong> - ab welcher min Höhe des Sonnenstandes soll beschattet und ab welcher max Höhe wieder beendet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 25.0:100.0)</li>
|
||||
<li><strong>ASC_Shading_Min_OutsideTemperature</strong> - ab welcher Temperatur soll Beschattet werden, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 18)</li>
|
||||
<li><strong>ASC_Shading_Mode - absent,always,off,home</strong> / wann soll die Beschattung nur stattfinden. (default: off)</li>
|
||||
<li><strong>ASC_Shading_Pos</strong> - Position des Rollladens für die Beschattung (Default: ist abhängig vom Attribut<em>ASC</em> 80/20) !!!Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!</li>
|
||||
<li><strong>ASC_Shading_StateChange_Cloudy</strong> - Brightness Wert ab welchen die Beschattung aufgehoben werden soll, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 20000)</li>
|
||||
<li><strong>ASC_Shading_StateChange_Sunny</strong> - Brightness Wert ab welchen Beschattung stattfinden soll, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 35000)</li>
|
||||
<li><strong>ASC_Shading_StateChange_SunnyCloudy</strong> - Brightness Wert ab welchen die Beschattung stattfinden und aufgehoben werden soll, immer in Abhängigkeit der anderen einbezogenen Sensorwerte (default: 35000:20000)</li>
|
||||
<li><strong>ASC_Shading_WaitingPeriod</strong> - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung stattfinden soll (default: 1200)</li>
|
||||
</ul>
|
||||
<li><strong>ASC_ShuttersPlace - window/terrace</strong> - Wenn dieses Attribut auf terrace gesetzt ist, das Residence Device in den Status "gone" geht und SelfDefense aktiv ist (ohne das das Reading selfDefense gesetzt sein muss), wird das Rollo geschlossen (default: window)</li>
|
||||
@ -6853,7 +6943,7 @@ sub getblockAscDrivesAfterManual {
|
||||
],
|
||||
"release_status": "under develop",
|
||||
"license": "GPL_2",
|
||||
"version": "v0.6.102",
|
||||
"version": "v0.6.103",
|
||||
"author": [
|
||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user