commandref Anpassungen, Beschreibung der geänderten getter für das ascAPIget
This commit is contained in:
@@ -708,8 +708,6 @@ sub ShuttersDeviceScan($) {
|
|||||||
|
|
||||||
$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
|
||||||
@@ -731,8 +729,6 @@ sub ShuttersDeviceScan($) {
|
|||||||
delFromDevAttrList( $_, 'ASC_Self_Defense_Exclude' );
|
delFromDevAttrList( $_, 'ASC_Self_Defense_Exclude' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CommandAttr( undef,
|
CommandAttr( undef,
|
||||||
$name
|
$name
|
||||||
. ' ASC_shuttersDriveDelay '
|
. ' ASC_shuttersDriveDelay '
|
||||||
@@ -748,7 +744,7 @@ sub ShuttersDeviceScan($) {
|
|||||||
$shutters->setLastManPos( $shutters->getStatus );
|
$shutters->setLastManPos( $shutters->getStatus );
|
||||||
$shutters->setLastPos( $shutters->getStatus );
|
$shutters->setLastPos( $shutters->getStatus );
|
||||||
$shutters->setDelayCmd('none');
|
$shutters->setDelayCmd('none');
|
||||||
$shutters->setNoOffset(0);
|
$shutters->setNoDelay(0);
|
||||||
$shutters->setSelfDefenseAbsent( 0, 0 );
|
$shutters->setSelfDefenseAbsent( 0, 0 );
|
||||||
$shutters->setPosSetCmd( $posSetCmds{ $defs{$_}->{TYPE} } );
|
$shutters->setPosSetCmd( $posSetCmds{ $defs{$_}->{TYPE} } );
|
||||||
$shutters->setShadingStatus(
|
$shutters->setShadingStatus(
|
||||||
@@ -1014,14 +1010,14 @@ sub EventProcessingWindowRec($@) {
|
|||||||
and $shutters->getShadingPos != $shutters->getStatus )
|
and $shutters->getShadingPos != $shutters->getStatus )
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('shading in');
|
$shutters->setLastDrive('shading in');
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setDriveCmd( $shutters->getShadingPos );
|
$shutters->setDriveCmd( $shutters->getShadingPos );
|
||||||
}
|
}
|
||||||
elsif ($shutters->getStatus != $shutters->getOpenPos
|
elsif ($shutters->getStatus != $shutters->getOpenPos
|
||||||
or $shutters->getStatus != $shutters->getLastManPos )
|
or $shutters->getStatus != $shutters->getLastManPos )
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('window closed at day');
|
$shutters->setLastDrive('window closed at day');
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setDriveCmd(
|
$shutters->setDriveCmd(
|
||||||
(
|
(
|
||||||
$shutters->getVentilatePosAfterDayClosed eq 'open'
|
$shutters->getVentilatePosAfterDayClosed eq 'open'
|
||||||
@@ -1042,7 +1038,7 @@ sub EventProcessingWindowRec($@) {
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('window closed at night');
|
$shutters->setLastDrive('window closed at night');
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setDriveCmd(
|
$shutters->setDriveCmd(
|
||||||
(
|
(
|
||||||
$shutters->getSleepPos > 0
|
$shutters->getSleepPos > 0
|
||||||
@@ -1063,7 +1059,7 @@ sub EventProcessingWindowRec($@) {
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('ventilate - window open');
|
$shutters->setLastDrive('ventilate - window open');
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setDriveCmd(
|
$shutters->setDriveCmd(
|
||||||
(
|
(
|
||||||
(
|
(
|
||||||
@@ -1094,7 +1090,7 @@ sub EventProcessingWindowRec($@) {
|
|||||||
|
|
||||||
if ( defined($posValue) and $posValue ) {
|
if ( defined($posValue) and $posValue ) {
|
||||||
$shutters->setLastDrive($setLastDrive);
|
$shutters->setLastDrive($setLastDrive);
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setDriveCmd(
|
$shutters->setDriveCmd(
|
||||||
|
|
||||||
# (
|
# (
|
||||||
@@ -1193,10 +1189,11 @@ sub EventProcessingRoommate($@) {
|
|||||||
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
||||||
or $shutters->getVentilateOpen eq 'off' )
|
or $shutters->getVentilateOpen eq 'off' )
|
||||||
{
|
{
|
||||||
$posValue =
|
$posValue = (
|
||||||
( $shutters->getSleepPos > 0
|
$shutters->getSleepPos > 0
|
||||||
? $shutters->getSleepPos
|
? $shutters->getSleepPos
|
||||||
: $shutters->getClosedPos );
|
: $shutters->getClosedPos
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$posValue = $shutters->getVentilatePos;
|
$posValue = $shutters->getVentilatePos;
|
||||||
@@ -1259,10 +1256,11 @@ sub EventProcessingRoommate($@) {
|
|||||||
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
||||||
or $shutters->getVentilateOpen eq 'off' )
|
or $shutters->getVentilateOpen eq 'off' )
|
||||||
{
|
{
|
||||||
$posValue =
|
$posValue = (
|
||||||
( $shutters->getSleepPos > 0
|
$shutters->getSleepPos > 0
|
||||||
? $shutters->getSleepPos
|
? $shutters->getSleepPos
|
||||||
: $shutters->getClosedPos );
|
: $shutters->getClosedPos
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$posValue = $shutters->getVentilatePos;
|
$posValue = $shutters->getVentilatePos;
|
||||||
@@ -1847,10 +1845,11 @@ sub EventProcessingBrightness($@) {
|
|||||||
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
||||||
or $shutters->getVentilateOpen eq 'off' )
|
or $shutters->getVentilateOpen eq 'off' )
|
||||||
{
|
{
|
||||||
$posValue =
|
$posValue = (
|
||||||
( $shutters->getSleepPos > 0
|
$shutters->getSleepPos > 0
|
||||||
? $shutters->getSleepPos
|
? $shutters->getSleepPos
|
||||||
: $shutters->getClosedPos );
|
: $shutters->getClosedPos
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else { $posValue = $shutters->getVentilatePos; }
|
else { $posValue = $shutters->getVentilatePos; }
|
||||||
|
|
||||||
@@ -2455,7 +2454,7 @@ sub ShuttersCommandSet($$$) {
|
|||||||
{
|
{
|
||||||
$shutters->setDelayCmd($posValue);
|
$shutters->setDelayCmd($posValue);
|
||||||
$ascDev->setDelayCmdReading;
|
$ascDev->setDelayCmdReading;
|
||||||
$shutters->setNoOffset(0);
|
$shutters->setNoDelay(0);
|
||||||
Log3( $name, 4,
|
Log3( $name, 4,
|
||||||
"AutoShuttersControl ($name) - ShuttersCommandSet in Delay" );
|
"AutoShuttersControl ($name) - ShuttersCommandSet in Delay" );
|
||||||
|
|
||||||
@@ -2609,8 +2608,6 @@ 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
|
||||||
@@ -2633,7 +2630,6 @@ sub RenewSunRiseSetShuttersTimer($) {
|
|||||||
$shutters->getAttrUpdateChanges('ASC_Self_Defense_Exclude') eq
|
$shutters->getAttrUpdateChanges('ASC_Self_Defense_Exclude') eq
|
||||||
'on' );
|
'on' );
|
||||||
|
|
||||||
|
|
||||||
CommandDeleteReading( undef, $_ . ' .ASC_AttrUpdateChanges_.*' )
|
CommandDeleteReading( undef, $_ . ' .ASC_AttrUpdateChanges_.*' )
|
||||||
if (
|
if (
|
||||||
ReadingsVal( $_, '.ASC_AttrUpdateChanges_' . $hash->{VERSION},
|
ReadingsVal( $_, '.ASC_AttrUpdateChanges_' . $hash->{VERSION},
|
||||||
@@ -2645,14 +2641,14 @@ sub RenewSunRiseSetShuttersTimer($) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$attr{$_}{ASC_Drive_Delay} = AttrVal( $_, 'ASC_Drive_Offset', 'none' )
|
$attr{$_}{ASC_Drive_Delay} = AttrVal( $_, 'ASC_Drive_Offset', 'none' )
|
||||||
if ( AttrVal( $_, 'ASC_Drive_Offset', 'none' ) ne 'none' );
|
if ( AttrVal( $_, 'ASC_Drive_Offset', 'none' ) ne 'none' );
|
||||||
delFromDevAttrList( $_, 'ASC_Drive_Offset' );
|
delFromDevAttrList( $_, 'ASC_Drive_Offset' );
|
||||||
|
|
||||||
$attr{$_}{ASC_Drive_DelayStart} = AttrVal( $_, 'ASC_Drive_OffsetStart', 'none' )
|
$attr{$_}{ASC_Drive_DelayStart} =
|
||||||
if ( AttrVal( $_, 'ASC_Drive_OffsetStart', 'none' ) ne 'none' );
|
AttrVal( $_, 'ASC_Drive_OffsetStart', 'none' )
|
||||||
|
if ( AttrVal( $_, 'ASC_Drive_OffsetStart', 'none' ) ne 'none' );
|
||||||
delFromDevAttrList( $_, 'ASC_Drive_OffsetStart' );
|
delFromDevAttrList( $_, 'ASC_Drive_OffsetStart' );
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2677,7 +2673,7 @@ sub wiggleAll($) {
|
|||||||
sub wiggle($$) {
|
sub wiggle($$) {
|
||||||
my ( $hash, $shuttersDev ) = @_;
|
my ( $hash, $shuttersDev ) = @_;
|
||||||
$shutters->setShuttersDev($shuttersDev);
|
$shutters->setShuttersDev($shuttersDev);
|
||||||
$shutters->setNoOffset(1);
|
$shutters->setNoDelay(1);
|
||||||
$shutters->setLastDrive('wiggle begin drive');
|
$shutters->setLastDrive('wiggle begin drive');
|
||||||
|
|
||||||
my %h = (
|
my %h = (
|
||||||
@@ -3902,10 +3898,10 @@ sub setHardLockOut {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub setNoOffset {
|
sub setNoDelay {
|
||||||
my ( $self, $noOffset ) = @_;
|
my ( $self, $noDelay ) = @_;
|
||||||
|
|
||||||
$self->{ $self->{shuttersDev} }{noOffset} = $noOffset;
|
$self->{ $self->{shuttersDev} }{noDelay} = $noDelay;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3959,7 +3955,7 @@ sub setDriveCmd {
|
|||||||
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
||||||
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
|
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
|
||||||
}
|
}
|
||||||
elsif ( $offSetStart > 0 and not $shutters->getNoOffset ) {
|
elsif ( $offSetStart > 0 and not $shutters->getNoDelay ) {
|
||||||
InternalTimer(
|
InternalTimer(
|
||||||
gettimeofday() + int( rand($offSet) + $shutters->getDelayStart ),
|
gettimeofday() + int( rand($offSet) + $shutters->getDelayStart ),
|
||||||
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
||||||
@@ -3968,7 +3964,7 @@ sub setDriveCmd {
|
|||||||
. $shutters->getShuttersDev
|
. $shutters->getShuttersDev
|
||||||
. ' - versetztes fahren' );
|
. ' - versetztes fahren' );
|
||||||
}
|
}
|
||||||
elsif ( $offSetStart < 1 or $shutters->getNoOffset ) {
|
elsif ( $offSetStart < 1 or $shutters->getNoDelay ) {
|
||||||
FHEM::AutoShuttersControl::_SetCmdFn( \%h );
|
FHEM::AutoShuttersControl::_SetCmdFn( \%h );
|
||||||
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
||||||
. $shutters->getShuttersDev
|
. $shutters->getShuttersDev
|
||||||
@@ -3977,9 +3973,9 @@ sub setDriveCmd {
|
|||||||
|
|
||||||
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
||||||
. $shutters->getShuttersDev
|
. $shutters->getShuttersDev
|
||||||
. ' - NoOffset: '
|
. ' - NoDelay: '
|
||||||
. ( $shutters->getNoOffset ? 'JA' : 'NEIN' ) );
|
. ( $shutters->getNoDelay ? 'JA' : 'NEIN' ) );
|
||||||
$shutters->setNoOffset(0);
|
$shutters->setNoDelay(0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4178,10 +4174,10 @@ sub getPosSetCmd {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getNoOffset {
|
sub getNoDelay {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return $self->{ $self->{shuttersDev} }{noOffset};
|
return $self->{ $self->{shuttersDev} }{noDelay};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getSelfDefenseAbsent {
|
sub getSelfDefenseAbsent {
|
||||||
@@ -6309,7 +6305,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
<td>1 = soft, 2 = daytime, 3 = hard</td>
|
<td>1 = soft, 2 = daytime, 3 = hard</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>NoOffset</td>
|
<td>NoDelay</td>
|
||||||
<td>Was the offset handling deactivated (e.g. by operations triggered by a window event)</td>
|
<td>Was the offset handling deactivated (e.g. by operations triggered by a window event)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -6656,7 +6652,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
<table border="1">
|
<table border="1">
|
||||||
<tr><th>Getter</th><th>Erläuterung</th></tr>
|
<tr><th>Getter</th><th>Erläuterung</th></tr>
|
||||||
<tr><td>FreezeStatus</td><td>1=soft, 2=Daytime, 3=hard</td></tr>
|
<tr><td>FreezeStatus</td><td>1=soft, 2=Daytime, 3=hard</td></tr>
|
||||||
<tr><td>NoOffset</td><td>Wurde die Behandlung von Offset deaktiviert (Beispiel bei Fahrten über Fensterevents)</td></tr>
|
<tr><td>NoDelay</td><td>Wurde die Behandlung von Offset deaktiviert (Beispiel bei Fahrten über Fensterevents)</td></tr>
|
||||||
<tr><td>LastDrive</td><td>Grund des letzten Fahrens</td></tr>
|
<tr><td>LastDrive</td><td>Grund des letzten Fahrens</td></tr>
|
||||||
<tr><td>LastPos</td><td>die letzte Position des Rollladens</td></tr>
|
<tr><td>LastPos</td><td>die letzte Position des Rollladens</td></tr>
|
||||||
<tr><td>LastPosTimestamp</td><td>Timestamp der letzten festgestellten Position</td></tr>
|
<tr><td>LastPosTimestamp</td><td>Timestamp der letzten festgestellten Position</td></tr>
|
||||||
@@ -6726,7 +6722,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
],
|
],
|
||||||
"release_status": "under develop",
|
"release_status": "under develop",
|
||||||
"license": "GPL_2",
|
"license": "GPL_2",
|
||||||
"version": "v0.6.100",
|
"version": "v0.6.101",
|
||||||
"author": [
|
"author": [
|
||||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user