Beim runterfahren und neustarten vergißt er alle Einstellungen

Die Backups gehen auch allesamt nicht, egal wie weit ich zurück gehe.
In den settingsxxxxxxx.xml stehen aber alle Daten drin, nur irgendwie werden sie nicht übernommen.
Ich hatte das Problem beim letzten Neustart schonmal, konnte es aber mit den Backups lösen.
Jetzt geht keines der vorliegenden Files.
Ich krieg hier die Krise :mad:

settings.zip (4.16 KB)

Moin Bernd,

das Problem habe ich auch öfters. Beim Herunterfahren von IPS und anschließendem Neustart fehlen oft Variablen usw… Als Ursache habe ich das BHKW - Script herausgefunden, welches du ja auch im Einsatz hast :wink: .
Irgendwie wird da noch was in die Variable Daten (wo die Daten aus der COM-Instanz hineingeschrieben werden) geschrieben was dann die Settings.xml zerstört.
Du musst dann im Editor nach „BHKW“ suchen bis du auf die Variable Daten stößt. Dann steht dort Value mit lauter Zeichenwirrwar drin. Das mußt du entfernen und nur die „“ stehen lassen.
Anschließend IPS starten und wenn die Meldung kommt wegen Settings geändert oder so, einfach NEIN drücken.

Hat vielleicht jemand ne Idee wie man das Problem beim Beenden von IPS beheben kann? Evtl. durch ein Script das das Auslesen des Comports beim beenden stoppt??

Gruß
Thomas

Merci!!!
Jetzt gehts wieder, ist aber wirklich komisch :confused:
Müssen wir dann, falls es keinen Fix gibt allen BHKW Nutzer gleich beibringen.

Könnt ihr mir vielleicht ein Script geben, dass ich quasi aufrufen kann, welches dann die „Werte“ in die Variable schreibt, die die Settings kaputt machen?

Dann würde ich nachvollziehen können, wer das verursacht :slight_smile:

paresy

Hallo Paresy,

machen wir doch gerne :wink:

Hier das Script:

<?
/*


IP-SYMCON Event Scripting


File : BHKW_Daten_einlesen.ips.php
Trigger :
Interval :
*/

COMPort_SendText(21169, chr(192));
$debug = false;
$SL=76; //Länge Datenstring

if ( !get_BHKW() ) { return; } else { $daten = get_DATA ( $v ); }

if ($debug) {
foreach ( $daten as $id => $inhalt ) {
echo "Wert Nummer " . $id . " ===> " . $inhalt . " || ";
}
die („Ausgabe beendet“);
}

SetValueString(„Betriebsstunden_BHKW“,hexdec($daten[19].$daten[20])." h"); //Ausgabe Betriebsstunden
SetValueInteger(„BHKW_Betriebsstunden“,hexdec($daten[19].$daten[20])); //Ausgabe Betriebsstunden
SetValueString(„Wartung_BHKW“,wartung($daten[3]). „h“); //Ausgabe Stunden bis Wartung
SetValueInteger(„BHKW_RL“,hexdec($daten[22])); //Ausgabe RL-Temp.
SetValueInteger(„BHKW_VL“,hexdec($daten[34])); //Ausgabe VL-Temp.
SetValueInteger(„BHKW_Abgas“,hexdec($daten[35])+15); //Ausgabe Abgas-Temp.
SetValueFloat(„BHKW_GenLeistung“,(hexdec($daten[46])/34)); //Ausgabe Generatorleistung
SetValueInteger(„BHKW_erzeugte_elektrische_Energie“,hexdec($daten[38].$daten[39].$daten[40].$daten[41])); //Erzeugte elektr. Energie
SetValueInteger(„BHKW_erzeugte_thermische_Energie“,hexdec($daten[42].$daten[43].$daten[44].$daten[45])); //Erzeugte therm. Energie
SetValueInteger(„BHKW_Drehzahl“,hexdec($daten[36].$daten[37])); //Drehzahl
SetValueInteger(„BHKW_Kuehlwassertemperatur“,hexdec($daten[24])); //Kuehlwassertemperatur
SetValueInteger(„BHKW_Kuehlwassertemperatur_Generator“,hexdec($daten[28])); //Kuehlwassertemperatur Generator
SetValueInteger(„BHKW_Starts“,hexdec($daten[47].$daten[48])); //Starts
$sc = hexdec($daten[30]);
settype($sc,„String“);
SetValueString(„BHKW_Servicecode“,$sc); //aktueller Servicecode
If ($daten[31]==„ff“)
{ SetValueInteger(„BHKW_Betrieb“,1);
SetValueString(„Betriebszustaende_BHKW“,„Ein“);
} else{
SetValueInteger(„BHKW_Betrieb“,0);
SetValueString(„Betriebszustaende_BHKW“,„Aus“);
}

if ($debug) {
echo ($daten[4]); }
// Funktionen auch zu spaeteren Verwendung bei anderen Ergebnissen

function get_BHKW () {
global $v, $debug,$SL;
$binaer = GetValueString(„BHKW_Daten“);
// wenn keine daten, dann false, sonst Variable loeschen
if ( $binaer == „“ ) { return false; } else { SetValueString(„BHKW_Daten“, „“); }
// zum loggen auf screen
If($debug){ echo"InBuf: „.$v.“ #
";
$l=strlen($binaer);
//$l= 76;
echo"Länge: „.$l.“ #
";
}
// Variable initialisieren
$l=strlen ( $binaer );
echo"Länge: „.$l.“ #
„;
If ($l == $SL) {
for ( $i=0; $i < $l; $i++) {
$v .= bin2hex ( substr ( $binaer, $i, 1 ) ) .“ ";
}

}else{
return false;
}
if ($debug) { logfile(); }
return true;

}

function wartung ( $hexbyte ) {
If ( hexdec ( $hexbyte ) < 255) {
return ( sprintf("%2.0f", hexdec ($hexbyte)));
} else {
return „>255“;
}
}

$daten = array();
function get_DATA ( $v ) {
return ( explode ( " ", $v ) );
}

function logfile () {
global $v;
$handle = fopen(„c:/programme/ip-symcon/logs_var/BHKW.txt“, „a“);
fwrite( $handle, date(„d.m.y“).
" „.
date(„H:i:s“).
" (“.str_pad(77,2," „,STR_PAD_LEFT).“)".
": ".
$v.
"
");
fclose($handle);
}
?>

Wenn du noch etwas benötigst, gib bitte bescheid.

Grüße
Thomas