Gelöst! CUL_TCM97001 Auriol/Mebus werden nicht mehr eingelesen

Begonnen von Funsailor, 10 Oktober 2017, 23:38:38

Vorheriges Thema - Nächstes Thema

Funsailor

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
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -