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:
@@ -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};
|
||||
|
||||
Reference in New Issue
Block a user