Stromverbrauchszähler - aber etwas spezieller...

Begonnen von Stargazer, 17 Oktober 2018, 16:18:49

Vorheriges Thema - Nächstes Thema

Stargazer

Hallo in die Runde,

ich arbeite derzeit an einem Projekt, in FHEM, welches die zusammenhänge zwischen unseren Erzeugern (PV und Wind), des Bezuges sowie die Einspeisung in einen virtuellen Akku darstellen soll.
Ein Bekannter von mir hat jetzt vor ein paar Tagen sein Speichersystem verkauft und kann mir da ein paar Blicke hinter die Kulissen eines solchen Systems geben. Gerade was Verluste und Wirkungsgrade angeht. Es handelt sich dabei um einen AC-Lader.

Soweit, so gut.

Nun habe ich das System bereits soweit aufgebaut, dass er mir die Stromüberschüsse, in unserem Fall die Einspeisung ins Stromnetz, auf den Akku rechnet. Das geschieht mittels userReadings und ein DOIF, der den Wert in einen dummy schreibt.
Das state des dummy's wird dann geloggt und in einen Graphen gepackt.

Jetzt habe ich aber ein kleines Zählerproblem. Und zwar: Nehmen wir an, die Einspeisung ist für kurze Zeit beendet und es liegt ein Bezug aus dem Netz vor. Dann soll das System ja den Akku leeren. Heißt, ich brauche einen Zähler, den ich dann von dem dummy-state einfach abziehen kann, bis der Wert 0 ( ist erst einmal für die Tests 0 ) erreicht ist. Zähler habe ich Momentan dafür zwei Stück zur Verfügung. Der eine zählt den aktuellen Verbrauch, ohne ihn zu addieren. Der Zweite wird von dem ElectricityCalculator-Modul zur Verfügung gestellt. In diesem Fall der Counter Energy_Day. Nun ist es logisch, das, wenn ich diese Zähler nutzen würde, dabei nur Käse im dummy-state stehen würde. Beim ersten Zähler springt er nur, bei dem zweiten werden die Ergebnisse dann auch negativ. Das mit dem negativen Ergebnis habe ich einfach per DOIF gelöst. Da soll er dann einfach eine 0 eintragen.

Vom Prinzip her bräuchte ich einen Zähler, der den Verbrauch erst ab dem Beginn des Bezuges misst. Sollte kurz danach wieder eine Einspeisung vorliegen, sollte er per DOIF zu resetten sein.

