Gibt es ein fertiges Modul o.ä. welches mir die Archivwerte eines Smartmeters in Tages- Wochen- Monats- Werten aus dem Archiv in Variablen wiedergibt? Oder muss ich das selbst per Skript berechnen ?
Leider konnte ich sowas „fertiges“ nicht finden außer das „Zählerstand“ Modul. Das bringt mich nur bedingt weiter.
Im Moment schreibe ich Morgens und Abends den Zählerstand auf (kwh) und berechne die Differenz. Somit weiß ich wieviel Strom gestern Verbraucht wurde.
Ich möchte das Ganze aber nicht nur für gestern, sondern z.Bsp. auch Tagesaktuell haben.
Dachte es gibt dafür ein fertiges Modul oder Skript welches man direkt einsetzen kann zur Berechnung. Die Zählerstände sind ja bereits im Archiv und werden auch Tagesaktuell mitgeschrieben.
Also gibt es derzeit kein Modul / Funktion welches dies ohne eigenen PHP Code ermöglicht?
„Verbrauch in Zeitspanne“ könnte was für dich sein.
Eines welches wie gewünscht die Studen/Tages/Monats/Jahreswerte berechnet gab es doch auch mal, komme jetzt aber Namen.
oder das Script „Energieberichte“ macht auch genau das was du suchst.
Nur um ganz sicherzugehen, dass du nichts übersiehst: möchtest du die Werte tatsächlich als Variablen-Zahlenwüste haben, oder würde auch die Verbrauchsdarstellung im Diagramm genügen?
Wenn der Zählerstand als Aggregationstyp „Zähler“ geloggt wird bekommst du die Verbräuche je nach dargestellter Zeitspanne sehr schön übersichtlich im Diagramm angezeigt, Tagesverbrauch in der Wochenansicht, Monatsverbrauch in der Jahresansicht usw.
Wie @volkerm schon sagte, wenn du die Variable als Zähler loggst, dann sind die aggregierten Werte bereits die Tagesverbräuche etc.
Wenn du die noch separat in einer Variablen hast, kannst du auch die Aktion „Frage aggregierte Werte ab“ nutzen. Die findest du in Ereignissen oder Ablaufplan, wenn du das Archiv als Ziel wählst.
Ganz genau genommen sind es die letzten 24 Stunden, aber prinzipiell sollte es passen. Du startest ja um 23:59. Da du Stunden verwendest kommen bei Zeitumstellungen leichte Dreher rein, das könntest du umgehen indem du auf einen Tag gehst. Aber das ist nur Kleinkram
Hallo @Dr.Niels, ich habe zum Auslesen der aggregierten Werte aus dem Archiv noch eine Frage. Und zwar möchte ich, den aktuellen Tagesverbrauch in eine andere Variable schreiben. Dazu habe ich, wie oben beschrieben, ein Ereignis mit dem Ziel Archiv erstellt und ich möchte damit zyklisch alle 10min den Zählerstand von heute abfragen. Ich habe gefühlt schon alle Kombinationen eingestellt, doch egal, was ich hier einstelle, gelingt es mir nicht, den Stand von heute auszulesen.
Eine Doku dazu konnte ich leider nicht finden evtl. ist es auch nicht möglich den Zählerstand des aktuellen Tages auszulesen? Aber in den Diagrammen stellt ihr den aktuellen Tag ja auch dar. In dem xxxday.csv stehen nur die angeschlossenen Zeiträume drin.
Wäre toll, wenn es geht und ich nur nicht die richtigen Einstellungen vorgenommen habe!
Ich habe ein Beispiel gefunden, wie man das Archive über ein PHP Skript auslesen kann:
$werte = AC_GetAggregatedValues(36918, 21430, 1 /* Täglich */, strtotime("today 00:00"), time(), 0); //55554 ist die ID der Variable, 12345 vom Archiv
//Dieser Teil erstellt eine Ausgabe im Skriptfenster mit den abgefragten Werten
foreach($werte as $werte) {
echo date("d.m.Y H:i:s", $werte['TimeStamp']) . " -> " . $werte['Avg'] . PHP_EOL;
}
SetValueFloat(12058, $werte['Avg']);
Würde mich aber schon interessieren, ob es anders gehen müsste.
Die Konfiguration aus dem ersten Screenshot sollte genau zum gewünschten Ergebnis führen. „Abgeschlossene Zeitspannen“ ist hier das wichtige, damit tatsächlich von 00:00 Uhr an geprüft wird. Was klappt denn dabei nicht bzw. was kommt heraus?
So, ich habe es mir eben nochmal angesehen. Wenn ich es so mache, wie in meinem ersten Screenshot, dann bekomme ich mit der Einstellung „von vor 0 Tagen“ trotzdem den Verbrauch von gestern(27,5kWh). Ändere ich dann, von vor 0 Tagen in vor 1 Tag, dann wird aus dem Archiv der gleiche Wert geholt und wenn ich von vor 2 Tagen einstelle, dann bekomme ich auch den Wert von vor 2 Tagen.
Es gelingt mir also nicht, den aktuellen Verbrauch von heute aus dem Archiv zu lesen. So wie ich es eigentlich erwartet hätte. Vielleicht, weil der Zeitraum „heute“ noch nicht abgeschlossen ist?
Ergänzung: mit dem Tageswechsel ändert sich auch der Wert, aber es wird immer der Verbrauch von gestern angezeigt.
Okay, das wirkt nach einem Fehler, das schauen wir uns nochmal an. Hast du es sonst auch mal per Intervall probiert mit von vor 0 bis vor 1 Tag? Vielleicht klappt es dann? Einfach als Workaround bis wir das gefixt haben…
Edit: So, ich bin die Aktion nochmal angegangen. Auch via Intervall von 0 bis 1 klappt es nicht. Mit der aktualisierten Aktion ist dann aber „Vor 0 Tagen“ auch heute. Die kommt dann zur 8.1. Bis dahin würde ich einfach deine PHP-Funktion nutzen.