Hallo,
ich möchte gerne den Stromverbrauch eines Gerätes in 2 Variablen schreiben lassen, einmal Heutiger Verbrauch und einmal Gestriger Verbrauch. Es liegt eine Variable vor die den Gesamtverbrauch enthält. Könnte mal jemand bitte drüber Schauen ob das so korrekt ist?
Variablen im Objektbaum:
Das ist das Skript: Berechnung: Gestriger Verbrauch Kühlschrank
<?php
$werte = AC_GetAggregatedValues(13449, 53803, 1 /* täglich */, strtotime("yesterday 23:59"), time(), -1); // 13449 vom Archiv Control, 53803 ist die ID der Variable Energie Gesamt,
foreach($werte as $wert) {
echo date("d.m.Y H:i:s", $wert['TimeStamp']) . " -> " . $wert['Avg'] . PHP_EOL;
}
SetValue(47136, $wert['Avg']); // Schreibt den Wert in die Variable
Das Skript wird täglich um 23:59:59 ausgeführt.
Das ist das Skript: Berechnung: Heutiger Verbrauch Kühlschrank
<?php
$werteday = AC_GetAggregatedValues(13449, 53803, 1 /* täglich */, strtotime("today 00:00"), strtotime("now"), 0); // 13449 vom Archiv Control, 53803 ist die ID der Variable Energie Gesamt,
print_r($werteday); // Ganzes Array ausgeben
echo $werteday[0]['Avg']; // Den Wert möchte ich ausgeben
// Wenn das Skript durch den ScriptTimer aufgerufen wurde, den ScriptTimer deaktivieren
if (@$_IPS['EVENT'] === @IPS_GetObjectIDByName('ScriptTimer', $_IPS['SELF'])) {
IPS_SetScriptTimer($_IPS['SELF'], 0);
}
// Wenn das Skript nicht durch den ScriptTimer aufgerufen wurde, ScriptTimer aktivieren
else {
IPS_SetScriptTimer($_IPS['SELF'], 70);
}
// Veranlasst, dass das Skript alle 10 Sekunden ausgeführt wird
//IPS_SetScriptTimer(49293, 10); // ID des Skriptes
// Hier die Daten aus dem Archiv abrufen und in Variable schreiben
SetValue(47189, $werteday[0]['Avg']); // Schreibt den Wert in die Variable
Habe jetzt eben den Fehler gemacht und das Skript Gestriger Tag manuell ausgeführt und somit erhält dann die Variable auch den Wert des Heutigen Tages, ist das so richtig das er dann den heutigen Wert auch übernimmt?