change prio in RoommateLastStatus, add selfDefense for absent, fix bugs
This commit is contained in:
parent
aa0dc90a2e
commit
11d3942916
@ -241,11 +241,12 @@ my %userAttrList = (
|
|||||||
'ASC_Roommate_Device' => '-',
|
'ASC_Roommate_Device' => '-',
|
||||||
'ASC_Roommate_Reading' => '-',
|
'ASC_Roommate_Reading' => '-',
|
||||||
'ASC_Self_Defense_Exclude:on,off' => '-',
|
'ASC_Self_Defense_Exclude:on,off' => '-',
|
||||||
|
'ASC_Self_Defense_Mode:absent,gone' => '-',
|
||||||
'ASC_WiggleValue' => '-',
|
'ASC_WiggleValue' => '-',
|
||||||
'ASC_WindParameters' => '-',
|
'ASC_WindParameters' => '-',
|
||||||
'ASC_DriveUpMaxDuration' => '-',
|
'ASC_DriveUpMaxDuration' => '-',
|
||||||
'ASC_WindProtection:on,off' => '-',
|
'ASC_WindProtection:on,off' => '-',
|
||||||
'ASC_RainProtection:on,off' => '-',
|
'ASC_RainProtection:on,off' => '-'
|
||||||
);
|
);
|
||||||
|
|
||||||
my %posSetCmds = (
|
my %posSetCmds = (
|
||||||
@ -369,7 +370,7 @@ sub Define($$) {
|
|||||||
|
|
||||||
CommandAttr( undef,
|
CommandAttr( undef,
|
||||||
$name
|
$name
|
||||||
. ' devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense.inactive:status_open day.open:scene_day night.close:scene_night shading.in:weather_sun shading.out:weather_cloudy'
|
. ' devStateIcon selfDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfDefense.active:status_locked selfDefense.inactive:status_open day.open:scene_day night.close:scene_night shading.in:weather_sun shading.out:weather_cloudy'
|
||||||
) if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
|
) if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
|
||||||
|
|
||||||
addToAttrList('ASC:0,1,2');
|
addToAttrList('ASC:0,1,2');
|
||||||
@ -1207,8 +1208,7 @@ sub EventProcessingResidents($@) {
|
|||||||
my $getModeDown = $shutters->getModeDown;
|
my $getModeDown = $shutters->getModeDown;
|
||||||
$shutters->setHardLockOut('off');
|
$shutters->setHardLockOut('off');
|
||||||
if (
|
if (
|
||||||
CheckIfShuttersWindowRecOpen($shuttersDev) != 0
|
$ascDev->getSelfDefense eq 'on'
|
||||||
and $ascDev->getSelfDefense eq 'on'
|
|
||||||
and $shutters->getSelfDefenseExclude eq 'off'
|
and $shutters->getSelfDefenseExclude eq 'off'
|
||||||
or (
|
or (
|
||||||
(
|
(
|
||||||
@ -1220,11 +1220,12 @@ sub EventProcessingResidents($@) {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ( CheckIfShuttersWindowRecOpen($shuttersDev) != 0
|
if ( ( CheckIfShuttersWindowRecOpen($shuttersDev) != 0
|
||||||
|
or $shutters->getSelfDefenseMode eq 'absent' )
|
||||||
and $ascDev->getSelfDefense eq 'on'
|
and $ascDev->getSelfDefense eq 'on'
|
||||||
and $shutters->getSelfDefenseExclude eq 'off' )
|
and $shutters->getSelfDefenseExclude eq 'off' )
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('selfeDefense active');
|
$shutters->setLastDrive('selfDefense active');
|
||||||
}
|
}
|
||||||
else { $shutters->setLastDrive('residents absent'); }
|
else { $shutters->setLastDrive('residents absent'); }
|
||||||
|
|
||||||
@ -1233,7 +1234,8 @@ sub EventProcessingResidents($@) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif ( $events =~ m#$reading:\s(gone)#
|
elsif ( $events =~ m#$reading:\s(gone)#
|
||||||
and $ascDev->getSelfDefense eq 'on' )
|
and $ascDev->getSelfDefense eq 'on'
|
||||||
|
and $shutters->getSelfDefenseMode eq 'gone')
|
||||||
{
|
{
|
||||||
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
|
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
|
||||||
$shutters->setShuttersDev($shuttersDev);
|
$shutters->setShuttersDev($shuttersDev);
|
||||||
@ -1241,7 +1243,7 @@ sub EventProcessingResidents($@) {
|
|||||||
my $getModeDown = $shutters->getModeDown;
|
my $getModeDown = $shutters->getModeDown;
|
||||||
$shutters->setHardLockOut('off');
|
$shutters->setHardLockOut('off');
|
||||||
if ( $shutters->getShuttersPlace eq 'terrace' ) {
|
if ( $shutters->getShuttersPlace eq 'terrace' ) {
|
||||||
$shutters->setLastDrive('selfeDefense terrace');
|
$shutters->setLastDrive('selfDefense terrace');
|
||||||
$shutters->setDriveCmd( $shutters->getClosedPos );
|
$shutters->setDriveCmd( $shutters->getClosedPos );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1309,7 +1311,7 @@ sub EventProcessingResidents($@) {
|
|||||||
and not $shutters->getIfInShading
|
and not $shutters->getIfInShading
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('selfeDefense inactive');
|
$shutters->setLastDrive('selfDefense inactive');
|
||||||
$shutters->setDriveCmd(
|
$shutters->setDriveCmd(
|
||||||
(
|
(
|
||||||
$shutters->getPrivacyDownStatus
|
$shutters->getPrivacyDownStatus
|
||||||
@ -3937,10 +3939,10 @@ sub getRoommatesLastStatus {
|
|||||||
'asleep' => 1,
|
'asleep' => 1,
|
||||||
'gotosleep' => 2,
|
'gotosleep' => 2,
|
||||||
'awoken' => 3,
|
'awoken' => 3,
|
||||||
'home' => 4,
|
'home' => 7,
|
||||||
'absent' => 5,
|
'absent' => 6,
|
||||||
'gone' => 6,
|
'gone' => 5,
|
||||||
'none' => 7
|
'none' => 4
|
||||||
);
|
);
|
||||||
my $minPrio = 10;
|
my $minPrio = 10;
|
||||||
|
|
||||||
@ -4118,6 +4120,12 @@ sub getSelfDefenseExclude {
|
|||||||
return AttrVal( $self->{shuttersDev}, 'ASC_Self_Defense_Exclude', 'off' );
|
return AttrVal( $self->{shuttersDev}, 'ASC_Self_Defense_Exclude', 'off' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub getSelfDefenseMode {
|
||||||
|
my $self = shift;
|
||||||
|
|
||||||
|
return AttrVal( $self->{shuttersDev}, 'ASC_Self_Defense_Mode', 'gone' );
|
||||||
|
}
|
||||||
|
|
||||||
sub getWiggleValue {
|
sub getWiggleValue {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
@ -6263,7 +6271,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
"release_status": "under develop",
|
"release_status": "under develop",
|
||||||
"license": "GPL_2",
|
"license": "GPL_2",
|
||||||
"version": "v0.6.19",
|
"version": "v0.6.19",
|
||||||
"x_developmentversion": "v0.6.19.13",
|
"x_developmentversion": "v0.6.19.14",
|
||||||
"author": [
|
"author": [
|
||||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user