patch Julian for more residents events
This commit is contained in:
		| @@ -12,6 +12,7 @@ | |||||||
| #       - FunkOdyssey commandref style | #       - FunkOdyssey commandref style | ||||||
| #       - sledge fix many typo in commandref | #       - sledge fix many typo in commandref | ||||||
| #       - many User that use with modul and report bugs | #       - many User that use with modul and report bugs | ||||||
|  | #       - Julian (Loredo) expand Residents Events for new Residents functions | ||||||
| # | # | ||||||
| # | # | ||||||
| #  This script is free software; you can redistribute it and/or modify | #  This script is free software; you can redistribute it and/or modify | ||||||
| @@ -1158,7 +1159,7 @@ sub EventProcessingResidents($@) { | |||||||
|     my $reading                = $ascDev->getResidentsReading; |     my $reading                = $ascDev->getResidentsReading; | ||||||
|     my $getResidentsLastStatus = $ascDev->getResidentsLastStatus; |     my $getResidentsLastStatus = $ascDev->getResidentsLastStatus; | ||||||
|  |  | ||||||
|     if ( $events =~ m#$reading:\s(absent)# ) { |     if ( $events =~ m#$reading:\s((?:pet_[a-z]+)|(?:absent))# ) { | ||||||
|         foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { |         foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { | ||||||
|             $shutters->setShuttersDev($shuttersDev); |             $shutters->setShuttersDev($shuttersDev); | ||||||
|             my $getModeUp   = $shutters->getModeUp; |             my $getModeUp   = $shutters->getModeUp; | ||||||
| @@ -1205,7 +1206,7 @@ sub EventProcessingResidents($@) { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     elsif ( |     elsif ( | ||||||
|         $events =~ m#$reading:\s(home)# |         $events =~ m#$reading:\s((?:[a-z]+_)?home)# | ||||||
|         and (  $getResidentsLastStatus eq 'absent' |         and (  $getResidentsLastStatus eq 'absent' | ||||||
|             or $getResidentsLastStatus eq 'gone' |             or $getResidentsLastStatus eq 'gone' | ||||||
|             or $getResidentsLastStatus eq 'asleep' |             or $getResidentsLastStatus eq 'asleep' | ||||||
| @@ -4666,15 +4667,47 @@ sub getOutTemp { | |||||||
|  |  | ||||||
| sub getResidentsStatus { | sub getResidentsStatus { | ||||||
|     my $self = shift; |     my $self = shift; | ||||||
|  |     my $val = | ||||||
|     return ReadingsVal( $ascDev->_getResidentsDev, $ascDev->getResidentsReading, |       ReadingsVal( $ascDev->_getResidentsDev, $ascDev->getResidentsReading, | ||||||
|         'none' ); |         'none' ); | ||||||
|  |  | ||||||
|  |     if ( $val =~ m/^(?:(.+)_)?(.+)$/ ) { | ||||||
|  |         return ( $1, $2 ) if (wantarray); | ||||||
|  |         return $1 && $1 eq 'pet' ? 'absent' : $2; | ||||||
|  |     } | ||||||
|  |     elsif ( | ||||||
|  |         ReadingsVal( $ascDev->_getResidentsDev, 'homealoneType', '-' ) | ||||||
|  |         eq 'PET' ) | ||||||
|  |     { | ||||||
|  |         return ( 'pet', 'absent' ) if (wantarray); | ||||||
|  |         return 'absent'; | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         return ( undef, $val ) if (wantarray); | ||||||
|  |         return $val; | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| sub getResidentsLastStatus { | sub getResidentsLastStatus { | ||||||
|     my $self = shift; |     my $self = shift; | ||||||
|  |     my $val = ReadingsVal( $ascDev->_getResidentsDev, 'lastState', 'none' ); | ||||||
|  |  | ||||||
|     return ReadingsVal( $ascDev->_getResidentsDev, 'lastState', 'none' ); |     if ( $val =~ m/^(?:(.+)_)?(.+)$/ ) { | ||||||
|  |         return ( $1, $2 ) if (wantarray); | ||||||
|  |         return $1 && $1 eq 'pet' ? 'absent' : $2; | ||||||
|  |     } | ||||||
|  |     elsif ( | ||||||
|  |         ReadingsVal( $ascDev->_getResidentsDev, 'lastHomealoneType', | ||||||
|  |             '-' ) eq 'PET' | ||||||
|  |       ) | ||||||
|  |     { | ||||||
|  |         return ( 'pet', 'absent' ) if (wantarray); | ||||||
|  |         return 'absent'; | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         return ( undef, $val ) if (wantarray); | ||||||
|  |         return $val; | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| sub getAutoShuttersControlShading { | sub getAutoShuttersControlShading { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user