Negative Temperaturen

Werte Forenmitglieder,

ich habe zu meinem Thema im Forum zwei Beiträge gefunden, die mir aber leider nicht weiterhelfen und bitte um Hilfe.

Ich lese seit zwei Jahren meine Außentemperatur über meine Heizingsanlage korrekt aus. Dies geschieht mittels Script über die Java bereitgestellten Daten der Heizungsanlage. Seit dem Update auf die Version 5 werden ausschließlich Negative Temperaturen in IpSymcon falsch angezeigt. Muss ich bestimmte Einstellungen ändern?

<?php
//includes
$IpWwc = "192.168.2.155"; // IP der Wärmepumpe
$WwcJavaPort = "8889"; // Port der Wärmepumpe
 include"25100.ips.php";

//Dummy Modul anlegen als Heimat der Messdaten im Selben Pfad wie das Script 
$parentobject = IPS_GetObject($_IPS['SELF']); 
$parentID = $parentobject['ParentID']; 

//Variablen 
$sBuff = 0; 
$time1 = time(); 
$filename = "test.tst"; 
$JavaWerte = 0; 
$refreshtime = 5; //sekunden 

echo '<meta http-equiv="refresh" content="5" >'; 

// connecten 
$socket = socket_create(AF_INET, SOCK_STREAM,0); 
$connect = socket_connect($socket, $IpWwc, $WwcJavaPort) || exit("socket_connect fehlgeschlagen"); 


if ($connect = 1) 
    echo "PASS: Verbunden mit WWC Java Console $IpWwc Port: $WwcJavaPort <br>"; 
else 
    echo "ERROR: Nicht verbunden mit WWC Java Console  <br>"; 

$timestamp= time(); 
$datum = date("d.m.Y",$timestamp); 
$uhrzeit = date("H:i:s",$timestamp); 
printf('============================================================== <br>'); 
printf('Ausleszeit: %s - %s Uhr <br>',$datum,$uhrzeit); 
printf('Refresh alle 5s !<br>'); 
printf('! TEST !<br>'); 
printf('============================================================== <br>'); 
//--------------------------------------------------------------------------- 

// Daten holen 
$msg = pack('N*',3004); 
//printf('msg:%s <br>',$msg); 
$send=socket_write($socket, $msg, 4); //3004 senden 
//printf('Bytes send:%d <br>',$send); 


$msg = pack('N*',0); 
//printf('msg:%s <br>',ord($msg)); 
$send=socket_write($socket, $msg, 4); //0 senden 
//printf('Bytes send:%d <br>',$send); 


socket_recv($socket,$Test,4,MSG_WAITALL);  // Lesen, sollte 3004 zurückkommen 
$Test = unpack('N*',$Test); 
//printf('read:%s <br>',implode($Test)); 

socket_recv($socket,$Test,4,MSG_WAITALL); // Status 
$Test = unpack('N*',$Test); 
printf('Status:%s <br>',implode($Test)); 

socket_recv($socket,$Test,4,MSG_WAITALL); // Länge der nachfolgenden Werte 
$Test = unpack('N*',$Test); 
printf('Länge der nachfolgenden Werte:%s <br>',implode($Test)); 

$JavaWerte = implode($Test); 
printf('============================================================== <br>'); 

for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts 
{ 
socket_recv($socket,$InBuff[$i],4,MSG_WAITALL);  // Lesen, sollte 3004 zurückkommen 
$daten_raw[$i] = implode(unpack('N*',$InBuff[$i])); 
//printf('InBuff(%d): %d <br>',$i,$daten_raw[$i]); 
} 
//socket wieder schliessen 
socket_close($socket); 

// Werte anzeigen 
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts 
{ 
if ($i >= 10 & $i <= 28) // Temperaturen 
    {($daten_raw[$i] = $daten_raw[$i]*0.1); 
      //printf('(%d)%s : %.1f &#176C<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
      $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "Temperatur_200_C", $i);//float 
      setValueFloat($varid,$daten_raw[$i]); 
    } 
if ($i == 56) // Zähler 
    {($daten_raw[$i] = $daten_raw[$i]/3600); 
      //printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
      $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float 
      setValueFloat($varid,$daten_raw[$i]); 
    } 
if ($i == 57) // Zähler 
    {($daten_raw[$i] = $daten_raw[$i]); 
      //printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
      $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float 
      setValue($varid,$daten_raw[$i]); 
    } 
if ($i == 58) // Zähler 
    {($daten_raw[$i] = $daten_raw[$i]/3600); 
      //printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
      $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float 
      setValueFloat($varid,$daten_raw[$i]); 
    } 
if ($i == 59) // Zähler 
    {($daten_raw[$i] = $daten_raw[$i]); 
      //printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
       $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float 
      setValue($varid,$daten_raw[$i]); 
    } 
if ($i >= 60 & $i <= 66) // Zähler 
    {($daten_raw[$i] = $daten_raw[$i]/3600); 
      //printf('(%d)%s : %d h<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
       $varid = CreateVariableByName($parentID, $java_dataset[$i], 2, 'WP_'.$java_dataset[$i], "", $i);//float 
      setValueFloat($varid,$daten_raw[$i]); 
    } 
if ($i >= 95 & $i <= 99) // Errors 
    { 
      //printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
       $varid = CreateVariableByName($parentID, $java_dataset[$i], 3, 'WP_'.$java_dataset[$i], "", $i);//integer 
        $FehlerDatum = date("m.d.y",$daten_raw[$i]); 
        setValueString($varid,$FehlerDatum); 
    } 

if ($i >= 100 & $i <= 105) // Errors 
    { 
      //printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]); 
       $varid = CreateVariableByName($parentID, $java_dataset[$i], 3, 'WP_'.$java_dataset[$i], "", $i);//integer 
        setValueString($varid,$daten_raw[$i]); 
    } 
} 

function CreateVariableByName($id, $name, $type, $ident, $profile, $position) 
{ 
    $vid = @IPS_GetObjectIDByIdent ($ident, $id); 
    if($vid === false) 
    { 
        $vid = IPS_CreateVariable($type); 
        IPS_SetParent($vid, $id); 
        IPS_SetName($vid, $name); 
        IPS_SetIdent($vid, $ident); 
        IPS_SetInfo($vid, ""); 
        IPS_SetPosition($vid, $position); 

          if($profile !== "") 
        { 
            IPS_SetVariableCustomProfile($vid, $profile); 
        } 
    } 
    return $vid; 
} 
?>