diff --git a/CHANGED b/CHANGED
index f68f7d0fc..0da314481 100644
--- a/CHANGED
+++ b/CHANGED
@@ -370,6 +370,7 @@
- doc: linux.html: Introduction (Peter S.)
- feature: contrib/82_M232Voltage.pm (by Boris, 24.12)
- feature: delattr renamed to deleteattr (Rudi, 29.12)
+ - feature: defattr renamed to setdefaultattr (Rudi, 29.12)
- feature: device spec (list/range/regexp) for most commands implemented
- feature: %NAME, %EVENT, %TYPE parameters in notify definition
diff --git a/HISTORY b/HISTORY
index 7f8354ee3..f4c4c2d50 100644
--- a/HISTORY
+++ b/HISTORY
@@ -165,7 +165,9 @@
- linux.html: Introduction refinement.
- Rudi Sat Dec 29 16:27:14 MET 2007
- - delattr renamed to deleteattr
+ - delattr renamed to deleteattr, as del should complete to delete and not to
+ delattr
+ - defattr renamed to setdefaultattr (same as before for def)
- devicespec introduced:
it may contain a list of devices, a range of devices, or multiple devices
identified by regexp. Following commands take a devicespec as argument:
diff --git a/docs/commandref.html b/docs/commandref.html
index 78864b923..c932b8aca 100644
--- a/docs/commandref.html
+++ b/docs/commandref.html
@@ -13,10 +13,9 @@
Introduction
?,help
attr
-defattr
define
-deleteattr
delete
+deleteattr
get
include
inform
@@ -27,11 +26,13 @@
rereadcfg
save
set
+setdefaultattr
setstate
shutdown
-trigger
sleep
+trigger
xmllist
+
Device specification
Perl specials
@@ -477,10 +478,10 @@ split in multiple lines
-
-
defattr
+
+setdefaultattr
- defattr [<attrname> [<value>]]
+ setdefaultattr [<attrname> [<value>]]
Set the default attribute. Each device defined from now on will receive
this attribute (see the attr entry for details on
@@ -491,12 +492,12 @@ split in multiple lines
Example to set the attribute "room kitchen" and "loglevel 4" to
each of the lamps:
- defattr room kitchen
- defattr loglevel 4
+ setdefaultattr room kitchen
+ setdefaultattr loglevel 4
define lamp1 FS20 1234 11
define lamp2 FS20 1234 12
define lamp3 FS20 1234 13
- defattr
+ setdefaultattr
diff --git a/fhem.pl b/fhem.pl
index de732f374..419e24d50 100755
--- a/fhem.pl
+++ b/fhem.pl
@@ -67,7 +67,7 @@ sub PrintHash($$);
sub devspec2array($);
sub CommandAttr($$);
-sub CommandDefAttr($$);
+sub CommandDefaultAttr($$);
sub CommandDefine($$);
sub CommandDeleteAttr($$);
sub CommandDelete($$);
@@ -133,12 +133,12 @@ my $sig_term = 0; # if set to 1, terminate (saving the state)
my $modpath_set; # Check if modpath was used, and report if not.
my $global_cl; # To use from perl snippets
my $devcount = 0; # To sort the devices
-my %defattr; # Default attributes
+my %defaultattr; # Default attributes
my %intAt; # Internal at timer hash.
my $intAtCnt=0;
my $reread_active = 0;
my $AttrList = "room comment";
-my $cvsid = '$Id: fhem.pl,v 1.33 2007-12-29 15:57:42 rudolfkoenig Exp $';
+my $cvsid = '$Id: fhem.pl,v 1.34 2007-12-29 16:25:02 rudolfkoenig Exp $';
$init_done = 0;
@@ -154,8 +154,6 @@ my %cmds = (
Hlp=>",get this help" },
"attr" => { Fn=>"CommandAttr",
Hlp=>" [],set attribute for " },
- "defattr" => { Fn=>"CommandDefAttr",
- Hlp=>" ,set attr for following definitions" },
"define" => { Fn=>"CommandDefine",
Hlp=>" ,define a device/at/notify entity" },
"deleteattr" => { Fn=>"CommandDeleteAttr",
@@ -188,6 +186,8 @@ my %cmds = (
Hlp=>" ,transmit code for " },
"setstate"=> { Fn=>"CommandSetstate",
Hlp=>" ,set the state shown in the command list" },
+ "setdefaultattr" => { Fn=>"CommandDefaultAttr",
+ Hlp=>" ,set attr for following definitions" },
"shutdown"=> { Fn=>"CommandShutdown",
Hlp=>",terminate the server" },
"sleep" => { Fn=>"CommandSleep",
@@ -498,6 +498,8 @@ AnalyzeCommand($$)
my ($fn, $param) = split("[ \t][ \t]*", $cmd, 2);
return if(!$fn);
+ $fn = "setdefaultattr" if($fn eq "defattr"); # Compatibility mode
+
#############
# Search for abbreviation
if(!defined($cmds{$fn})) {
@@ -777,7 +779,7 @@ CommandSave($$)
}
foreach my $r (sort keys %rooms) {
- print SFH "\ndefattr" . ($r ne "~" ? " room $r" : "") . "\n";
+ print SFH "\nsetdefaultattr" . ($r ne "~" ? " room $r" : "") . "\n";
foreach my $d (sort keys %{$rooms{$r}} ) {
next if($defs{$d}{VOLATILE});
if($defs{$d}{DEF}) {
@@ -794,7 +796,7 @@ CommandSave($$)
}
}
- print SFH "defattr\n"; # Delete the last default attribute.
+ print SFH "setdefaultattr\n"; # Delete the last default attribute.
print SFH "include $attr{global}{lastinclude}\n"
if($attr{global}{lastinclude});
@@ -957,8 +959,8 @@ CommandDefine($$)
if($ret) {
delete $defs{$a[0]}
} else {
- foreach my $da (sort keys (%defattr)) { # Default attributes
- CommandAttr($cl, "$a[0] $da $defattr{$da}");
+ foreach my $da (sort keys (%defaultattr)) { # Default attributes
+ CommandAttr($cl, "$a[0] $da $defaultattr{$da}");
}
}
return $ret;
@@ -1423,17 +1425,17 @@ CommandAttr($$)
#####################################
# Default Attr
sub
-CommandDefAttr($$)
+CommandDefaultAttr($$)
{
my ($cl, $param) = @_;
my @a = split(" ", $param, 2);
if(int(@a) == 0) {
- %defattr = ();
+ %defaultattr = ();
} elsif(int(@a) == 1) {
- $defattr{$a[0]} = 1;
+ $defaultattr{$a[0]} = 1;
} else {
- $defattr{$a[0]} = $a[1];
+ $defaultattr{$a[0]} = $a[1];
}
return undef;
}
diff --git a/test/fhem.cfg b/test/fhem.cfg
index 62ad6fa10..952c4a9b7 100644
--- a/test/fhem.cfg
+++ b/test/fhem.cfg
@@ -8,7 +8,6 @@ attr global verbose 3
define FHZ FHZ none
-defattr
define btn4 FS20 1234 03
define cellar FS20 1234 13
define fl FHT 1236
@@ -19,4 +18,3 @@ define tf1 HMS 1237
define window.lamp FS20 1234 02
define wz FHT 1235
define x SCIVT none
-defattr