From 3ca5cce80e18950353a2d9837c7e13ea0eefd672 Mon Sep 17 00:00:00 2001 From: kaihs Date: Wed, 13 Aug 2014 20:22:29 +0000 Subject: [PATCH] WMBus.pm, fix incorrect decoding of IdentNumber git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@6404 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/WMBus.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/WMBus.pm b/fhem/FHEM/WMBus.pm index 0845a93d1..975b023eb 100644 --- a/fhem/FHEM/WMBus.pm +++ b/fhem/FHEM/WMBus.pm @@ -904,8 +904,9 @@ sub decodeLinkLayer($$) $self->{datablocks}++ if $self->{datalen} % 18 != 0; - ($self->{lfield}, $self->{cfield}, $self->{mfield}, $self->{afield_id}, $self->{afield_ver}, $self->{afield_type}, - $self->{crc0}) = unpack('CCvLCCn', $linklayer); + ($self->{lfield}, $self->{cfield}, $self->{mfield}) = unpack('CCv', $linklayer); + $self->{afield_id} = $self->decodeBCD(8,substr($linklayer,4,4)); + ($self->{afield_ver}, $self->{afield_type}, $self->{crc0}) = unpack('CCn', substr($linklayer,8,4)); #printf("lfield %d\n", $self->{lfield}); #printf("crc0 %x calc %x\n", $self->{crc0}, $self->checkCRC(substr($linklayer,0,10)));