From c19f9728a0a74967ef308f1f0731f4d27d89dadc Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Wed, 3 Jun 2020 18:00:56 +0200 Subject: [PATCH] Ready for package and object methode --- .../Automation/ShuttersControl/Dev/Attr.pm | 23 +-- .../ShuttersControl/Dev/Readings.pm | 43 ++--- .../Automation/ShuttersControl/Roommate.pm | 4 +- .../Automation/ShuttersControl/Shutters.pm | 173 +++++++++--------- .../ShuttersControl/Shutters/Attr.pm | 107 ++++++----- .../ShuttersControl/Shutters/Readings.pm | 13 +- .../Automation/ShuttersControl/Window/Attr.pm | 4 +- .../ShuttersControl/Window/Readings.pm | 4 +- 8 files changed, 175 insertions(+), 196 deletions(-) diff --git a/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm b/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm index fbfe5af..3ae90b1 100644 --- a/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm +++ b/lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm @@ -46,9 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; -my $ascDev = $FHEM::Automation::ShuttersControl::ascDev; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -74,7 +71,7 @@ sub getBrightnessMinVal { return $self->{ASC_brightness}->{triggermin} if ( exists( $self->{ASC_brightness}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_brightness}->{LASTGETTIME} ) < 2 ); - $ascDev->getBrightnessMaxVal; + $FHEM::Automation::ShuttersControl::ascDev->getBrightnessMaxVal; return $self->{ASC_brightness}->{triggermin}; } @@ -212,7 +209,7 @@ sub getTempSensorReading { return $self->{ASC_tempSensor}->{reading} if ( exists( $self->{ASC_tempSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_tempSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getTempSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getTempSensor; return $self->{ASC_tempSensor}->{reading}; } @@ -244,7 +241,7 @@ sub getResidentsReading { return $self->{ASC_residentsDev}->{reading} if ( exists( $self->{ASC_residentsDev}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_residentsDev}->{LASTGETTIME} ) < 2 ); - $ascDev->_getResidentsDev; + $FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev; return $self->{ASC_residentsDev}->{reading}; } @@ -275,7 +272,7 @@ sub _getRainSensor { : ( $self->{ASC_rainSensor}->{triggermax} * 0 ) ); $self->{ASC_rainSensor}->{shuttersClosedPos} = - ( $pos ne 'none' ? $pos : $shutters->getClosedPos ); + ( $pos ne 'none' ? $pos : $FHEM::Automation::ShuttersControl::shutters->getClosedPos ); $self->{ASC_rainSensor}->{waitingTime} = ( $pos ne 'none' ? $wait : 900 ); @@ -290,7 +287,7 @@ sub getRainSensorReading { return $self->{ASC_rainSensor}->{reading} if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getRainSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getRainSensor; return $self->{ASC_rainSensor}->{reading}; } @@ -302,7 +299,7 @@ sub getRainTriggerMax { return $self->{ASC_rainSensor}->{triggermax} if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getRainSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getRainSensor; return $self->{ASC_rainSensor}->{triggermax}; } @@ -314,7 +311,7 @@ sub getRainTriggerMin { return $self->{ASC_rainSensor}->{triggerhyst} if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getRainSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getRainSensor; return $self->{ASC_rainSensor}->{triggerhyst}; } @@ -326,7 +323,7 @@ sub getRainSensorShuttersClosedPos { return $self->{ASC_rainSensor}->{shuttersClosedPos} if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getRainSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getRainSensor; return $self->{ASC_rainSensor}->{shuttersClosedPos}; } @@ -338,7 +335,7 @@ sub getRainWaitingTime { return $self->{ASC_rainSensor}->{waitingTime} if ( exists( $self->{ASC_rainSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_rainSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getRainSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getRainSensor; return $self->{ASC_rainSensor}->{waitingTime}; } @@ -371,7 +368,7 @@ sub getWindSensorReading { return $self->{ASC_windSensor}->{reading} if ( exists( $self->{ASC_windSensor}->{LASTGETTIME} ) && ( gettimeofday() - $self->{ASC_windSensor}->{LASTGETTIME} ) < 2 ); - $ascDev->_getWindSensor; + $FHEM::Automation::ShuttersControl::ascDev->_getWindSensor; return ( defined( $self->{ASC_windSensor}->{reading} ) ? $self->{ASC_windSensor}->{reading} diff --git a/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm b/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm index c893a16..ef3cddf 100644 --- a/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm +++ b/lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm @@ -46,9 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; -my $ascDev = $FHEM::Automation::ShuttersControl::ascDev; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -66,8 +63,8 @@ sub setDelayCmdReading { my $hash = $defs{$name}; readingsSingleUpdate( $hash, - $shutters->getShuttersDev . '_lastDelayPosValue', - $shutters->getDelayCmd, 1 ); + $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . '_lastDelayPosValue', + $FHEM::Automation::ShuttersControl::shutters->getDelayCmd, 1 ); return; } @@ -79,7 +76,7 @@ sub setStateReading { my $hash = $defs{$name}; readingsSingleUpdate( $hash, 'state', - ( defined($value) ? $value : $shutters->getLastDrive ), 1 ); + ( defined($value) ? $value : $FHEM::Automation::ShuttersControl::shutters->getLastDrive ), 1 ); return; } @@ -89,8 +86,8 @@ sub setPosReading { my $name = $self->{name}; my $hash = $defs{$name}; - readingsSingleUpdate( $hash, $shutters->getShuttersDev . '_PosValue', - $shutters->getStatus, 1 ); + readingsSingleUpdate( $hash, $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . '_PosValue', + $FHEM::Automation::ShuttersControl::shutters->getStatus, 1 ); return; } @@ -100,8 +97,8 @@ sub setLastPosReading { my $name = $self->{name}; my $hash = $defs{$name}; - readingsSingleUpdate( $hash, $shutters->getShuttersDev . '_lastPosValue', - $shutters->getLastPos, 1 ); + readingsSingleUpdate( $hash, $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . '_lastPosValue', + $FHEM::Automation::ShuttersControl::shutters->getLastPos, 1 ); return; } @@ -141,7 +138,7 @@ sub getMonitoredDevs { sub getOutTemp { my $self = shift; - return ReadingsVal( $ascDev->_getTempSensor, $ascDev->getTempSensorReading, + return ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getTempSensor, $FHEM::Automation::ShuttersControl::ascDev->getTempSensorReading, -100 ); } @@ -149,7 +146,7 @@ sub getResidentsStatus { my $self = shift; my $val = - ReadingsVal( $ascDev->_getResidentsDev, $ascDev->getResidentsReading, + ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev, $FHEM::Automation::ShuttersControl::ascDev->getResidentsReading, 'none' ); if ( $val =~ m{^(?:(.+)_)?(.+)$}xms ) { @@ -157,7 +154,7 @@ sub getResidentsStatus { return $1 && $1 eq 'pet' ? 'absent' : $2; } elsif ( - ReadingsVal( $ascDev->_getResidentsDev, 'homealoneType', '-' ) eq + ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev, 'homealoneType', '-' ) eq 'PET' ) { return ( 'pet', 'absent' ) if (wantarray); @@ -172,14 +169,14 @@ sub getResidentsStatus { sub getResidentsLastStatus { my $self = shift; - my $val = ReadingsVal( $ascDev->_getResidentsDev, 'lastState', 'none' ); + my $val = ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev, 'lastState', 'none' ); if ( $val =~ m{^(?:(.+)_)?(.+)$}xms ) { return ( $1, $2 ) if (wantarray); return $1 && $1 eq 'pet' ? 'absent' : $2; } elsif ( - ReadingsVal( $ascDev->_getResidentsDev, 'lastHomealoneType', '-' ) eq + ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getResidentsDev, 'lastHomealoneType', '-' ) eq 'PET' ) { return ( 'pet', 'absent' ) if (wantarray); @@ -212,10 +209,10 @@ sub getAzimuth { 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( $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice, 'azimuth', -1 ) + if ( $defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }->{TYPE} eq 'Twilight' ); + $azimuth = ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice, 'SunAz', -1 ) + if ( $defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }->{TYPE} eq 'Astro' ); return $azimuth; } @@ -225,10 +222,10 @@ sub getElevation { 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( $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice, 'elevation', -1 ) + if ( $defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }->{TYPE} eq 'Twilight' ); + $elevation = ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice, 'SunAlt', -1 ) + if ( $defs{ $FHEM::Automation::ShuttersControl::ascDev->_getTwilightDevice }->{TYPE} eq 'Astro' ); return $elevation; } diff --git a/lib/FHEM/Automation/ShuttersControl/Roommate.pm b/lib/FHEM/Automation/ShuttersControl/Roommate.pm index 43f1f1f..b01aaf0 100644 --- a/lib/FHEM/Automation/ShuttersControl/Roommate.pm +++ b/lib/FHEM/Automation/ShuttersControl/Roommate.pm @@ -46,8 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -61,7 +59,7 @@ sub _getRoommateStatus { my $roommate = $self->{roommate}; - return ReadingsVal( $roommate, $shutters->getRoommatesReading, 'none' ); + return ReadingsVal( $roommate, $FHEM::Automation::ShuttersControl::shutters->getRoommatesReading, 'none' ); } sub _getRoommateLastStatus { diff --git a/lib/FHEM/Automation/ShuttersControl/Shutters.pm b/lib/FHEM/Automation/ShuttersControl/Shutters.pm index 37dd0d3..caa9c65 100644 --- a/lib/FHEM/Automation/ShuttersControl/Shutters.pm +++ b/lib/FHEM/Automation/ShuttersControl/Shutters.pm @@ -59,9 +59,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; -my $ascDev = $FHEM::Automation::ShuttersControl::ascDev; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -113,19 +110,19 @@ sub setHardLockOut { my $self = shift; my $cmd = shift; - if ( $shutters->getLockOut eq 'hard' - && $shutters->getLockOutCmd ne 'none' ) + if ( $FHEM::Automation::ShuttersControl::shutters->getLockOut eq 'hard' + && $FHEM::Automation::ShuttersControl::shutters->getLockOutCmd ne 'none' ) { CommandSet( undef, $self->{shuttersDev} . ' inhibit ' . $cmd ) - if ( $shutters->getLockOutCmd eq 'inhibit' ); + if ( $FHEM::Automation::ShuttersControl::shutters->getLockOutCmd eq 'inhibit' ); CommandSet( undef, $self->{shuttersDev} . ' ' . ( $cmd eq 'on' ? 'blocked' : 'unblocked' ) ) - if ( $shutters->getLockOutCmd eq 'blocked' ); + if ( $FHEM::Automation::ShuttersControl::shutters->getLockOutCmd eq 'blocked' ); CommandSet( undef, $self->{shuttersDev} . ' ' . ( $cmd eq 'on' ? 'protectionOn' : 'protectionOff' ) ) - if ( $shutters->getLockOutCmd eq 'protected' ); + if ( $FHEM::Automation::ShuttersControl::shutters->getLockOutCmd eq 'protected' ); } return; } @@ -156,47 +153,47 @@ sub setDriveCmd { my $offSetStart; if ( - ( $shutters->getPartyMode eq 'on' && $ascDev->getPartyMode eq 'on' ) - || ( $shutters->getAdv - && !$shutters->getQueryShuttersPos($posValue) - && !$shutters->getAdvDelay - && !$shutters->getExternalTriggerState - && !$shutters->getSelfDefenseState ) + ( $FHEM::Automation::ShuttersControl::shutters->getPartyMode eq 'on' && $FHEM::Automation::ShuttersControl::ascDev->getPartyMode eq 'on' ) + || ( $FHEM::Automation::ShuttersControl::shutters->getAdv + && !$FHEM::Automation::ShuttersControl::shutters->getQueryShuttersPos($posValue) + && !$FHEM::Automation::ShuttersControl::shutters->getAdvDelay + && !$FHEM::Automation::ShuttersControl::shutters->getExternalTriggerState + && !$FHEM::Automation::ShuttersControl::shutters->getSelfDefenseState ) ) { - $shutters->setDelayCmd($posValue); - $ascDev->setDelayCmdReading; - $shutters->setNoDelay(0); - $shutters->setExternalTriggerState(0) - if ( $shutters->getExternalTriggerState ); + $FHEM::Automation::ShuttersControl::shutters->setDelayCmd($posValue); + $FHEM::Automation::ShuttersControl::ascDev->setDelayCmdReading; + $FHEM::Automation::ShuttersControl::shutters->setNoDelay(0); + $FHEM::Automation::ShuttersControl::shutters->setExternalTriggerState(0) + if ( $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerState ); - FHEM::AutoShuttersControl::ASC_Debug( 'setDriveCmd: ' - . $shutters->getShuttersDev + FHEM::Automation::ShuttersControl::ASC_Debug( 'setDriveCmd: ' + . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . ' - Die Fahrt wird zurückgestellt. Grund kann ein geöffnetes Fenster sein oder ein aktivierter Party Modus oder Weihnachtszeit' ); } else { - $shutters->setAdvDelay(0) - if ( $shutters->getAdvDelay ); - $shutters->setDelayCmd('none') - if ( $shutters->getDelayCmd ne 'none' ) + $FHEM::Automation::ShuttersControl::shutters->setAdvDelay(0) + if ( $FHEM::Automation::ShuttersControl::shutters->getAdvDelay ); + $FHEM::Automation::ShuttersControl::shutters->setDelayCmd('none') + if ( $FHEM::Automation::ShuttersControl::shutters->getDelayCmd ne 'none' ) ; # setzt den Wert auf none da der Rolladen nun gesteuert werden kann. - $shutters->setExternalTriggerState(0) - if ( $shutters->getExternalTriggerState ); + $FHEM::Automation::ShuttersControl::shutters->setExternalTriggerState(0) + if ( $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerState ); ### antifreeze Routine - if ( $shutters->getAntiFreezeStatus > 0 ) { - if ( $shutters->getAntiFreezeStatus != 1 ) { + if ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreezeStatus > 0 ) { + if ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreezeStatus != 1 ) { - $posValue = $shutters->getStatus; - $shutters->setLastDrive('no drive - antifreeze defense'); - $shutters->setLastDriveReading; - $ascDev->setStateReading; + $posValue = $FHEM::Automation::ShuttersControl::shutters->getStatus; + $FHEM::Automation::ShuttersControl::shutters->setLastDrive('no drive - antifreeze defense'); + $FHEM::Automation::ShuttersControl::shutters->setLastDriveReading; + $FHEM::Automation::ShuttersControl::ascDev->setStateReading; } - elsif ( $posValue == $shutters->getClosedPos ) { - $posValue = $shutters->getAntiFreezePos; - $shutters->setLastDrive( - $shutters->getLastDrive . ' - antifreeze mode' ); + elsif ( $posValue == $FHEM::Automation::ShuttersControl::shutters->getClosedPos ) { + $posValue = $FHEM::Automation::ShuttersControl::shutters->getAntiFreezePos; + $FHEM::Automation::ShuttersControl::shutters->setLastDrive( + $FHEM::Automation::ShuttersControl::shutters->getLastDrive . ' - antifreeze mode' ); } } @@ -205,44 +202,44 @@ sub setDriveCmd { posValue => $posValue, ); - $offSet = $shutters->getDelay if ( $shutters->getDelay > -1 ); - $offSet = $ascDev->getShuttersOffset if ( $shutters->getDelay < 0 ); - $offSetStart = $shutters->getDelayStart; + $offSet = $FHEM::Automation::ShuttersControl::shutters->getDelay if ( $FHEM::Automation::ShuttersControl::shutters->getDelay > -1 ); + $offSet = $FHEM::Automation::ShuttersControl::ascDev->getShuttersOffset if ( $FHEM::Automation::ShuttersControl::shutters->getDelay < 0 ); + $offSetStart = $FHEM::Automation::ShuttersControl::shutters->getDelayStart; - if ( $shutters->getSelfDefenseAbsent - && !$shutters->getSelfDefenseAbsentTimerrun - && $shutters->getSelfDefenseMode ne 'off' - && $shutters->getSelfDefenseState - && $ascDev->getSelfDefense eq 'on' ) + if ( $FHEM::Automation::ShuttersControl::shutters->getSelfDefenseAbsent + && !$FHEM::Automation::ShuttersControl::shutters->getSelfDefenseAbsentTimerrun + && $FHEM::Automation::ShuttersControl::shutters->getSelfDefenseMode ne 'off' + && $FHEM::Automation::ShuttersControl::shutters->getSelfDefenseState + && $FHEM::Automation::ShuttersControl::ascDev->getSelfDefense eq 'on' ) { InternalTimer( - gettimeofday() + $shutters->getSelfDefenseAbsentDelay, + gettimeofday() + $FHEM::Automation::ShuttersControl::shutters->getSelfDefenseAbsentDelay, \&FHEM::Automation::ShuttersControl::_SetCmdFn, \%h ); - $shutters->setSelfDefenseAbsent( 1, 0, \%h ); + $FHEM::Automation::ShuttersControl::shutters->setSelfDefenseAbsent( 1, 0, \%h ); } - elsif ( $offSetStart > 0 && !$shutters->getNoDelay ) { + elsif ( $offSetStart > 0 && !$FHEM::Automation::ShuttersControl::shutters->getNoDelay ) { InternalTimer( gettimeofday() + - int( rand($offSet) + $shutters->getDelayStart ), + int( rand($offSet) + $FHEM::Automation::ShuttersControl::shutters->getDelayStart ), \&FHEM::Automation::ShuttersControl::_SetCmdFn, \%h ); - FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' - . $shutters->getShuttersDev + FHEM::Automation::ShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' + . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . ' - versetztes fahren' ); } - elsif ( $offSetStart < 1 || $shutters->getNoDelay ) { + elsif ( $offSetStart < 1 || $FHEM::Automation::ShuttersControl::shutters->getNoDelay ) { FHEM::Automation::ShuttersControl::_SetCmdFn( \%h ); - FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' - . $shutters->getShuttersDev + FHEM::Automation::ShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' + . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . ' - NICHT versetztes fahren' ); } - FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' - . $shutters->getShuttersDev + FHEM::Automation::ShuttersControl::ASC_Debug( 'FnSetDriveCmd: ' + . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . ' - NoDelay: ' - . ( $shutters->getNoDelay ? 'JA' : 'NEIN' ) ); - $shutters->setNoDelay(0); + . ( $FHEM::Automation::ShuttersControl::shutters->getNoDelay ? 'JA' : 'NEIN' ) ); + $FHEM::Automation::ShuttersControl::shutters->setNoDelay(0); } return; @@ -310,7 +307,7 @@ sub setLastDriveReading { my %h = ( devHash => $shuttersDevHash, - lastDrive => $shutters->getLastDrive, + lastDrive => $FHEM::Automation::ShuttersControl::shutters->getLastDrive, ); InternalTimer( gettimeofday() + 0.1, @@ -407,8 +404,8 @@ sub setAdvDelay { sub getHomemode { my $self = shift; - my $homemode = $shutters->getRoommatesStatus; - $homemode = $ascDev->getResidentsStatus + my $homemode = $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus; + $homemode = $FHEM::Automation::ShuttersControl::ascDev->getResidentsStatus if ( $homemode eq 'none' ); return $homemode; } @@ -459,7 +456,7 @@ sub getAttrUpdateChanges { sub getIsDay { my $self = shift; - return FHEM::AutoShuttersControl::_IsDay( $self->{shuttersDev} ); + return FHEM::Automation::ShuttersControl::_IsDay( $self->{shuttersDev} ); } sub getAntiFreezeStatus { @@ -471,21 +468,21 @@ sub getAntiFreezeStatus { ? $daytime : ( strftime( "%k", localtime() ) < 12 ? 'am' : 'pm' ) ); - my $outTemp = $ascDev->getOutTemp; + my $outTemp = $FHEM::Automation::ShuttersControl::ascDev->getOutTemp; -# $outTemp = $shutters->getOutTemp if ( $shutters->getOutTemp != -100 ); sollte raus das der Sensor im Rollo auch ein Innentemperatursensor sein kann. +# $outTemp = $FHEM::Automation::ShuttersControl::shutters->getOutTemp if ( $FHEM::Automation::ShuttersControl::shutters->getOutTemp != -100 ); sollte raus das der Sensor im Rollo auch ein Innentemperatursensor sein kann. - if ( $shutters->getAntiFreeze ne 'off' - && $outTemp <= $ascDev->getFreezeTemp ) + if ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreeze ne 'off' + && $outTemp <= $FHEM::Automation::ShuttersControl::ascDev->getFreezeTemp ) { - if ( $shutters->getAntiFreeze eq 'soft' ) { + if ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreeze eq 'soft' ) { return 1; } - elsif ( $shutters->getAntiFreeze eq $daytime ) { + elsif ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreeze eq $daytime ) { return 2; } - elsif ( $shutters->getAntiFreeze eq 'hard' ) { + elsif ( $FHEM::Automation::ShuttersControl::shutters->getAntiFreeze eq 'hard' ) { return 3; } } @@ -495,7 +492,7 @@ sub getAntiFreezeStatus { sub getShuttersPosCmdValueNegate { my $self = shift; - return ( $shutters->getOpenPos < $shutters->getClosedPos ? 1 : 0 ); + return ( $FHEM::Automation::ShuttersControl::shutters->getOpenPos < $FHEM::Automation::ShuttersControl::shutters->getClosedPos ? 1 : 0 ); } sub getQueryShuttersPos @@ -504,9 +501,9 @@ sub getQueryShuttersPos my $posValue = shift; # wenn dem so ist wird 1 zurück gegeben ansonsten 0 return ( - $shutters->getShuttersPosCmdValueNegate - ? $shutters->getStatus > $posValue - : $shutters->getStatus < $posValue + $FHEM::Automation::ShuttersControl::shutters->getShuttersPosCmdValueNegate + ? $FHEM::Automation::ShuttersControl::shutters->getStatus > $posValue + : $FHEM::Automation::ShuttersControl::shutters->getStatus < $posValue ); } @@ -516,7 +513,7 @@ sub getPosSetCmd { return ( defined( $self->{ $self->{shuttersDev} }{posSetCmd} ) ? $self->{ $self->{shuttersDev} }{posSetCmd} - : $shutters->getPosCmd + : $FHEM::Automation::ShuttersControl::shutters->getPosCmd ); } @@ -672,9 +669,9 @@ sub getRoommatesStatus { ); my $minPrio = 10; - for my $ro ( split( ",", $shutters->getRoommates ) ) { - $shutters->setRoommate($ro); - my $currentPrio = $statePrio{ $shutters->_getRoommateStatus }; + for my $ro ( split( ",", $FHEM::Automation::ShuttersControl::shutters->getRoommates ) ) { + $FHEM::Automation::ShuttersControl::shutters->setRoommate($ro); + my $currentPrio = $statePrio{ $FHEM::Automation::ShuttersControl::shutters->_getRoommateStatus }; $minPrio = $currentPrio if ( $minPrio > $currentPrio ); } @@ -698,9 +695,9 @@ sub getRoommatesLastStatus { ); my $minPrio = 10; - for my $ro ( split( ",", $shutters->getRoommates ) ) { - $shutters->setRoommate($ro); - my $currentPrio = $statePrio{ $shutters->_getRoommateLastStatus }; + for my $ro ( split( ",", $FHEM::Automation::ShuttersControl::shutters->getRoommates ) ) { + $FHEM::Automation::ShuttersControl::shutters->setRoommate($ro); + my $currentPrio = $statePrio{ $FHEM::Automation::ShuttersControl::shutters->_getRoommateLastStatus }; $minPrio = $currentPrio if ( $minPrio > $currentPrio ); } @@ -711,15 +708,15 @@ sub getRoommatesLastStatus { sub getOutTemp { my $self = shift; - return ReadingsVal( $shutters->_getTempSensor, - $shutters->getTempSensorReading, -100 ); + return ReadingsVal( $FHEM::Automation::ShuttersControl::shutters->_getTempSensor, + $FHEM::Automation::ShuttersControl::shutters->getTempSensorReading, -100 ); } sub getIdleDetection { my $self = shift; return ReadingsVal( $self->{shuttersDev}, - $shutters->_getIdleDetectionReading, 'none' ); + $FHEM::Automation::ShuttersControl::shutters->_getIdleDetectionReading, 'none' ); } ### Begin Beschattung Objekt mit Daten befüllen @@ -732,7 +729,7 @@ sub setShadingStatus { && exists( $self->{ $self->{shuttersDev} }{ShadingStatus}{VAL} ) && $self->{ $self->{shuttersDev} }{ShadingStatus}{VAL} eq $value ); - $shutters->setShadingLastStatus( ( $value eq 'in' ? 'out' : 'in' ) ) + $FHEM::Automation::ShuttersControl::shutters->setShadingLastStatus( ( $value eq 'in' ? 'out' : 'in' ) ) if ( $value eq 'in' || $value eq 'out' ); @@ -817,7 +814,7 @@ sub setPushBrightnessInArray { @{ $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} } - ) > $shutters->getMaxBrightnessAverageArrayObjects + ) > $FHEM::Automation::ShuttersControl::shutters->getMaxBrightnessAverageArrayObjects ); return; @@ -826,7 +823,7 @@ sub setPushBrightnessInArray { sub getBrightnessAverage { my $self = shift; - return FHEM::AutoShuttersControl::_averageBrightness( + return FHEM::Automation::ShuttersControl::_averageBrightness( @{ $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} } ) if ( ref( $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} ) @@ -881,8 +878,8 @@ sub getIfInShading { return ( ( - $shutters->getShadingMode ne 'off' - && $shutters->getShadingLastStatus eq 'out' + $FHEM::Automation::ShuttersControl::shutters->getShadingMode ne 'off' + && $FHEM::Automation::ShuttersControl::shutters->getShadingLastStatus eq 'out' ) ? 1 : 0 ); } diff --git a/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm b/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm index a60a1f5..a92c45f 100644 --- a/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm +++ b/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm @@ -46,9 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; -my %userAttrList = %FHEM::Automation::ShuttersControl::userAttrList; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -89,7 +86,7 @@ sub _getPosition { if ( AttrVal( $self->{shuttersDev}, $attr, - $userAttrList{$userAttrList} + $FHEM::Automation::ShuttersControl::userAttrList{$userAttrList} [ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] ) =~ m{\A\{.+\}\z}xms ) @@ -98,7 +95,7 @@ sub _getPosition { AttrVal( $self->{shuttersDev}, $attr, - $userAttrList{$userAttrList} + $FHEM::Automation::ShuttersControl::userAttrList{$userAttrList} [ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] ) ); @@ -108,7 +105,7 @@ sub _getPosition { $position = ( $position =~ m{\A\d+(\.\d+)?\z}xms ? $position - : $userAttrList{$userAttrList} + : $FHEM::Automation::ShuttersControl::userAttrList{$userAttrList} [ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] ); @@ -123,7 +120,7 @@ sub _getPosition { FHEM::Automation::ShuttersControl::GetAttrValues( $self->{shuttersDev}, $attr, - $userAttrList{$userAttrList} + $FHEM::Automation::ShuttersControl::userAttrList{$userAttrList} [ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] ); } @@ -153,7 +150,7 @@ sub _getPosition { $self->{ $self->{shuttersDev} }->{$attr}->{position} =~ m{^\d+(\.\d+)?$}xms ? $self->{ $self->{shuttersDev} }->{$attr}->{position} - : $userAttrList{$userAttrList} + : $FHEM::Automation::ShuttersControl::userAttrList{$userAttrList} [ AttrVal( $self->{shuttersDev}, 'ASC', 2 ) ] ); } @@ -170,7 +167,7 @@ sub _getPositionAssignment { && ( gettimeofday() - $self->{ $self->{shuttersDev} }->{$attr}->{LASTGETTIME} ) < 2 ); - $shutters->$getFn; + $FHEM::Automation::ShuttersControl::shutters->$getFn; return ( $self->{ $self->{shuttersDev} }->{$attr}->{posAssignment} ); } @@ -187,7 +184,7 @@ sub setAntiFreezePos { sub getAntiFreezePos { my $self = shift; - return $shutters->_getPosition( 'ASC_Antifreeze_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Antifreeze_Pos', 'ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100' ); } @@ -195,7 +192,7 @@ sub getAntiFreezePos { sub getAntiFreezePosAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Antifreeze_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Antifreeze_Pos', 'getAntiFreezePos' ); } @@ -270,7 +267,7 @@ sub getSlatDevice { $self->{ $self->{shuttersDev} }->{ASC_SlatPosCmd_SlatDevice} ->{LASTGETTIME} ) < 2 ); - $shutters->getSlatPosCmd; + $FHEM::Automation::ShuttersControl::shutters->getSlatPosCmd; return ( $self->{ $self->{shuttersDev} }->{ASC_SlatPosCmd_SlatDevice}->{device} @@ -316,8 +313,8 @@ sub getPrivacyUpTime { ->{upbrightnessval} = ( $upBrightnessVal ne 'none' ? $upBrightnessVal : -1 ); - $shutters->setPrivacyUpStatus(0) - if ( defined( $shutters->getPrivacyUpStatus ) + $FHEM::Automation::ShuttersControl::shutters->setPrivacyUpStatus(0) + if ( defined( $FHEM::Automation::ShuttersControl::shutters->getPrivacyUpStatus ) && $self->{ $self->{shuttersDev} }->{ASC_PrivacyUpValue_beforeDayOpen} ->{uptime} == -1 ); @@ -339,7 +336,7 @@ sub getPrivacyUpBrightnessVal { $self->{ $self->{shuttersDev} }->{ASC_PrivacyUpValue_beforeDayOpen} ->{LASTGETTIME} ) < 2 ); - $shutters->getPrivacyUpTime; + $FHEM::Automation::ShuttersControl::shutters->getPrivacyUpTime; return ( defined( @@ -391,8 +388,8 @@ sub getPrivacyDownTime { ->{downbrightnessval} = ( $downBrightnessVal ne 'none' ? $downBrightnessVal : -1 ); - $shutters->setPrivacyDownStatus(0) - if ( defined( $shutters->getPrivacyDownStatus ) + $FHEM::Automation::ShuttersControl::shutters->setPrivacyDownStatus(0) + if ( defined( $FHEM::Automation::ShuttersControl::shutters->getPrivacyDownStatus ) && $self->{ $self->{shuttersDev} } ->{ASC_PrivacyDownValue_beforeNightClose}->{downtime} == -1 ); @@ -414,7 +411,7 @@ sub getPrivacyDownBrightnessVal { $self->{ $self->{shuttersDev} } ->{ASC_PrivacyDownValue_beforeNightClose}->{LASTGETTIME} ) < 2 ); - $shutters->getPrivacyDownTime; + $FHEM::Automation::ShuttersControl::shutters->getPrivacyDownTime; return ( defined( @@ -439,13 +436,13 @@ sub setPrivacyUpPos { sub getPrivacyUpPos { my $self = shift; - return $shutters->_getPosition( 'ASC_PrivacyUp_Pos', 'ASC_PrivacyUp_Pos' ); + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_PrivacyUp_Pos', 'ASC_PrivacyUp_Pos' ); } sub getPrivacyUpPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_PrivacyUp_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_PrivacyUp_Pos', 'getPrivacyUpPos' ); } @@ -461,14 +458,14 @@ sub setPrivacyDownPos { sub getPrivacyDownPos { my $self = shift; - return $shutters->_getPosition( 'ASC_PrivacyDown_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_PrivacyDown_Pos', 'ASC_PrivacyDown_Pos' ); } sub getPrivacyDownPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_PrivacyDown_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_PrivacyDown_Pos', 'getPrivacyDownPos' ); } @@ -550,14 +547,14 @@ sub setShadingPos { sub getShadingPos { my $self = shift; - return $shutters->_getPosition( 'ASC_Shading_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Shading_Pos', 'ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100' ); } sub getShadingPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Shading_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Shading_Pos', 'getShadingPos' ); } @@ -615,7 +612,7 @@ sub getTempSensorReading { $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME} ) < 2 ); - $shutters->_getTempSensor; + $FHEM::Automation::ShuttersControl::shutters->_getTempSensor; return ( defined( $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading} ) @@ -678,7 +675,7 @@ sub getIdleDetectionValue { $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection} ->{LASTGETTIME} ) < 2 ); - $shutters->_getIdleDetectionReading; + $FHEM::Automation::ShuttersControl::shutters->_getIdleDetectionReading; return ( defined( @@ -744,7 +741,7 @@ sub getBrightnessReading { $self->{ $self->{shuttersDev} }->{ASC_BrightnessSensor} ->{LASTGETTIME} ) < 2 ); - $shutters->_getBrightnessSensor; + $FHEM::Automation::ShuttersControl::shutters->_getBrightnessSensor; return ( defined( @@ -769,7 +766,7 @@ sub getShadingAzimuthLeft { $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth} ->{LASTGETTIME} ) < 2 ); - $shutters->getShadingAzimuthRight; + $FHEM::Automation::ShuttersControl::shutters->getShadingAzimuthRight; return $self->{ $self->{shuttersDev} }->{ASC_Shading_InOutAzimuth} ->{leftVal}; @@ -889,7 +886,7 @@ sub getShadingMaxElevation { $self->{ $self->{shuttersDev} }->{ASC_Shading_MinMax_Elevation} ->{LASTGETTIME} ) < 2 ); - $shutters->getShadingMinElevation; + $FHEM::Automation::ShuttersControl::shutters->getShadingMinElevation; return $self->{ $self->{shuttersDev} }->{ASC_Shading_MinMax_Elevation} ->{maxVal}; @@ -958,7 +955,7 @@ sub getShadingStateChangeCloudy { $self->{ $self->{shuttersDev} } ->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME} ) < 2 ); - $shutters->getShadingStateChangeSunny; + $FHEM::Automation::ShuttersControl::shutters->getShadingStateChangeSunny; return $self->{ $self->{shuttersDev} } ->{ASC_Shading_StateChange_SunnyCloudy}->{cloudy}; @@ -978,7 +975,7 @@ sub getMaxBrightnessAverageArrayObjects { $self->{ $self->{shuttersDev} } ->{ASC_Shading_StateChange_SunnyCloudy}->{LASTGETTIME} ) < 2 ); - $shutters->getShadingStateChangeSunny; + $FHEM::Automation::ShuttersControl::shutters->getShadingStateChangeSunny; return $self->{ $self->{shuttersDev} }->{BrightnessAverageArray} ->{MAXOBJECT}; @@ -1043,7 +1040,7 @@ sub getExternalTriggerDevice { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{posactive} = $posActive; $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{posinactive} = - ( $posInactive ne 'none' ? $posInactive : $shutters->getLastPos ); + ( $posInactive ne 'none' ? $posInactive : $FHEM::Automation::ShuttersControl::shutters->getLastPos ); $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{valueactive2} = $valueActive2; $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{posactive2} = @@ -1066,7 +1063,7 @@ sub getExternalTriggerReading { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{reading}; } @@ -1084,7 +1081,7 @@ sub getExternalTriggerValueActive { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{valueactive}; @@ -1104,7 +1101,7 @@ sub getExternalTriggerValueActive2 { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{valueactive2}; @@ -1124,7 +1121,7 @@ sub getExternalTriggerValueInactive { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{valueinactive}; @@ -1143,7 +1140,7 @@ sub getExternalTriggerPosActive { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{posactive}; } @@ -1161,7 +1158,7 @@ sub getExternalTriggerPosActive2 { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{posactive2}; } @@ -1179,7 +1176,7 @@ sub getExternalTriggerPosInactive { $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{LASTGETTIME} ) < 2 ); - $shutters->getExternalTriggerDevice; + $FHEM::Automation::ShuttersControl::shutters->getExternalTriggerDevice; return $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger} ->{posinactive}; @@ -1295,7 +1292,7 @@ sub getPosCmd { my $self = shift; return AttrVal( $self->{shuttersDev}, 'ASC_Pos_Reading', - $userAttrList{'ASC_Pos_Reading'} + $FHEM::Automation::ShuttersControl::userAttrList{'ASC_Pos_Reading'} [ AttrVal( $self->{shuttersDev}, 'ASC', 1 ) ] ); } @@ -1311,14 +1308,14 @@ sub setOpenPos { sub getOpenPos { my $self = shift; - return $shutters->_getPosition( 'ASC_Open_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Open_Pos', 'ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100' ); } sub getOpenPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Open_Pos', 'getOpenPos' ); + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Open_Pos', 'getOpenPos' ); } sub setVentilatePos { @@ -1333,14 +1330,14 @@ sub setVentilatePos { sub getVentilatePos { my $self = shift; - return $shutters->_getPosition( 'ASC_Ventilate_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Ventilate_Pos', 'ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100' ); } sub getVentilatePositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Ventilate_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Ventilate_Pos', 'getVentilatePos' ); } @@ -1373,14 +1370,14 @@ sub setClosedPos { sub getClosedPos { my $self = shift; - return $shutters->_getPosition( 'ASC_Closed_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Closed_Pos', 'ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100' ); } sub getClosedPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Closed_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Closed_Pos', 'getClosedPos' ); } @@ -1396,14 +1393,14 @@ sub setSleepPos { sub getSleepPos { my $self = shift; - return $shutters->_getPosition( 'ASC_Sleep_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_Sleep_Pos', 'ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100' ); } sub getSleepPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_Sleep_Pos', 'getSleepPos' ); + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_Sleep_Pos', 'getSleepPos' ); } sub setVentilateOpen { @@ -1434,14 +1431,14 @@ sub setComfortOpenPos { sub getComfortOpenPos { my $self = shift; - return $shutters->_getPosition( 'ASC_ComfortOpen_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPosition( 'ASC_ComfortOpen_Pos', 'ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100' ); } sub getComfortOpenPositionAssignment { my $self = shift; - return $shutters->_getPositionAssignment( 'ASC_ComfortOpen_Pos', + return $FHEM::Automation::ShuttersControl::shutters->_getPositionAssignment( 'ASC_ComfortOpen_Pos', 'getComfortOpenPos' ); } @@ -1504,7 +1501,7 @@ sub getWindPos { $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{LASTGETTIME} ) < 2 ); - $shutters->getWindMax; + $FHEM::Automation::ShuttersControl::shutters->getWindMax; return $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{closedPos}; } @@ -1536,7 +1533,7 @@ sub getWindMax { $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggerhyst} = ( $hyst ne 'none' ? $max - $hyst : $max - 20 ); $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{closedPos} = - ( $pos ne 'none' ? $pos : $shutters->getOpenPos ); + ( $pos ne 'none' ? $pos : $FHEM::Automation::ShuttersControl::shutters->getOpenPos ); return $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggermax}; } @@ -1564,7 +1561,7 @@ sub getWindMin { $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{LASTGETTIME} ) < 2 ); - $shutters->getWindMax; + $FHEM::Automation::ShuttersControl::shutters->getWindMax; return $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggerhyst}; } @@ -1907,7 +1904,7 @@ sub getBrightnessMinVal { $self->{ $self->{shuttersDev} }->{ASC_BrightnessSensor} ->{LASTGETTIME} ) < 2 ); - $shutters->_getBrightnessSensor; + $FHEM::Automation::ShuttersControl::shutters->_getBrightnessSensor; return $self->{ $self->{shuttersDev} }->{ASC_BrightnessSensor} ->{triggermin}; @@ -1926,7 +1923,7 @@ sub getBrightnessMaxVal { $self->{ $self->{shuttersDev} }->{ASC_BrightnessSensor} ->{LASTGETTIME} ) < 2 ); - $shutters->_getBrightnessSensor; + $FHEM::Automation::ShuttersControl::shutters->_getBrightnessSensor; return $self->{ $self->{shuttersDev} }->{ASC_BrightnessSensor} ->{triggermax}; diff --git a/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm b/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm index 8ce109e..96b0390 100644 --- a/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm +++ b/lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm @@ -47,9 +47,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; -my $ascDev = $FHEM::Automation::ShuttersControl::ascDev; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -62,21 +59,21 @@ BEGIN { sub getBrightness { my $self = shift; - return ReadingsNum( $shutters->_getBrightnessSensor, - $shutters->getBrightnessReading, -1 ); + return ReadingsNum( $FHEM::Automation::ShuttersControl::shutters->_getBrightnessSensor, + $FHEM::Automation::ShuttersControl::shutters->getBrightnessReading, -1 ); } sub getWindStatus { my $self = shift; - return ReadingsVal( $ascDev->_getWindSensor, - $ascDev->getWindSensorReading, -1 ); + return ReadingsVal( $FHEM::Automation::ShuttersControl::ascDev->_getWindSensor, + $FHEM::Automation::ShuttersControl::ascDev->getWindSensorReading, -1 ); } sub getStatus { my $self = shift; - return ReadingsNum( $self->{shuttersDev}, $shutters->getPosCmd, 0 ); + return ReadingsNum( $self->{shuttersDev}, $FHEM::Automation::ShuttersControl::shutters->getPosCmd, 0 ); } sub getDelayCmd { diff --git a/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm b/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm index c388748..dd8fbff 100644 --- a/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm +++ b/lib/FHEM/Automation/ShuttersControl/Window/Attr.pm @@ -46,8 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -122,7 +120,7 @@ sub getWinDevReading { $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{LASTGETTIME} ) < 2 ); - $shutters->_getWinDev; + $FHEM::Automation::ShuttersControl::shutters->_getWinDev; return $self->{ $self->{shuttersDev} }->{ASC_WindowRec}->{reading}; } diff --git a/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm b/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm index 5789314..8a9c1ff 100644 --- a/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm +++ b/lib/FHEM/Automation/ShuttersControl/Window/Readings.pm @@ -46,8 +46,6 @@ use utf8; use GPUtils qw(GP_Import); -my $shutters = $FHEM::Automation::ShuttersControl::shutters; - ## Import der FHEM Funktionen BEGIN { GP_Import( @@ -59,7 +57,7 @@ BEGIN { sub getWinStatus { my $self = shift; - return ReadingsVal( $shutters->_getWinDev, $shutters->getWinDevReading, + return ReadingsVal( $FHEM::Automation::ShuttersControl::shutters->_getWinDev, $FHEM::Automation::ShuttersControl::shutters->getWinDevReading, 'closed' ); }