Skalierbare high-end, cheap-tech Nulleinspeisung mit Volkszähler-Monitor und tibber-Integration

Das Update für zeroinput ist jetzt auf github.

Die quantitativ-automatische Steuerung erfordert:

Funktionsweise der Steuerung:

Erzeugung und Bezug kombinieren und ein 7-Tage-Profil berechnen. Der Verbrauch der preis-gesteuerten Verbraucher / Auto / Klima wird davon abgezogen. (ggf. siehe auch profiler)

Den erforderlichen Bedarf in Reihenfolge der absteigenden Tibber-Preise errechnen, bis die vorhandene Energie im Akku "verteilt" ist.
Dabei wird nach dem höchsten Preis des Berechnungszeitraums die volle Leistung vorgesehen. Vorher sind die 7-Tages-Bedarfswerte nochmal mit dem jeweiligen Preis gewichtet.

timer.txt für die Steuerung von zeroinput erstellen.

Wenn der niedrigste-timer-Preis inklusive der Ladeverluste geringer ist, als der gegenwärtige Preis, wird die PV-Leistung (im Rahmen der Nulleinspeisung) direkt eingespeist. (PV pass through)

"Nebenbei" werden auch tasmota timer (z.B. fürs Auto laden) gestellt, siehe auch tibber_tasmota, für eine rein preisgebundene Steuerung ohne zeroinput und 7-Tages-Profil.

Viel Spaß beim Testen, extra Geld sparen und Umwelt / Netz retten!

Mal sehen was die neue Forensoftware damit macht. -v erbose Ausgabe von tib_zero_tas.py
PVpt = PV pass through = Durchleiten der PV-Leistung insofern notwendig, Nulleinspeisung

using cached volkszähler averages from 2024-11-14 15:00
query volkszähler for energy content:
0 	begin 2024-11-14 00:00:00 1731538800000 	end 2024-11-14 15:56:16 1731596176000 	request duration: 0:00:00.177119 	rows: 5412
0 	begin 2024-11-14 07:56:44 1731567404000 	end 2024-11-14 15:56:16 1731596176000 	request duration: 0:00:00.902164 	rows: 9
minimum voltage 47.8 V, latest voltage 51.5 V, remaining battery content 1137 Wh
date time     price	set	average	sum
2024-11-15T08 38.09	900	360	360
2024-11-14T17 37.87	385	321	681
2024-11-14T18 37.65	326	296	977
2024-11-15T09 37.27	338	338	1315
tibber price avg: 34.57 min: 30.99 max: 38.09 spread: 7.10 (19 %) lt: 34.57 ht: 33.86, 92%lpt 34.29
set lt to max: 31.50
                     2024-11-14T00 31.42                                         o
                     2024-11-14T01 31.19                                         o
                     2024-11-14T02 30.74                                        o
                     2024-11-14T03 30.29                                        o
                     2024-11-14T04 30.19                                        o
                     2024-11-14T05 30.29                                        o
                     2024-11-14T06 31.62                                         o
                     2024-11-14T07 33.07                                           o
                     2024-11-14T08 34.44                                            o
                     2024-11-14T09 34.06                                            o
                     2024-11-14T10 34.27                                            o
                     2024-11-14T11 34.17                                            o
                     2024-11-14T12 33.79                                           o
                     2024-11-14T13 34.48                                            o
                     2024-11-14T14 35.26                                             o
