Benachrichtigungen
Alles löschen

[Oben angepinnt] flexible high-end cheap-tech Nulleinspeisung mit Soyosource und Volkszähler

356 Beiträge
37 Benutzer
25 Likes
64.3 K Ansichten
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

Vielen Dank für die ganze Hilfe! Habe es gestern ohne PV Input in Betrieb genommen und es hat quasi auf Anhieb funktioniert.

Musste nur nachträglich dem vzlogger noch Rechte auf die /var/log/vzlogger.log gebe und den Serial Port auf meinen USB Dongle umstellen. Werde ich per UDev noch auf /udev/rs485 umstellen.  Smile

 

Am Wochenende baue ich dann die PV-Verschaltung um damit ich unter die 150V komme und dann teste ich weiter.

 

Danke für das geile Projekt! Funktioniert bisher echt super und die implementierten Funktionen machen definitiv Sinn. 

 


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

Veröffentlicht von: @e-t0m

Ich wollte es jetzt auch wissen. Die Formel für 24V (8S) Akkus ist:

bat_p_percent = (bat_cont - 23.55 ) **4.333 *20

 

Jetzt bin ich aber neugierig. Hast du vielleicht einen Link zur Formel bzw. dem technischen Hintergrund? Würde mich da gerne einlesen. Smile

 


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

Veröffentlicht von: @lupenrainer

Vielen Dank für die ganze Hilfe! Habe es gestern ohne PV Input in Betrieb genommen und es hat quasi auf Anhieb funktioniert.

...

Danke für das geile Projekt! Funktioniert bisher echt super und die implementierten Funktionen machen definitiv Sinn. 

Kein Ding, wer vernünftig fragt, bekommt immer eine Antwort!

Ich freue mich, das deine 24-Adaption auch geklappt hat! Hast du einfach alle festen Spannungswerte im Script geändert?

Veröffentlicht von: @lupenrainer

Jetzt bin ich aber neugierig. Hast du vielleicht einen Link zur Formel bzw. dem technischen Hintergrund? Würde mich da gerne einlesen. Smile

Es gibt doch diese typischen Spannungskurven für LiFePo4 Zellen.

Da habe ich den entsprechenden Spannungsbereich angesehen: 3V bis 3.125V

Und dann eine mathematische Funktion gesucht, die dem ungefähr entspricht.

Die 2. und 3. Kommastelle sind einfach so angepasst, das bei 50V 100% rauskommen.

Es geht (mir) auch nicht darum, exakt diese Kurve zu treffen! Das ist nicht entscheidend.

Wichtig ist nur, den linearen Spannungverlauf auf den exponentiellen Abfall der Leistung zu übertragen.

Hier mein Code für Feintuning: ACHTUNG 24V (8S) Werte!

#!/usr/bin/env python3
max_bat_discharge = 900
for i in range(240,251):
	bat_cont = 0.1*i
	bat_p_percent = (bat_cont - 23.55 ) **4.333 *20
	bat_power = int(0.01 * max_bat_discharge * bat_p_percent)
	print('%.1f\t%.2f\t%.1f' % (bat_cont,bat_p_percent, bat_power) )

 

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

Veröffentlicht von: @e-t0m

Veröffentlicht von: @lupenrainer

Vielen Dank für die ganze Hilfe! Habe es gestern ohne PV Input in Betrieb genommen und es hat quasi auf Anhieb funktioniert.

...

Danke für das geile Projekt! Funktioniert bisher echt super und die implementierten Funktionen machen definitiv Sinn. 

Kein Ding, wer vernünftig fragt, bekommt immer eine Antwort!

Ich freue mich, das deine 24-Adaption auch geklappt hat! Hast du einfach alle festen Spannungswerte im Script geändert?

 

-> Korrekt. Einfach die Spannungswerte entsprechend angepasst Smile Testweise bin ich aktuell noch etwas weit von den im eSmart hinterlegten Werten entfernt. Das werde ich noch etwas tunen damit ich auch das meiste an Kapazität der Batterie nutzen kann und es trotzdem nicht auf die Lebensdauer geht :).

Veröffentlicht von: @lupenrainer

