Berechnungen aus Logfiles

Begonnen von Kamik, 17 Mai 2020, 21:55:11

Vorheriges Thema - Nächstes Thema

Kamik

Hallo zusammen,

ich habe einen Ferraris Zähler in meinem Fhem der seine Aufgabe auch gut macht. Ich schreibe die Werte natürlich in Filelogs.
Ich möchte zur Ermittlung einer Batteriespeichergröße für eine Photovoltaik Anlage gerne meinen Verbrauch von Sonnenuntergang bis Sonnenaufgang für jeden Tag berechnen bzw. Auswerten.

Ich stelle mir vor, dass ich auf Basis des letzten Jahres jeden Tag ein Integral über meines Momentanverbrauchs von sunset() bis sunrise() berechne und eine Liste mit den Werten erhalte.
Bestenfalls folgendermaßen
Datum sunset sunrise(Folgetag) Verbrauch in kwh


Ich denke dass es mit dbLog einfacher wäre aber das rächt sich dann jetzt, dass ich noch nicht umgestiegen bin.

Ich hatte in erster Linie an eine Perlfunktion gedacht die ich in fhem aufrufen kann. Mit Parametern wie z.b. Startdatum und Enddatum oder Tage.
Ich wüsste jetzt aber nicht auf Anhieb wie ich Zeilen in einem festgelegten Bereich auswerte.

Es wäre super wenn mir bei der Aufgabe jemand helfen könnte.

Wie gesagt, Ziel ist es einen Batteriespeicher auszulegen.

Angeboten wurde mir ein 3.5kw Speicher. Ich denke aber dass ich im Winter vielleicht 5 oder 6kw benötige um eine hohe Autarkie zu haben.

Gruß Patrick

Gesendet von meinem SM-G950F mit Tapatalk


Kamik

Mit ist gerade noch eingefallen dass man es auch einfacher berechnen könnte:

Zählerstand sunrise() - Zählerstand sunset()

Dann muss man kein Integral ziehen oder aufsummieren.

Gesendet von meinem SM-G950F mit Tapatalk

ch.eick

#2
Oder 400-500 Watt Grundrauschen ;-)
Das ist aber ohne LWP, Klimaanlage oder Durchlauferhitzer.
Im Winter sollte die Batterie aber auch geladen werden können.
Bei einer modularen Batterie kann man auch noch nachrüsten.

Gruß Christian

Gesendet von meinem SM-G930F mit Tapatalk
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

rudolfkoenig

ZitatIch wüsste jetzt aber nicht auf Anhieb wie ich Zeilen in einem festgelegten Bereich auswerte.

Folgende Zeilen sollten eine Idee geben, wie man das FileLog-Get in einer eigenen Funktion verwenden kann.
Die get Parameter kann man aus dem "Show preprocessed input" der SVG Detailansicht abschreiben.

fhem("get outlog CURRENT INT 2020-05-18_00:00:00 2020-05-18_00:10:00 4:out1.*:0:",1);
for my $line (split("\n", $$internal_data)) {
  next if($line =~ m/^#/);
  my ($timestamp, $val) = split(/\s/, $line);
  Log 1, "$timestamp/$val";
}