hallo,
da das script mit meinem ips (2.1) nichtmehr lief hier eine angepasste variante:
einziger nachteil: die werte kommen als string raus, alle variablen müssen von hand angelegt und verändert werden!
PHP-Code:
<?
//bitte setzen!
$datei='c:\Programme\APC\PowerChute Business Edition\agent\DataLog'; //Pfad zur DataLog von PowerChute
$leistungusv=700; //Wattzahl deiner USV (smart usv 1500 dann muss hier 1500 stehen)
function liesFile ($file) {
// Zeilenweises Einlesen einer Textdatei in ein Array
$lines = array();
if (file_exists ($file)) {
$msg = file_get_contents($file);
$lines = explode("\n", $msg); // nach Zeilenumbruch trennen
}
return $lines;
}
$lastTs = GetValueInteger(16021 /*[USV auslesen\lastts]*/ );
$zTs = 0;
if (file_exists ($datei)) {
$zeilen = liesFile($datei);
foreach ($zeilen as $zeile) {
$zeile = preg_replace("/\s+/", "|", $zeile);
// echo $zeile."\n";
$dat = explode("|", $zeile);
if (sizeof($dat) > 9) {
if ((strpos($dat[0], "/") === 2) and (strpos($dat[1], ":") === 2)) {
list($monat, $tag, $jahr) = explode("/", $dat[0]);
list($stunde, $minute, $sekunde) = explode(":", $dat[1]);
$zTs = mktime($stunde, $minute, $sekunde, $monat, $tag, $jahr);
// echo $zTs."\n";
if ($zTs > $lastTs)
{
// echo makeFloat($dat[2])."\n";
SetValue(45037 /*[USV auslesen\maxV]*/ , $dat[2]);
SetValue(11032 /*[USV auslesen\minV]*/ , $dat[3]);
SetValue(34713 /*[USV auslesen\lineV]*/ ,$dat[4]);
SetValue(51290 /*[USV auslesen\outV]*/ , $dat[5]);
SetValue(31823 /*[USV auslesen\batV]*/ , $dat[6]);
SetValue(36567 /*[USV auslesen\outFrequ]*/ ,$dat[7]);
SetValue(42094 /*[USV auslesen\load]*/ ,$dat[8]);
SetValue(39651 /*[USV auslesen\temp]*/ ,$dat[9]);
SetValue(38005 /*[USV auslesen\ts]*/ , $zTs);
SetValue(59857 /*[USV auslesen\time]*/ , date("d.m.Y", $zTs)." ".date("H:i:s", $zTs));
SetValue(16021 /*[USV auslesen\lastts]*/ , $zTs);
SetValue(48890 /*[USV auslesen\loadVA]*/ ,($dat[8]*($leistungusv/100)));
SetValue(26175 /*[USV auslesen\akkustatus]*/ , ROUND($dat[6]/0.27,0));
}
}
}
}
}
?>
vieleicht hilft es jemandem
getestet mit einer smart ups 700 und selbst gelötetem kabel.
natürlich basiert das script zu fast 99,9 prozent auf dem originalscript
grüße
danny