Ich hoffe, ich konnte euch einigermaßen durch mein Problem führen ?
Ist halt nicht ganz einfach zu erklären... :(.

Gibt es so einen Zähler oder habt ihr gar einen anderen Ansatzpunkt um das lösen zu können.
Stehe da derzeit etwas auf dem Schlauch...

Viele Grüße und besten Dank

André

bartman121

Wenn du von Zähler sprichst reden wir dann von einem echten physischen Zähler? (Vierquadranten?)

Um das richtig zu lösen brauchst du einen vierquadranten-zahler direkt an deiner PV-Anlage und einen am Hausanschluss. Nur dann kannst du solche Sachen machen.


Stargazer

Hi,
neben den Wechselrichtern ist für mein Vorhaben eigentlich nur der Hauptzähler ausschlaggebend (reines AC-Ladesystem) .

Das Zählen des Stromes macht hier ein SMA Energymeter. Also ein physisches Gerät, was die Werte liefert.

VG

André

bartman121

#3
Genau dort ist aber das Problem. Der Wert den du angezeigt bekommst ist einen Mittelwert über ein interval. Auch wenn der Wert Positiv ist,heißt es nicht,dass es keinen Bezug gab,der Wert müsste eine 10min Mittelwert sein.

Ich erklär es so:
Bezug 2 Minuten 5kW
Lieferung 8 Minuten 10kW

Ergebnis/angezeigter Wert: ist positiv und gaukelt vor,dass es keinen Bezug gab.

In der umgekehrten Richtung passiert das auch genau so. Daher basiert deine "wissenschaftliche Bemessung eines Akkusystems" auf eher fraglichen Werten.

Oder liefert der sma Energymeter Werte für A+ und A-?

Stargazer

Hi,

deshalb arbeite ich mit den Tageswerten, die da schon etwas träger sind.

Man muss sich das ja eigentlich so vorstellen, dass ich einen Überschuss habe in einer gewissen Zeit. Habe ich diesen nicht, so fährt die Anlage den Strom direkt in den Eigenverbrauch und der Bezug wird gedrosselt. D.h, nehme ich nun diesen Überschusswert, den ich nach und nach aufgebaut habe und koppel ihn an die Zähler, so nimmt er aktiv Teil. Braucht das Haus Energie über die Erzeugung, so würde dieser Verbrauch aus dem Speichersystem genommen und der Wert würde aktuell vom "Guthaben"-Wert abgezogen.


Ich hatte das schon erfolgreich am laufen, doch hatte ich halt Probleme, den Zählerwert des userReadings auf 0 zu begrenzen.
Deshalb wollte ich dieses Problem nun via dummy lösen, um via DOIF's besser eingreifen zu können.

Hier mal ein Mitschnitt des Haupt-userReadings:

Batteriesimulation:.* {if(ReadingsVal("SMA_EM","BatterieFinal",0) <= 0) {return (ReadingsVal("BattKapWert","state",0))-(ReadingsVal("Energie_Bezug","SMA_EM_SMAEM19002XXXX_Bezug_Wirkleistung_Zaehler_EnergyDay",0)*0.90)+ ((ReadingsVal("Energie_Bezug","SMA_EM_SMAEM19002XXXX_Bezug_Wirkleistung_Zaehler_EnergyDay",0)*0.90))+ (ReadingsVal("Energie_Einspeisung","SMA_EM_SMAEM19002XXXX_Einspeisung_Wirkleistung_Zaehler_EnergyDay",0)*0.90)}else {return (ReadingsVal("BattKapWert","state",0))-(ReadingsVal("Energie_Bezug","SMA_EM_SMAEM19002XXXX_Bezug_Wirkleistung_Zaehler_EnergyDay",0)*0.90)+(ReadingsVal("Energie_Einspeisung","SMA_EM_SMAEM19002XXXX_Einspeisung_Wirkleistung_Zaehler_EnergyDay",0)*0.90)}},


Das System wird um 0 Uhr so gesteuert, dass ein DOIF den SoC Wert des Akku um 23.59 Uhr ausliest, in einem dummy speichert und dieser Wert weiter zur Berechnung nach 0 Uhr für den Folgetag zur Verfügung steht.

Die *0.90 sind die 10% Wirkungsgradverlust. Im oberen Teil sollte er so reagieren, dass, wenn das reading BatterieFinal die 0 erreicht hat, das reading Batteriesimulation, welches das Hauptreading und der Hauptzähler ist, auf 0 halten. Nur kann das nicht so richtig funktionieren, weil ich den Wert des letzten ausgerechneten Auslesezyklus für den aktuellen nutze. So stehe ich mir praktisch mit einem Fuß auf dem anderen. Wenn ich das mit dem Reading ans laufen bekäme, dann wäre das mal so richtig genial. Dann würde ich auch von der Dummy-Lösung wieder abrücken.


VG

André

Stargazer

Hi,

das Energymeter-Modul von FHEM liefert mir zwei einzelne positive Werte für die jeweiligen Zustände.
Also Einspeisung- und Bezug.

Im state ist es jedoch nach + und - ausgegeben. - für Bezug, + für Einspeisung

bartman121

ich muss das für mich jetzt noch Sortieren.

Irgendwie fehlt hier erstmal eine brauchbare Beschreibung des Problems um das näher betrachten zu können. (Bild im Anhang!)

Könntest du das mal aufmalen?