mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
bugfix
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1253 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
884a5393f5
commit
ef4fea91d7
@ -276,70 +276,41 @@ EIB_Parse($$)
|
|||||||
my @list;
|
my @list;
|
||||||
my $found = 0;
|
my $found = 0;
|
||||||
|
|
||||||
my $def = $modules{EIB}{defptr}{"$dev"};
|
# check if the code is within the read groups
|
||||||
if($def) {
|
# we will inform all definitions subsribed to this code
|
||||||
foreach my $n (keys %{ $def }) {
|
foreach my $mod (keys %{$modules{EIB}{defptr}})
|
||||||
my $lh = $def->{$n};
|
{
|
||||||
$n = $lh->{NAME}; # It may be renamed
|
my $def = $modules{EIB}{defptr}{"$mod"};
|
||||||
|
if($def) {
|
||||||
return "" if(IsIgnored($n)); # Little strange.
|
foreach my $n (keys %{ $def }) {
|
||||||
|
my $lh = $def->{$n};
|
||||||
# parse/translate by datapoint type
|
foreach my $c (keys %{ $lh->{CODE} } )
|
||||||
$v = EIB_ParseByDatapointType($lh,$n,$v);
|
{
|
||||||
|
$c = $lh->{CODE}{$c};
|
||||||
$lh->{CHANGED}[0] = $v;
|
if($c eq $dev)
|
||||||
$lh->{STATE} = $v;
|
{
|
||||||
$lh->{RAWSTATE} = $rawv;
|
$n = $lh->{NAME}; # It may be renamed
|
||||||
$lh->{LASTGROUP} = $dev;
|
|
||||||
$lh->{READINGS}{state}{TIME} = TimeNow();
|
return "" if(IsIgnored($n)); # Little strange.
|
||||||
$lh->{READINGS}{state}{VAL} = $v;
|
|
||||||
|
# parse/translate by datapoint type
|
||||||
Log 2, "EIB $n $v";
|
$v = EIB_ParseByDatapointType($lh,$n,$v);
|
||||||
|
|
||||||
push(@list, $n);
|
$lh->{CHANGED}[0] = $v;
|
||||||
$found = 1;
|
$lh->{STATE} = $v;
|
||||||
|
$lh->{RAWSTATE} = $rawv;
|
||||||
|
$lh->{LASTGROUP} = $dev;
|
||||||
|
$lh->{READINGS}{state}{TIME} = TimeNow();
|
||||||
|
$lh->{READINGS}{state}{VAL} = $v;
|
||||||
|
Log 2, "EIB $n $v";
|
||||||
|
|
||||||
|
push(@list, $n);
|
||||||
|
$found = 1;
|
||||||
|
}
|
||||||
|
}}
|
||||||
}
|
}
|
||||||
#return @list;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
# check also the further codes
|
|
||||||
{
|
|
||||||
# check if the code is within the read groups
|
|
||||||
|
|
||||||
foreach my $mod (keys %{$modules{EIB}{defptr}})
|
|
||||||
{
|
|
||||||
my $def = $modules{EIB}{defptr}{"$mod"};
|
|
||||||
if($def) {
|
|
||||||
my @list;
|
|
||||||
foreach my $n (keys %{ $def }) {
|
|
||||||
my $lh = $def->{$n};
|
|
||||||
foreach my $c (keys %{ $lh->{CODE} } )
|
|
||||||
{
|
|
||||||
$c = $lh->{CODE}{$c};
|
|
||||||
if($c eq $dev)
|
|
||||||
{
|
|
||||||
$n = $lh->{NAME}; # It may be renamed
|
|
||||||
|
|
||||||
return "" if(IsIgnored($n)); # Little strange.
|
|
||||||
|
|
||||||
# parse/translate by datapoint type
|
|
||||||
$v = EIB_ParseByDatapointType($lh,$n,$v);
|
|
||||||
|
|
||||||
$lh->{CHANGED}[0] = $v;
|
|
||||||
$lh->{STATE} = $v;
|
|
||||||
$lh->{RAWSTATE} = $rawv;
|
|
||||||
$lh->{LASTGROUP} = $dev;
|
|
||||||
$lh->{READINGS}{state}{TIME} = TimeNow();
|
|
||||||
$lh->{READINGS}{state}{VAL} = $v;
|
|
||||||
Log 2, "EIB $n $v";
|
|
||||||
|
|
||||||
push(@list, $n);
|
|
||||||
$found = 1;
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return @list if $found>0;
|
return @list if $found>0;
|
||||||
|
|
||||||
@ -349,9 +320,7 @@ EIB_Parse($$)
|
|||||||
Log(3, "EIB Unknown device $dev ($dev_name), Value $val, please define it");
|
Log(3, "EIB Unknown device $dev ($dev_name), Value $val, please define it");
|
||||||
return "UNDEFINED EIB_$dev EIB $dev";
|
return "UNDEFINED EIB_$dev EIB $dev";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub
|
sub
|
||||||
|
Loading…
x
Reference in New Issue
Block a user