now                  2024-11-14T15 36.23    0 PVpt                                    <
T off: 3 4           2024-11-14T16 36.86    0 PVpt                                    <
                     2024-11-14T17 37.87  385 PVpt                                     <
                     2024-11-14T18 37.65  326 PVpt                                     <
                     2024-11-14T19 36.96    0 PVpt                                    <
                     2024-11-14T20 35.81    0 PVpt                                   <
                     2024-11-14T21 34.72    0 PVpt                                  <
                     2024-11-14T22 33.94    0                                      <
                     2024-11-14T23 32.70    0                                     |
                     2024-11-15T00 32.46    0                                     |
                     2024-11-15T01 32.01    0                                     |
                     2024-11-15T02 32.05    0                                     |
                     2024-11-15T03 31.65    0                                    |
                     2024-11-15T04 31.74    0                                    |
                     2024-11-15T05 32.24    0                                     |
                     2024-11-15T06 34.70    0 PVpt                                  <
                     2024-11-15T07 36.47    0 PVpt                                    <
                     2024-11-15T08 38.09  900 PVpt                                      <
                     2024-11-15T09 37.27  338 PVpt                                     <
                     2024-11-15T10 35.84    0 PVpt                                   <
                     2024-11-15T11 35.39    0 PVpt                                   <
                     2024-11-15T12 33.80    0                                      |
                     2024-11-15T13 33.81    0                                      |
                     2024-11-15T14 35.01    0 PVpt                                   <
                     2024-11-15T15 36.18    0 PVpt                                    <
                     2024-11-15T16 35.25    0 PVpt                                   <
                     2024-11-15T17 35.53    0 PVpt                                   <
                     2024-11-15T18 35.35    0 PVpt                                   <
                     2024-11-15T19 34.59    0 PVpt                                  <
                     2024-11-15T20 33.09    0                                      |
                     2024-11-15T21 32.49    0                                     |
                     2024-11-15T22 32.19    0                                     |
 T on: 1 2           2024-11-15T23 30.99    0                                   >
done.


..und gleich noch ein aktuelles 7-Tage Profil erstellt mit dem profiler.py aus den Daten vom volkszähler.

Leider ist bei dem trüben Wetter mit dem ausgefeiltesten Algorithmus nur wenig zu holen, weil es schlicht nichts zu verteilen gibt.
Erwähnt sei noch die Einspeisung zur Mittagszeit, diese fand in Phasen statt, wo der zu erwartende spätere Preis den Verlust durch ent/laden der Batterie nicht gerechtfertigt hätte. Das gilt übrigens auch weitgehend für das Laden aus dem Netz: lohnt sich derzeit nicht.

PS: Es macht Spaß, mit einem funktionierenden Forum zu arbeiten. :+1:

Heute ist mal etwas mehr zum Verteilen da:

uusing cached volkszähler averages from 2024-11-25 13:00
query volkszähler for energy content:
0 	begin 2024-11-25 00:00:00 1732489200000 	end 2024-11-25 13:47:15 1732538835000 	request duration: 0:00:00.108607 	rows: 3923
1 	begin 2024-11-24 00:00:00 1732402800000 	end 2024-11-25 13:47:15 1732538835000 	request duration: 0:00:00.248457 	rows: 10501
1 	begin 2024-11-24 08:14:37 1732432477000 	end 2024-11-25 13:47:15 1732538835000 	request duration: 0:00:02.787643 	rows: 30
minimum voltage 48.2 V, latest voltage 53.0 V, remaining battery content 3195 Wh
date time     price	set	average	sum
2024-11-26T18 38.46	900	515	515
2024-11-26T17 37.82	486	405	920
2024-11-26T19 37.56	546	496	1416
2024-11-26T16 36.34	355	355	1771
2024-11-26T08 35.72	574	574	2345
2024-11-26T07 34.89	522	522	2867
2024-11-25T18 34.55	515	515	3382
tibber price avg: 31.94 min: 26.12 max: 38.46 spread: 12.34 (32 %) lt: 31.94 ht: 30.70, 92%lpt: 31.79
set lt to max: 20.00
                     2024-11-25T00 19.17                             o
                     2024-11-25T01 19.13                             o
                     2024-11-25T02 19.15                             o
                     2024-11-25T03 19.09                             o
                     2024-11-25T04 19.15                             o
                     2024-11-25T05 19.28                             o
                     2024-11-25T06 19.33                             o
                     2024-11-25T07 25.79                                   o
                     2024-11-25T08 28.48                                      o
                     2024-11-25T09 27.24                                     o
                     2024-11-25T10 24.38                                  o
                     2024-11-25T11 24.24                                  o
                     2024-11-25T12 24.07                                  o
