mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-15 03:59:11 +00:00
ROOMMATE: only load default attributes once after user define
git-svn-id: https://svn.fhem.de/fhem/trunk@7626 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
0122f095ad
commit
1e1e739b6a
@ -129,67 +129,22 @@ sub ROOMMATE_Define($$) {
|
||||
|
||||
readingsBeginUpdate($hash);
|
||||
|
||||
# attr alias
|
||||
$name_attr = "alias";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} = "Status";
|
||||
}
|
||||
|
||||
# attr devStateIcon
|
||||
$name_attr = "devStateIcon";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} =
|
||||
".*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown";
|
||||
}
|
||||
|
||||
# attr group
|
||||
$name_attr = "group";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
# set default settings on first define
|
||||
if ($init_done) {
|
||||
my $groupname = $name;
|
||||
$groupname =~ s/^rr_//;
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
$attr{$name}{group} = $groupname;
|
||||
|
||||
$attr{$name}{$name_attr} = $groupname;
|
||||
}
|
||||
$attr{$name}{alias} = "Status";
|
||||
$attr{$name}{devStateIcon} =
|
||||
".*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown";
|
||||
$attr{$name}{icon} = "people_sensor";
|
||||
$attr{$name}{rr_realname} = "alias";
|
||||
$attr{$name}{sortby} = "1";
|
||||
$attr{$name}{webCmd} = "state";
|
||||
|
||||
# attr icon
|
||||
$name_attr = "icon";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} = "people_sensor";
|
||||
}
|
||||
|
||||
# attr room
|
||||
$name_attr = "room";
|
||||
if ( @registeredResidentgroups
|
||||
&& exists( $attr{ $registeredResidentgroups[0] }{$name_attr} )
|
||||
&& !exists( $attr{$name}{$name_attr} ) )
|
||||
{
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} =
|
||||
$attr{ $registeredResidentgroups[0] }{$name_attr};
|
||||
}
|
||||
|
||||
# attr sortby
|
||||
$name_attr = "sortby";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} = "0";
|
||||
}
|
||||
|
||||
# attr webCmd
|
||||
$name_attr = "webCmd";
|
||||
unless ( exists( $attr{$name}{$name_attr} ) ) {
|
||||
Log3 $name, 4, "ROOMMATE $name: created new attribute '$name_attr'";
|
||||
|
||||
$attr{$name}{$name_attr} = "state:mood";
|
||||
$attr{$name}{room} = $attr{ $registeredResidentgroups[0] }{room}
|
||||
if (@registeredResidentgroups && exists($attr{$registeredResidentgroups[0]}{room}));
|
||||
}
|
||||
|
||||
# trigger for modified objects
|
||||
|
Loading…
x
Reference in New Issue
Block a user