mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 19:32:42 +00:00
Bugfixes
git-svn-id: https://svn.fhem.de/fhem/trunk@638 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
21bcbbbb8e
commit
96ac7c0444
@ -39,8 +39,6 @@ use vars qw(%defs);
|
|||||||
use vars qw(%attr);
|
use vars qw(%attr);
|
||||||
use vars qw(%data);
|
use vars qw(%data);
|
||||||
use vars qw(%modules);
|
use vars qw(%modules);
|
||||||
# Reverse-Lokup-Pointer
|
|
||||||
my %defptr;
|
|
||||||
################################################################################
|
################################################################################
|
||||||
sub WBS_Initialize($)
|
sub WBS_Initialize($)
|
||||||
{
|
{
|
||||||
@ -55,7 +53,8 @@ sub WBS_Initialize($)
|
|||||||
my $mod = "WBS";
|
my $mod = "WBS";
|
||||||
foreach my $d (sort keys %defs) {
|
foreach my $d (sort keys %defs) {
|
||||||
next if($defs{$d}{TYPE} ne $mod);
|
next if($defs{$d}{TYPE} ne $mod);
|
||||||
$hash->{defptr}{$defs{$d}{CODE}} = $defs{$d}{NAME};
|
Log 0, "WBS-DEFPTR-FOUND: " . $defs{$d}{NAME} . " : " . $defs{$d}{CODE};
|
||||||
|
$modules{WBS}{defptr}{$defs{$d}{CODE}} = $defs{$d}{NAME};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -64,13 +63,12 @@ sub WBS_Define($)
|
|||||||
# define <NAME> WBS TYPE CODE
|
# define <NAME> WBS TYPE CODE
|
||||||
my ($self, $defs) = @_;
|
my ($self, $defs) = @_;
|
||||||
Log 0, "WBS|DEFINE: " . Dumper(@_);
|
Log 0, "WBS|DEFINE: " . Dumper(@_);
|
||||||
Log 0, "WBS|DEFPTR: " . Dumper(%defptr);
|
|
||||||
my @a = split(/ /, $defs);
|
my @a = split(/ /, $defs);
|
||||||
return "WBS|Define|ERROR: Unknown argument count " . int(@a) . " , usage define <NAME> WBS TYPE CODE" if(int(@a) != 4);
|
return "WBS|Define|ERROR: Unknown argument count " . int(@a) . " , usage define <NAME> WBS TYPE CODE" if(int(@a) != 4);
|
||||||
my $mod = $a[1];
|
my $mod = $a[1];
|
||||||
my $Type = $a[2];
|
my $Type = $a[2];
|
||||||
my $Code = $a[3];
|
my $Code = $a[3];
|
||||||
if(defined($modules{$mod}{defptr}{$Code})) {
|
if(defined($modules{WBS}{defptr}{$Code})) {
|
||||||
return "WBS|Define|ERROR: Code is used";
|
return "WBS|Define|ERROR: Code is used";
|
||||||
}
|
}
|
||||||
if(length($Code) > 16) {
|
if(length($Code) > 16) {
|
||||||
@ -81,8 +79,7 @@ sub WBS_Define($)
|
|||||||
$self->{WBS_TYPE} = $Type;
|
$self->{WBS_TYPE} = $Type;
|
||||||
$self->{READINGS}{$Type}{VAL} = 0;
|
$self->{READINGS}{$Type}{VAL} = 0;
|
||||||
$self->{READINGS}{$Type}{TIME} = TimeNow();
|
$self->{READINGS}{$Type}{TIME} = TimeNow();
|
||||||
$defptr{$Code} = $self;
|
$modules{WBS}{defptr}{$Code} = $self->{NAME};
|
||||||
Log 0, "WBS|DEFPTR: " . Dumper(%defptr);
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -127,7 +124,7 @@ sub WBS_Parse($$)
|
|||||||
$wbs->{READINGS}{$reading}{TIME} = TimeNow();
|
$wbs->{READINGS}{$reading}{TIME} = TimeNow();
|
||||||
# State: [FirstChar READING]:VALUE
|
# State: [FirstChar READING]:VALUE
|
||||||
my $fc = uc(substr($reading,0,1));
|
my $fc = uc(substr($reading,0,1));
|
||||||
$wbs->{STATE} = "$fc: $value";
|
$wbs->{STATE} = "$fc: $value | " . TimeNow();
|
||||||
# Changed
|
# Changed
|
||||||
$wbs->{CHANGED}[0] = "$reading:$value";
|
$wbs->{CHANGED}[0] = "$reading:$value";
|
||||||
return $wbs_name;
|
return $wbs_name;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user