mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
10_RESIDENTS: add readings for delayed wayhome
git-svn-id: https://svn.fhem.de/fhem/trunk@10459 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
4f19169cb8
commit
0afeffbf18
@ -662,6 +662,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
my $residentsDevs_gotosleep = "-";
|
||||
my $residentsDevs_wakeup = "-";
|
||||
my $residentsDevs_wayhome = "-";
|
||||
my $residentsDevs_wayhomeDelayed = "-";
|
||||
my $residentsDevs_totalAbsent = "-";
|
||||
my $residentsDevs_totalPresent = "-";
|
||||
my $residentsDevs_totalAbsentGuest = "-";
|
||||
@ -676,6 +677,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
my $residents_gotosleep = "-";
|
||||
my $residents_wakeup = "-";
|
||||
my $residents_wayhome = "-";
|
||||
my $residents_wayhomeDelayed = "-";
|
||||
my $residents_totalAbsent = "-";
|
||||
my $residents_totalPresent = "-";
|
||||
my $residents_totalAbsentGuest = "-";
|
||||
@ -683,6 +685,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
my $residents_totalAbsentRoommates = "-";
|
||||
my $residents_totalPresentRoommates = "-";
|
||||
my $wayhome = 0;
|
||||
my $wayhomeDelayed = 0;
|
||||
my $wakeup = 0;
|
||||
my $newstate;
|
||||
|
||||
@ -909,7 +912,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
}
|
||||
|
||||
if ( ReadingsVal( $roommate, "wakeup", "0" ) > 0 ) {
|
||||
$wakeup += ReadingsVal( $roommate, "wakeup", "0" );
|
||||
$wakeup++;
|
||||
$residentsDevs_wakeup .= "," . $roommate
|
||||
if ( $residentsDevs_wakeup ne "-" );
|
||||
$residentsDevs_wakeup = $roommate
|
||||
@ -921,7 +924,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
}
|
||||
|
||||
if ( ReadingsVal( $roommate, "wayhome", "0" ) > 0 ) {
|
||||
$wayhome += ReadingsVal( $roommate, "wayhome", "0" );
|
||||
$wayhome++;
|
||||
$residentsDevs_wayhome .= "," . $roommate
|
||||
if ( $residentsDevs_wayhome ne "-" );
|
||||
$residentsDevs_wayhome = $roommate
|
||||
@ -930,6 +933,21 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
if ( $roommateName ne "" && $residents_wayhome ne "-" );
|
||||
$residents_wayhome = $roommateName
|
||||
if ( $roommateName ne "" && $residents_wayhome eq "-" );
|
||||
|
||||
if ( ReadingsVal( $roommate, "wayhome", "0" ) == 2 ) {
|
||||
$wayhomeDelayed++;
|
||||
|
||||
$residentsDevs_wayhomeDelayed .= "," . $roommate
|
||||
if ( $residentsDevs_wayhomeDelayed ne "-" );
|
||||
$residentsDevs_wayhomeDelayed = $roommate
|
||||
if ( $residentsDevs_wayhomeDelayed eq "-" );
|
||||
$residents_wayhomeDelayed .= ", " . $roommateName
|
||||
if ( $roommateName ne ""
|
||||
&& $residents_wayhomeDelayed ne "-" );
|
||||
$residents_wayhomeDelayed = $roommateName
|
||||
if ( $roommateName ne ""
|
||||
&& $residents_wayhomeDelayed eq "-" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1093,7 +1111,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
}
|
||||
|
||||
if ( ReadingsVal( $guest, "wakeup", "0" ) > 0 ) {
|
||||
$wakeup += ReadingsVal( $guest, "wakeup", "0" );
|
||||
$wakeup++;
|
||||
$residentsDevs_wakeup .= "," . $guest
|
||||
if ( $residentsDevs_wakeup ne "-" );
|
||||
$residentsDevs_wakeup = $guest
|
||||
@ -1105,7 +1123,7 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
}
|
||||
|
||||
if ( ReadingsVal( $guest, "wayhome", "0" ) > 0 ) {
|
||||
$wayhome += ReadingsVal( $guest, "wakeup", "0" );
|
||||
$wayhome++;
|
||||
$residents_wayhome .= "," . $guest
|
||||
if ( $residents_wayhome ne "-" );
|
||||
$residents_wayhome = $guest if ( $residents_wayhome eq "-" );
|
||||
@ -1114,16 +1132,20 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
$residents_wayhome = $guestName
|
||||
if ( $guestName ne "" && $residents_wayhome eq "-" );
|
||||
|
||||
$residentsDevs_totalAbsent .= "," . $guest
|
||||
if ( $residentsDevs_totalAbsent ne "-" );
|
||||
$residentsDevs_totalAbsent = $guest
|
||||
if ( $residentsDevs_totalAbsent eq "-" );
|
||||
$residents_totalAbsent .= ", " . $guestName
|
||||
if ( $guestName ne ""
|
||||
&& $residents_totalAbsent ne "-" );
|
||||
$residents_totalAbsent = $guestName
|
||||
if ( $guestName ne ""
|
||||
&& $residents_totalAbsent eq "-" );
|
||||
if ( ReadingsVal( $guest, "wayhome", "0" ) == 2 ) {
|
||||
$wayhomeDelayed++;
|
||||
|
||||
$residentsDevs_wayhomeDelayed .= "," . $guest
|
||||
if ( $residentsDevs_wayhomeDelayed ne "-" );
|
||||
$residentsDevs_wayhomeDelayed = $guest
|
||||
if ( $residentsDevs_wayhomeDelayed eq "-" );
|
||||
$residents_wayhomeDelayed .= ", " . $guestName
|
||||
if ( $guestName ne ""
|
||||
&& $residents_wayhomeDelayed ne "-" );
|
||||
$residents_wayhomeDelayed = $guestName
|
||||
if ( $guestName ne ""
|
||||
&& $residents_wayhomeDelayed eq "-" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1338,6 +1360,20 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
if ( ReadingsVal( $name, "residentsTotalWayhomeNames", "" ) ne
|
||||
$residents_wayhome );
|
||||
|
||||
readingsBulkUpdate( $hash, "residentsTotalWayhomeDelayed", $wayhomeDelayed )
|
||||
if ( ReadingsVal( $name, "residentsTotalWayhomeDelayed", "" ) ne
|
||||
$wayhomeDelayed );
|
||||
|
||||
readingsBulkUpdate( $hash, "residentsTotalWayhomeDelayedDevs",
|
||||
$residentsDevs_wayhomeDelayed )
|
||||
if ( ReadingsVal( $name, "residentsTotalWayhomeDelayedDevs", "" ) ne
|
||||
$residentsDevs_wayhomeDelayed );
|
||||
|
||||
readingsBulkUpdate( $hash, "residentsTotalWayhomeDelayedNames",
|
||||
$residents_wayhomeDelayed )
|
||||
if ( ReadingsVal( $name, "residentsTotalWayhomeDelayedNames", "" ) ne
|
||||
$residents_wayhomeDelayed );
|
||||
|
||||
#
|
||||
# state calculation
|
||||
#
|
||||
@ -1840,6 +1876,15 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
<li>
|
||||
<b>residentsTotalWayhomeNames</b> - device alias of all active residents who are currently on their way back home
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayed</b> - number of all residents who are delayed on their way back home
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayedDevs</b> - device name of all delayed residents who are currently on their way back home
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayedNames</b> - device alias of all delayed residents who are currently on their way back home
|
||||
</li>
|
||||
<li>
|
||||
<b>state</b> - reflects the current state
|
||||
</li>
|
||||
@ -2199,6 +2244,15 @@ sub RESIDENTS_UpdateReadings (@) {
|
||||
<li>
|
||||
<b>residentsTotalWayhomeNames</b> - Gerätealias aller aktiven Bewohner, die momentan auf dem Weg zurück nach Hause sind
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayed</b> - Summe aller Bewohner, die momentan mit Verspätung auf dem Weg zurück nach Hause sind
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayedDevs</b> - Gerätename aller Bewohner, die momentan verspätet auf dem Weg zurück nach Hause sind
|
||||
</li>
|
||||
<li>
|
||||
<b>residentsTotalWayhomeDelayedNames</b> - Gerätealias aller Bewohner, die momentan verspätet auf dem Weg zurück nach Hause sind
|
||||
</li>
|
||||
<li>
|
||||
<b>state</b> - gibt den aktuellen Status wieder
|
||||
</li>
|
||||
|
Loading…
x
Reference in New Issue
Block a user