mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 18:59:33 +00:00
00_CUL.pm: WMBUS RSSI Patch (Forum #26829)
git-svn-id: https://svn.fhem.de/fhem/trunk@6511 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a683e0fa47
commit
549f08cbf9
@ -786,7 +786,7 @@ CUL_Parse($$$$@)
|
|||||||
my $dmsgLog = (AttrVal($name,"rfmode","") eq "HomeMatic")
|
my $dmsgLog = (AttrVal($name,"rfmode","") eq "HomeMatic")
|
||||||
? join(" ",(unpack'A1A2A2A4A6A6A*',$rmsg))
|
? join(" ",(unpack'A1A2A2A4A6A6A*',$rmsg))
|
||||||
:$dmsg;
|
:$dmsg;
|
||||||
if($dmsg =~ m/^[AFTKEHRStZri]([A-F0-9][A-F0-9])+$/) { # RSSI
|
if($dmsg =~ m/^[AFTKEHRStZrib]([A-F0-9][A-F0-9])+$/) { # RSSI
|
||||||
my $l = length($dmsg);
|
my $l = length($dmsg);
|
||||||
$rssi = hex(substr($dmsg, $l-2, 2));
|
$rssi = hex(substr($dmsg, $l-2, 2));
|
||||||
$dmsg = substr($dmsg, 0, $l-2);
|
$dmsg = substr($dmsg, 0, $l-2);
|
||||||
@ -878,7 +878,7 @@ CUL_Parse($$$$@)
|
|||||||
} elsif($fn eq "Z" && $len >= 21) { # Moritz/Max
|
} elsif($fn eq "Z" && $len >= 21) { # Moritz/Max
|
||||||
;
|
;
|
||||||
} elsif($fn eq "b" && $len >= 24) { # Wireless M-Bus
|
} elsif($fn eq "b" && $len >= 24) { # Wireless M-Bus
|
||||||
;
|
$dmsg .= "::$rssi" if (defined($rssi));
|
||||||
} elsif($fn eq "t" && $len >= 5) { # TX3
|
} elsif($fn eq "t" && $len >= 5) { # TX3
|
||||||
$dmsg = "TX".substr($dmsg,1); # t.* is occupied by FHTTK
|
$dmsg = "TX".substr($dmsg,1); # t.* is occupied by FHTTK
|
||||||
} else {
|
} else {
|
||||||
@ -1002,7 +1002,7 @@ CUL_Attr(@)
|
|||||||
if($hash->{CMDS} =~ m/b/ || IsDummy($hash->{NAME}) || !$hash->{FD}) {
|
if($hash->{CMDS} =~ m/b/ || IsDummy($hash->{NAME}) || !$hash->{FD}) {
|
||||||
$hash->{Clients} = $clientsWMBus;
|
$hash->{Clients} = $clientsWMBus;
|
||||||
$hash->{MatchList} = \%matchListWMBus;
|
$hash->{MatchList} = \%matchListWMBus;
|
||||||
$hash->{initString} = "brs"; # Use S-Mode
|
$hash->{initString} = "X21\nbrs"; # Use S-Mode, X21 is needed for RSSI reporting
|
||||||
CUL_WriteInit($hash);
|
CUL_WriteInit($hash);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -1014,7 +1014,7 @@ CUL_Attr(@)
|
|||||||
if($hash->{CMDS} =~ m/b/ || IsDummy($hash->{NAME}) || !$hash->{FD}) {
|
if($hash->{CMDS} =~ m/b/ || IsDummy($hash->{NAME}) || !$hash->{FD}) {
|
||||||
$hash->{Clients} = $clientsWMBus;
|
$hash->{Clients} = $clientsWMBus;
|
||||||
$hash->{MatchList} = \%matchListWMBus;
|
$hash->{MatchList} = \%matchListWMBus;
|
||||||
$hash->{initString} = "brt"; # Use T-Mode
|
$hash->{initString} = "X21\nbrt"; # Use T-Mode, X21 is needed for RSSI reporting
|
||||||
CUL_WriteInit($hash);
|
CUL_WriteInit($hash);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user