CUL/CUN Auslesescript für EM1000 System

Hier ist ein Patch. Ungetestet, da ich keine Gassensoren habe.
Plus bedeutet Zeile dazu, Minus Zeile geht weg.


diff --git a/scripts/cun/CUL_RegVar.php b/scripts/cun/CUL_RegVar.php
index 72f0f88..5edcdbc 100644
--- a/scripts/cun/CUL_RegVar.php
+++ b/scripts/cun/CUL_RegVar.php
@@ -110,6 +110,7 @@ elseif ($IPS_SENDER == "RegisterVariable")
       //  E0101E2997805002F02
 			$type=substr($line,2,1);
 			$addr=substr($line,3,2);
+			$addr_num=hexdec($addr);
 			$catname='EM1010CUL';
 			$sensorname='EM1010 Sensor';
 			$vartypes=array(  'ID'=>array('type'=>3,'profile'=>''),
@@ -140,19 +141,19 @@ elseif ($IPS_SENDER == "RegisterVariable")
 			corr2 is the correction factor for energy
 			*/
 			$cfnew=(($cf1==0)||($cf2==0));
-			if($addr >= 1 && $addr <= 4) {                // EMWZ: nRotation in 5 minutes
+			if($addr_num >= 1 && $addr_num <= 4) {                // EMWZ: nRotation in 5 minutes
     				$cf1 = ($cf1 ? $cf1 : 150);					//Zählerkonstanzte U/kwh
     				$cf2 = ($cf2 ? $cf2 : 150);
     				$corr1=12/$cf1;
     				$corr2=1/$cf2;
 
-	  		} elseif ($addr >= 5 && $addr <= 8) {          // EMEM
+	  		} elseif ($addr_num >= 5 && $addr_num <= 8) {          // EMEM
 		   		$cf1 = ($cf1 ? $cf1 : 0.01);
     				$cf2 = ($cf2 ? $cf2 : 0.001);
     				$corr1=$cf1;
     				$corr2=$cf2;
 
-	  		} elseif($addr >= 9 && $addr <= 12) {          // EMGZ: 0.01
+	  		} elseif($addr_num >= 9 && $addr_num <= 12) {          // EMGZ: 0.01
    	 		$cf1 = ($cf1 ? $cf1 : 0.01);
     			$cf2 = ($cf2 ? $cf2 : 0.01);
     			$corr1=$cf1;


Tommi

Hi Tommy.

Sorry erst mal für das späte Feedback. war ein wenig im Stress und hab dann auch nicht mehr dran gedacht. Asche auf mein Haupt.
Das Skipt funktioniert jetzt prima!

Hi Tommi

Seit gestern funktionieren meine EM1010 Sensoren mit dem Script nicht mehr.
Ich bekomme eine Meldung, dass eine Datei nicht gefunden wird, obwohl ich nichts am System verändert habe. Der Stromsensor ist sogar komplett aus IPS verschwunden. ?!? Ich stehe gerade irgendie wie die Sau vorm Uhrwerk und weiß nicht was da passiert ist. Die Fehlermeldungen sind allerdings auch nicht sehr aussagekräftig.

Hättest du da einen Ansatzpunkt wo ich da mit suchen anfangen kann.

Schau doch mal nach, ob wirklich das CUL_Event Script im Eventcontrol dem CUL zugeordnet ist und ob Du das an der Script angegebenen Stelle öffnen kannst (siehe http://www.tdressler.net/ipsymcon/cun_ips.html).

Bei der Gelegenheit kannst Du auch schauen, ob sich evtl. der für CUL konfigurierte serielle Port geändert hat.

Tommi

Die Meldung bedeutet das der COM-Port nicht mehr existiert.
Michael