after code layout
This commit is contained in:
@ -190,11 +190,11 @@ my %userAttrList = (
|
||||
'ASC_WindowRec_subType:twostate,threestate' => 'twostate',
|
||||
'ASC_ShuttersPlace:window,terrace' => 'window',
|
||||
'ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100' => [ '', 70, 30 ],
|
||||
'ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100' =>
|
||||
[ '', 20, 80 ],
|
||||
'ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100' => [ '', 20, 80 ],
|
||||
'ASC_GuestRoom:on,off' => 'none',
|
||||
'ASC_Antifreeze:off,soft,hard,am,pm' => 'off',
|
||||
'ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100' => [ '', 85, 15 ],
|
||||
'ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100'
|
||||
=> [ '', 85, 15 ],
|
||||
'ASC_Partymode:on,off' => 'off',
|
||||
'ASC_Roommate_Device' => 'none',
|
||||
'ASC_Roommate_Reading' => 'state',
|
||||
@ -383,8 +383,7 @@ sub Notify($$) {
|
||||
'AutoShuttersControl::RenewSunRiseSetShuttersTimer',
|
||||
$hash );
|
||||
InternalTimer( gettimeofday() + 5,
|
||||
'AutoShuttersControl::AutoSearchTwilightDev',
|
||||
$hash );
|
||||
'AutoShuttersControl::AutoSearchTwilightDev', $hash );
|
||||
}
|
||||
}
|
||||
elsif ( grep /^partyMode:.off$/, @{$events} ) {
|
||||
@ -452,7 +451,8 @@ sub EventProcessingGeneral($$$) {
|
||||
$deviceAttr eq 'ASC_Shading_Brightness_Sensor'
|
||||
and ( $shutters->getDown eq 'brightness'
|
||||
or $shutters->getUp eq 'brightness' )
|
||||
) {
|
||||
)
|
||||
{
|
||||
EventProcessingBrightness( $hash, $device, $events );
|
||||
}
|
||||
elsif ( $deviceAttr eq 'ASC_Shading_Brightness_Sensor' ) {
|
||||
@ -642,17 +642,18 @@ sub ShuttersDeviceScan($) {
|
||||
; # temporär muss später gelöscht werden ab Version 0.2.0.6
|
||||
delFromDevAttrList( $_, 'ASC_lock-outCmd:inhibit,blocked' )
|
||||
; # temporär muss später gelöscht werden ab Version 0.2.0.6
|
||||
delFromDevAttrList( $_, 'ASC_Pos_after_ComfortOpen:0,10,20,30,40,50,60,70,80,90,100' )
|
||||
delFromDevAttrList( $_,
|
||||
'ASC_Pos_after_ComfortOpen:0,10,20,30,40,50,60,70,80,90,100' )
|
||||
; # temporär muss später gelöscht werden ab Version 0.2.0.6
|
||||
|
||||
delFromDevAttrList( $_, 'ASC_Antifreeze:off,on' )
|
||||
if ( AttrVal( $_, 'ASC_Antifreeze', 'on' ) eq 'on'
|
||||
or AttrVal( $_, 'ASC_Antifreeze', 'on' ) eq 'off'
|
||||
)
|
||||
or AttrVal( $_, 'ASC_Antifreeze', 'on' ) eq 'off' )
|
||||
; # temporär muss später gelöscht werden ab Version 0.2.0.6
|
||||
|
||||
delFromDevAttrList( $_, 'ASC_AntifreezePos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100' )
|
||||
; # temporär muss später gelöscht werden ab Version 0.2.0.7
|
||||
delFromDevAttrList( $_,
|
||||
'ASC_AntifreezePos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100'
|
||||
); # temporär muss später gelöscht werden ab Version 0.2.0.7
|
||||
|
||||
$shuttersList = $shuttersList . ',' . $_;
|
||||
$shutters->setShuttersDev($_);
|
||||
@ -662,10 +663,10 @@ sub ShuttersDeviceScan($) {
|
||||
$shutters->setNoOffset(0);
|
||||
$shutters->setPosSetCmd( $posSetCmds{ $defs{$_}->{TYPE} } );
|
||||
}
|
||||
|
||||
# $hash->{NOTIFYDEV} = $hash->{NOTIFYDEV} . $shuttersList;
|
||||
$hash->{NOTIFYDEV} = "global," . $name . $shuttersList;
|
||||
|
||||
|
||||
if ( $ascDev->getMonitoredDevs ne 'none' ) {
|
||||
$hash->{monitoredDevs} =
|
||||
eval { decode_json( $ascDev->getMonitoredDevs ) };
|
||||
@ -833,10 +834,11 @@ sub EventProcessingWindowRec($@) {
|
||||
|
||||
if ( $shutters->getDelayCmd ne 'none' and $1 eq 'closed' )
|
||||
{ # Es wird geschaut ob wärend der Fenster offen Phase ein Fahrbefehl über das Modul kam,wenn ja wird dieser aus geführt
|
||||
|
||||
# if ( $1 eq 'closed' ) {
|
||||
$shutters->setLastDrive('delayed drive - window closed');
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
$shutters->getDelayCmd );
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd );
|
||||
|
||||
# }
|
||||
# elsif (
|
||||
# (
|
||||
@ -859,15 +861,19 @@ sub EventProcessingWindowRec($@) {
|
||||
or $shutters->getStatus == $shutters->getComfortOpenPos )
|
||||
{
|
||||
my $homemode = $shutters->getRoommatesStatus;
|
||||
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
||||
$homemode = $ascDev->getResidentsStatus
|
||||
if ( $homemode eq 'none' );
|
||||
$shutters->setLastDrive('window closed');
|
||||
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getLastPos )
|
||||
if ( IsDay($hash,$shuttersDev)
|
||||
if (
|
||||
IsDay( $hash, $shuttersDev )
|
||||
and ( $homemode ne 'asleep'
|
||||
or $homemode ne 'gotosleep'
|
||||
or $homemode eq 'none') );
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getClosedPos )
|
||||
or $homemode eq 'none' )
|
||||
);
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
$shutters->getClosedPos )
|
||||
if ( not IsDay( $hash, $shuttersDev )
|
||||
or $homemode eq 'asleep'
|
||||
or $homemode eq 'gotosleep' );
|
||||
@ -908,8 +914,8 @@ sub EventProcessingRoommate($@) {
|
||||
|
||||
if ( $events =~ m#$reading:\s(absent|gotosleep|asleep|awoken|home)# ) {
|
||||
Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - EventProcessingRoommate: " . $shutters->getRoommatesReading
|
||||
);
|
||||
"AutoShuttersControl ($name) - EventProcessingRoommate: "
|
||||
. $shutters->getRoommatesReading );
|
||||
Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - EventProcessingRoommate: $shuttersDev und Events $events"
|
||||
);
|
||||
@ -967,7 +973,8 @@ sub EventProcessingRoommate($@) {
|
||||
}
|
||||
else {
|
||||
$position = $shutters->getVentilatePos;
|
||||
$shutters->setLastDrive($shutters->getLastDrive . ' - ventilate mode');
|
||||
$shutters->setLastDrive(
|
||||
$shutters->getLastDrive . ' - ventilate mode' );
|
||||
}
|
||||
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $position );
|
||||
@ -1000,7 +1007,8 @@ sub EventProcessingRoommate($@) {
|
||||
}
|
||||
else {
|
||||
$position = $shutters->getVentilatePos;
|
||||
$shutters->setLastDrive($shutters->getLastDrive . ' - ventilate mode');
|
||||
$shutters->setLastDrive(
|
||||
$shutters->getLastDrive . ' - ventilate mode' );
|
||||
}
|
||||
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $position );
|
||||
@ -1211,9 +1219,15 @@ sub EventProcessingBrightness($@) {
|
||||
and $ascDev->getSelfDefense eq 'off'
|
||||
or ( $ascDev->getSelfDefense eq 'on'
|
||||
and CheckIfShuttersWindowRecOpen($shuttersDev) == 0 )
|
||||
) {
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getOpenPos );
|
||||
} else { EventProcessingShadingBrightness($hash, $shuttersDev, $events); }
|
||||
)
|
||||
{
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
$shutters->getOpenPos );
|
||||
}
|
||||
else {
|
||||
EventProcessingShadingBrightness( $hash, $shuttersDev,
|
||||
$events );
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif (
|
||||
@ -1246,12 +1260,18 @@ sub EventProcessingBrightness($@) {
|
||||
|
||||
if ( $shutters->getModeDown eq $homemode
|
||||
or $homemode eq 'none'
|
||||
or $shutters->getModeDown eq 'always'
|
||||
) {
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getClosedPos );
|
||||
} else { EventProcessingShadingBrightness($hash, $shuttersDev, $events); }
|
||||
or $shutters->getModeDown eq 'always' )
|
||||
{
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
$shutters->getClosedPos );
|
||||
}
|
||||
} else { EventProcessingShadingBrightness($hash, $shuttersDev, $events); }
|
||||
else {
|
||||
EventProcessingShadingBrightness( $hash, $shuttersDev,
|
||||
$events );
|
||||
}
|
||||
}
|
||||
}
|
||||
else { EventProcessingShadingBrightness( $hash, $shuttersDev, $events ); }
|
||||
}
|
||||
|
||||
sub EventProcessingShadingBrightness($@) {
|
||||
@ -1261,8 +1281,16 @@ sub EventProcessingShadingBrightness($@) {
|
||||
my $reading = $shutters->getShadingBrightnessReading;
|
||||
|
||||
if ( $events =~ m#$reading:\s(\d+)# ) {
|
||||
ShadingProcessing($hash,$shuttersDev,$ascDev->getAzimuth,$ascDev->getElevation,$1,$ascDev->getOutTemp,$shutters->getDirection,$shutters->getShadingAngleLeft,$shutters->getShadingAngleRight)
|
||||
if ( $shutters->getShadingMode eq 'on' or $shutters->getShadingMode eq $ascDev->getResidentsStatus and IsDay( $hash, $shuttersDev ) );
|
||||
ShadingProcessing(
|
||||
$hash, $shuttersDev,
|
||||
$ascDev->getAzimuth, $ascDev->getElevation,
|
||||
$1, $ascDev->getOutTemp,
|
||||
$shutters->getDirection, $shutters->getShadingAngleLeft,
|
||||
$shutters->getShadingAngleRight
|
||||
)
|
||||
if ( $shutters->getShadingMode eq 'on'
|
||||
or $shutters->getShadingMode eq $ascDev->getResidentsStatus
|
||||
and IsDay( $hash, $shuttersDev ) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1284,21 +1312,46 @@ sub EventProcessingTwilightDevice($@) {
|
||||
$azimuth = $2 if ( $1 eq 'azimuth' or $1 eq 'SunAz' );
|
||||
$elevation = $2 if ( $1 eq 'evaluation' or $1 eq 'SunAlt' );
|
||||
|
||||
$azimuth = $ascDev->getAzimuth if (not defined($azimuth) and not $azimuth );
|
||||
$elevation = $ascDev->getElevation if (not defined($elevation) and not $elevation );
|
||||
$azimuth = $ascDev->getAzimuth
|
||||
if ( not defined($azimuth) and not $azimuth );
|
||||
$elevation = $ascDev->getElevation
|
||||
if ( not defined($elevation) and not $elevation );
|
||||
|
||||
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
|
||||
$shutters->setShuttersDev($shuttersDev);
|
||||
ShadingProcessing($hash,$shuttersDev,$azimuth,$elevation,$shutters->getBrightness,$ascDev->getOutTemp,$shutters->getDirection,$shutters->getShadingAngleLeft,$shutters->getShadingAngleRight)
|
||||
if ( ($shutters->getShadingMode eq 'on' or $shutters->getShadingMode eq $ascDev->getResidentsStatus) and IsDay( $hash, $shuttersDev ) );
|
||||
ShadingProcessing(
|
||||
$hash,
|
||||
$shuttersDev,
|
||||
$azimuth,
|
||||
$elevation,
|
||||
$shutters->getBrightness,
|
||||
$ascDev->getOutTemp,
|
||||
$shutters->getDirection,
|
||||
$shutters->getShadingAngleLeft,
|
||||
$shutters->getShadingAngleRight
|
||||
)
|
||||
if (
|
||||
(
|
||||
$shutters->getShadingMode eq 'on'
|
||||
or $shutters->getShadingMode eq $ascDev->getResidentsStatus
|
||||
)
|
||||
and IsDay( $hash, $shuttersDev )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub ShadingProcessing($@) {
|
||||
my ($hash,$shuttersDev,$azimuth,$elevation,$brightness,$outTemp,$shuttersDirection,$shuttersShadingAngleLeft,$shuttersShadingAngleRight) = @_;
|
||||
my (
|
||||
$hash, $shuttersDev,
|
||||
$azimuth, $elevation,
|
||||
$brightness, $outTemp,
|
||||
$shuttersDirection, $shuttersShadingAngleLeft,
|
||||
$shuttersShadingAngleRight
|
||||
) = @_;
|
||||
my $name = $hash->{NAME};
|
||||
|
||||
|
||||
Log3( $name, 1,
|
||||
"AutoShuttersControl ($name) - Shading Processing, Rollladen: " . $shuttersDev . " Azimuth: " . $azimuth . " Elevation: " . $elevation . " Brightness: " . $brightness . " OutTemp: " . $outTemp
|
||||
);
|
||||
@ -1313,12 +1366,10 @@ sub ShadingProcessing($@) {
|
||||
# elevation -1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Log3( $name, 1,
|
||||
"AutoShuttersControl ($name) - Shading Processing hinter dem return");
|
||||
|
||||
|
||||
}
|
||||
|
||||
sub EventProcessingPartyMode($) {
|
||||
@ -1416,7 +1467,8 @@ sub ShuttersCommandSet($$$) {
|
||||
; # setzt den Wert auf none da der Rolladen nun gesteuert werden kann.
|
||||
$ascDev->setLastPosReading;
|
||||
Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - ShuttersCommandSet setDriveCmd wird aufgerufen");
|
||||
"AutoShuttersControl ($name) - ShuttersCommandSet setDriveCmd wird aufgerufen"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1554,15 +1606,23 @@ sub wiggle($$) {
|
||||
|
||||
if ( $shutters->getShuttersPosCmdValueNegate ) {
|
||||
if ( $shutters->getStatus >= $shutters->getOpenPos / 2 ) {
|
||||
$shutters->setDriveCmd( $shutters->getStatus + $shutters->getWiggleValue );
|
||||
$shutters->setDriveCmd(
|
||||
$shutters->getStatus + $shutters->getWiggleValue );
|
||||
}
|
||||
else {
|
||||
$shutters->setDriveCmd(
|
||||
$shutters->getStatus - $shutters->getWiggleValue );
|
||||
}
|
||||
else { $shutters->setDriveCmd( $shutters->getStatus - $shutters->getWiggleValue ); }
|
||||
}
|
||||
else {
|
||||
if ( $shutters->getStatus >= $shutters->getOpenPos / 2 ) {
|
||||
$shutters->setDriveCmd( $shutters->getStatus - $shutters->getWiggleValue );
|
||||
$shutters->setDriveCmd(
|
||||
$shutters->getStatus - $shutters->getWiggleValue );
|
||||
}
|
||||
else {
|
||||
$shutters->setDriveCmd(
|
||||
$shutters->getStatus + $shutters->getWiggleValue );
|
||||
}
|
||||
else { $shutters->setDriveCmd( $shutters->getStatus + $shutters->getWiggleValue ); }
|
||||
}
|
||||
|
||||
InternalTimer( gettimeofday() + 60, 'AutoShuttersControl::SetCmdFn', \%h );
|
||||
@ -1587,9 +1647,12 @@ sub SunSetShuttersAfterTimerFn($) {
|
||||
my $homemode = $shutters->getRoommatesStatus;
|
||||
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
||||
|
||||
if ( $shutters->getModeDown eq $homemode
|
||||
if (
|
||||
$shutters->getModeDown eq $homemode
|
||||
|
||||
# or $homemode eq 'none'
|
||||
or $shutters->getModeDown eq 'always' )
|
||||
or $shutters->getModeDown eq 'always'
|
||||
)
|
||||
{
|
||||
$shutters->setLastDrive('night close');
|
||||
ShuttersCommandSet( $hash, $shuttersDev, $posValue );
|
||||
@ -1608,9 +1671,12 @@ sub SunRiseShuttersAfterTimerFn($) {
|
||||
my $homemode = $shutters->getRoommatesStatus;
|
||||
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
||||
|
||||
if ( $shutters->getModeUp eq $homemode
|
||||
if (
|
||||
$shutters->getModeUp eq $homemode
|
||||
|
||||
# or $homemode eq 'none'
|
||||
or $shutters->getModeUp eq 'always' )
|
||||
or $shutters->getModeUp eq 'always'
|
||||
)
|
||||
{
|
||||
if (
|
||||
(
|
||||
@ -2016,55 +2082,42 @@ sub ShuttersSunrise($$$) {
|
||||
IsWe()
|
||||
and int( gettimeofday() / 86400 ) == int(
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpWeHoliday
|
||||
'24:00', $shutters->getTimeUpWeHoliday
|
||||
)
|
||||
) / 86400
|
||||
)
|
||||
{
|
||||
$shuttersSunriseUnixtime =
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpWeHoliday
|
||||
);
|
||||
computeAlignTime( '24:00',
|
||||
$shutters->getTimeUpWeHoliday );
|
||||
}
|
||||
elsif (
|
||||
int( gettimeofday() / 86400 ) == int(
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpEarly
|
||||
'24:00', $shutters->getTimeUpEarly
|
||||
)
|
||||
) / 86400
|
||||
)
|
||||
{
|
||||
$shuttersSunriseUnixtime =
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpWeHoliday
|
||||
);
|
||||
computeAlignTime( '24:00',
|
||||
$shutters->getTimeUpWeHoliday );
|
||||
}
|
||||
else {
|
||||
$shuttersSunriseUnixtime =
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpEarly
|
||||
);
|
||||
computeAlignTime( '24:00',
|
||||
$shutters->getTimeUpEarly );
|
||||
}
|
||||
}
|
||||
else {
|
||||
$shuttersSunriseUnixtime =
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpWeHoliday
|
||||
);
|
||||
computeAlignTime( '24:00',
|
||||
$shutters->getTimeUpWeHoliday );
|
||||
}
|
||||
}
|
||||
else {
|
||||
$shuttersSunriseUnixtime =
|
||||
computeAlignTime(
|
||||
'24:00',
|
||||
$shutters->getTimeUpEarly
|
||||
);
|
||||
computeAlignTime( '24:00', $shutters->getTimeUpEarly );
|
||||
}
|
||||
}
|
||||
elsif ( $shutters->getUp eq 'brightness' ) {
|
||||
@ -2330,7 +2383,8 @@ sub setDriveCmd {
|
||||
}
|
||||
elsif ( $posValue == $shutters->getClosedPos ) {
|
||||
$posValue = $shutters->getAntiFreezePos;
|
||||
$shutters->setLastDrive($shutters->getLastDrive . ' - antifreeze mode');
|
||||
$shutters->setLastDrive(
|
||||
$shutters->getLastDrive . ' - antifreeze mode' );
|
||||
}
|
||||
}
|
||||
|
||||
@ -2407,8 +2461,7 @@ sub setLastPos
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub setLastManPos
|
||||
{
|
||||
sub setLastManPos {
|
||||
my ( $self, $position ) = @_;
|
||||
|
||||
$self->{ $self->{shuttersDev} }{lastManPos}{VAL} = $position
|
||||
@ -2446,7 +2499,8 @@ sub getFreezeStatus {
|
||||
my $daytime = strftime( "%P", localtime() );
|
||||
|
||||
if ( $shutters->getAntiFreeze ne 'off'
|
||||
and $ascDev->getOutTemp <= $ascDev->getFreezeTemp ) {
|
||||
and $ascDev->getOutTemp <= $ascDev->getFreezeTemp )
|
||||
{
|
||||
|
||||
if ( $shutters->getAntiFreeze eq 'soft' ) {
|
||||
return 1;
|
||||
@ -3129,7 +3183,8 @@ sub getMonitoredDevs {
|
||||
sub getOutTemp {
|
||||
my $self = shift;
|
||||
|
||||
return ReadingsVal( $ascDev->_getTempSensor, $ascDev->getTempReading, -100 );
|
||||
return ReadingsVal( $ascDev->_getTempSensor, $ascDev->getTempReading,
|
||||
-100 );
|
||||
}
|
||||
|
||||
sub getResidentsStatus {
|
||||
@ -3156,8 +3211,10 @@ sub getAzimuth {
|
||||
my $self = shift;
|
||||
my $azimuth;
|
||||
|
||||
$azimuth = ReadingsVal( $ascDev->_getTwilightDevice, 'azimuth', -1 ) if ( $defs{$ascDev->_getTwilightDevice}->{TYPE} eq 'Twilight' );
|
||||
$azimuth = ReadingsVal( $ascDev->_getTwilightDevice, 'SunAz', -1 ) if ( $defs{$ascDev->_getTwilightDevice}->{TYPE} eq 'Astro' );
|
||||
$azimuth = ReadingsVal( $ascDev->_getTwilightDevice, 'azimuth', -1 )
|
||||
if ( $defs{ $ascDev->_getTwilightDevice }->{TYPE} eq 'Twilight' );
|
||||
$azimuth = ReadingsVal( $ascDev->_getTwilightDevice, 'SunAz', -1 )
|
||||
if ( $defs{ $ascDev->_getTwilightDevice }->{TYPE} eq 'Astro' );
|
||||
|
||||
return $azimuth;
|
||||
}
|
||||
@ -3166,8 +3223,10 @@ sub getElevation {
|
||||
my $self = shift;
|
||||
my $elevation;
|
||||
|
||||
$elevation = ReadingsVal( $ascDev->_getTwilightDevice, 'elevation', -1 ) if ( $defs{$ascDev->_getTwilightDevice}->{TYPE} eq 'Twilight' );
|
||||
$elevation = ReadingsVal( $ascDev->_getTwilightDevice, 'SunAlt', -1 ) if ( $defs{$ascDev->_getTwilightDevice}->{TYPE} eq 'Astro' );
|
||||
$elevation = ReadingsVal( $ascDev->_getTwilightDevice, 'elevation', -1 )
|
||||
if ( $defs{ $ascDev->_getTwilightDevice }->{TYPE} eq 'Twilight' );
|
||||
$elevation = ReadingsVal( $ascDev->_getTwilightDevice, 'SunAlt', -1 )
|
||||
if ( $defs{ $ascDev->_getTwilightDevice }->{TYPE} eq 'Astro' );
|
||||
|
||||
return $elevation;
|
||||
}
|
||||
|
Reference in New Issue
Block a user