mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
defattr changed to setdefaultattr
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@138 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a2203c3354
commit
83387c0f17
1
CHANGED
1
CHANGED
@ -370,6 +370,7 @@
|
|||||||
- doc: linux.html: Introduction (Peter S.)
|
- doc: linux.html: Introduction (Peter S.)
|
||||||
- feature: contrib/82_M232Voltage.pm (by Boris, 24.12)
|
- feature: contrib/82_M232Voltage.pm (by Boris, 24.12)
|
||||||
- feature: delattr renamed to deleteattr (Rudi, 29.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: device spec (list/range/regexp) for most commands implemented
|
||||||
- feature: %NAME, %EVENT, %TYPE parameters in notify definition
|
- feature: %NAME, %EVENT, %TYPE parameters in notify definition
|
||||||
|
|
||||||
|
4
HISTORY
4
HISTORY
@ -165,7 +165,9 @@
|
|||||||
- linux.html: Introduction refinement.
|
- linux.html: Introduction refinement.
|
||||||
|
|
||||||
- Rudi Sat Dec 29 16:27:14 MET 2007
|
- 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:
|
- devicespec introduced:
|
||||||
it may contain a list of devices, a range of devices, or multiple devices
|
it may contain a list of devices, a range of devices, or multiple devices
|
||||||
identified by regexp. Following commands take a devicespec as argument:
|
identified by regexp. Following commands take a devicespec as argument:
|
||||||
|
@ -13,10 +13,9 @@
|
|||||||
<a href="#intro">Introduction</a><br>
|
<a href="#intro">Introduction</a><br>
|
||||||
<a href="#help">?,help</a><br>
|
<a href="#help">?,help</a><br>
|
||||||
<a href="#attr">attr</a><br>
|
<a href="#attr">attr</a><br>
|
||||||
<a href="#defattr">defattr</a><br>
|
|
||||||
<a href="#define">define</a><br>
|
<a href="#define">define</a><br>
|
||||||
<a href="#deleteattr">deleteattr</a><br>
|
|
||||||
<a href="#delete">delete</a><br>
|
<a href="#delete">delete</a><br>
|
||||||
|
<a href="#deleteattr">deleteattr</a><br>
|
||||||
<a href="#get">get</a><br>
|
<a href="#get">get</a><br>
|
||||||
<a href="#include">include</a><br>
|
<a href="#include">include</a><br>
|
||||||
<a href="#inform">inform</a><br>
|
<a href="#inform">inform</a><br>
|
||||||
@ -27,11 +26,13 @@
|
|||||||
<a href="#rereadcfg">rereadcfg</a><br>
|
<a href="#rereadcfg">rereadcfg</a><br>
|
||||||
<a href="#save">save</a><br>
|
<a href="#save">save</a><br>
|
||||||
<a href="#set">set</a><br>
|
<a href="#set">set</a><br>
|
||||||
|
<a href="#setdefaultattr">setdefaultattr</a><br>
|
||||||
<a href="#setstate">setstate</a><br>
|
<a href="#setstate">setstate</a><br>
|
||||||
<a href="#shutdown">shutdown</a><br>
|
<a href="#shutdown">shutdown</a><br>
|
||||||
<a href="#trigger">trigger</a><br>
|
|
||||||
<a href="#sleep">sleep</a><br>
|
<a href="#sleep">sleep</a><br>
|
||||||
|
<a href="#trigger">trigger</a><br>
|
||||||
<a href="#xmllist">xmllist</a><br>
|
<a href="#xmllist">xmllist</a><br>
|
||||||
|
|
||||||
<a href="#devspec">Device specification</a><br>
|
<a href="#devspec">Device specification</a><br>
|
||||||
<a href="#perl">Perl specials</a><br>
|
<a href="#perl">Perl specials</a><br>
|
||||||
|
|
||||||
@ -477,10 +478,10 @@ split in multiple lines<br><br>
|
|||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="defattr"></a>
|
<a name="setdefaultattr"></a>
|
||||||
<h3>defattr</h3>
|
<h3>setdefaultattr</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<code>defattr [<attrname> [<value>]] </code><br>
|
<code>setdefaultattr [<attrname> [<value>]] </code><br>
|
||||||
|
|
||||||
<br>Set the default attribute. Each device defined from now on will receive
|
<br>Set the default attribute. Each device defined from now on will receive
|
||||||
this attribute (see the <a href="#attr">attr</a> entry for details on
|
this attribute (see the <a href="#attr">attr</a> entry for details on
|
||||||
@ -491,12 +492,12 @@ split in multiple lines<br><br>
|
|||||||
Example to set the attribute "room kitchen" and "loglevel 4" to
|
Example to set the attribute "room kitchen" and "loglevel 4" to
|
||||||
each of the lamps:
|
each of the lamps:
|
||||||
<ul>
|
<ul>
|
||||||
<code>defattr room kitchen</code><br>
|
<code>setdefaultattr room kitchen</code><br>
|
||||||
<code>defattr loglevel 4</code><br>
|
<code>setdefaultattr loglevel 4</code><br>
|
||||||
<code>define lamp1 FS20 1234 11</code><br>
|
<code>define lamp1 FS20 1234 11</code><br>
|
||||||
<code>define lamp2 FS20 1234 12</code><br>
|
<code>define lamp2 FS20 1234 12</code><br>
|
||||||
<code>define lamp3 FS20 1234 13</code><br>
|
<code>define lamp3 FS20 1234 13</code><br>
|
||||||
<code>defattr</code><br>
|
<code>setdefaultattr</code><br>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
28
fhem.pl
28
fhem.pl
@ -67,7 +67,7 @@ sub PrintHash($$);
|
|||||||
sub devspec2array($);
|
sub devspec2array($);
|
||||||
|
|
||||||
sub CommandAttr($$);
|
sub CommandAttr($$);
|
||||||
sub CommandDefAttr($$);
|
sub CommandDefaultAttr($$);
|
||||||
sub CommandDefine($$);
|
sub CommandDefine($$);
|
||||||
sub CommandDeleteAttr($$);
|
sub CommandDeleteAttr($$);
|
||||||
sub CommandDelete($$);
|
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 $modpath_set; # Check if modpath was used, and report if not.
|
||||||
my $global_cl; # To use from perl snippets
|
my $global_cl; # To use from perl snippets
|
||||||
my $devcount = 0; # To sort the devices
|
my $devcount = 0; # To sort the devices
|
||||||
my %defattr; # Default attributes
|
my %defaultattr; # Default attributes
|
||||||
my %intAt; # Internal at timer hash.
|
my %intAt; # Internal at timer hash.
|
||||||
my $intAtCnt=0;
|
my $intAtCnt=0;
|
||||||
my $reread_active = 0;
|
my $reread_active = 0;
|
||||||
my $AttrList = "room comment";
|
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;
|
$init_done = 0;
|
||||||
|
|
||||||
@ -154,8 +154,6 @@ my %cmds = (
|
|||||||
Hlp=>",get this help" },
|
Hlp=>",get this help" },
|
||||||
"attr" => { Fn=>"CommandAttr",
|
"attr" => { Fn=>"CommandAttr",
|
||||||
Hlp=>"<devspec> <attrname> [<attrval>],set attribute for <devspec>" },
|
Hlp=>"<devspec> <attrname> [<attrval>],set attribute for <devspec>" },
|
||||||
"defattr" => { Fn=>"CommandDefAttr",
|
|
||||||
Hlp=>"<attrname> <attrvalue>,set attr for following definitions" },
|
|
||||||
"define" => { Fn=>"CommandDefine",
|
"define" => { Fn=>"CommandDefine",
|
||||||
Hlp=>"<name> <type> <options>,define a device/at/notify entity" },
|
Hlp=>"<name> <type> <options>,define a device/at/notify entity" },
|
||||||
"deleteattr" => { Fn=>"CommandDeleteAttr",
|
"deleteattr" => { Fn=>"CommandDeleteAttr",
|
||||||
@ -188,6 +186,8 @@ my %cmds = (
|
|||||||
Hlp=>"<devspec> <type dependent>,transmit code for <devspec>" },
|
Hlp=>"<devspec> <type dependent>,transmit code for <devspec>" },
|
||||||
"setstate"=> { Fn=>"CommandSetstate",
|
"setstate"=> { Fn=>"CommandSetstate",
|
||||||
Hlp=>"<devspec> <state>,set the state shown in the command list" },
|
Hlp=>"<devspec> <state>,set the state shown in the command list" },
|
||||||
|
"setdefaultattr" => { Fn=>"CommandDefaultAttr",
|
||||||
|
Hlp=>"<attrname> <attrvalue>,set attr for following definitions" },
|
||||||
"shutdown"=> { Fn=>"CommandShutdown",
|
"shutdown"=> { Fn=>"CommandShutdown",
|
||||||
Hlp=>",terminate the server" },
|
Hlp=>",terminate the server" },
|
||||||
"sleep" => { Fn=>"CommandSleep",
|
"sleep" => { Fn=>"CommandSleep",
|
||||||
@ -498,6 +498,8 @@ AnalyzeCommand($$)
|
|||||||
my ($fn, $param) = split("[ \t][ \t]*", $cmd, 2);
|
my ($fn, $param) = split("[ \t][ \t]*", $cmd, 2);
|
||||||
return if(!$fn);
|
return if(!$fn);
|
||||||
|
|
||||||
|
$fn = "setdefaultattr" if($fn eq "defattr"); # Compatibility mode
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# Search for abbreviation
|
# Search for abbreviation
|
||||||
if(!defined($cmds{$fn})) {
|
if(!defined($cmds{$fn})) {
|
||||||
@ -777,7 +779,7 @@ CommandSave($$)
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach my $r (sort keys %rooms) {
|
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}} ) {
|
foreach my $d (sort keys %{$rooms{$r}} ) {
|
||||||
next if($defs{$d}{VOLATILE});
|
next if($defs{$d}{VOLATILE});
|
||||||
if($defs{$d}{DEF}) {
|
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"
|
print SFH "include $attr{global}{lastinclude}\n"
|
||||||
if($attr{global}{lastinclude});
|
if($attr{global}{lastinclude});
|
||||||
@ -957,8 +959,8 @@ CommandDefine($$)
|
|||||||
if($ret) {
|
if($ret) {
|
||||||
delete $defs{$a[0]}
|
delete $defs{$a[0]}
|
||||||
} else {
|
} else {
|
||||||
foreach my $da (sort keys (%defattr)) { # Default attributes
|
foreach my $da (sort keys (%defaultattr)) { # Default attributes
|
||||||
CommandAttr($cl, "$a[0] $da $defattr{$da}");
|
CommandAttr($cl, "$a[0] $da $defaultattr{$da}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
@ -1423,17 +1425,17 @@ CommandAttr($$)
|
|||||||
#####################################
|
#####################################
|
||||||
# Default Attr
|
# Default Attr
|
||||||
sub
|
sub
|
||||||
CommandDefAttr($$)
|
CommandDefaultAttr($$)
|
||||||
{
|
{
|
||||||
my ($cl, $param) = @_;
|
my ($cl, $param) = @_;
|
||||||
|
|
||||||
my @a = split(" ", $param, 2);
|
my @a = split(" ", $param, 2);
|
||||||
if(int(@a) == 0) {
|
if(int(@a) == 0) {
|
||||||
%defattr = ();
|
%defaultattr = ();
|
||||||
} elsif(int(@a) == 1) {
|
} elsif(int(@a) == 1) {
|
||||||
$defattr{$a[0]} = 1;
|
$defaultattr{$a[0]} = 1;
|
||||||
} else {
|
} else {
|
||||||
$defattr{$a[0]} = $a[1];
|
$defaultattr{$a[0]} = $a[1];
|
||||||
}
|
}
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ attr global verbose 3
|
|||||||
|
|
||||||
define FHZ FHZ none
|
define FHZ FHZ none
|
||||||
|
|
||||||
defattr
|
|
||||||
define btn4 FS20 1234 03
|
define btn4 FS20 1234 03
|
||||||
define cellar FS20 1234 13
|
define cellar FS20 1234 13
|
||||||
define fl FHT 1236
|
define fl FHT 1236
|
||||||
@ -19,4 +18,3 @@ define tf1 HMS 1237
|
|||||||
define window.lamp FS20 1234 02
|
define window.lamp FS20 1234 02
|
||||||
define wz FHT 1235
|
define wz FHT 1235
|
||||||
define x SCIVT none
|
define x SCIVT none
|
||||||
defattr
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user