Jetzt bin ich aber neugierig. Hast du vielleicht einen Link zur Formel bzw. dem technischen Hintergrund? Würde mich da gerne einlesen. Smile

Es gibt doch diese typischen Spannungskurven für LiFePo4 Zellen.

Da habe ich den entsprechenden Spannungsbereich angesehen: 3V bis 3.125V

Und dann eine mathematische Funktion gesucht, die dem ungefähr entspricht.

Die 2. und 3. Kommastelle sind einfach so angepasst, das bei 50V 100% rauskommen.

Es geht (mir) auch nicht darum, exakt diese Kurve zu treffen! Das ist nicht entscheidend.

Wichtig ist nur, den linearen Spannungverlauf auf den exponentiellen Abfall der Leistung zu übertragen.

Hier mein Code für Feintuning: ACHTUNG 24V (8S) Werte!

#!/usr/bin/env python3
max_bat_discharge = 900
for i in range(240,251):
	bat_cont = 0.1*i
	bat_p_percent = (bat_cont - 23.55 ) **4.333 *20
	bat_power = int(0.01 * max_bat_discharge * bat_p_percent)
	print('%.1f\t%.2f\t%.1f' % (bat_cont,bat_p_percent, bat_power) )

 

Oh Super! Das werde ich nochmal einbauen und entsprechend anpassen falls nötig. 

 

 


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

Veröffentlicht von: @lupenrainer

Oh Super! Das werde ich nochmal einbauen und entsprechend anpassen falls nötig. 

Das ist ein eigenständiges Script, nicht zum Einbau!

 

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

@e-t0m schon verstanden 😉 Aber die benötigten Teile davon werde ich dann nehmen wenn es funktioniert und in das Script einbauen


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

So. Nochmal ein Update. Es scheint soweit alles zu laufen. 

Leider hab ich noch folgendes Problem:

Das Interface vom Volkszähler wird über die Tage immer langsamer bis man es dann irgendwann garnicht mehr aufrufen kann oder keine Daten mehr angezeigt werden. Das Script scheint aber im Hintergrund sauber weiter zu laufen.

Heute schien es aber zusätzlich noch so dass der Raspberry Pi sich ganz aufgehängt hat. Am Datenbank Überlauf sollte es nicht liegen da ich hier fest eingebaut hat dass die Daten alle 7 Tage gelöscht werden sollen.

 

Vielleicht reicht der Raspberry Pi 2 von der Leistung nicht aus um beides ziehen zu können? Script inkl. VZ Web Interface?

@e-T0m: Welche Befehle hast du in der crontab zum Umgang mit den Datenmengen?

 

 


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

Das zeroinput script braucht nur minimale Ressourcen.

Das wahrscheinlichste Nadelöhr ist die Datenbank des volkszählers.

Die ist aber nur indirekt Verursacher des eigentlichen Problems: laaaaangsamer Dateizugriff auf der Speicherkarte.

Du kannst das mit einer schnelleren SSD/Platte/Stick testen/lösen.

Ich will hier aber nicht zu sehr auf den volkszähler eingehen, das wurde/wird an anderer Stelle sehr ausführlich getan.

Die Notfall-Brechstangen Methode mit komplettem volkszähler-Datenverlust:

mariadb
use volkszaehler
show tables;
truncate data;
systemctl restart mariadb.service

Bei meinem Pi4b mit schneller Speicherkarte und sehr vielen hochauflösenden Kanälen (1sec),

ist die "Lebensdauer" ca. 3 Monate.

Allerdings mache ich die Langzeitauswertung auch nicht mit dem Volkszähler.

Sondern rufe die Tageswerte mit diesem script ab: https://github.com/E-t0m/zeroinput/blob/main/read_vz.py

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

Veröffentlicht von: @e-t0m

Das zeroinput script braucht nur minimale Ressourcen.

Das wahrscheinlichste Nadelöhr ist die Datenbank des volkszählers.

Die ist aber nur indirekt Verursacher des eigentlichen Problems: laaaaangsamer Dateizugriff auf der Speicherkarte.

Du kannst das mit einer schnelleren SSD/Platte/Stick testen/lösen.

Ich will hier aber nicht zu sehr auf den volkszähler eingehen, das wurde/wird an anderer Stelle sehr ausführlich getan.

