Automatisierung für Solix E2700

saffi

Active member
Hallo Freunde des "Regelns",

ich habe seit ein paar Tagen meine alte E1600 Solix SOlarbank gegen eine E2700 getauscht und zusätzlich 2 weitere Module angschlossen. Wir reden nun von 4 Modulen und einem Speicher von max. 2700Wh.

Was ich nicht benutze, den Smartmeter sowie die PlugSmart Stecker von Anker.

nun möchte ich gern bei guter Sonneneinstrahlung auf diverse Lasten im Haus reagieren. Das heisst, generell soll der Akku geladen werden, aber wenn ich nur den lade, ist er schnell voll. Darum soll die Einspeisevorgabe entsprechend dem Bedarf vom Haus geregelt werden. Habe schon einige Versuche gemacht. Klappt nur bedingt.

Habe mir einen Sensor erstellt, der meine Last über den bitshaker überwacht und diesen aber "glättet" heißt, er soll nicht gleich bei jeder Last (Spitzen) reagieren, sondern erst wenn wirklich Last anliegt. Beispiel: wir schalten die Mikrowelle ein oder den Wasserkocher. Dann haben wir kurzzeitig Lastspitzen, die man auch kaum abfangen kann. Um ein unkontrolliertes Hoch und Runterfahren der Einspeisung zu verhindern, wollte ich diesen Sensor dämpfen. Leider werden die Spitzen trotzdem mit registriert und das System reagiert entsprechend. Meist bleibt dann auch die Einspeisung konstant hoch und flacht nur langsam wieder ab. Dadurch geht der Strom ins Netz.

Hier mal mein Sensor: (erstellt mit Hilfe von ChtGPT)
Code:
- platform: filter
  name: Netzbezug geglaettet für Automation
  entity_id: sensor.power_vom_netz_watt
  filters:
    - filter: time_simple_moving_average
      window_size: "00:01:00"
      precision: 1

Vielleicht hat ja jemand was ähnliches am Laufen oder kann Tipps dazu geben. Vielen Dank im Voraus.
 
Du benötigst ein Messgerät, eine Automatisierung mit einem PI Regler und einen steuerbaren Laderegler.

Ich habe eine Nulleinspeisung mit einem Heizstab im ioBroker realisiert. Man kann statt des Heizstabes natürlich auch den Laderegler ansteuern.
Das geht mit einem Shelly Dimmer, der ein 0-10 V Signal ausgibt.
 
So sieht das ganze in Blockly aus:

1775579856496.png

Die Variablen sind halbwegs selbsterklärend:

Aktueller Verbrauch - vom Smartmeter oder Shelly 3EM. Bei Einspeisung negativ

Temperatur_WW - Brauchwassertemperatur im Speicher

Shelly1mini - Relais für die Zirkulationspumpe - läuft während Heizstabbetrieb

Awtrix - Visualisierung auf einem Ulanzi TC001

Heizstab an - Ausgang am Shelly Dimmer 0/1-10V PM Gen3 schalten

Set Point - Sollwert des PID-Reglers auf 20 W Einspeisung setzen, "Sicherheitsabstand" zum Bezug.

Actual Value - Istwert (Aktueller Verbrauch) an den PID-Regler übergeben

Helligkeit - Sollwert 0-100% an den Shelly. Wichtig: KEINE Kommazahlen!

Output Value - Stellwert Ausgang des PID-Reglers

Reset Controller - PID-Regler zurücksetzen

Hier als code

Code:
on({ id: [].concat(['alias.0.Aktueller_Verbrauch']), change: 'ne' }, async (obj) => {
  let value = obj.state.val;
  let oldValue = obj.oldState.val;
  if (getState('alias.0.Aktueller_Verbrauch').val < 0 && getState('mqtt.0.Heizung.Temperatur_WW.Temperatur_WW').val < 60) {
    // Zirkulation an
    setState('shelly.0.shelly1minig3#543204602a88#1.Relay0.Switch' /* Schalter */, true);
    // Awtrix Anzeige an
    setState('awtrix-light.0.apps.heizstab.visible' /* Sichtbar */, true);
    // Heizstab an
    setState('shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Switch' /* Schalter */, true);
    // Sollwert setzen
    setState('pid.0.C-Ueberschussregler.in.set' /* set point */, (-20));
    // Leistung regeln
    setState('pid.0.C-Ueberschussregler.in.act' /* actual value */, getState('alias.0.Aktueller_Verbrauch').val);
    setState('shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Brightness' /* Helligkeit */, (Math.round(getState('pid.0.C-Ueberschussregler.out.y').val)));
  } else {
    // Heizstab aus
    setState('shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Switch' /* Schalter */, false);
    setState('pid.0.C-Ueberschussregler.in.rst' /* reset controller */, true);
    // Awtrix Anzeige aus
    setState('awtrix-light.0.apps.heizstab.visible' /* Sichtbar */, false);
  }
});
 

Letzte Anleitungen

Statistik des Forums

Themen
7.917
Beiträge
77.758
Mitglieder
8.579
Neuestes Mitglied
Gustl G
Zurück
Oben