From ee1b835f280811ed89cf97cca316fe131b0feb5f Mon Sep 17 00:00:00 2001 From: loredo Date: Fri, 21 Apr 2017 18:16:06 +0000 Subject: [PATCH] RESIDENTS: use group attribute as default for realname git-svn-id: https://svn.fhem.de/fhem/trunk@14062 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_RESIDENTS.pm | 2 +- fhem/FHEM/20_GUEST.pm | 4 ++-- fhem/FHEM/RESIDENTStk.pm | 24 ++++++++---------------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/fhem/FHEM/10_RESIDENTS.pm b/fhem/FHEM/10_RESIDENTS.pm index df227a24e..e5d78723f 100644 --- a/fhem/FHEM/10_RESIDENTS.pm +++ b/fhem/FHEM/10_RESIDENTS.pm @@ -350,7 +350,7 @@ sub RESIDENTS_UpdateReadings (@) { $state_guestDev++; my $guestName = - AttrVal( $guest, AttrVal( $guest, "rg_realname", "alias" ), "" ); + AttrVal( $guest, AttrVal( $guest, "rg_realname", "group" ), "" ); Log3 $name, 5, "RESIDENTS $name: considering $guest for state change"; diff --git a/fhem/FHEM/20_GUEST.pm b/fhem/FHEM/20_GUEST.pm index ba2c34040..41946dc8d 100644 --- a/fhem/FHEM/20_GUEST.pm +++ b/fhem/FHEM/20_GUEST.pm @@ -219,7 +219,7 @@ sub GUEST_Initialize($) { rg_presenceDevices - take over presence state from any other FHEM device. Separate more than one device with comma meaning ALL of them need to be either present or absent to trigger update of this ROOMMATE device. You may optionally add a reading name separated by :, otherwise reading name presence and state will be considered.
  • - rg_realname - whenever GUEST wants to use the realname it uses the value of attribute alias or group; defaults to alias + rg_realname - whenever GUEST wants to use the realname it uses the value of attribute alias or group; defaults to group
  • rg_showAllStates - states 'asleep' and 'awoken' are hidden by default to allow simple gotosleep process via devStateIcon; defaults to 0 @@ -519,7 +519,7 @@ sub GUEST_Initialize($) { rg_presenceDevices - übernehmen des presence Status von einem anderen FHEM Device. Bei mehreren Devices diese mit Komma trennen, um ein Update des GUEST Devices auszulösen, sobald ALLE Devices entweder absent oder present sind. Optional kann auch durch : abgetrennt ein Reading Name angegeben werden, ansonsten werden die Readings presence und state berücksichtigt.
  • - rg_realname - wo immer GUEST den richtigen Namen verwenden möchte nutzt es den Wert des Attributs alias oder group; Standard ist alias + rg_realname - wo immer GUEST den richtigen Namen verwenden möchte nutzt es den Wert des Attributs alias oder group; Standard ist group
  • rg_showAllStates - die Status 'asleep' und 'awoken' sind normalerweise nicht immer sichtbar, um einen einfachen Zubettgeh-Prozess über das devStateIcon Attribut zu ermöglichen; Standard ist 0 diff --git a/fhem/FHEM/RESIDENTStk.pm b/fhem/FHEM/RESIDENTStk.pm index 2e0586ecb..29caf9497 100644 --- a/fhem/FHEM/RESIDENTStk.pm +++ b/fhem/FHEM/RESIDENTStk.pm @@ -1685,35 +1685,27 @@ m/^((?:next[rR]un)?\s*(off|OFF|([\+\-])?(([0-9]{2}):([0-9]{2})|([1-9]+[0-9]*)))? my $macroNameGotosleep = "Macro_" . $wakeupUserdevice . "_gotosleep"; my $macroNameAsleep = "Macro_" . $wakeupUserdevice . "_asleep"; my $macroNameAwoken = "Macro_" . $wakeupUserdevice . "_awoken"; + my $TYPE = GetType($wakeupUserdevice); + my $prefix = RESIDENTStk_GetPrefixFromType($wakeupUserdevice); my $wakeupUserdeviceRealname = "Bewohner"; - if ( IsDevice( $wakeupUserdevice, "ROOMMATE" ) ) { + if ( $TYPE eq "RESIDENTS" ) { $wakeupUserdeviceRealname = AttrVal( AttrVal( $NAME, "wakeupUserdevice", "" ), AttrVal( - AttrVal( $NAME, "wakeupUserdevice", "" ), "rr_realname", - "group" + AttrVal( $NAME, "wakeupUserdevice", "" ), + $prefix . "realname", "alias" ), $wakeupUserdeviceRealname ); } - elsif ( IsDevice( $wakeupUserdevice, "GUEST" ) ) { + else { $wakeupUserdeviceRealname = AttrVal( AttrVal( $NAME, "wakeupUserdevice", "" ), AttrVal( - AttrVal( $NAME, "wakeupUserdevice", "" ), "rg_realname", - "alias" - ), - $wakeupUserdeviceRealname - ); - } - elsif ( IsDevice( $wakeupUserdevice, "RESIDENTS" ) ) { - $wakeupUserdeviceRealname = AttrVal( - AttrVal( $NAME, "wakeupUserdevice", "" ), - AttrVal( - AttrVal( $NAME, "wakeupUserdevice", "" ), "rgr_realname", - "alias" + AttrVal( $NAME, "wakeupUserdevice", "" ), + $prefix . "realname", "group" ), $wakeupUserdeviceRealname );