code format
This commit is contained in:
@@ -707,19 +707,23 @@ sub ShuttersDeviceScan($) {
|
|||||||
foreach (@list) {
|
foreach (@list) {
|
||||||
push( @{ $hash->{helper}{shuttersList} }, $_ )
|
push( @{ $hash->{helper}{shuttersList} }, $_ )
|
||||||
; ## einem Hash wird ein Array zugewiesen welches die Liste der erkannten Rollos beinhaltet
|
; ## einem Hash wird ein Array zugewiesen welches die Liste der erkannten Rollos beinhaltet
|
||||||
|
|
||||||
$shutters->setShuttersDev($_);
|
$shutters->setShuttersDev($_);
|
||||||
|
|
||||||
#### Ab hier können temporäre Änderungen der Attribute gesetzt werden
|
#### Ab hier können temporäre Änderungen der Attribute gesetzt werden
|
||||||
#### Gleichlautende Attribute wo lediglich die Parameter geändert werden sollen müssen hier gelöscht und die Parameter in der Funktion renewSetSunriseSunsetTimer gesetzt werden,
|
#### Gleichlautende Attribute wo lediglich die Parameter geändert werden sollen müssen hier gelöscht und die Parameter in der Funktion renewSetSunriseSunsetTimer gesetzt werden,
|
||||||
#### vorher empfiehlt es sich die dort vergebenen Parameter aus zu lesen um sie dann hier wieder neu zu setzen. Dazu wird das shutters Objekt um einen Eintrag
|
#### vorher empfiehlt es sich die dort vergebenen Parameter aus zu lesen um sie dann hier wieder neu zu setzen. Dazu wird das shutters Objekt um einen Eintrag
|
||||||
#### 'AttrUpdateChanges' erweitert
|
#### 'AttrUpdateChanges' erweitert
|
||||||
if ( ReadingsVal($_,'.ASC_AttrUpdateChanges_' . $hash->{VERSION},0) == 0 ) {
|
if ( ReadingsVal( $_, '.ASC_AttrUpdateChanges_' . $hash->{VERSION}, 0 )
|
||||||
$shutters->setAttrUpdateChanges('ASC_Up',AttrVal($_,'ASC_Up','none'));
|
== 0 )
|
||||||
|
{
|
||||||
|
$shutters->setAttrUpdateChanges( 'ASC_Up',
|
||||||
|
AttrVal( $_, 'ASC_Up', 'none' ) );
|
||||||
delFromDevAttrList( $_, 'ASC_Up' );
|
delFromDevAttrList( $_, 'ASC_Up' );
|
||||||
$shutters->setAttrUpdateChanges('ASC_Down',AttrVal($_,'ASC_Down','none'));
|
$shutters->setAttrUpdateChanges( 'ASC_Down',
|
||||||
|
AttrVal( $_, 'ASC_Down', 'none' ) );
|
||||||
delFromDevAttrList( $_, 'ASC_Down' );
|
delFromDevAttrList( $_, 'ASC_Down' );
|
||||||
}
|
}
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
@@ -845,8 +849,7 @@ sub UserAttributs_Readings_ForShutters($$) {
|
|||||||
$shutters->setShuttersDev($_);
|
$shutters->setShuttersDev($_);
|
||||||
|
|
||||||
RemoveInternalTimer( $shutters->getInTimerFuncHash );
|
RemoveInternalTimer( $shutters->getInTimerFuncHash );
|
||||||
CommandDeleteReading( undef,
|
CommandDeleteReading( undef, $_ . ' .?(ASC)_.*' );
|
||||||
$_ . ' .?(ASC)_.*' );
|
|
||||||
CommandDeleteAttr( undef, $_ . ' ASC' );
|
CommandDeleteAttr( undef, $_ . ' ASC' );
|
||||||
delFromDevAttrList( $_, $attrib );
|
delFromDevAttrList( $_, $attrib );
|
||||||
|
|
||||||
@@ -1214,8 +1217,7 @@ sub EventProcessingRoommate($@) {
|
|||||||
}
|
}
|
||||||
elsif ( ( $1 eq 'gotosleep' or $1 eq 'asleep' )
|
elsif ( ( $1 eq 'gotosleep' or $1 eq 'asleep' )
|
||||||
and $ascDev->getAutoShuttersControlEvening eq 'on'
|
and $ascDev->getAutoShuttersControlEvening eq 'on'
|
||||||
and IsAfterShuttersManualBlocking($shuttersDev)
|
and IsAfterShuttersManualBlocking($shuttersDev) )
|
||||||
)
|
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('roommate asleep');
|
$shutters->setLastDrive('roommate asleep');
|
||||||
|
|
||||||
@@ -2457,9 +2459,12 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
|||||||
'ASC_Time_DriveDown',
|
'ASC_Time_DriveDown',
|
||||||
(
|
(
|
||||||
$ascDev->getAutoShuttersControlEvening eq 'on'
|
$ascDev->getAutoShuttersControlEvening eq 'on'
|
||||||
? ($shutters->getDown eq 'roommate' ? 'roommate only' : strftime(
|
? (
|
||||||
"%e.%m.%Y - %H:%M", localtime($shuttersSunsetUnixtime)
|
$shutters->getDown eq 'roommate' ? 'roommate only' : strftime(
|
||||||
))
|
"%e.%m.%Y - %H:%M",
|
||||||
|
localtime($shuttersSunsetUnixtime)
|
||||||
|
)
|
||||||
|
)
|
||||||
: 'AutoShuttersControl off'
|
: 'AutoShuttersControl off'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -2468,9 +2473,12 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
|||||||
'ASC_Time_DriveUp',
|
'ASC_Time_DriveUp',
|
||||||
(
|
(
|
||||||
$ascDev->getAutoShuttersControlMorning eq 'on'
|
$ascDev->getAutoShuttersControlMorning eq 'on'
|
||||||
? ($shutters->getUp eq 'roommate' ? 'roommate only' : strftime( "%e.%m.%Y - %H:%M",
|
? (
|
||||||
localtime($shuttersSunriseUnixtime)
|
$shutters->getUp eq 'roommate' ? 'roommate only' : strftime(
|
||||||
))
|
"%e.%m.%Y - %H:%M",
|
||||||
|
localtime($shuttersSunriseUnixtime)
|
||||||
|
)
|
||||||
|
)
|
||||||
: 'AutoShuttersControl off'
|
: 'AutoShuttersControl off'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -2531,7 +2539,12 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
|||||||
$shutters->setPrivacyDownStatus(1);
|
$shutters->setPrivacyDownStatus(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { CommandDeleteReading(undef, $shuttersDev . ' ASC_Time_PrivacyDriveDown') if ( ReadingsVal($shuttersDev,'ASC_Time_PrivacyDriveDown','none') ) }
|
else {
|
||||||
|
CommandDeleteReading( undef,
|
||||||
|
$shuttersDev . ' ASC_Time_PrivacyDriveDown' )
|
||||||
|
if (
|
||||||
|
ReadingsVal( $shuttersDev, 'ASC_Time_PrivacyDriveDown', 'none' ) );
|
||||||
|
}
|
||||||
|
|
||||||
InternalTimer( $shuttersSunsetUnixtime,
|
InternalTimer( $shuttersSunsetUnixtime,
|
||||||
'FHEM::AutoShuttersControl::SunSetShuttersAfterTimerFn', \%funcHash );
|
'FHEM::AutoShuttersControl::SunSetShuttersAfterTimerFn', \%funcHash );
|
||||||
@@ -2552,27 +2565,36 @@ sub RenewSunRiseSetShuttersTimer($) {
|
|||||||
$shutters->setInTimerFuncHash(undef);
|
$shutters->setInTimerFuncHash(undef);
|
||||||
CreateSunRiseSetShuttersTimer( $hash, $_ );
|
CreateSunRiseSetShuttersTimer( $hash, $_ );
|
||||||
|
|
||||||
|
|
||||||
#### Temporär angelegt damit die neue Attributs Parameter Syntax verteilt werden kann
|
#### Temporär angelegt damit die neue Attributs Parameter Syntax verteilt werden kann
|
||||||
#### Gleichlautende Attribute wo lediglich die Parameter geändert werden sollen müssen bereits in der Funktion ShuttersDeviceScan gelöscht werden
|
#### Gleichlautende Attribute wo lediglich die Parameter geändert werden sollen müssen bereits in der Funktion ShuttersDeviceScan gelöscht werden
|
||||||
#### vorher empfiehlt es sich die dort vergebenen Parameter aus zu lesen um sie dann hier wieder neu zu setzen. Dazu wird das shutters Objekt um einen Eintrag
|
#### vorher empfiehlt es sich die dort vergebenen Parameter aus zu lesen um sie dann hier wieder neu zu setzen. Dazu wird das shutters Objekt um einen Eintrag
|
||||||
#### 'AttrUpdateChanges' erweitert
|
#### 'AttrUpdateChanges' erweitert
|
||||||
if ( (int(gettimeofday()) - $::fhem_started) < 20 and ReadingsVal($_,'.ASC_AttrUpdateChanges_' . $hash->{VERSION},0) == 0 ) {
|
if ( ( int( gettimeofday() ) - $::fhem_started ) < 20
|
||||||
|
and
|
||||||
|
ReadingsVal( $_, '.ASC_AttrUpdateChanges_' . $hash->{VERSION}, 0 )
|
||||||
|
== 0 )
|
||||||
|
{
|
||||||
$attr{$_}{'ASC_Up'} = $shutters->getAttrUpdateChanges('ASC_Up')
|
$attr{$_}{'ASC_Up'} = $shutters->getAttrUpdateChanges('ASC_Up')
|
||||||
if ( $shutters->getAttrUpdateChanges('ASC_Up') ne 'none' );
|
if ( $shutters->getAttrUpdateChanges('ASC_Up') ne 'none' );
|
||||||
$attr{$_}{'ASC_Down'} = $shutters->getAttrUpdateChanges('ASC_Down')
|
$attr{$_}{'ASC_Down'} = $shutters->getAttrUpdateChanges('ASC_Down')
|
||||||
if ( $shutters->getAttrUpdateChanges('ASC_Down') ne 'none' );
|
if ( $shutters->getAttrUpdateChanges('ASC_Down') ne 'none' );
|
||||||
|
|
||||||
CommandDeleteReading(undef,$_ . ' .ASC_AttrUpdateChanges_.*') if ( ReadingsVal($_,'.ASC_AttrUpdateChanges_' . $hash->{VERSION},'none') eq 'none' );
|
CommandDeleteReading( undef, $_ . ' .ASC_AttrUpdateChanges_.*' )
|
||||||
readingsSingleUpdate($defs{$_},'.ASC_AttrUpdateChanges_' . $hash->{VERSION},1,0);
|
if (
|
||||||
|
ReadingsVal( $_, '.ASC_AttrUpdateChanges_' . $hash->{VERSION},
|
||||||
|
'none' ) eq 'none'
|
||||||
|
);
|
||||||
|
readingsSingleUpdate( $defs{$_},
|
||||||
|
'.ASC_AttrUpdateChanges_' . $hash->{VERSION},
|
||||||
|
1, 0 );
|
||||||
|
|
||||||
# $attr{$_}{'ASC_Shading_MinMax_Elevation'} =
|
# $attr{$_}{'ASC_Shading_MinMax_Elevation'} =
|
||||||
# AttrVal( $_, 'ASC_Shading_Min_Elevation', 'none' )
|
# AttrVal( $_, 'ASC_Shading_Min_Elevation', 'none' )
|
||||||
# if ( AttrVal( $_, 'ASC_Shading_Min_Elevation', 'none' ) ne 'none' );
|
# if ( AttrVal( $_, 'ASC_Shading_Min_Elevation', 'none' ) ne 'none' );
|
||||||
#
|
#
|
||||||
# delFromDevAttrList( $_, 'ASC_Shading_Min_Elevation' )
|
# delFromDevAttrList( $_, 'ASC_Shading_Min_Elevation' )
|
||||||
# ; # temporär muss später gelöscht werden ab Version 0.6.17
|
# ; # temporär muss später gelöscht werden ab Version 0.6.17
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2672,7 +2694,9 @@ sub SunSetShuttersAfterTimerFn($) {
|
|||||||
$shutters->setLastDrive('privacy position');
|
$shutters->setLastDrive('privacy position');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getPrivacyDownPos )
|
$shutters->getPrivacyDownPos )
|
||||||
unless ( $shutters->getQueryShuttersPos($shutters->getPrivacyDownPos) );
|
unless (
|
||||||
|
$shutters->getQueryShuttersPos( $shutters->getPrivacyDownPos )
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$shutters->setPrivacyDownStatus(0);
|
$shutters->setPrivacyDownStatus(0);
|
||||||
@@ -3160,7 +3184,8 @@ sub ShuttersSunrise($$) {
|
|||||||
if ( $autoAstroMode eq 'HORIZON' );
|
if ( $autoAstroMode eq 'HORIZON' );
|
||||||
}
|
}
|
||||||
my $oldFuncHash = $shutters->getInTimerFuncHash;
|
my $oldFuncHash = $shutters->getInTimerFuncHash;
|
||||||
my $shuttersSunriseUnixtime = computeAlignTime('24:00',sunrise('REAL', 0,'4:30','8:30'));
|
my $shuttersSunriseUnixtime =
|
||||||
|
computeAlignTime( '24:00', sunrise( 'REAL', 0, '4:30', '8:30' ) );
|
||||||
|
|
||||||
if ( $tm eq 'unix' ) {
|
if ( $tm eq 'unix' ) {
|
||||||
if ( $shutters->getUp eq 'astro' ) {
|
if ( $shutters->getUp eq 'astro' ) {
|
||||||
@@ -3551,7 +3576,8 @@ sub ShuttersSunset($$) {
|
|||||||
if ( $autoAstroMode eq 'HORIZON' );
|
if ( $autoAstroMode eq 'HORIZON' );
|
||||||
}
|
}
|
||||||
my $oldFuncHash = $shutters->getInTimerFuncHash;
|
my $oldFuncHash = $shutters->getInTimerFuncHash;
|
||||||
my $shuttersSunsetUnixtime = computeAlignTime('24:00',sunset('REAL', 0,'15:30','21:30'));
|
my $shuttersSunsetUnixtime =
|
||||||
|
computeAlignTime( '24:00', sunset( 'REAL', 0, '15:30', '21:30' ) );
|
||||||
|
|
||||||
if ( $tm eq 'unix' ) {
|
if ( $tm eq 'unix' ) {
|
||||||
if ( $shutters->getDown eq 'astro' ) {
|
if ( $shutters->getDown eq 'astro' ) {
|
||||||
@@ -3786,7 +3812,7 @@ sub getShuttersDev {
|
|||||||
|
|
||||||
sub setAttrUpdateChanges {
|
sub setAttrUpdateChanges {
|
||||||
my ( $self, $attr, $value ) = @_;
|
my ( $self, $attr, $value ) = @_;
|
||||||
|
|
||||||
$self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr} = $value;
|
$self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr} = $value;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -4024,9 +4050,9 @@ sub getAttrUpdateChanges {
|
|||||||
my ( $self, $attr ) = @_;
|
my ( $self, $attr ) = @_;
|
||||||
|
|
||||||
return $self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr}
|
return $self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr}
|
||||||
if( defined( $self->{ $self->{shuttersDev} }{AttrUpdateChanges} )
|
if ( defined( $self->{ $self->{shuttersDev} }{AttrUpdateChanges} )
|
||||||
and defined( $self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr} )
|
and
|
||||||
);
|
defined( $self->{ $self->{shuttersDev} }{AttrUpdateChanges}{$attr} ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getIsDay {
|
sub getIsDay {
|
||||||
@@ -4329,7 +4355,7 @@ sub getBrightnessAverage {
|
|||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return &FHEM::AutoShuttersControl::_averageBrightness(
|
return &FHEM::AutoShuttersControl::_averageBrightness(
|
||||||
@{$self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL}} )
|
@{ $self->{ $self->{shuttersDev} }->{BrightnessAverageArray}->{VAL} } )
|
||||||
if (
|
if (
|
||||||
scalar(
|
scalar(
|
||||||
@{
|
@{
|
||||||
|
Reference in New Issue
Block a user