now                  2024-11-25T13 26.12    0                               |
T off: 3 4           2024-11-25T14 27.40    0                                |
                     2024-11-25T15 30.62    0                                   |
                     2024-11-25T16 30.33    0                                   |
                     2024-11-25T17 33.13    0 PVpt                                 <
                     2024-11-25T18 34.55  515 PVpt                                  <
                     2024-11-25T19 33.36    0 PVpt                                 <
                     2024-11-25T20 30.59    0                                   |
                     2024-11-25T21 28.98    0                                 |
                     2024-11-25T22 29.58    0                                  |
                     2024-11-25T23 27.55    0                                |
                     2024-11-26T00 29.97    0                                  |
                     2024-11-26T01 28.60    0                                 |
                     2024-11-26T02 28.56    0                                 |
                     2024-11-26T03 27.71    0                                |
                     2024-11-26T04 27.97    0                                |
                     2024-11-26T05 29.10    0                                  |
                     2024-11-26T06 31.39    0                                    <
                     2024-11-26T07 34.89  522 PVpt                                  <
                     2024-11-26T08 35.72  574 PVpt                                   <
                     2024-11-26T09 34.44    0 PVpt                                  <
                     2024-11-26T10 32.65    0 PVpt                                <
                     2024-11-26T11 31.21    0                                    <
                     2024-11-26T12 30.13    0                                   |
                     2024-11-26T13 31.46    0                                    <
                     2024-11-26T14 33.13    0 PVpt                                 <
                     2024-11-26T15 34.06    0 PVpt                                  <
                     2024-11-26T16 36.34  355 PVpt                                    <
                     2024-11-26T17 37.82  486 PVpt                                     <
                     2024-11-26T18 38.46  900 PVpt                                      <
                     2024-11-26T19 37.56  546 PVpt                                     <
                     2024-11-26T20 34.35    0 PVpt                                  <
                     2024-11-26T21 33.38    0 PVpt                                 <
                     2024-11-26T22 33.85    0 PVpt                                 <
                     2024-11-26T23 32.80    0 PVpt                                <
done.

eine kurze Erklärung - aber Englisch


30-Tage-Profil, November 24, Skalen: links: Wh, rechts: ¢

Die neue Steuerung hat fast den ersten Monat hinter sich gebracht.
Die Ergebnisse sind sehr erfreulich, finde ich.

Wie bisher gilt es zu beachten: Teilweise wird der PV-Strom direkt ins Hausnetz durchgeleitet, nämlich wenn der spätere Preis die Speicherverluste nicht ausgleichen kann. Um die Naturdienlichkeit noch zu erhöhen, ließe sich das natürlich auch ändern.

Ein Thema, das mir immer wichtig ist: Effizienz
Sei geraumer Zeit habe ich 3 Soyos parallel angeschlossen, um auch hohe Verbräuche abdecken zu können.
Jetzt im Winter lief davon nur 1 und in den Übergangszeiten 2.

Hier ist ein Thema zum Wirkungsgrad der Soyos.
darin werden folgende Werte genannt:
48W AC Leistung bei 76% Wirkungsgrad
100W mit 88%
ab 200W über 91%
Der Standby-Verbrauch liegt übrigens bei 3W.

Wenn man also 3 Soyos für 150W laufen lässt, dann hat jeder einzelne Soyo 76% Wirkungsgrad bei den anteiligen 50W. (zzgl. 6 W Standby)

Deshalb habe ich eine Lösung dafür entwickelt, die aber nur funktioniert, wenn mehrere Steuerleitungen da sind. Bei mir war seit dem zweiten eSmart3 sowieso eine da. (und immer noch 2 übrig im CAT-Kabel)

vor #1 laufen 2 Soyo mit zusammen ~ 120 W
bei #1 wird einer abgeschaltet und nur noch einer der Soyos deckt den Bedarf mit ~ 110 W: also ~ 8 % Energie gespart.
bei #2 sieht man den Sprung auf über 400W (mein Grenzwert), der den zweiten Soyo wieder aufweckt.
bei #3 geht der Verbrauch wieder zurück auf das vorherige Niveau, aber bei gut erkennbarem Mehrverbrauch durch die 2 Geräte
bei #4 ist wieder ein Sprung, aber mit zwei "wachen" Soyos
bei #5 wieder der Rückgang
bis #6 konsolidiert sich der Verbrauch beider Geräte leicht
bei #6 wird auf 1 Soyo zurückgeschaltet (60 Sekunden Wartezeit)