-> Leider finde ich es sehr schwer hier nützlich Informationen zu finden. Die Sachen die beim Volkszähler zum Umgang mit den Datenmengen dokumentiert sind, helfen nur bedingt. Aber ich werde weiter suchen. 

Die Notfall-Brechstangen Methode mit komplettem volkszähler-Datenverlust:

mariadb
use volkszaehler
show tables;
truncate data;
systemctl restart mariadb.service

 

-> Was macht das genau? Einmal die komplette Datenbank löschen? Könnte man also Bash Script dann z.B. Einmal alle  7 Tage laufen lassen?

 

Bei meinem Pi4b mit schneller Speicherkarte und sehr vielen hochauflösenden Kanälen (1sec),

ist die "Lebensdauer" ca. 3 Monate.

  •  -> Was heisst "Lebensdauer"? Bis der Raspberry abstürzt? Was machst du dann? Die Notfall Brechstangen Methode? Smile

Allerdings mache ich die Langzeitauswertung auch nicht mit dem Volkszähler.

Sondern rufe die Tageswerte mit diesem script ab: https://github.com/E-t0m/zeroinput/blob/main/read_vz.py

 


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

https://mariadb.com/kb/en/truncate-table/

"TRUNCATE TABLE empties a table completely."

Ja so ist das oft bei freier Software: suchen und selber machen 😉

Bei mir kommt die mariadb nach 3 Monaten auf ca. 4GB und damit kommt sie nicht klar.

Woran das genau liegt habe ich nicht untersucht.

kuck mal da: https://wiki.volkszaehler.org/howto/performance-optimierung_des_raspberry_pi

 

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

Veröffentlicht von: @e-t0m

"TRUNCATE TABLE empties a table completely."

Ja so ist das oft bei freier Software: suchen und selber machen 😉

- Verstanden 😉

Bei mir kommt die mariadb nach 3 Monaten auf ca. 4GB und damit kommt sie nicht klar.

Woran das genau liegt habe ich nicht untersucht.

kuck mal da: https://wiki.volkszaehler.org/howto/performance-optimierung_des_raspberry_pi

-> Das hatte ich mir schon angeschaut hoffe aber dass ich ohne die genannten Sachen auskomme Grin Da lösche ich lieber alle 7 Tage die komplette Datenbank. 

 


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

Versuchs mal mit einem schnellen USB-Stick, das sollte schon viel bewirken!

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
(@lupenrainer)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 62
 

@e-t0m Jo. Werde ich machen. Hatte hier sogar eher an eine USB SSD gedacht.  Muss ich nur alles nochmal neu einrichten. Aber ist ja flott gemacht. 

Wie betreibst du es denn? Also mit einem Raspberry 4, mit einer SD als Bootdevice und USB Stick dann als root?

 

Und das einzige was du machen musst ist dann alle 3 Monate die Datenbank löschen? Smile


   
AntwortZitat
(@petrel)
Autarkiekönig
Beigetreten: Vor 1 Jahr
Beiträge: 450
 

@lupenrainer 

Wieso musst da alles neu einrichten?

 

Bei mir im HomeAssistant gibt es bei dem Speicher einen Menüpunkt "Einstellungen/System/Speicher"->... "Datenträger verschieben". Da kann ich meine USB SSD auswählen (habe ich aber bisher noch nicht versucht)


   
AntwortZitat
E-t0m
(@e-t0m)
Autarkiekönig
Beigetreten: Vor 2 Jahren
Beiträge: 757
Themenstarter  

@lupenrainer: ich habe nur die (moderne) Speicherkarte am Pi4b, mein größtes Problem ist das schlechte WLAN-Signal am Zählerkasten....

Darum habe ich die Sache mit der Datenbank noch im todo, zumal die Regelung davon nicht gestört wird.

Stichworte für große Datenmengen ist vzcompress, aggregate usw.

Um den Stick zu testen, müsstest du nur den Ordner /var/lib/mysql auf die Karte kopieren und "linken".

 

@petrel: Gibt es beim HomeAssistent auch eine (vernünftige) Nulleinspeiselösung?

klick: meine flexible high-end cheap-tech Nulleinspeisung


   
AntwortZitat
Seite 15 / 24
Teilen: