Registervariable Message Eintrag in Log-File

Hallo,

habe bei einer Registervariablen dauernd bei Änderung einen Log-File-Eintrag.
Hat jemand eine Idee wie man das abstellen könnte ?

Gruß
zkra

002.png

Hallo zkra,

Logfile Einträge abschalten.

Gruß

Hallo Attain,

ja das Thema kenne ich, meine Einstellungen in der Setttings.xml

<Kernel>
  <LogfileVerbose Value="0"/>
  <VariableWatch Value="0"/>
  <ThreadCount Value="10"/>
  <ScriptWatch Value="0"/>
  <SaveInterval Value="10"/>
</Kernel>

PS: Der Eintrag erfolgt nur bei einer Registervariablen, bei anderen erfolgen keine Log-Einträge.

Gruß
zkra

Hallo zkra,

so hab ich das auch.

Ursache ist aber das Script und nicht die Variable.(Sieht man im Logfile an der ID).
Schau mal ob Du das in dem Script hast:

echo $IPS_VALUE;

Das macht so einen Eintrag.

Gruß

Hallo Attain,

einen echo Befehl habe ich nicht gefunden

hier der Code

<?

// Messswerte lesen
// Messwerte 1-Wire Temperaturen

// Daten in Array einlesen
$empfang = array();
$empfang = $IPS_VALUE;
$empfang_array = explode(";", $empfang);
$empfang_error = 1;

//$empfang = GetValueString("ZK_Micro01_lesen");
//$empfang_array = explode(";",$empfang);
  
if ($empfang_array[0] == "1W18B20") {
  $Data_anzahl = $empfang_array[2];
  $Data_first = 3;
  $Data_last = $Data_first + $Data_anzahl-1;
  $Data_pruef = $Data_last + 1;
  $Pruef = 0.0;
  $Mewe_1W_Temp_neu ="";
  for ($i = $Data_first; $i <= $Data_last; $i++) {
    $Pruef = $Pruef + $empfang_array[$i];
    $Mewe_1W_Temp_neu = $Mewe_1W_Temp_neu.$empfang_array[$i].";";
  }
  if ($Pruef = $empfang_array[$Data_pruef]) {
    $Mewe_1W_Temp = $Mewe_1W_Temp_neu.$empfang_array[$Data_pruef].";";
    SetValueString("ZK_Micro01_1W_Temp",$Mewe_1W_Temp);
    $empfang_error = 0;
  }
}

if ($empfang_array[0] == "1W18B20_E") {
  $Data_anzahl = $empfang_array[2];
  $Data_first = 3;
  $Data_last = $Data_first + $Data_anzahl-1;
  $Data_pruef = $Data_last + 1;
  $Pruef = 0.0;
  $Mewe_1W_Temp_E_neu ="";
  for ($i = $Data_first; $i <= $Data_last; $i++) {
    $Pruef = $Pruef + $empfang_array[$i];
    $Mewe_1W_Temp_E_neu = $Mewe_1W_Temp_E_neu.$empfang_array[$i].";";
  }
  if ($Pruef == $empfang_array[$Data_pruef]) {
    SetValueString("Zk_Micro01_1W18B20_E", $empfang);
    $empfang_error = 0;
  }
}

if ($empfang_array[0] == "1W2423") {
  $Data_anzahl = $empfang_array[2];
  $Data_first = 3;
  $Data_last = $Data_first + $Data_anzahl-1;
  $Data_pruef = $Data_last + 1;
  $Pruef = 0.0;
  $Mewe_1W_Zaehl_neu ="";
  for ($i = $Data_first; $i <= $Data_last; $i++) {
    $Pruef = $Pruef + $empfang_array[$i];
    $Mewe_1W_Zaehl_neu = $Mewe_1W_Zaehl_neu.$empfang_array[$i].";";
  }
  if ($Pruef = $empfang_array[$Data_pruef]) {
    $Mewe_1W_Zaehl = $Mewe_1W_Zaehl_neu.$empfang_array[$Data_pruef].";";
    SetValueString("ZK_Micro01_1W_Zaehl",$Mewe_1W_Zaehl);
    $empfang_error = 0;
  }
}

if ($empfang_array[0] == "1WID") {
  SetValueString("Zk_Micro01_1WID", $empfang);
  $empfang_error = 0;
}

if ($empfang_array[0] == "DE") {
  $Pruef = 0;
  $Pruef_str = $empfang_array[0].";".$empfang_array[1].";".$empfang_array[2].";".$empfang_array[3].";";
  for ($i = 1; $i <= strlen($Pruef_str); $i++) {
	 $Pruef = $Pruef + ord(substr($Pruef_str, $i-1, 1));
  }
  if ($Pruef == hexdec($empfang_array[4])) {
    SetValue(23386 /*[ZK-Heiz\ZK-Micro01\Zk_Micro01_DE]*/, $empfang);
    setvalue(37662 /*[ZK-Heiz\ZK-Micro01\Zk-Abbild\Zk_De_Micro01_Str]*/,Zerlege_HexStr($empfang_array[1], 64));
    setvalue(41406 /*[ZK-Heiz\ZK-Micro01\Zk-Abbild\Zk_Da_DeWert_Micro01_Str]*/,Zerlege_HexStr($empfang_array[2], 32));
    setvalue(27239 /*[ZK-Heiz\ZK-Micro01\Zk-Abbild\Zk_Err_Micro01_Str]*/,Zerlege_HexStr($empfang_array[3], 32));
    setValue(58790 /*[ZK-Heiz\ZK-Micro01\Zk_Micro01_Error_Micro]*/,hexdec($empfang_array[3]));
    $empfang_error = 0;
  }
}
if ($empfang_error) {
  SetValueBoolean("ZK_Micro01_UART_OK",False);
  SetValueString(17434 /*[ZK-Heiz\ZK-Micro01\Zk_Micro01_Uart_Error]*/, $empfang);
}
else {
  SetValueBoolean("ZK_Micro01_UART_OK",True);
}



// ---------------------------------------------------
// Funktionen
// ---------------------------------------------------
function Zerlege_HexStr ($HexStr, $AnzahlBit)
{
  $Temp_Str = "";
  $Temp_StrLen = strlen($HexStr);
  echo $HexStr;
  if ($Temp_StrLen == $AnzahlBit/4) {
    for ($i=$Temp_StrLen-1; $i>=0; $i--){
	   $TempByte = hexdec($HexStr[$i]);
      if ($TempByte & 1) {$Temp_Str = $Temp_Str."1;";} else {$Temp_Str = $Temp_Str."0;";}
      if ($TempByte & 2) {$Temp_Str = $Temp_Str."1;";} else {$Temp_Str = $Temp_Str."0;";}
      if ($TempByte & 4) {$Temp_Str = $Temp_Str."1;";} else {$Temp_Str = $Temp_Str."0;";}
      if ($TempByte & 8) {$Temp_Str = $Temp_Str."1;";} else {$Temp_Str = $Temp_Str."0;";}
    }
    return $Temp_Str;
  }
}
?>

Gruß
zkra

Echo $HexStr :wink:

Paresy

Hallo Paresy,

ja das war es :slight_smile:

Bedeutes das dann auch, dass generell alle „echo-Ausdrücke“ im Log protokolliert werden, und damit dann auch für das debuggen eingesetzt werden können.
Verwirrt war ich auch weil die Log-Ausgabe mit dem Bezug „MESSAGE | RegisterVariable“ ausgegeben wurden.

Besten Dank für die schnelle Hilfe,

Gruß
zkra