patch-codeRewrite #90

Merged
marko merged 4 commits from patch-codeRewrite into dev 2022-01-02 08:51:45 +01:00
3 changed files with 33 additions and 33 deletions

View File

@ -1,16 +1,16 @@
UPD 2022-01-01_20:15:38 115601 FHEM/73_AutoShuttersControl.pm
UPD 2022-01-02_07:52:37 75828 lib/FHEM/Automation/ShuttersControl.pm
UPD 2022-01-02_06:39:39 2691 lib/FHEM/Automation/ShuttersControl/Dev.pm
UPD 2022-01-02_06:34:39 2677 lib/FHEM/Automation/ShuttersControl/Roommate.pm
UPD 2022-01-02_07:04:24 32028 lib/FHEM/Automation/ShuttersControl/Shutters.pm
UPD 2022-01-02_06:37:09 25452 lib/FHEM/Automation/ShuttersControl/Shading.pm
UPD 2022-01-02_06:36:31 112122 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
UPD 2022-01-02_07:31:19 40322 lib/FHEM/Automation/ShuttersControl/Helper.pm
UPD 2022-01-02_06:41:32 2209 lib/FHEM/Automation/ShuttersControl/Window.pm
UPD 2022-01-02_08:49:11 75839 lib/FHEM/Automation/ShuttersControl.pm
UPD 2022-01-02_07:57:18 2691 lib/FHEM/Automation/ShuttersControl/Dev.pm
UPD 2022-01-02_07:57:18 2677 lib/FHEM/Automation/ShuttersControl/Roommate.pm
UPD 2022-01-02_08:24:00 32016 lib/FHEM/Automation/ShuttersControl/Shutters.pm
UPD 2022-01-02_07:57:18 25452 lib/FHEM/Automation/ShuttersControl/Shading.pm
UPD 2022-01-02_07:57:18 112122 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
UPD 2022-01-02_07:57:18 40322 lib/FHEM/Automation/ShuttersControl/Helper.pm
UPD 2022-01-02_07:57:18 2209 lib/FHEM/Automation/ShuttersControl/Window.pm
UPD 2022-01-01_20:15:38 11706 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
UPD 2022-01-01_20:15:38 7265 lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
UPD 2022-01-01_20:15:38 52751 lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
UPD 2022-01-01_20:15:38 2799 lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
UPD 2022-01-01_20:15:38 3887 lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
UPD 2022-01-01_20:15:38 2200 lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
UPD 2022-01-02_06:36:44 7113 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
UPD 2022-01-02_07:57:18 7113 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm

View File

