From d9ae8152d14cbc92149c955387e798842076e906 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Wed, 8 Jul 2020 22:05:38 +0200 Subject: [PATCH] remove little helper function to new Helper.pm Modul file --- lib/FHEM/Automation/ShuttersControl.pm | 49 ------------------- lib/FHEM/Automation/ShuttersControl/Helper.pm | 44 +++++++++++++++++ .../Automation/ShuttersControl/Shutters.pm | 4 +- .../ShuttersControl/Shutters/Attr.pm | 30 ++++++------ 4 files changed, 63 insertions(+), 64 deletions(-) diff --git a/lib/FHEM/Automation/ShuttersControl.pm b/lib/FHEM/Automation/ShuttersControl.pm index e7b957d..4a83676 100644 --- a/lib/FHEM/Automation/ShuttersControl.pm +++ b/lib/FHEM/Automation/ShuttersControl.pm @@ -3463,15 +3463,6 @@ sub GetMonitoredDevs { return $ret; } -################################# -## my little helper -################################# - - - -# Hilfsfunktion welche meinen ReadingString zum finden der getriggerten Devices und der Zurdnung was das Device überhaupt ist und zu welchen Rolladen es gehört aus liest und das Device extraiert - - sub _DetermineSlatCmd { my $value = shift; my $posValue = shift; @@ -3653,24 +3644,6 @@ sub ASC_Debug { return; } -sub _averageBrightness { - my @input = @_; - use List::Util qw(sum); - - return int( sum(@input) / @input ); -} - -sub _perlCodeCheck { - my $exec = shift; - my $val = undef; - - if ( $exec =~ m{\A\{(.+)\}\z}xms ) { - $val = main::AnalyzePerlCommand( undef, $1 ); - } - - return $val; -} - sub PrivacyUpTime { my $shuttersDevHash = shift; my $shuttersSunriseUnixtime = shift; @@ -3758,28 +3731,6 @@ sub PrivacyDownTime { return $shuttersSunsetUnixtime; } -sub _IsAdv { - my ( undef, undef, undef, $monthday, $month, $year, undef, undef, undef ) = - localtime( gettimeofday() ); - my $adv = 0; - $year += 1900; - - if ( $month < 1 ) { - if ( $monthday < 7 ) { - $adv = 1; - } - } - else { - my $time = HTTP::Date::str2time( $year . '-12-25' ); - my $wday = ( localtime($time) )[6]; - $wday = $wday ? $wday : 7; - $time -= ( $wday + 21 ) * 86400; - $adv = 1 if ( $time < time ); - } - - return $adv; -} - sub DevStateIcon { my $hash = shift; diff --git a/lib/FHEM/Automation/ShuttersControl/Helper.pm b/lib/FHEM/Automation/ShuttersControl/Helper.pm index 44ff5b3..ea587db 100644 --- a/lib/FHEM/Automation/ShuttersControl/Helper.pm +++ b/lib/FHEM/Automation/ShuttersControl/Helper.pm @@ -59,6 +59,8 @@ our @EXPORT_OK = qw( IsWe IsAfterShuttersTimeBlocking IsAfterShuttersManualBlocking + AverageBrightness + PerlCodeCheck ); our %EXPORT_TAGS = ( ALL => [ @@ -74,6 +76,8 @@ our %EXPORT_TAGS = ( IsWe IsAfterShuttersTimeBlocking IsAfterShuttersManualBlocking + AverageBrightness + PerlCodeCheck ) ], ); @@ -929,6 +933,46 @@ sub IsWe { return main::IsWe( shift, shift ); } +sub AverageBrightness { + my @input = @_; + use List::Util qw(sum); + + return int( sum(@input) / @input ); +} + +sub PerlCodeCheck { + my $exec = shift; + my $val = undef; + + if ( $exec =~ m{\A\{(.+)\}\z}xms ) { + $val = main::AnalyzePerlCommand( undef, $1 ); + } + + return $val; +} + +sub IsAdv { + my ( undef, undef, undef, $monthday, $month, $year, undef, undef, undef ) = + localtime( gettimeofday() ); + my $adv = 0; + $year += 1900; + + if ( $month < 1 ) { + if ( $monthday < 7 ) { + $adv = 1; + } + } + else { + my $time = HTTP::Date::str2time( $year . '-12-25' ); + my $wday = ( localtime($time) )[6]; + $wday = $wday ? $wday : 7; + $time -= ( $wday + 21 ) * 86400; + $adv = 1 if ( $time < time ); + } + + return $adv; +} + diff --git a/lib/FHEM/Automation/ShuttersControl/Shutters.pm b/lib/FHEM/Automation/ShuttersControl/Shutters.pm index a986fd0..0134dc5 100644 --- a/lib/FHEM/Automation/ShuttersControl/Shutters.pm +++ b/lib/FHEM/Automation/ShuttersControl/Shutters.pm @@ -958,9 +958,11 @@ sub setPushBrightnessInArray { } sub getBrightnessAverage { + use FHEM::Automation::ShuttersControl::Helper qw (AverageBrightness); + my $self = shift; - return FHEM::Automation::ShuttersControl::_averageBrightness( + return AverageBrightness( @{ $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} } ) if ( ref( $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} ) diff --git a/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm b/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm index cbd95de..e2b6020 100644 --- a/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm +++ b/lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm @@ -44,6 +44,8 @@ use strict; use warnings; use utf8; +use FHEM::Automation::ShuttersControl::Helper qw (IsAdv PerlCodeCheck); + use GPUtils qw(GP_Import); ## Import der FHEM Funktionen @@ -91,7 +93,7 @@ sub _getPosition { m{\A\{.+\}\z}xms ) { - my $response = FHEM::Automation::ShuttersControl::_perlCodeCheck( + my $response = PerlCodeCheck( AttrVal( $self->{shuttersDev}, $attr, @@ -136,14 +138,14 @@ sub _getPosition { if ( defined( - FHEM::Automation::ShuttersControl::_perlCodeCheck( + PerlCodeCheck( $self->{ $self->{shuttersDev} }->{$attr}->{position} ) ) ) { $self->{ $self->{shuttersDev} }->{$attr}->{position} = - FHEM::Automation::ShuttersControl::_perlCodeCheck( + PerlCodeCheck( $self->{ $self->{shuttersDev} }->{$attr}->{position} ); } @@ -543,7 +545,7 @@ sub getAdv { return ( AttrVal( $self->{shuttersDev}, 'ASC_Adv', 'off' ) eq 'on' - ? ( \&FHEM::Automation::ShuttersControl::_IsAdv == 1 ? 1 : 0 ) + ? ( IsAdv == 1 ? 1 : 0 ) : 0 ); } @@ -1793,8 +1795,8 @@ sub getTimeUpEarly { my $val = AttrVal( $self->{shuttersDev}, 'ASC_Time_Up_Early', '05:00' ); - if ( defined( FHEM::Automation::ShuttersControl::_perlCodeCheck($val) ) ) { - $val = FHEM::Automation::ShuttersControl::_perlCodeCheck($val); + if ( defined( PerlCodeCheck($val) ) ) { + $val = PerlCodeCheck($val); } return ( @@ -1818,8 +1820,8 @@ sub getTimeUpLate { my $val = AttrVal( $self->{shuttersDev}, 'ASC_Time_Up_Late', '08:30' ); - if ( defined( FHEM::Automation::ShuttersControl::_perlCodeCheck($val) ) ) { - $val = FHEM::Automation::ShuttersControl::_perlCodeCheck($val); + if ( defined( PerlCodeCheck($val) ) ) { + $val = PerlCodeCheck($val); } return ( @@ -1843,8 +1845,8 @@ sub getTimeDownEarly { my $val = AttrVal( $self->{shuttersDev}, 'ASC_Time_Down_Early', '16:00' ); - if ( defined( FHEM::Automation::ShuttersControl::_perlCodeCheck($val) ) ) { - $val = FHEM::Automation::ShuttersControl::_perlCodeCheck($val); + if ( defined( PerlCodeCheck($val) ) ) { + $val = PerlCodeCheck($val); } return ( @@ -1868,8 +1870,8 @@ sub getTimeDownLate { my $val = AttrVal( $self->{shuttersDev}, 'ASC_Time_Down_Late', '22:00' ); - if ( defined( FHEM::Automation::ShuttersControl::_perlCodeCheck($val) ) ) { - $val = FHEM::Automation::ShuttersControl::_perlCodeCheck($val); + if ( defined( PerlCodeCheck($val) ) ) { + $val = PerlCodeCheck($val); } return ( @@ -1894,8 +1896,8 @@ sub getTimeUpWeHoliday { my $val = AttrVal( $self->{shuttersDev}, 'ASC_Time_Up_WE_Holiday', '01:25' ); - if ( defined( FHEM::Automation::ShuttersControl::_perlCodeCheck($val) ) ) { - $val = FHEM::Automation::ShuttersControl::_perlCodeCheck($val); + if ( defined( PerlCodeCheck($val) ) ) { + $val = PerlCodeCheck($val); } return (