Da ich im Sommer oft nur 60 W Grundlast habe, aber 3 Soyos aktiv sind, erwarte ich von dieser Regelung einen erheblichen Effizienzsprung.

Und jetzt klemme ich mal den 3. Soyo an die Steuerleitung vom 2. mit drauf und teste den Code weiter. Denn natürlich will ich gerade in den teuersten Preisphasen auch die volle Leistung aller 3 Geräte. :wink:
Sobald er bereinigt ist, gibts das dann auch auf Github.
Update: Die Umschaltung ist fertig, aber der Code kommt erst mit einer weiteren neuen Funktion: automatischer zero-shift.

1 „Gefällt mir“

Meine Soyos hatten einen Standby-Verbrauch von ca. 5 Watt. Verantwortlich für knapp die Hälfte davon war der interne 12V->5V Linearregler. Diesen haben ich durch einen einstellbaren DC/DC Schaltregler ersetzt, so ging der Standbyverbrauch deutlich herunter und die Soyos sind nie mehr ausgefallen.
Die Soyo-internen Spannungsmessungen nutzen die 5V auch als Referenzspannung. Da die 5V jetzt einstellbar ist, kann man z.B. die Batterie-Spannungsmessung jetzt abgleichen.

1 „Gefällt mir“

Danke für den Tipp! Den Grundverbrauch zu verkleinern, ist natürlich auch eine sehr gute Idee. Würdest du das bitte etwas ausführlicher beschreiben?


Eine Woche später: 30-Tage-Profil, aber mit etwas Nutzung des Hausakku-Ladegeräts zu günstigen Zeiten.

Bitte beachten, die 23 Tage vorher waren (fast s.o.) ohne Akkuladung aus dem Netz.

Da das Auto-Laden preisgebunden gesteuert ist und auch die Klima-Heizung eher bei mildem Wetter und geringem Preis läuft, wird sie aus dem Bezug herausgerechnet.

Das gilt aber nicht für die Ladung des Akkus aus dem Netz, denn es wäre unmöglich, auch die Erzeugung aufzuschlüsseln.

Für Victron Fans kommt demnächst die Integration für deren Laderegler.
Außerdem die oben schon genannte Umschalt-Automatik für mehrere Soyo Inverter
und die automatische zero-shift Anpassung.

Weiter oben sind 7-Tage-Profile, mit wenig oder verhältnismäßig viel Sonne, aber ohne AC-Laden.

Hier jetzt das Gegenbeispiel, wo die extremen Preise überwiegend durch Akkunutzung abgemildert wurden.

Bei 25% Verlust und 33¢ Preis bleibt noch immer ein Endpreis von ca. 41¢ Brutto.

Besser als bis zu 1,30€/kWh, die verlangt wurden.

3 tibber-teure Tage im Dezember 2024:

Der Code für die Nulllinien-Nachführung (automatic zero_shift) und die Umschaltung zwischen einem und mehreren Invertern (siehe weiter oben) ist jetzt auf github.
Hier sieht man in das zero-shift Level (in Lila):


Der Härtetest für jede Nulleinspeisung: die Waschmaschine.
Im mittleren Bereich wird geschleudert, ansonsten das bekannte Anlaufen und Auslaufen des Motors.

Natürlich funktioniert das auch für alle anderen taktenden Lasten, bzw. "unruhige" Verbrauchsphasen.
Viel Spaß damit!

Es gibt frischen, besser aufgeräumten Code auf github.
hier bitte: Nulleinspeisung

Die letzte Woche im Profil:


(mehr Erläuterungen dazu findet ihr weiter oben im Thema)

Zum Glück kommt langsam die PV-Leistung zurück, denn die tibber-Preise sind durchgehend hoch.
Zu hoch, um den Akku damit zu laden - es würde nicht einmal die Wandlungsverluste abdecken.