@ -172,6 +172,7 @@ BEGIN {
}
## Die Attributsliste welche an die Rolläden verteilt wird. Zusammen mit Default Werten
##no critic
our %userAttrList = (
'ASC_Mode_Up:absent,always,off,home' => '-',
'ASC_Mode_Down:absent,always,off,home' => '-',
@ -244,6 +245,7 @@ our %userAttrList = (
## 2 Objekte werden erstellt
our $shutters = FHEM::Automation::ShuttersControl::Shutters->new();
our $ascDev = FHEM::Automation::ShuttersControl::Dev->new();
##use critic
my %posSetCmds = (
ZWave => 'dim',
@ -305,9 +307,11 @@ sub ascAPIset {
sub Define {
my $hash = shift // return;
my $aArg = shift // return;
my $version;
return $@ if ( !FHEM::Meta::SetInternals($hash) );
use version 0.60; our $VERSION = FHEM::Meta::Get( $hash, 'version' );
return $@ unless ( FHEM::Meta::SetInternals($hash) );
$version = FHEM::Meta::Get( $hash, 'version' );
our $VERSION = $version;
return 'only one AutoShuttersControl instance allowed'
if ( ::devspec2array('TYPE=AutoShuttersControl') > 1 )
@ -400,15 +404,12 @@ sub Notify {
if (
(
grep m{^DEFINED.$name$}xms,
grep { /^DEFINED.$name$/ }
@{$events} && $devname eq 'global' && $::init_done
)
|| (
grep m{^INITIALIZED$}xms,
@{$events} or grep m{^REREADCFG$}xms,
@{$events} or grep m{^MODIFIED.$name$}xms,
@{$events}
)
|| ( grep { /^INITIALIZED$/ } @{$events}
or grep { /^REREADCFG$/ } @{$events}
or grep { /^MODIFIED.$name$/ } @{$events} )
&& $devname eq 'global'
)
{
@ -450,7 +451,7 @@ sub Notify {
my $posReading = $shutters->getPosCmd;
if ( $devname eq $name ) {
if ( grep m{^userAttrList:.rolled.out$}xms, @{$events} ) {
if ( grep { /^userAttrList:.rolled.out$/ } @{$events} ) {
if ( scalar( @{ $hash->{helper}{shuttersList} } ) > 0 ) {
WriteReadingsShuttersList($hash);
UserAttributs_Readings_ForShutters( $hash, 'add' );
@ -475,25 +476,25 @@ sub Notify {
::ReadingsVal( $name, 'controlShading', 'off' ) ne 'off' );
}
}
elsif ( grep m{^partyMode:.off$}xms, @{$events} ) {
elsif ( grep { /^partyMode:.off$/ } @{$events} ) {
EventProcessingPartyMode($hash);
}
elsif ( grep m{^sunriseTimeWeHoliday:.(on|off)$}xms, @{$events} ) {
elsif ( grep { /^sunriseTimeWeHoliday:.(on|off)$/ } @{$events} ) {
RenewSunRiseSetShuttersTimer($hash);
}
}
elsif ( $devname eq "global" )
{ # Kommt ein globales Event und beinhaltet folgende Syntax wird die Funktion zur Verarbeitung aufgerufen
if (
grep
m{^(ATTR|DELETEATTR)\s(.*ASC_Time_Up_WE_Holiday|.*ASC_Up|.*ASC_Down|.*ASC_AutoAstroModeMorning|.*ASC_AutoAstroModeMorningHorizon|.*ASC_AutoAstroModeEvening|.*ASC_AutoAstroModeEveningHorizon|.*ASC_Time_Up_Early|.*ASC_Time_Up_Late|.*ASC_Time_Down_Early|.*ASC_Time_Down_Late|.*ASC_autoAstroModeMorning|.*ASC_autoAstroModeMorningHorizon|.*ASC_PrivacyDownValue_beforeNightClose|.*ASC_PrivacyUpValue_beforeDayOpen|.*ASC_autoAstroModeEvening|.*ASC_autoAstroModeEveningHorizon|.*ASC_Roommate_Device|.*ASC_WindowRec|.*ASC_residentsDev|.*ASC_rainSensor|.*ASC_windSensor|.*ASC_tempSensor|.*ASC_BrightnessSensor|.*ASC_twilightDevice|.*ASC_ExternalTrigger|.*ASC_Shading_StateChange_SunnyCloudy|.*ASC_TempSensor|.*ASC_Shading_Mode)(\s.*|$)}xms,
@{$events}
grep {
/^(ATTR|DELETEATTR)\s(.*ASC_Time_Up_WE_Holiday|.*ASC_Up|.*ASC_Down|.*ASC_AutoAstroModeMorning|.*ASC_AutoAstroModeMorningHorizon|.*ASC_AutoAstroModeEvening|.*ASC_AutoAstroModeEveningHorizon|.*ASC_Time_Up_Early|.*ASC_Time_Up_Late|.*ASC_Time_Down_Early|.*ASC_Time_Down_Late|.*ASC_autoAstroModeMorning|.*ASC_autoAstroModeMorningHorizon|.*ASC_PrivacyDownValue_beforeNightClose|.*ASC_PrivacyUpValue_beforeDayOpen|.*ASC_autoAstroModeEvening|.*ASC_autoAstroModeEveningHorizon|.*ASC_Roommate_Device|.*ASC_WindowRec|.*ASC_residentsDev|.*ASC_rainSensor|.*ASC_windSensor|.*ASC_tempSensor|.*ASC_BrightnessSensor|.*ASC_twilightDevice|.*ASC_ExternalTrigger|.*ASC_Shading_StateChange_SunnyCloudy|.*ASC_TempSensor|.*ASC_Shading_Mode)(\s.*|$) /
} @{$events}
)
{
EventProcessingGeneral( $hash, undef, join( ' ', @{$events} ) );
}
}
elsif ( grep m{^($posReading):\s\d{1,3}(\.\d{1,3})?$}xms, @{$events} ) {
elsif ( grep { /^($posReading):\s\d{1,3}(\.\d{1,3})?$/ } @{$events} ) {
ASC_Debug( 'Notify: '
. ' ASC_Pos_Reading Event vom Rollo '
. $devname
@ -1337,7 +1338,7 @@ sub wiggle {
}
}
::InternalTimer( ::gettimeofday() + 60, \&_SetCmdFn, \%h );
::InternalTimer( ::gettimeofday() + 60, \&SetCmdFn, \%h );
return;
}
@ -1741,7 +1742,7 @@ sub _DetermineSlatCmd {
: $value;
}
sub _SetCmdFn {
sub SetCmdFn {
my $h = shift;
my $shuttersDev = $h->{shuttersDev};
@ -1888,7 +1889,7 @@ sub _SetCmdFn {
return;
}
sub _setShuttersLastDriveDelayed {
sub setShuttersLastDriveDelayed {
my $h = shift;
my $shuttersDevHash = $h->{devHash};

View File

@ -235,7 +235,7 @@ sub setDriveCmd {
::gettimeofday() +
$FHEM::Automation::ShuttersControl::shutters
->getSelfDefenseAbsentDelay,
\&FHEM::Automation::ShuttersControl::_SetCmdFn, \%h
\&FHEM::Automation::ShuttersControl::SetCmdFn, \%h
);
$FHEM::Automation::ShuttersControl::shutters->setSelfDefenseAbsent(
1, 0, \%h );
@ -249,7 +249,7 @@ sub setDriveCmd {
$FHEM::Automation::ShuttersControl::shutters
->getDelayStart
),
\&FHEM::Automation::ShuttersControl::_SetCmdFn,
\&FHEM::Automation::ShuttersControl::SetCmdFn,
\%h
);
@ -260,7 +260,7 @@ sub setDriveCmd {
elsif ($offSetStart < 1
|| $FHEM::Automation::ShuttersControl::shutters->getNoDelay )
{
FHEM::Automation::ShuttersControl::_SetCmdFn( \%h );
FHEM::Automation::ShuttersControl::SetCmdFn( \%h );
FHEM::Automation::ShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - NICHT versetztes fahren' );
@ -348,8 +348,7 @@ sub setLastDriveReading {
);
::InternalTimer( ::gettimeofday() + 0.1,
\&FHEM::Automation::ShuttersControl::_setShuttersLastDriveDelayed,
\%h );
\&FHEM::Automation::ShuttersControl::setShuttersLastDriveDelayed, \%h );
return;
}