somm
1. Oktober 2019 um 22:14
1
Hallo Leute,
ich hoffe mir kann wer weiterhelfen, ich möchte den Stromverbrauch vom heutigen Tag mit dem Stromverbrauch vom vorigen Jahr vergleichen ob ich mehr oder weniger Strom verbraucht habe, folgendes Skript verwende ich dafür weis aber nicht ob das soweit stimt bzw hat wer eine bessere Ide:
<?php
$jahrheuer = strftime("%Y");
$jahrvorjahr = strftime("%Y")-1;
$tagheute = strftime("%d");
$monatheute = strftime("%m");
$wert_heuer = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrheuer), mktime(23, 59, 59, $monatheute, $tagheute, $jahrheuer), 0);
$wert_vorjahr = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrvorjahr), mktime(23, 59, 59, $monatheute, $tagheute, $jahrvorjahr), 0);
foreach($wert_heuer as $wert_heuer_end) {
$vergleich = sprintf("%.2f",($wert_heuer_end['Avg']))." kW/h";
}
foreach($wert_vorjahr as $wert_vorjahr_end) {
$vergleich_vorjahr = sprintf("%.2f",($wert_vorjahr_end['Avg']))." kW/h";
}
setvalue(45221, ($vergleich - $vergleich_vorjahr));
?>
gruß Stefan
Du versuchst am Ende des Scripts, mit zwei Strings (Zahl und Einheit) eine Differenz zu berechnen.
somm
1. Oktober 2019 um 22:24
3
Kannst du mir das bitte richtig ändern meine Programmierkenntnisse sind nicht sehr gut hab das nur so zusammenkopiert.
Gruß Stefan
somm
1. Oktober 2019 um 22:30
4
ich glaube jetzt hab ichs:
<?php
$jahrheuer = strftime("%Y");
$jahrvorjahr = strftime("%Y")-1;
$tagheute = strftime("%d");
$monatheute = strftime("%m");
$wert_heuer = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrheuer), mktime(23, 59, 59, $monatheute, $tagheute, $jahrheuer), 0);
$wert_vorjahr = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrvorjahr), mktime(23, 59, 59, $monatheute, $tagheute, $jahrvorjahr), 0);
foreach($wert_heuer as $wert_heuer_end) {
$vergleich = sprintf("%.0f",($wert_heuer_end['Avg']));
}
foreach($wert_vorjahr as $wert_vorjahr_end) {
$vergleich_vorjahr = sprintf("%.0f",($wert_vorjahr_end['Avg']));
}
setvalue(45221, ($vergleich - $vergleich_vorjahr));
?>
somm
1. Oktober 2019 um 22:39
5
ist leider auch nichts Werte bassen nicht
Ich bin jetzt auch nicht der PHP-Held, aber die Strings mit sprintf() bei den beiden Jahreswerten sind sicherlich falsch, wenn du anschliessend damit rechnen möchtest.
Also eher so:
<?php
$jahrheuer = strftime("%Y");
$jahrvorjahr = strftime("%Y")-1;
$tagheute = strftime("%d");
$monatheute = strftime("%m");
$wert_heuer = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrheuer), mktime(23, 59, 59, $monatheute, $tagheute, $jahrheuer), 0);
$wert_vorjahr = AC_GetAggregatedValues(43615, 58570, 1 /* Täglich */, mktime(0, 0, 0, 1, 1, $jahrvorjahr), mktime(23, 59, 59, $monatheute, $tagheute, $jahrvorjahr), 0);
foreach($wert_heuer as $wert_heuer_end) {
$vergleich = $wert_heuer_end['Avg'];
}
foreach($wert_vorjahr as $wert_vorjahr_end) {
$vergleich_vorjahr = $wert_vorjahr_end['Avg'];
}
setvalue(45221, ($vergleich - $vergleich_vorjahr));
?>
stern
2. Oktober 2019 um 00:38
7
Ich mache das über Charts und sehe in die CSV - Datei.
somm
2. Oktober 2019 um 06:33
8
Danke für deine Hilfe bekomme wider den selben Wert wie mit meinen Skript glaub aber nicht so richtig das der Wert richtig ist.
Werde am Abend mal das ganze händisch ausrechnen.
Grüße Stefan
Gesendet von meinem SM-T825 mit Tapatalk