Hi , Danke für die Hilfe.
er berechnet jetzt etwas, allerdings falsch.
Wenn ich mir manuel die Log werte anschaue hat die WP gestern 100Kwh gemacht, und dazu 21Kwh Strom benötigt.
100/21 = COP 4,76
Es kommt aber als ergebnis 45,26 raus.
<?
//ID34842 Stromzähler WP in KWH
//ID15258 Gesamtzähler WP in KWH
//ID41298 Archice Control
//ID37914 Tages COP
//$werte = AC_GetLoggedValues(12345, 55554, strtotime("today 00:00"), time(), 0);55554 ist die ID der Variable, 12345 vom Archiv Control
$COP = 37914 /*[Anlagen\Wärmepumpe\Tages COP]*/; //ID Negative Werte
$Strom1 = AC_GetAggregatedValues(41298, 34842, 1 /* Täglich */, strtotime("today 00:00"), time(), 0);
var_dump($Strom1);
$Strom2 = AC_GetAggregatedValues(41298, 34842, 1 /* Täglich */, strtotime("yesterday 00:00"), time(), 0);
var_dump($Strom2);
$Therm1 = AC_GetAggregatedValues(41298, 15258, 1 /* Täglich */, strtotime("today 00:00"), time(), 0);
var_dump($Therm1);
$Therm2 = AC_GetAggregatedValues(41298, 15258, 1 /* Täglich */, strtotime("yesterday 00:00"), time(), 0);
var_dump($Therm2);
SetValue($COP, verbrauch($Therm1)-verbrauch($therm2) / verbrauch($Strom1)-verbrauch($Strom2));
function verbrauch($werte)
{
//var_dump($werte);
$verbrauch = 0;
foreach($werte as $wert) {
//echo date("d.m.Y H:i:s", $wert['TimeStamp']) . " -> " . $wert['Avg'] . PHP_EOL;
$verbrauch += $wert['Avg'];
}
return round($verbrauch, 2);
}
?>
Dump
array(1) {
[0]=>
array(7) {
[„TimeStamp“]=>
int(1574118000)
[„Avg“]=>
float(18,43499999999)
[„MinTime“]=>
int(1574118024)
[„Min“]=>
float(0,0049999999999955)
[„MaxTime“]=>
int(1574155244)
[„Max“]=>
float(0,030000000000001)
[„Duration“]=>
int(72023)
}
}
array(2) {
[0]=>
array(7) {
[„TimeStamp“]=>
int(1574118000)
[„Avg“]=>
float(18,43499999999)
[„MinTime“]=>
int(1574118024)
[„Min“]=>
float(0,0049999999999955)
[„MaxTime“]=>
int(1574155244)
[„Max“]=>
float(0,030000000000001)
[„Duration“]=>
int(72023)
}
[1]=>
array(7) {
[„TimeStamp“]=>
int(1574031600)
[„Avg“]=>
float(21,309999999989)
[„MinTime“]=>
int(1574031937)
[„Min“]=>
float(0,0049999999999955)
[„MaxTime“]=>
int(1574071228)
[„Max“]=>
float(0,030000000000001)
[„Duration“]=>
int(86400)
}
}
array(1) {
[0]=>
array(7) {
[„TimeStamp“]=>
int(1574118000)
[„Avg“]=>
float(85)
[„MinTime“]=>
int(1574119229)
[„Min“]=>
float(1)
[„MaxTime“]=>
int(1574119229)
[„Max“]=>
float(1)
[„Duration“]=>
int(72023)
}
}
array(2) {
[0]=>
array(7) {
[„TimeStamp“]=>
int(1574118000)
[„Avg“]=>
float(85)
[„MinTime“]=>
int(1574119229)
[„Min“]=>
float(1)
[„MaxTime“]=>
int(1574119229)
[„Max“]=>
float(1)
[„Duration“]=>
int(72023)
}
[1]=>
array(7) {
[„TimeStamp“]=>
int(1574031600)
[„Avg“]=>
float(100)
[„MinTime“]=>
int(1574033051)
[„Min“]=>
float(1)
[„MaxTime“]=>
int(1574033051)
[„Max“]=>
float(1)
[„Duration“]=>
int(86400)
}
}
Notice: Undefined variable: therm2 in /var/lib/symcon/scripts/25748.ips.php on line 20
Warning: Invalid argument supplied for foreach() in /var/lib/symcon/scripts/25748.ips.php on line 26
Ich verstehe einfach zu wenig von PHP :mad: