irgendwie steig ich nicht durch, was du da machst. Aber heute iszt auch Samstag… ![:wink: :wink:](https://community.symcon.de/images/emoji/win10/wink.png?v=9)
hier mal ein Beispiel, wie man die Monatssumme aus einer Zähler-Var ausliest (Taggessumme wäre dann statt „3“ die „1“ in dem AC_GetAggregatedValues-Parameter):
$AH = 58669 /*[Archive Handler]*/ ;
$ts = mktime(0,0,0, date("m", time()), date("d", time())-1, date("Y",time()));
$te = mktime(23,59,59, date("m", time()), date("d", time())-1, date("Y",time()));
echo date("d.m.Y H:i", $ts)."
";
echo date("d.m.Y H:i", $te)."
";
$Zentraleinspeisung_ID = 12130 /*[Smart Metering\IPS EKM-868\EKM-868 I Hausverteilung\EKM-868 #01 Zentraleinspeisung\Energieverbrauch]*/ ;
$Zentral_Array = AC_GetAggregatedValues($AH, $Zentraleinspeisung_ID, 1, $ts, $te, 100);
$Zentral_Array[0]['humanDate'] = date("d.m.Y H:i:s", $Zentral_Array[0]['LastTime']);
print_r($Zentral_Array);
da Du sowieso mit HC’s arbeitest, bietet es sich an, eine einzige variable zu nutzen und daraus die jeweils benötigten Verdichtungslevel auszulesen.
z.B. so:
// Power actual Year
$HC_Data = array();
$Cent_array = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], 12130 /*[Smart Metering\IPS EKM-868\EKM-868 I Hausverteilung\EKM-868 #01 Zentraleinspeisung\Energieverbrauch]*/ , 3, $CfgDaten["StartTime"],$CfgDaten["EndTime"], 13);
$OG_array = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], 13483 /*[Smart Metering\IPS EKM-868\EKM-868 I Hausverteilung\EKM-868 #02 Licht_Strom oben\Energieverbrauch]*/ , 3, $CfgDaten["StartTime"],$CfgDaten["EndTime"], 13);
$MG_array = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], 21446 /*[Smart Metering\IPS EKM-868\EKM-868 I Hausverteilung\EKM-868 #03 Licht_Stom mitte\Energieverbrauch]*/ , 3, $CfgDaten["StartTime"],$CfgDaten["EndTime"], 13);
$UG_array = AC_GetAggregatedValues($CfgDaten["ArchiveHandlerId"], 33424 /*[Smart Metering\IPS EKM-868\EKM-868 I Hausverteilung\EKM-868 #04 Licht_Strom unten\Energieverbrauch]*/ , 3, $CfgDaten["StartTime"],$CfgDaten["EndTime"], 13);
for($i=0;$i<count($Cent_array);$i++)
{
// Sonstiges
$HC_Cent[$i]['Value'] = round($Cent_array[$i]['Avg'] - ($OG_array[$i]['Avg'] + $MG_array[$i]['Avg'] + $UG_array[$i]['Avg']), 1);
$HC_Cent[$i]['TimeStamp'] = $Cent_array[$i]['TimeStamp'];
$HC_Cent[$i]['human_Date'] = date("d.m.Y H:i", $HC_Cent[$i]['TimeStamp']);
// OG
$HC_OG[$i]['Value'] = round($OG_array[$i]['Avg'], 1);
$HC_OG[$i]['TimeStamp'] = $OG_array[$i]['TimeStamp'];
$HC_OG[$i]['human_Date'] = date("d.m.Y H:i", $HC_OG[$i]['TimeStamp']);
// MG
$HC_MG[$i]['Value'] = round($MG_array[$i]['Avg'], 1);
$HC_MG[$i]['TimeStamp'] = $MG_array[$i]['TimeStamp'];
$HC_MG[$i]['human_Date'] = date("d.m.Y H:i", $HC_MG[$i]['TimeStamp']);
// UG
$HC_UG[$i]['Value'] = round($UG_array[$i]['Avg'], 1);
$HC_UG[$i]['TimeStamp'] = $UG_array[$i]['TimeStamp'];
$HC_UG[$i]['human_Date'] = date("d.m.Y H:i", $HC_UG[$i]['TimeStamp']);
}
$HC_OG = array_reverse($HC_OG);
$HC_MG = array_reverse($HC_MG);
$HC_UG = array_reverse($HC_UG);
$HC_Cent = array_reverse($HC_Cent);
dem HighChart führt man die Daten dann so zu (Beispiel: 1 Series mit Daten des OG-Arrays):
// Power OG
$serie = array( //"Id"=>12130,
"Data" => $HC_OG,