Hallo,
seit einiger Zeit gehen die CUL_TCM97001 nach einem Fhem - Update nicht mehr.
Ich habe folgende Codesequenz im Verdacht:
#
# CRC 4 check for PFR-130
# xor 4 bits of nibble 0 to 7
#
sub checkCRC4 {
my $msg = shift;
my @a = split("", $msg);
if(scalar(@a)<9){
Log3 "checkCRC4", 5, "CUL_TCM97001 failed for msg=($msg) length<9";
return FALSE;
}
# xor nibbles 0 to 7 and compare to n8, if more nibble they might have been added to fill gap
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])) );
if ($CRC == (hex($a[8]))) {
Log3 "checkCRC4", 5, "CUL_TCM97001 OK for msg=($msg)";
return TRUE;
}
Log3 "checkCRC4", 5, "CUL_TCM97001 FAILED for msg=($msg)";
return FALSE;
}
#
# CRC 4 check for PFR-130
# xor 4 bits of nibble 0 to 7
#
sub isRain {
my $msg = shift;
my @a = split("", $msg);
if(scalar(@a)<9){
Log3 "isRain", 5, "isRain: CUL_TCM97001 failed for msg=($msg) length<9";
return FALSE;
}
# if bit 0 of nibble 2 is 1 then this is no rain data
my $isRainData = ( (hex($a[2]) & 1) );
if ($isRainData == 1) {
Log3 "isRain", 5, "isRain: CUL_TCM97001 for msg=($msg) = FALSE";
return FALSE;
}
Log3 "isRain", 5, "isRain: CUL_TCM97001 for msg=($msg) = TRUE";
return TRUE;
}
den wenn ich die Version vom z.B.:07032017 einspiele gehen die Mebus/Auriol Temperaturgeber wieder!
Kann da mal jemand nachschauen!
Lösung: Ist schon eine Weile her, aber die neuen FHEM - Module benötigen auch die neue Firmware im MapleCUL