added: AttrFn

git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@3628 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
betateilchen
2013-08-08 19:14:42 +00:00
parent d33af4b8db
commit 7508e9e5c0

View File

@@ -36,9 +36,16 @@ use Net::FTP;
use List::MoreUtils 'first_index';
use XML::Simple;
sub GDS_Define($$$);
sub GDS_Undef($$);
sub GDS_Set($@);
sub GDS_Get($@);
sub GDS_Attr(@);
sub getListStationsDropdown();
sub buildCAPList();
my $bulaList = "Baden-Württemberg,Bayern,Berlin,Brandenburg,Bremen,".
"Hamburg,Hessen,Mecklenburg-Vorpommern,Niedersachsen,".
"Nordrhein-Westfalen,Rheinland-Pfalz,Saarland,Sachsen,".
@@ -188,13 +195,13 @@ sub GDS_Initialize($) {
$hash->{UndefFn} = "GDS_Undef";
$hash->{GetFn} = "GDS_Get";
$hash->{SetFn} = "GDS_Set";
$hash->{AttrFn} = "GDS_Attr";
$hash->{AttrList} = "loglevel:0,1,2,3,4,5 ".
"gdsFwName gdsFwType:0,1,2,3,4,5,6,7 ".
"gdsAll:0,1 gdsDebug:0,1 gdsLong:0,1 gdsPolygon:0,1 ".
$readingFnAttributes;
}
sub GDS_Define($$$) {
my ($hash, $def) = @_;
my @a = split("[ \t][ \t]*", $def);
@@ -216,7 +223,6 @@ sub GDS_Define($$$) {
return undef;
}
sub GDS_Undef($$) {
my ($hash, $arg) = @_;
@@ -224,6 +230,20 @@ sub GDS_Undef($$) {
return undef;
}
sub GDS_Attr(@){
my @a = @_;
my $hash = $defs{$a[1]};
my (undef, $name, $attrName, $attrValue) = @a;
given($attrName){
when("gdsDebug"){
CommandDeleteReading(undef, "$name _dF.*") if($attrValue != 1);
break;
}
default {$attr{$name}{$attrName} = $attrValue;}
}
return "";
}
sub GDS_GetUpdate($) {
my ($hash) = @_;
@@ -242,7 +262,6 @@ sub GDS_GetUpdate($) {
return 1;
}
sub GDS_Get($@) {
my ($hash, @a) = @_;
my $command = lc($a[1]);
@@ -322,7 +341,6 @@ sub GDS_Get($@) {
return $result;
}
sub GDS_Set($@) {
my ($hash, @a) = @_;
my $name = $hash->{NAME};