Momentan baue ich eine neue Teil-Anlage und die Victron-Fans können sich freuen; es wird ein Victron MPPT dafür benutzt.

Die Integration in zeroinput ist bereits in Arbeit - bitte Geduld.

UPDATE 8.2.25: Der Umbau von zeroinput ist jetzt fertig und wird nur noch ein Weilchen getestet.

So sieht die Ausgabe der komplett überarbeiteten Version von zeroinput jetzt aus:

port          name        PV W   bat V   bat I   mode  P load  T int  T ext         
all           combined     842   52.97   15.80            759                       
/dev/ttyACM0  esmart 60    265   53.10    5.00   MPPT             25      8 out     
/dev/ttyACM1  esmart 40    311   52.80    5.90   MPPT     253     32     18 bat     
/dev/ttyACM2  VE 150/35    266   53.00    4.90   BULK                               

timer active: bat discharge 0 %, energy 0/0 Wh, inverter 100 % 

voltage correction 53.3 V, dif -0.3 V
no saw detected
input history [782, 775, 768, 759] 	1:2  1.2 %	 3:4  0.9 %

meter  339 W (auto shift 0 W import), interval 1.00 s, 14:22:24
inverter  759 W limited, PV -94 W, no battery discharge

1:  power request 3 x 253 W
2:  power request 3 x 253 W
1:  /dev/ttyACM0 : esmart 60 status request
1:  /dev/ttyACM1 : esmart 40 status request
REC /dev/ttyACM2 : VE 150/35 delay 1.00 s
REC /dev/ttyACM0 : esmart 60 delay 2.93 s
2:  /dev/ttyACM0 : esmart 60 status request
REC /dev/ttyACM1 : esmart 40 delay 2.93 s
2:  /dev/ttyACM1 : esmart 40 status request

Den Quellcode für die Nulleinspeisung gibts auf github: https://github.com/E-t0m/zeroinput

Die Dokumentation folgt...

Einen Monat später zeigt gutes Wetter ein ganz anderes Wochenprofil:

Die neue Version von zeroinput läuft bei mir absolut stabil.

Leider fehlt mir momentan die Zeit um die Dokumentation zu überarbeiten.
Auch tib_zero_tas wartet auf ein Update...
(der Teil für den timer ist stabil!)

Wünsche gute Erträge!

Wirklich viel Ertrag; aber doch nicht genug, wenn man heizt und Auto lädt.

Daher lief heute nicht die automatische Preis-Steuerung mit tib_zero_tas, sondern diese simple timer.txt:

# 0000-00-00 for daily repeating, space or tab separated
#                   battery discharge W if > 100, percentage if <= 100
# date     time     |   ac inverter power W if > 100, percentage if <= 100
# |        |        |   |   energy limit in Wh
2025-03-06 07:00:00 100 100 2700
2025-03-06 11:00:00 000 1000 00
2025-03-06 16:00:00 100 100 2700

Zwischen 11 und 16 Uhr war die Leistung der Inverter auf 1kW begrenzt, die Batterie wäre nicht entladen worden.
Vorher und nachher war die Batterie-Entladung unbegrenzt.
Die Ladung des Autos wurde über tasmota timer realisiert.

Die Höchstspannung des Akkus war 54,4V, also so gut wie voll.

Läuft alles stabil...

Inzwischen ist auch die Dokumentation überarbeitet.

Vorankündigung: Sobald die 1/4-stündlichen Tibber-Preise da sind und ich den zugehörigen Code testen kann, geht er auf github!

Die Tage der Vollversorgung über PV sind wieder vorbei und tib_zero_tas macht gute Geschäfte. :slight_smile:

Da hier keine Fragen kommen, sind die ganzen “neuen cloner” scheinbar stabil unterwegs. Viel Spaß!

Es sind einige Updates in Vorbereitung - leider schreibt sich die Dokumentation dazu nicht von selbst.

Der Code für die viertelstündlichen Tibber-Preise ist jetzt auf github.

Bitte beachten, die Preis-optimierte Steuerung ist in einen eigenen Ordner umgezogen.

Hier gehts zur Kurzbeschreibung (englisch).