Erweiterung 00_CUL.pm für IT und Revolt

Begonnen von mehf, 03 September 2013, 22:24:02

Vorheriges Thema - Nächstes Thema

mehf

Hallo Rudolf.

Hier mein Vorschlag zur Erweiterung von 00_CUL.pm, um die CUL messages für IT (i...) und Revolt NC-5462 (r....) an die entsprechenden Module weiter zu geben.


--- /tmp/00_CUL-HEAD.3.pm
+++ /home/martin/src/fhemsvn/fhem/FHEM/00_CUL.pm
@@ -47,7 +47,7 @@
 
 my $clientsSlowRF = ":FS20:FHT.*:KS300:USF1000:BS:HMS: " .
                     ":CUL_EM:CUL_WS:CUL_FHTTK:CUL_RFR:CUL_HOERMANN: " .
-                    ":ESA2000:CUL_IR:CUL_TX:";
+                    ":ESA2000:CUL_IR:CUL_TX:Revolt:IT";
 
 my $clientsHomeMatic = ":CUL_HM:HMS:CUL_IR:";  # OneWire emulated as HMS on a CUNO
 
@@ -68,6 +68,8 @@
     "C:ESA2000"   => "^S................................\$",
     "D:CUL_IR"    => "^I............",
     "E:CUL_TX"    => "^TX[A-F0-9]{10}",
+    "F:Revolt"    => "^r......................\$",
+    "G:IT"        => "^i......\$"
 );
 my %matchListHomeMatic = (
     "1:CUL_HM" => "^A....................",
 
 
@@ -853,7 +855,7 @@
   my $rssi;
 
   my $dmsg = $rmsg;
-  if($dmsg =~ m/^[AFTKEHRStZ]([A-F0-9][A-F0-9])+$/) { # RSSI
+  if($dmsg =~ m/^[AFTKEHRStZri]([A-F0-9][A-F0-9])+$/) { # RSSI
     my $l = length($dmsg);
     $rssi = hex(substr($dmsg, $l-2, 2));
     $dmsg = substr($dmsg, 0, $l-2);
@@ -919,7 +921,10 @@
       $dmsg = lc($dmsg);
     }
     # Other K... Messages ar sent to CUL_WS
-
+  } elsif($fn eq "r" && $len >= 23) {              # Revolt
+    $dmsg = lc($dmsg);
+  } elsif($fn eq "i" && $len >= 7) {              # IT
+    $dmsg = lc($dmsg);
   } elsif($fn eq "S" && $len >= 33) {              # CUL_ESA / ESA2000 / Native
     ;
   } elsif($fn eq "E" && $len >= 11) {              # CUL_EM / Native
 


Viele Grüße
martin

rudolfkoenig