From 03d0ac1f944cea6173bda51b170e09e000dbad8d Mon Sep 17 00:00:00 2001 From: dancer0705 Date: Sun, 11 Dec 2016 13:56:33 +0000 Subject: [PATCH] 14_CUL_TCM97001.pm: Fix checksum calculation for GT_WT_02 git-svn-id: https://svn.fhem.de/fhem/trunk@12742 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/14_CUL_TCM97001.pm | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 50020eaab..4d8f88544 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 14_CUL_TCM97001: Fix checksum calculation for GT_WT_02 - change: 10_IT: Implementation for HE800 de-/encoding Implementation for HE800 dimmer Fix wrong return values diff --git a/fhem/FHEM/14_CUL_TCM97001.pm b/fhem/FHEM/14_CUL_TCM97001.pm index d2f4bd6fa..4025bdd10 100755 --- a/fhem/FHEM/14_CUL_TCM97001.pm +++ b/fhem/FHEM/14_CUL_TCM97001.pm @@ -202,9 +202,10 @@ sub checkCRC_Mebus { sub checkCRC_GTWT02 { my $msg = shift; my @a = split("", $msg); - my $CRC = (hex($a[0])+hex($a[1])+hex($a[2])+hex($a[3]) - +hex($a[4])+hex($a[5])+hex($a[6])+hex($a[7])) -1; + +hex($a[4])+hex($a[5])+hex($a[6])+(hex($a[7]) & 0xE)); +# my $CRC = (hex($a[0])+hex($a[1])+hex($a[2])+hex($a[3]) +# +hex($a[4])+hex($a[5])+hex($a[6])+hex($a[7])) -1; my $CRCCHECKVAL= (hex($a[7].$a[8].$a[9]) & 0x1F8) >> 3; if ($CRC == $CRCCHECKVAL) { return TRUE; @@ -1247,6 +1248,8 @@ CUL_TCM97001_Parse($$) =pod +=item summary This module interprets temperature sensor messages. +=item summary_DE Module verarbeitet empfangene Nachrichten von Temp-Sensoren. =begin html